From 91cf878940fafe01c4f2f388fd72b434be9df8f5 Mon Sep 17 00:00:00 2001 From: Jonathan Yap <none@none> Date: Mon, 12 Sep 2011 12:27:20 -0400 Subject: [PATCH 001/256] STORM-1579 xml formatting issues in Region/Estate floater Enlarged Covenant display area. Widened Restart Region and Delay Restart to be the same size as the two buttons above them. --- .../skins/default/xui/en/panel_region_covenant.xml | 8 ++++---- indra/newview/skins/default/xui/en/panel_region_debug.xml | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/indra/newview/skins/default/xui/en/panel_region_covenant.xml b/indra/newview/skins/default/xui/en/panel_region_covenant.xml index 2b2ea78fac4..3ec6a1959a5 100644 --- a/indra/newview/skins/default/xui/en/panel_region_covenant.xml +++ b/indra/newview/skins/default/xui/en/panel_region_covenant.xml @@ -107,13 +107,13 @@ <text_editor enabled="false" follows="left|top" - height="100" + height="110" layout="topleft" - left="110" + left="10" max_length="65535" name="covenant_editor" - top_delta="30" - width="340" + top_delta="20" + width="460" word_wrap="true"> There is no Covenant provided for this Estate. </text_editor> diff --git a/indra/newview/skins/default/xui/en/panel_region_debug.xml b/indra/newview/skins/default/xui/en/panel_region_debug.xml index 15df095efa4..59710651e7a 100644 --- a/indra/newview/skins/default/xui/en/panel_region_debug.xml +++ b/indra/newview/skins/default/xui/en/panel_region_debug.xml @@ -190,7 +190,7 @@ name="restart_btn" tool_tip="Give 2 minute countdown and restart region" top_pad="5" - width="130" /> + width="150" /> <button follows="left|top" height="20" @@ -200,5 +200,5 @@ name="cancel_restart_btn" tool_tip="Delay region restart by one hour" top_pad="5" - width="130" /> + width="150" /> </panel> -- GitLab From 77f89dbaf2970dbb0b4ceb04c6fe084d3d698bdf Mon Sep 17 00:00:00 2001 From: Jonathan Yap <none@none> Date: Mon, 12 Sep 2011 12:29:36 -0400 Subject: [PATCH 002/256] STORM-1579 xml formatting issues in Region/Estate floater Add entry to contributions.txt --- doc/contributions.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/contributions.txt b/doc/contributions.txt index 5930bab04f7..7bbd96cb91e 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -572,6 +572,7 @@ Jonathan Yap STORM-1567 STORM-1572 STORM-1574 + STORM-1579 Kadah Coba STORM-1060 Jondan Lundquist -- GitLab From 5baf0de6a396b120aba4e2351ed5bff70f2562ef Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Mon, 19 Sep 2011 19:13:39 +0300 Subject: [PATCH 003/256] EXP-1203 FIXED (As a FUI user, I want the address bar and favorites to be on one line) - Relocated address bar, combined with favorite landmarks EXP-1208 - Added dragger to change amount of space allocated to address bar and favorites bar EXP-1217 - Modified Favorites ->> More spillover EXP-1218 - Combined context menu menuitems for favorites & address bars EXP-1219 --- indra/newview/llfavoritesbar.cpp | 8 +- indra/newview/llfavoritesbar.h | 4 +- indra/newview/llnavigationbar.cpp | 148 -------- indra/newview/llnavigationbar.h | 3 - indra/newview/llviewercontrol.cpp | 9 +- indra/newview/llviewerwindow.cpp | 11 +- .../skins/default/xui/en/main_view.xml | 2 +- .../skins/default/xui/en/menu_hide_navbar.xml | 13 +- .../default/xui/en/panel_navigation_bar.xml | 319 ++++++++++-------- 9 files changed, 188 insertions(+), 329 deletions(-) diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index 0b17d64eb07..63519b7c214 100644 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -360,7 +360,7 @@ struct LLFavoritesSort LLFavoritesBarCtrl::Params::Params() : image_drag_indication("image_drag_indication"), - chevron_button("chevron_button"), + more_button("more_button"), label("label") { } @@ -389,9 +389,9 @@ LLFavoritesBarCtrl::LLFavoritesBarCtrl(const LLFavoritesBarCtrl::Params& p) gInventory.addObserver(this); //make chevron button - LLButton::Params chevron_button_params(p.chevron_button); - chevron_button_params.click_callback.function(boost::bind(&LLFavoritesBarCtrl::showDropDownMenu, this)); - mChevronButton = LLUICtrlFactory::create<LLButton> (chevron_button_params); + LLTextBox::Params more_button_params(p.more_button); + mChevronButton = LLUICtrlFactory::create<LLTextBox> (more_button_params); + mChevronButton->setClickedCallback(boost::bind(&LLFavoritesBarCtrl::showDropDownMenu, this)); addChild(mChevronButton); LLTextBox::Params label_param(p.label); diff --git a/indra/newview/llfavoritesbar.h b/indra/newview/llfavoritesbar.h index 1a28731c4f2..3811de3e2f7 100644 --- a/indra/newview/llfavoritesbar.h +++ b/indra/newview/llfavoritesbar.h @@ -40,7 +40,7 @@ class LLFavoritesBarCtrl : public LLUICtrl, public LLInventoryObserver struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> { Optional<LLUIImage*> image_drag_indication; - Optional<LLButton::Params> chevron_button; + Optional<LLTextBox::Params> more_button; Optional<LLTextBox::Params> label; Params(); }; @@ -135,7 +135,7 @@ class LLFavoritesBarCtrl : public LLUICtrl, public LLInventoryObserver BOOL mShowDragMarker; LLUICtrl* mLandingTab; LLUICtrl* mLastTab; - LLButton* mChevronButton; + LLTextBox* mChevronButton; LLTextBox* mBarLabel; LLUUID mDragItemId; diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp index 9d54ad74631..133168f0baa 100644 --- a/indra/newview/llnavigationbar.cpp +++ b/indra/newview/llnavigationbar.cpp @@ -736,151 +736,3 @@ int LLNavigationBar::getDefFavBarHeight() { return mDefaultFpRect.getHeight(); } - -void LLNavigationBar::showNavigationPanel(BOOL visible) -{ - bool fpVisible = gSavedSettings.getBOOL("ShowNavbarFavoritesPanel"); - - LLFavoritesBarCtrl* fb = getChild<LLFavoritesBarCtrl>("favorite"); - LLPanel* navPanel = getChild<LLPanel>("navigation_panel"); - - LLRect nbRect(getRect()); - LLRect fbRect(fb->getRect()); - - navPanel->setVisible(visible); - - if (visible) - { - if (fpVisible) - { - // Navigation Panel must be shown. Favorites Panel is visible. - - nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), mDefaultNbRect.getHeight()); - fbRect.setLeftTopAndSize(fbRect.mLeft, mDefaultFpRect.mTop, fbRect.getWidth(), fbRect.getHeight()); - - // this is duplicated in 'else' section because it should be called BEFORE fb->reshape - reshape(nbRect.getWidth(), nbRect.getHeight()); - setRect(nbRect); - // propagate size to parent container - getParent()->reshape(nbRect.getWidth(), nbRect.getHeight()); - - fb->reshape(fbRect.getWidth(), fbRect.getHeight()); - fb->setRect(fbRect); - } - else - { - // Navigation Panel must be shown. Favorites Panel is hidden. - - S32 height = mDefaultNbRect.getHeight() - mDefaultFpRect.getHeight() - FAVBAR_TOP_PADDING; - nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), height); - - reshape(nbRect.getWidth(), nbRect.getHeight()); - setRect(nbRect); - getParent()->reshape(nbRect.getWidth(), nbRect.getHeight()); - } - } - else - { - if (fpVisible) - { - // Navigation Panel must be hidden. Favorites Panel is visible. - - S32 fpHeight = mDefaultFpRect.getHeight() + FAVBAR_TOP_PADDING; - S32 fpTop = fpHeight - (mDefaultFpRect.getHeight() / 2) + 1; - - nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), fpHeight); - fbRect.setLeftTopAndSize(fbRect.mLeft, fpTop, fbRect.getWidth(), mDefaultFpRect.getHeight()); - - // this is duplicated in 'else' section because it should be called BEFORE fb->reshape - reshape(nbRect.getWidth(), nbRect.getHeight()); - setRect(nbRect); - getParent()->reshape(nbRect.getWidth(), nbRect.getHeight()); - - fb->reshape(fbRect.getWidth(), fbRect.getHeight()); - fb->setRect(fbRect); - } - else - { - // Navigation Panel must be hidden. Favorites Panel is hidden. - - nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), 0); - - reshape(nbRect.getWidth(), nbRect.getHeight()); - setRect(nbRect); - getParent()->reshape(nbRect.getWidth(), nbRect.getHeight()); - } - } - - getChildView("bg_icon")->setVisible( visible && fpVisible); - getChildView("bg_icon_no_fav_bevel")->setVisible( visible && !fpVisible); - getChildView("bg_icon_no_nav_bevel")->setVisible( !visible && fpVisible); -} - -void LLNavigationBar::showFavoritesPanel(BOOL visible) -{ - bool npVisible = gSavedSettings.getBOOL("ShowNavbarNavigationPanel"); - - LLFavoritesBarCtrl* fb = getChild<LLFavoritesBarCtrl>("favorite"); - - LLRect nbRect(getRect()); - LLRect fbRect(fb->getRect()); - - if (visible) - { - if (npVisible) - { - // Favorites Panel must be shown. Navigation Panel is visible. - - S32 fbHeight = fbRect.getHeight(); - S32 newHeight = nbRect.getHeight() + fbHeight + FAVBAR_TOP_PADDING; - - nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), newHeight); - fbRect.setLeftTopAndSize(mDefaultFpRect.mLeft, mDefaultFpRect.mTop, fbRect.getWidth(), fbRect.getHeight()); - } - else - { - // Favorites Panel must be shown. Navigation Panel is hidden. - - S32 fpHeight = mDefaultFpRect.getHeight() + FAVBAR_TOP_PADDING; - S32 fpTop = fpHeight - (mDefaultFpRect.getHeight() / 2) + 1; - - nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), fpHeight); - fbRect.setLeftTopAndSize(fbRect.mLeft, fpTop, fbRect.getWidth(), mDefaultFpRect.getHeight()); - } - - reshape(nbRect.getWidth(), nbRect.getHeight()); - setRect(nbRect); - getParent()->reshape(nbRect.getWidth(), nbRect.getHeight()); - - fb->reshape(fbRect.getWidth(), fbRect.getHeight()); - fb->setRect(fbRect); - } - else - { - if (npVisible) - { - // Favorites Panel must be hidden. Navigation Panel is visible. - - S32 fbHeight = fbRect.getHeight(); - S32 newHeight = nbRect.getHeight() - fbHeight - FAVBAR_TOP_PADDING; - - nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), newHeight); - } - else - { - // Favorites Panel must be hidden. Navigation Panel is hidden. - - nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), 0); - } - - reshape(nbRect.getWidth(), nbRect.getHeight()); - setRect(nbRect); - getParent()->reshape(nbRect.getWidth(), nbRect.getHeight()); - } - - getChildView("bg_icon")->setVisible( npVisible && visible); - getChildView("bg_icon_no_fav_bevel")->setVisible( npVisible && !visible); - getChildView("bg_icon_no_nav_bevel")->setVisible( !npVisible && visible); - - fb->setVisible(visible); -} diff --git a/indra/newview/llnavigationbar.h b/indra/newview/llnavigationbar.h index 3c9f8a762de..f200253de57 100644 --- a/indra/newview/llnavigationbar.h +++ b/indra/newview/llnavigationbar.h @@ -98,9 +98,6 @@ class LLNavigationBar void handleLoginComplete(); void clearHistoryCache(); - void showNavigationPanel(BOOL visible); - void showFavoritesPanel(BOOL visible); - int getDefNavBarHeight(); int getDefFavBarHeight(); diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp index b87ca1eaecd..cd522c91217 100644 --- a/indra/newview/llviewercontrol.cpp +++ b/indra/newview/llviewercontrol.cpp @@ -538,18 +538,12 @@ bool toggle_show_navigation_panel(const LLSD& newvalue) { bool value = newvalue.asBoolean(); - LLNavigationBar::getInstance()->showNavigationPanel(value); + LLNavigationBar::getInstance()->setVisible(value); gSavedSettings.setBOOL("ShowMiniLocationPanel", !value); return true; } -bool toggle_show_favorites_panel(const LLSD& newvalue) -{ - LLNavigationBar::getInstance()->showFavoritesPanel(newvalue.asBoolean()); - return true; -} - bool toggle_show_mini_location_panel(const LLSD& newvalue) { bool value = newvalue.asBoolean(); @@ -732,7 +726,6 @@ void settings_setup_listeners() gSavedSettings.getControl("UseDebugMenus")->getSignal()->connect(boost::bind(&show_debug_menus)); gSavedSettings.getControl("AgentPause")->getSignal()->connect(boost::bind(&toggle_agent_pause, _2)); gSavedSettings.getControl("ShowNavbarNavigationPanel")->getSignal()->connect(boost::bind(&toggle_show_navigation_panel, _2)); - gSavedSettings.getControl("ShowNavbarFavoritesPanel")->getSignal()->connect(boost::bind(&toggle_show_favorites_panel, _2)); gSavedSettings.getControl("ShowMiniLocationPanel")->getSignal()->connect(boost::bind(&toggle_show_mini_location_panel, _2)); gSavedSettings.getControl("ShowObjectRenderingCost")->getSignal()->connect(boost::bind(&toggle_show_object_render_cost, _2)); gSavedSettings.getControl("UpdaterServiceSetting")->getSignal()->connect(boost::bind(&toggle_updater_service_active, _2)); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 5893259d964..3665ed4b5b1 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1885,12 +1885,7 @@ void LLViewerWindow::initWorldUI() if (!gSavedSettings.getBOOL("ShowNavbarNavigationPanel")) { - navbar->showNavigationPanel(FALSE); - } - - if (!gSavedSettings.getBOOL("ShowNavbarFavoritesPanel")) - { - navbar->showFavoritesPanel(FALSE); + navbar->setVisible(FALSE); } // Top Info bar @@ -2196,7 +2191,9 @@ void LLViewerWindow::setNormalControlsVisible( BOOL visible ) LLNavigationBar* navbarp = LLUI::getRootView()->findChild<LLNavigationBar>("navigation_bar"); if (navbarp) { - navbarp->setVisible( visible ); + // when it's time to show navigation bar we need to ensure that the user wants to see it + // i.e. ShowNavbarNavigationPanel option is true + navbarp->setVisible( visible && gSavedSettings.getBOOL("ShowNavbarNavigationPanel") ); } } diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index a7d1aa963c7..688349aa164 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -16,7 +16,7 @@ orientation="vertical" top="19"> <layout_panel auto_resize="false" - height="60" + height="34" mouse_opaque="false" name="nav_bar_container" tab_stop="false" diff --git a/indra/newview/skins/default/xui/en/menu_hide_navbar.xml b/indra/newview/skins/default/xui/en/menu_hide_navbar.xml index 3f38d734b95..b517fd7957d 100644 --- a/indra/newview/skins/default/xui/en/menu_hide_navbar.xml +++ b/indra/newview/skins/default/xui/en/menu_hide_navbar.xml @@ -9,7 +9,7 @@ visible="false" width="128"> <menu_item_check - label="Show Navigation Bar" + label="Show Navigation & Favorites Bar" layout="topleft" name="ShowNavbarNavigationPanel"> <on_click @@ -19,17 +19,6 @@ function="CheckControl" parameter="ShowNavbarNavigationPanel" /> </menu_item_check> - <menu_item_check - label="Show Favorites Bar" - layout="topleft" - name="ShowNavbarFavoritesPanel"> - <on_click - function="ToggleControl" - parameter="ShowNavbarFavoritesPanel" /> - <on_check - function="CheckControl" - parameter="ShowNavbarFavoritesPanel" /> - </menu_item_check> <menu_item_check label="Show Mini-Location Bar" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml index 9749b6fdd46..9aa2da5abd2 100644 --- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml @@ -5,7 +5,7 @@ bg_opaque_color="MouseGray" follows="left|top|right" focus_root="true" - height="60" + height="34" layout="topleft" name="navigation_bar" chrome="true" @@ -16,10 +16,10 @@ mouse_opaque="false" name="bg_icon" scale_image="true" - visible="true" + visible="false" left="0" top="0" - height="60" + height="34" width="600"/> <icon follows="all" @@ -30,7 +30,7 @@ visible="false" left="0" top="0" - height="60" + height="34" width="600"/> <icon follows="all" @@ -41,145 +41,176 @@ visible="false" left="0" top="0" - height="60" + height="34" width="600"/> - <panel - background_visible="false" - follows="left|top|right" - top="3" - height="23" - layout="topleft" - name="navigation_panel" - width="600"> - <pull_button - follows="left|top" - direction="down" - height="23" - image_overlay="Arrow_Left_Off" - image_bottom_pad="1" - layout="topleft" - left="10" - name="back_btn" - tool_tip="Go back to previous location" - top="2" - width="31" /> - <pull_button - follows="left|top" - direction="down" - height="23" - image_overlay="Arrow_Right_Off" - image_bottom_pad="1" - layout="topleft" - left_pad="0" - name="forward_btn" - tool_tip="Go forward one location" - top_delta="0" - width="31" /> - <button - follows="left|top" - height="23" - image_bottom_pad="1" - image_overlay="Home_Off" - layout="topleft" - left_pad="7" - name="home_btn" - tool_tip="Teleport to my home location" - top_delta="0" - width="32" /> - <location_input - follows="left|right|top" - halign="right" - height="23" - label="Location" - layout="topleft" - left_pad="7" - max_chars="254" - mouse_opaque="false" - name="location_combo" - top_delta="0" - width="226"> - <combo_list - mouse_wheel_opaque="true"/> - <!-- *TODO: Delete. Let the location_input use the correct art sizes. - <location_input.add_landmark_button - height="18" - name="location_combo_add" - width="20" /> - <location_input.info_button - height="18" - name="location_combo_info" - width="20" /> - --> - </location_input> - <!-- <button --> - <!-- follows="right|top" --> - <!-- height="20" --> - <!-- image_disabled="TextField_Search_Off" --> - <!-- image_disabled_selected="TextField_Search_Off" --> - <!-- image_hover_selected="TextField_Search_Off" --> - <!-- image_hover_unselected="TextField_Search_Off" --> - <!-- image_selected="TextField_Search_Off" --> - <!-- image_unselected="TextField_Search_Off" --> - <!-- layout="topleft" --> - <!-- left_pad="5" --> - <!-- mouse_opaque="false" --> - <!-- name="search_bg" --> - <!-- top_delta="0" --> - <!-- width="168" /> --> - <search_combo_box - follows="right|top" - halign="right" - height="23" - label="Search" - layout="topleft" - right="-10" - mouse_opaque="false" - name="search_combo_box" - tool_tip="Search" - top_delta="0" - width="244" > - <combo_editor - label="Search [SECOND_LIFE]" - name="search_combo_editor"/> - <combo_list - draw_border="true" - border.highlight_light_color="FocusColor" - border.highlight_dark_color="FocusColor" - border.shadow_light_color="FocusColor" - border.shadow_dark_color="FocusColor"/> - </search_combo_box> - </panel> - <favorites_bar - follows="left|right|top" - font="SansSerifSmall" - height="15" - layout="topleft" - left="0" - name="favorite" - image_drag_indication="Accordion_ArrowOpened_Off" - bottom="55" - tool_tip="Drag Landmarks here for quick access to your favorite places in Second Life!" - width="590"> - <label - follows="left|top" - height="15" - layout="topleft" - left="10" - name="favorites_bar_label" - text_color="LtGray" - tool_tip="Drag Landmarks here for quick access to your favorite places in Second Life!" - top="12" - width="102"> - Favorites Bar - </label> - <chevron_button name=">>" - image_unselected="TabIcon_Close_Off" - image_selected="TabIcon_Close_Off" - tab_stop="false" - follows="left|bottom" - tool_tip="Show more of My Favorites" - width="15" - top="15" - height="15"/> - </favorites_bar> + <layout_stack + use_border="true" + bevel_style="none" + follows="all" + height="34" + layout="topleft" + left="0" + mouse_opaque="false" + name="nvp_stack" + orientation="horizontal" + top="0" + width="600"> + <layout_panel + follows="top|left" + layout="topleft" + auto_resize="true" + user_resize="true" + min_width="400" + name="navigation_layout_panel" + width="400"> + <panel + background_visible="false" + follows="left|top|right" + top="3" + height="23" + layout="topleft" + left="0" + name="navigation_panel" + width="400"> + <pull_button + follows="left|top" + direction="down" + height="23" + image_overlay="Arrow_Left_Off" + image_bottom_pad="1" + layout="topleft" + left="10" + name="back_btn" + tool_tip="Go back to previous location" + top="2" + width="31" /> + <pull_button + follows="left|top" + direction="down" + height="23" + image_overlay="Arrow_Right_Off" + image_bottom_pad="1" + layout="topleft" + left_pad="0" + name="forward_btn" + tool_tip="Go forward one location" + top_delta="0" + width="31" /> + <button + follows="left|top" + height="23" + image_bottom_pad="1" + image_overlay="Home_Off" + layout="topleft" + left_pad="7" + name="home_btn" + tool_tip="Teleport to my home location" + top_delta="0" + width="32"/> + <location_input + follows="all" + halign="right" + height="23" + label="Location" + layout="topleft" + left_pad="7" + max_chars="254" + mouse_opaque="false" + name="location_combo" + top_delta="0" + width="113"> + <combo_list + mouse_wheel_opaque="true"/> + </location_input> + <search_combo_box + follows="top|right" + halign="right" + height="23" + label="Search" + layout="topleft" + left_pad="7" + mouse_opaque="false" + name="search_combo_box" + tool_tip="Search" + top_delta="0" + width="152" > + <combo_editor + label="Search [SECOND_LIFE]" + name="search_combo_editor"/> + <combo_list + draw_border="true" + border.highlight_light_color="FocusColor" + border.highlight_dark_color="FocusColor" + border.shadow_light_color="FocusColor" + border.shadow_dark_color="FocusColor" + mouse_wheel_opaque="true"/> + </search_combo_box> + </panel> + </layout_panel> + + <layout_panel + auto_resize="false" + layout="topleft" + max_width="5" + min_width="5" + name="nav_bar_resize_handle_panel" + user_resize="false" + width="5"> + <icon + follows="top|right" + height="25" + image_name="ChatBarHandle" + layout="topleft" + left="-6" + name="resize_handle" + top="4" + width="5" /> + </layout_panel> + + <layout_panel + follows="top|left" + layout="topleft" + auto_resize="true" + user_resize="true" + min_width="190" + name="favorites_layout_panel" + width="190"> + <favorites_bar + follows="left|right|top" + font="SansSerifSmall" + height="20" + layout="topleft" + left="0" + name="favorite" + image_drag_indication="Accordion_ArrowOpened_Off" + tool_tip="Drag Landmarks here for quick access to your favorite places in Second Life!" + width="190"> + <label + follows="left|top" + height="15" + layout="topleft" + left="10" + name="favorites_bar_label" + text_color="LtGray" + tool_tip="Drag Landmarks here for quick access to your favorite places in Second Life!" + top="12" + width="102"> + Favorites Bar + </label> + <!-- More button actually is a text box. --> + <more_button + follows="left|bottom" + font.name="SansSerifSmall" + font.style="UNDERLINE" + name=">>" + tab_stop="false" + tool_tip="Show more of My Favorites" + top="15" + width="50"> + More... + </more_button> + </favorites_bar> + </layout_panel> + + </layout_stack> </panel> -- GitLab From 65fe2367a8241f0eb5ff4d27401f661b257e9736 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 19 Sep 2011 15:44:03 -0700 Subject: [PATCH 004/256] EXP-1228 WIP Create toolbar widget class that displays list of buttons horizontally or vertically created toolbar class and widget --- indra/llui/CMakeLists.txt | 2 ++ indra/llui/llui.cpp | 2 ++ indra/newview/llviewerwindow.h | 2 ++ 3 files changed, 6 insertions(+) diff --git a/indra/llui/CMakeLists.txt b/indra/llui/CMakeLists.txt index b3b2f4ae564..cf3f9b1a7b3 100644 --- a/indra/llui/CMakeLists.txt +++ b/indra/llui/CMakeLists.txt @@ -99,6 +99,7 @@ set(llui_SOURCE_FILES lltimectrl.cpp lltransutil.cpp lltoggleablemenu.cpp + lltoolbar.cpp lltooltip.cpp llui.cpp lluicolortable.cpp @@ -200,6 +201,7 @@ set(llui_HEADER_FILES lltextvalidate.h lltimectrl.h lltoggleablemenu.h + lltoolbar.h lltooltip.h lltransutil.h lluicolortable.h diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp index 58ba9e05f50..593354ee9ba 100644 --- a/indra/llui/llui.cpp +++ b/indra/llui/llui.cpp @@ -57,6 +57,7 @@ #include "llfiltereditor.h" #include "llflyoutbutton.h" #include "llsearcheditor.h" +#include "lltoolbar.h" // for XUIParse #include "llquaternion.h" @@ -91,6 +92,7 @@ std::list<std::string> gUntranslated; static LLDefaultChildRegistry::Register<LLFilterEditor> register_filter_editor("filter_editor"); static LLDefaultChildRegistry::Register<LLFlyoutButton> register_flyout_button("flyout_button"); static LLDefaultChildRegistry::Register<LLSearchEditor> register_search_editor("search_editor"); +static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar"); // register other widgets which otherwise may not be linked in static LLDefaultChildRegistry::Register<LLLoadingIndicator> register_loading_indicator("loading_indicator"); diff --git a/indra/newview/llviewerwindow.h b/indra/newview/llviewerwindow.h index edd241a742a..47e0fdeab19 100644 --- a/indra/newview/llviewerwindow.h +++ b/indra/newview/llviewerwindow.h @@ -284,6 +284,7 @@ class LLViewerWindow : public LLWindowCallbacks void updateWorldViewRect(bool use_full_window=false); LLView* getNonSideTrayView() { return mNonSideTrayView.get(); } LLView* getFloaterViewHolder() { return mFloaterViewHolder.get(); } + LLView* getToolBarHolder() { return mToolBarHolder.get(); } LLView* getHintHolder() { return mHintHolder.get(); } LLView* getLoginPanelHolder() { return mLoginPanelHolder.get(); } BOOL handleKey(KEY key, MASK mask); @@ -446,6 +447,7 @@ class LLViewerWindow : public LLWindowCallbacks LLHandle<LLView> mWorldViewPlaceholder; // widget that spans the portion of screen dedicated to rendering the 3d world LLHandle<LLView> mNonSideTrayView; // parent of world view + bottom bar, etc...everything but the side tray LLHandle<LLView> mFloaterViewHolder; // container for floater_view + LLHandle<LLView> mToolBarHolder; // container for toolbars LLHandle<LLView> mHintHolder; // container for hints LLHandle<LLView> mLoginPanelHolder; // container for login panel LLPopupView* mPopupView; // container for transient popups -- GitLab From fef08c439ae7c8a310af444c10ab500bc8b14b79 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 19 Sep 2011 16:59:50 -0700 Subject: [PATCH 005/256] fix build --- indra/llui/lltoolbar.cpp | 77 ++++++++++++++++++++++++++++++++++++++++ indra/llui/lltoolbar.h | 60 +++++++++++++++++++++++++++++++ 2 files changed, 137 insertions(+) create mode 100644 indra/llui/lltoolbar.cpp create mode 100644 indra/llui/lltoolbar.h diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp new file mode 100644 index 00000000000..0356fd5c8aa --- /dev/null +++ b/indra/llui/lltoolbar.cpp @@ -0,0 +1,77 @@ +/** + * @file lltoolbar.cpp + * @author Richard Nelson + * @brief User customizable toolbar class + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#include "linden_common.h" + +#include "boost/foreach.hpp" +#include "lltoolbar.h" + +//static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar"); + +LLToolBar::Params::Params() +: orientation("orientation"), + buttons("button") +{} + +LLToolBar::LLToolBar(const Params& p) +: LLUICtrl(p), + mOrientation(p.orientation), + mStack(NULL) +{ + +} + +void LLToolBar::draw() +{ + gl_rect_2d(getLocalRect(), LLColor4::blue, TRUE); +} + +void LLToolBar::initFromParams(const LLToolBar::Params& p) +{ + LLLayoutStack::Params stack_p; + stack_p.rect = getLocalRect(); + stack_p.follows.flags = FOLLOWS_ALL; + stack_p.name = "button_stack"; + stack_p.orientation = p.orientation; + + mStack = LLUICtrlFactory::create<LLLayoutStack>(stack_p); + addChild(mStack); + + BOOST_FOREACH (LLButton::Params button_p, p.buttons) + { + LLLayoutPanel::Params panel_p; + panel_p.name = button_p.name() + "_panel"; + panel_p.rect = button_p.rect; + panel_p.user_resize = false; + panel_p.auto_resize= false; + + LLLayoutPanel* panel = LLUICtrlFactory::create<LLLayoutPanel>(panel_p); + LLButton* button = LLUICtrlFactory::create<LLButton>(button_p); + panel->addChild(button); + mStack->addChild(panel); + } +} diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h new file mode 100644 index 00000000000..768f42309d8 --- /dev/null +++ b/indra/llui/lltoolbar.h @@ -0,0 +1,60 @@ +/** + * @file lltoolbar.h + * @author Richard Nelson + * @brief User customizable toolbar class + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#ifndef LL_LLTOOLBAR_H +#define LL_LLTOOLBAR_H + +#include "lluictrl.h" +#include "lllayoutstack.h" +#include "llbutton.h" + +class LLToolBar +: public LLUICtrl +{ +public: + struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> + { + Mandatory<LLLayoutStack::ELayoutOrientation> orientation; + Multiple<LLButton::Params> buttons; + + Params(); + }; + + void draw(); + +protected: + friend LLUICtrlFactory; + LLToolBar(const Params&); + void initFromParams(const Params&); + +private: + LLLayoutStack::ELayoutOrientation mOrientation; + LLLayoutStack* mStack; +}; + + +#endif // LL_LLTOOLBAR_H -- GitLab From 3df9545017a4835e162801d3e8a13d68c8bc44ad Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Mon, 19 Sep 2011 17:34:23 -0700 Subject: [PATCH 006/256] Fix gcc compiling error --- indra/llui/lltoolbar.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 768f42309d8..dd454e3f0be 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -47,7 +47,7 @@ class LLToolBar void draw(); protected: - friend LLUICtrlFactory; + friend class LLUICtrlFactory; LLToolBar(const Params&); void initFromParams(const Params&); -- GitLab From 64f30a302dfbcaf56502676fa4b8d8a06f355b40 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 20 Sep 2011 16:37:21 -0700 Subject: [PATCH 007/256] EXP-1228 FIX Create toolbar widget class that displays list of buttons horizontally or vertically buttons are now centered and sized according to content created floater_test_toolbar.xml to test --- indra/llui/llbutton.cpp | 4 +- indra/llui/llbutton.h | 21 ++- indra/llui/lllayoutstack.cpp | 14 +- indra/llui/lllayoutstack.h | 26 ++-- indra/llui/lltoolbar.cpp | 121 +++++++++++++++--- indra/llui/lltoolbar.h | 26 +++- .../default/xui/en/floater_test_toolbar.xml | 42 ++++++ 7 files changed, 204 insertions(+), 50 deletions(-) create mode 100644 indra/newview/skins/default/xui/en/floater_test_toolbar.xml diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 2459429f6e5..6c08ec74315 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -314,7 +314,7 @@ boost::signals2::connection LLButton::setHeldDownCallback( const commit_signal_t } -// *TODO: Deprecate (for backwards compatability only) +// *TODO: Deprecate (for backwards compatibility only) boost::signals2::connection LLButton::setClickedCallback( button_callback_t cb, void* data ) { return setClickedCallback(boost::bind(cb, data)); @@ -919,7 +919,7 @@ void LLButton::setToggleState(BOOL b) void LLButton::setFlashing( BOOL b ) { - if (b != mFlashing) + if ((bool)b != mFlashing) { mFlashing = b; mFlashingTimer.reset(); diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h index 59689160060..bc5e69fad54 100644 --- a/indra/llui/llbutton.h +++ b/indra/llui/llbutton.h @@ -327,15 +327,14 @@ class LLButton LLUIColor mImageColor; LLUIColor mDisabledImageColor; - BOOL mIsToggle; - BOOL mScaleImage; + bool mIsToggle; + bool mScaleImage; - BOOL mDropShadowedText; - BOOL mAutoResize; - BOOL mUseEllipses; - BOOL mBorderEnabled; - - BOOL mFlashing; + bool mDropShadowedText; + bool mAutoResize; + bool mUseEllipses; + bool mBorderEnabled; + bool mFlashing; LLFontGL::HAlign mHAlign; S32 mLeftHPad; @@ -355,9 +354,9 @@ class LLButton F32 mHoverGlowStrength; F32 mCurGlowStrength; - BOOL mNeedsHighlight; - BOOL mCommitOnReturn; - BOOL mFadeWhenDisabled; + bool mNeedsHighlight; + bool mCommitOnReturn; + bool mFadeWhenDisabled; bool mForcePressedState; LLFrameTimer mFlashingTimer; diff --git a/indra/llui/lllayoutstack.cpp b/indra/llui/lllayoutstack.cpp index a250404292a..0d1f608e61b 100644 --- a/indra/llui/lllayoutstack.cpp +++ b/indra/llui/lllayoutstack.cpp @@ -55,6 +55,7 @@ LLLayoutPanel::LLLayoutPanel(const Params& p) mMaxDim(p.max_dim), mAutoResize(p.auto_resize), mUserResize(p.user_resize), + mFitContent(p.fit_content), mCollapsed(FALSE), mCollapseAmt(0.f), mVisibleAmt(1.f), // default to fully visible @@ -104,6 +105,14 @@ F32 LLLayoutPanel::getCollapseFactor(LLLayoutStack::ELayoutOrientation orientati } } +void LLLayoutPanel::fitToContent() +{ + if (mFitContent) + { + setShape(calcBoundingRect()); + } +} + // // LLLayoutStack // @@ -324,6 +333,7 @@ void LLLayoutStack::updateLayout(BOOL force_resize) for (panel_it = mPanels.begin(); panel_it != mPanels.end(); ++panel_it) { LLLayoutPanel* panelp = (*panel_it); + panelp->fitToContent(); if (panelp->getVisible()) { if (mAnimate) @@ -478,7 +488,9 @@ void LLLayoutStack::updateLayout(BOOL force_resize) { // shrink proportionally to amount over minimum // so we can do this in one pass - delta_size = (shrink_headroom_available > 0) ? llround((F32)pixels_to_distribute * ((F32)(cur_width - relevant_min) / (F32)shrink_headroom_available)) : 0; + delta_size = (shrink_headroom_available > 0) + ? llround((F32)pixels_to_distribute * ((F32)(cur_width - relevant_min) / (F32)shrink_headroom_available)) + : 0; shrink_headroom_available -= (cur_width - relevant_min); } else diff --git a/indra/llui/lllayoutstack.h b/indra/llui/lllayoutstack.h index d8ef0aeaca3..2ed32a2fa9f 100644 --- a/indra/llui/lllayoutstack.h +++ b/indra/llui/lllayoutstack.h @@ -161,14 +161,16 @@ friend class LLUICtrlFactory; min_dim, max_dim; Optional<bool> user_resize, - auto_resize; + auto_resize, + fit_content; Params() : expanded_min_dim("expanded_min_dim", 0), min_dim("min_dim", 0), max_dim("max_dim", 0), user_resize("user_resize", true), - auto_resize("auto_resize", true) + auto_resize("auto_resize", true), + fit_content("fit_content", false) { addSynonym(min_dim, "min_width"); addSynonym(min_dim, "min_height"); @@ -206,18 +208,20 @@ friend class LLUICtrlFactory; LLLayoutPanel(const Params& p); F32 getCollapseFactor(LLLayoutStack::ELayoutOrientation orientation); + void fitToContent(); - bool mExpandedMinDimSpecified; - S32 mExpandedMinDim; + bool mExpandedMinDimSpecified; + S32 mExpandedMinDim; - S32 mMinDim; - S32 mMaxDim; - BOOL mAutoResize; - BOOL mUserResize; - BOOL mCollapsed; + S32 mMinDim; + S32 mMaxDim; + bool mAutoResize; + bool mUserResize; + bool mCollapsed; + bool mFitContent; + F32 mVisibleAmt; + F32 mCollapseAmt; class LLResizeBar* mResizeBar; - F32 mVisibleAmt; - F32 mCollapseAmt; }; diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 0356fd5c8aa..cdd3a502053 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -41,37 +41,118 @@ LLToolBar::LLToolBar(const Params& p) : LLUICtrl(p), mOrientation(p.orientation), mStack(NULL) +{} + +void LLToolBar::initFromParams(const LLToolBar::Params& p) { + LLLayoutStack::Params centering_stack_p; + centering_stack_p.rect = getLocalRect(); + centering_stack_p.follows.flags = FOLLOWS_ALL; + centering_stack_p.orientation = p.orientation; + centering_stack_p.name = "centering_stack"; -} + LLLayoutPanel::Params border_panel_p; + border_panel_p.name = "border_panel"; + border_panel_p.rect = getLocalRect(); + border_panel_p.auto_resize = true; + border_panel_p.user_resize = false; -void LLToolBar::draw() -{ - gl_rect_2d(getLocalRect(), LLColor4::blue, TRUE); -} + LLLayoutStack* centering_stack = LLUICtrlFactory::create<LLLayoutStack>(centering_stack_p); + addChild(centering_stack); + + LLLayoutPanel::Params center_panel_p; + center_panel_p.name = "center_panel"; + center_panel_p.rect = getLocalRect(); + center_panel_p.auto_resize = false; + center_panel_p.user_resize = false; + center_panel_p.fit_content = true; + + centering_stack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); + LLLayoutPanel* center_panel = LLUICtrlFactory::create<LLLayoutPanel>(center_panel_p); + centering_stack->addChild(center_panel); + centering_stack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); -void LLToolBar::initFromParams(const LLToolBar::Params& p) -{ LLLayoutStack::Params stack_p; stack_p.rect = getLocalRect(); - stack_p.follows.flags = FOLLOWS_ALL; stack_p.name = "button_stack"; stack_p.orientation = p.orientation; + stack_p.follows.flags = (mOrientation == LLLayoutStack::HORIZONTAL) + ? (FOLLOWS_TOP|FOLLOWS_BOTTOM) // horizontal + : (FOLLOWS_LEFT|FOLLOWS_RIGHT); // vertical mStack = LLUICtrlFactory::create<LLLayoutStack>(stack_p); - addChild(mStack); + center_panel->addChild(mStack); - BOOST_FOREACH (LLButton::Params button_p, p.buttons) + BOOST_FOREACH (LLToolBarButton::Params button_p, p.buttons) { - LLLayoutPanel::Params panel_p; - panel_p.name = button_p.name() + "_panel"; - panel_p.rect = button_p.rect; - panel_p.user_resize = false; - panel_p.auto_resize= false; - - LLLayoutPanel* panel = LLUICtrlFactory::create<LLLayoutPanel>(panel_p); - LLButton* button = LLUICtrlFactory::create<LLButton>(button_p); - panel->addChild(button); - mStack->addChild(panel); + // remove any offset from button + LLRect button_rect(button_p.rect); + + if (mOrientation == LLLayoutStack::HORIZONTAL) + { + button_rect.setOriginAndSize(0, 0, 0, getRect().getHeight()); + } + else // VERTICAL + { + button_rect.setOriginAndSize(0, 0, 0, button_rect.getHeight()); + } + button_p.follows.flags = FOLLOWS_NONE; + button_p.rect = button_rect; + button_p.chrome = true; + button_p.auto_resize = true; + + LLToolBarButton* button = LLUICtrlFactory::create<LLToolBarButton>(button_p); + + addButton(button); } + + updateLayout(); +} + +void LLToolBar::addButton(LLToolBarButton* buttonp) +{ + LLLayoutPanel::Params panel_p; + panel_p.name = buttonp->getName() + "_panel"; + panel_p.user_resize = false; + panel_p.auto_resize= false; + panel_p.fit_content = true; + + LLLayoutPanel* panel = LLUICtrlFactory::create<LLLayoutPanel>(panel_p); + + panel->addChild(buttonp); + mStack->addChild(panel); + mButtons.push_back(buttonp); } + +void LLToolBar::updateLayout() +{ + S32 total_width = 0; + S32 total_height = 0; + S32 max_width = getRect().getWidth(); + S32 max_height = getRect().getHeight(); + + BOOST_FOREACH(LLToolBarButton* button, mButtons) + { + total_width += button->getRect().getWidth(); + total_height += button->getRect().getHeight(); + max_width = llmax(button->getRect().getWidth(), max_width); + max_height = llmax(button->getRect().getHeight(), max_height); + } + + if (mOrientation == LLLayoutStack::HORIZONTAL) + { + mStack->reshape(total_width, mStack->getParent()->getRect().getHeight()); + } + else + { + mStack->reshape(mStack->getParent()->getRect().getWidth(), total_height); + reshape(max_width, getRect().getHeight()); + } +} + + +void LLToolBar::draw() +{ + LLUICtrl::draw(); +} + diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index dd454e3f0be..fb03095c566 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -32,28 +32,44 @@ #include "lllayoutstack.h" #include "llbutton.h" +class LLToolBarButton : public LLButton +{ +public: + struct Params : public LLInitParam::Block<Params, LLButton::Params> + { + }; + + LLToolBarButton(const Params& p) : LLButton(p) {} + +}; + class LLToolBar : public LLUICtrl { public: + struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> { - Mandatory<LLLayoutStack::ELayoutOrientation> orientation; - Multiple<LLButton::Params> buttons; + Mandatory<LLLayoutStack::ELayoutOrientation, + LLLayoutStack::OrientationNames> orientation; + Multiple<LLToolBarButton::Params> buttons; Params(); }; - void draw(); + /*virtual*/ void draw(); protected: friend class LLUICtrlFactory; LLToolBar(const Params&); void initFromParams(const Params&); + void addButton(LLToolBarButton* buttonp); + void updateLayout(); private: - LLLayoutStack::ELayoutOrientation mOrientation; - LLLayoutStack* mStack; + LLLayoutStack::ELayoutOrientation mOrientation; + LLLayoutStack* mStack; + std::list<LLToolBarButton*> mButtons; }; diff --git a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml new file mode 100644 index 00000000000..55cfd462acc --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + legacy_header_height="18" + can_resize="true" + height="500" + layout="topleft" + name="floater_test_toolbar" + translate="false" + width="500"> + <toolbar name="test_toolbar_horizontal" + follows="left|right|top" + height="50" + width="500" + left="0" + top="20" + orientation="horizontal"> + <button width="0" + auto_resize="true" + label="Button 1"/> + <button width="0" + auto_resize="true" + label="Button with long label"/> + <button width="0" + auto_resize="true" + label="Button with longest label of all"/> + </toolbar> + <toolbar name="test_toolbar_vertical" + follows="left|bottom|top" + height="430" + width="100" + left="0" + top="70" + orientation="vertical"> + <button height="30" + label="Button 1"/> + <button height="50" + label="Button 2"/> + <button height="60" + label="Button 3"/> + </toolbar> + +</floater> -- GitLab From bc3f0e0a81af79820a0c0a6877d266fca46ef917 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 20 Sep 2011 18:47:13 -0700 Subject: [PATCH 008/256] EXP-1230 FIX As a resident, I want to not have to choose a UI mode removed all references to basic mode --- indra/newview/CMakeLists.txt | 6 - indra/newview/app_settings/settings.xml | 11 - .../newview/app_settings/settings_minimal.xml | 474 --- indra/newview/llappviewer.cpp | 15 - indra/newview/lllogininstance.cpp | 10 +- indra/newview/llpanellogin.cpp | 30 - indra/newview/llpanellogin.h | 2 - indra/newview/llstatusbar.cpp | 33 - indra/newview/llstatusbar.h | 2 - indra/newview/llviewermenu.cpp | 100 - indra/newview/llviewermenu.h | 2 - indra/newview/llviewerstats.cpp | 2 +- indra/newview/llviewerwindow.cpp | 19 - .../skins/default/xui/en/menu_mode_change.xml | 24 - .../skins/default/xui/en/notifications.xml | 13 - .../skins/default/xui/en/panel_login.xml | 27 - .../skins/default/xui/en/panel_status_bar.xml | 19 - indra/newview/skins/minimal/colors.xml | 6 - .../skins/minimal/textures/arrow_keys.png | Bin 6558 -> 0 bytes .../textures/bottomtray/Speak_Btn_Off.png | Bin 993 -> 0 bytes .../bottomtray/Speak_Btn_Selected_Press.png | Bin 1217 -> 0 bytes .../textures/bottomtray/button_separator.png | Bin 153 -> 0 bytes .../minimal/textures/bottomtray/close_off.png | Bin 3184 -> 0 bytes .../textures/bottomtray/close_over.png | Bin 3173 -> 0 bytes .../textures/bottomtray/close_press.png | Bin 3259 -> 0 bytes .../skins/minimal/textures/click_to_move.png | Bin 8188 -> 0 bytes .../skins/minimal/textures/textures.xml | 11 - .../skins/minimal/xui/da/floater_camera.xml | 65 - .../minimal/xui/da/floater_help_browser.xml | 9 - .../minimal/xui/da/floater_media_browser.xml | 30 - .../minimal/xui/da/floater_nearby_chat.xml | 4 - .../minimal/xui/da/floater_web_content.xml | 14 - .../skins/minimal/xui/da/inspect_avatar.xml | 24 - .../skins/minimal/xui/da/inspect_object.xml | 41 - .../minimal/xui/da/menu_add_wearable_gear.xml | 6 - .../minimal/xui/da/menu_attachment_other.xml | 17 - .../minimal/xui/da/menu_attachment_self.xml | 16 - .../skins/minimal/xui/da/menu_avatar_icon.xml | 7 - .../minimal/xui/da/menu_avatar_other.xml | 16 - .../skins/minimal/xui/da/menu_avatar_self.xml | 31 - .../skins/minimal/xui/da/menu_bottomtray.xml | 17 - .../minimal/xui/da/menu_cof_attachment.xml | 4 - .../minimal/xui/da/menu_cof_body_part.xml | 5 - .../minimal/xui/da/menu_cof_clothing.xml | 6 - .../skins/minimal/xui/da/menu_cof_gear.xml | 5 - .../skins/minimal/xui/da/menu_edit.xml | 12 - .../skins/minimal/xui/da/menu_favorites.xml | 10 - .../minimal/xui/da/menu_gesture_gear.xml | 10 - .../skins/minimal/xui/da/menu_group_plus.xml | 5 - .../skins/minimal/xui/da/menu_hide_navbar.xml | 6 - .../minimal/xui/da/menu_im_well_button.xml | 4 - .../minimal/xui/da/menu_imchiclet_adhoc.xml | 4 - .../minimal/xui/da/menu_imchiclet_group.xml | 6 - .../minimal/xui/da/menu_imchiclet_p2p.xml | 7 - .../xui/da/menu_inspect_avatar_gear.xml | 21 - .../xui/da/menu_inspect_object_gear.xml | 18 - .../minimal/xui/da/menu_inspect_self_gear.xml | 31 - .../minimal/xui/da/menu_inv_offer_chiclet.xml | 4 - .../skins/minimal/xui/da/menu_inventory.xml | 84 - .../minimal/xui/da/menu_inventory_add.xml | 33 - .../xui/da/menu_inventory_gear_default.xml | 17 - .../skins/minimal/xui/da/menu_land.xml | 9 - .../skins/minimal/xui/da/menu_landmark.xml | 7 - .../skins/minimal/xui/da/menu_login.xml | 24 - .../skins/minimal/xui/da/menu_mini_map.xml | 11 - .../skins/minimal/xui/da/menu_navbar.xml | 11 - .../skins/minimal/xui/da/menu_nearby_chat.xml | 9 - .../xui/da/menu_notification_well_button.xml | 4 - .../skins/minimal/xui/da/menu_object.xml | 29 - .../skins/minimal/xui/da/menu_object_icon.xml | 5 - .../skins/minimal/xui/da/menu_outfit_gear.xml | 27 - .../skins/minimal/xui/da/menu_outfit_tab.xml | 9 - .../minimal/xui/da/menu_participant_list.xml | 21 - .../xui/da/menu_people_friends_view_sort.xml | 8 - .../minimal/xui/da/menu_people_groups.xml | 8 - .../xui/da/menu_people_groups_view_sort.xml | 5 - .../minimal/xui/da/menu_people_nearby.xml | 13 - .../xui/da/menu_people_nearby_multiselect.xml | 10 - .../xui/da/menu_people_nearby_view_sort.xml | 8 - .../xui/da/menu_people_recent_view_sort.xml | 7 - .../skins/minimal/xui/da/menu_picks.xml | 8 - .../skins/minimal/xui/da/menu_picks_plus.xml | 5 - .../skins/minimal/xui/da/menu_place.xml | 7 - .../minimal/xui/da/menu_place_add_button.xml | 5 - .../xui/da/menu_places_gear_folder.xml | 16 - .../xui/da/menu_places_gear_landmark.xml | 19 - .../minimal/xui/da/menu_profile_overflow.xml | 12 - .../skins/minimal/xui/da/menu_save_outfit.xml | 5 - .../minimal/xui/da/menu_script_chiclet.xml | 4 - .../skins/minimal/xui/da/menu_slurl.xml | 6 - .../xui/da/menu_teleport_history_gear.xml | 6 - .../xui/da/menu_teleport_history_item.xml | 6 - .../xui/da/menu_teleport_history_tab.xml | 5 - .../skins/minimal/xui/da/menu_text_editor.xml | 8 - .../skins/minimal/xui/da/menu_topinfobar.xml | 7 - .../skins/minimal/xui/da/menu_url_agent.xml | 6 - .../skins/minimal/xui/da/menu_url_group.xml | 6 - .../skins/minimal/xui/da/menu_url_http.xml | 7 - .../minimal/xui/da/menu_url_inventory.xml | 6 - .../skins/minimal/xui/da/menu_url_map.xml | 6 - .../minimal/xui/da/menu_url_objectim.xml | 8 - .../skins/minimal/xui/da/menu_url_parcel.xml | 6 - .../skins/minimal/xui/da/menu_url_slapp.xml | 5 - .../skins/minimal/xui/da/menu_url_slurl.xml | 7 - .../minimal/xui/da/menu_url_teleport.xml | 6 - .../skins/minimal/xui/da/menu_viewer.xml | 14 - .../xui/da/menu_wearable_list_item.xml | 14 - .../minimal/xui/da/menu_wearing_gear.xml | 5 - .../skins/minimal/xui/da/menu_wearing_tab.xml | 6 - .../skins/minimal/xui/da/notifications.xml | 1831 ---------- .../xui/da/panel_adhoc_control_panel.xml | 14 - .../skins/minimal/xui/da/panel_bottomtray.xml | 45 - .../xui/da/panel_group_control_panel.xml | 17 - .../minimal/xui/da/panel_im_control_panel.xml | 29 - .../skins/minimal/xui/da/panel_login.xml | 48 - .../minimal/xui/da/panel_navigation_bar.xml | 18 - .../skins/minimal/xui/da/panel_people.xml | 94 - .../xui/da/panel_side_tray_tab_caption.xml | 7 - .../skins/minimal/xui/da/panel_status_bar.xml | 33 - .../skins/minimal/xui/de/floater_camera.xml | 65 - .../minimal/xui/de/floater_help_browser.xml | 9 - .../minimal/xui/de/floater_media_browser.xml | 30 - .../minimal/xui/de/floater_nearby_chat.xml | 4 - .../minimal/xui/de/floater_web_content.xml | 14 - .../skins/minimal/xui/de/inspect_avatar.xml | 25 - .../skins/minimal/xui/de/inspect_object.xml | 48 - .../minimal/xui/de/menu_add_wearable_gear.xml | 6 - .../minimal/xui/de/menu_attachment_other.xml | 17 - .../minimal/xui/de/menu_attachment_self.xml | 16 - .../skins/minimal/xui/de/menu_avatar_icon.xml | 7 - .../minimal/xui/de/menu_avatar_other.xml | 16 - .../skins/minimal/xui/de/menu_avatar_self.xml | 31 - .../skins/minimal/xui/de/menu_bottomtray.xml | 17 - .../minimal/xui/de/menu_cof_attachment.xml | 4 - .../minimal/xui/de/menu_cof_body_part.xml | 5 - .../minimal/xui/de/menu_cof_clothing.xml | 8 - .../skins/minimal/xui/de/menu_cof_gear.xml | 5 - .../skins/minimal/xui/de/menu_edit.xml | 12 - .../skins/minimal/xui/de/menu_favorites.xml | 10 - .../minimal/xui/de/menu_gesture_gear.xml | 10 - .../skins/minimal/xui/de/menu_group_plus.xml | 5 - .../skins/minimal/xui/de/menu_hide_navbar.xml | 6 - .../minimal/xui/de/menu_im_well_button.xml | 4 - .../minimal/xui/de/menu_imchiclet_adhoc.xml | 4 - .../minimal/xui/de/menu_imchiclet_group.xml | 6 - .../minimal/xui/de/menu_imchiclet_p2p.xml | 7 - .../xui/de/menu_inspect_avatar_gear.xml | 18 - .../xui/de/menu_inspect_object_gear.xml | 18 - .../minimal/xui/de/menu_inspect_self_gear.xml | 8 - .../minimal/xui/de/menu_inv_offer_chiclet.xml | 4 - .../skins/minimal/xui/de/menu_inventory.xml | 86 - .../minimal/xui/de/menu_inventory_add.xml | 33 - .../xui/de/menu_inventory_gear_default.xml | 16 - .../skins/minimal/xui/de/menu_land.xml | 9 - .../skins/minimal/xui/de/menu_landmark.xml | 7 - .../skins/minimal/xui/de/menu_login.xml | 25 - .../skins/minimal/xui/de/menu_mini_map.xml | 11 - .../skins/minimal/xui/de/menu_navbar.xml | 11 - .../skins/minimal/xui/de/menu_nearby_chat.xml | 9 - .../xui/de/menu_notification_well_button.xml | 4 - .../skins/minimal/xui/de/menu_object.xml | 29 - .../skins/minimal/xui/de/menu_object_icon.xml | 5 - .../skins/minimal/xui/de/menu_outfit_gear.xml | 27 - .../skins/minimal/xui/de/menu_outfit_tab.xml | 9 - .../minimal/xui/de/menu_participant_list.xml | 21 - .../xui/de/menu_people_friends_view_sort.xml | 8 - .../minimal/xui/de/menu_people_groups.xml | 8 - .../xui/de/menu_people_groups_view_sort.xml | 5 - .../minimal/xui/de/menu_people_nearby.xml | 13 - .../xui/de/menu_people_nearby_multiselect.xml | 10 - .../xui/de/menu_people_nearby_view_sort.xml | 8 - .../xui/de/menu_people_recent_view_sort.xml | 7 - .../skins/minimal/xui/de/menu_picks.xml | 8 - .../skins/minimal/xui/de/menu_picks_plus.xml | 5 - .../skins/minimal/xui/de/menu_place.xml | 7 - .../minimal/xui/de/menu_place_add_button.xml | 5 - .../xui/de/menu_places_gear_folder.xml | 15 - .../xui/de/menu_places_gear_landmark.xml | 18 - .../minimal/xui/de/menu_profile_overflow.xml | 12 - .../skins/minimal/xui/de/menu_save_outfit.xml | 5 - .../minimal/xui/de/menu_script_chiclet.xml | 4 - .../skins/minimal/xui/de/menu_slurl.xml | 6 - .../xui/de/menu_teleport_history_gear.xml | 6 - .../xui/de/menu_teleport_history_item.xml | 6 - .../xui/de/menu_teleport_history_tab.xml | 5 - .../skins/minimal/xui/de/menu_text_editor.xml | 8 - .../skins/minimal/xui/de/menu_topinfobar.xml | 7 - .../skins/minimal/xui/de/menu_url_agent.xml | 6 - .../skins/minimal/xui/de/menu_url_group.xml | 6 - .../skins/minimal/xui/de/menu_url_http.xml | 7 - .../minimal/xui/de/menu_url_inventory.xml | 6 - .../skins/minimal/xui/de/menu_url_map.xml | 6 - .../minimal/xui/de/menu_url_objectim.xml | 8 - .../skins/minimal/xui/de/menu_url_parcel.xml | 6 - .../skins/minimal/xui/de/menu_url_slapp.xml | 5 - .../skins/minimal/xui/de/menu_url_slurl.xml | 7 - .../minimal/xui/de/menu_url_teleport.xml | 6 - .../skins/minimal/xui/de/menu_viewer.xml | 14 - .../xui/de/menu_wearable_list_item.xml | 14 - .../minimal/xui/de/menu_wearing_gear.xml | 5 - .../skins/minimal/xui/de/menu_wearing_tab.xml | 6 - .../skins/minimal/xui/de/notifications.xml | 19 - .../xui/de/panel_adhoc_control_panel.xml | 11 - .../skins/minimal/xui/de/panel_bottomtray.xml | 45 - .../xui/de/panel_group_control_panel.xml | 11 - .../minimal/xui/de/panel_im_control_panel.xml | 29 - .../skins/minimal/xui/de/panel_login.xml | 40 - .../minimal/xui/de/panel_navigation_bar.xml | 18 - .../skins/minimal/xui/de/panel_people.xml | 73 - .../xui/de/panel_side_tray_tab_caption.xml | 7 - .../skins/minimal/xui/de/panel_status_bar.xml | 33 - .../skins/minimal/xui/en/floater_camera.xml | 284 -- .../minimal/xui/en/floater_help_browser.xml | 51 - .../minimal/xui/en/floater_media_browser.xml | 242 -- .../minimal/xui/en/floater_nearby_chat.xml | 52 - .../minimal/xui/en/floater_side_bar_tab.xml | 10 - .../minimal/xui/en/floater_web_content.xml | 196 -- .../skins/minimal/xui/en/inspect_avatar.xml | 206 -- .../skins/minimal/xui/en/inspect_object.xml | 144 - .../skins/minimal/xui/en/main_view.xml | 269 -- .../minimal/xui/en/menu_add_wearable_gear.xml | 2 - .../minimal/xui/en/menu_attachment_other.xml | 84 - .../minimal/xui/en/menu_attachment_self.xml | 26 - .../skins/minimal/xui/en/menu_avatar_icon.xml | 2 - .../minimal/xui/en/menu_avatar_other.xml | 83 - .../skins/minimal/xui/en/menu_avatar_self.xml | 2 - .../skins/minimal/xui/en/menu_bottomtray.xml | 2 - .../minimal/xui/en/menu_cof_attachment.xml | 2 - .../minimal/xui/en/menu_cof_body_part.xml | 2 - .../minimal/xui/en/menu_cof_clothing.xml | 2 - .../skins/minimal/xui/en/menu_cof_gear.xml | 2 - .../skins/minimal/xui/en/menu_edit.xml | 90 - .../skins/minimal/xui/en/menu_favorites.xml | 2 - .../minimal/xui/en/menu_gesture_gear.xml | 2 - .../skins/minimal/xui/en/menu_group_plus.xml | 2 - .../skins/minimal/xui/en/menu_hide_navbar.xml | 2 - .../minimal/xui/en/menu_im_well_button.xml | 2 - .../minimal/xui/en/menu_imchiclet_adhoc.xml | 2 - .../minimal/xui/en/menu_imchiclet_group.xml | 2 - .../minimal/xui/en/menu_imchiclet_p2p.xml | 2 - .../xui/en/menu_inspect_avatar_gear.xml | 125 - .../xui/en/menu_inspect_object_gear.xml | 50 - .../minimal/xui/en/menu_inspect_self_gear.xml | 49 - .../minimal/xui/en/menu_inv_offer_chiclet.xml | 2 - .../skins/minimal/xui/en/menu_inventory.xml | 2 - .../minimal/xui/en/menu_inventory_add.xml | 2 - .../xui/en/menu_inventory_gear_default.xml | 2 - .../skins/minimal/xui/en/menu_land.xml | 2 - .../skins/minimal/xui/en/menu_landmark.xml | 2 - .../skins/minimal/xui/en/menu_login.xml | 2 - .../skins/minimal/xui/en/menu_mini_map.xml | 2 - .../skins/minimal/xui/en/menu_navbar.xml | 2 - .../skins/minimal/xui/en/menu_nearby_chat.xml | 2 - .../xui/en/menu_notification_well_button.xml | 2 - .../skins/minimal/xui/en/menu_object.xml | 40 - .../skins/minimal/xui/en/menu_object_icon.xml | 2 - .../skins/minimal/xui/en/menu_outfit_gear.xml | 2 - .../skins/minimal/xui/en/menu_outfit_tab.xml | 2 - .../minimal/xui/en/menu_participant_list.xml | 2 - .../xui/en/menu_people_friends_view_sort.xml | 2 - .../minimal/xui/en/menu_people_groups.xml | 2 - .../xui/en/menu_people_groups_view_sort.xml | 2 - .../minimal/xui/en/menu_people_nearby.xml | 71 - .../xui/en/menu_people_nearby_multiselect.xml | 2 - .../xui/en/menu_people_nearby_view_sort.xml | 2 - .../xui/en/menu_people_recent_view_sort.xml | 2 - .../skins/minimal/xui/en/menu_picks.xml | 2 - .../skins/minimal/xui/en/menu_picks_plus.xml | 2 - .../skins/minimal/xui/en/menu_place.xml | 2 - .../minimal/xui/en/menu_place_add_button.xml | 2 - .../xui/en/menu_places_gear_folder.xml | 2 - .../xui/en/menu_places_gear_landmark.xml | 2 - .../minimal/xui/en/menu_profile_overflow.xml | 2 - .../skins/minimal/xui/en/menu_save_outfit.xml | 2 - .../minimal/xui/en/menu_script_chiclet.xml | 2 - .../skins/minimal/xui/en/menu_slurl.xml | 2 - .../xui/en/menu_teleport_history_gear.xml | 2 - .../xui/en/menu_teleport_history_item.xml | 2 - .../xui/en/menu_teleport_history_tab.xml | 2 - .../skins/minimal/xui/en/menu_text_editor.xml | 2 - .../skins/minimal/xui/en/menu_topinfobar.xml | 2 - .../skins/minimal/xui/en/menu_url_agent.xml | 2 - .../skins/minimal/xui/en/menu_url_group.xml | 2 - .../skins/minimal/xui/en/menu_url_http.xml | 2 - .../minimal/xui/en/menu_url_inventory.xml | 2 - .../skins/minimal/xui/en/menu_url_map.xml | 2 - .../minimal/xui/en/menu_url_objectim.xml | 2 - .../skins/minimal/xui/en/menu_url_parcel.xml | 2 - .../skins/minimal/xui/en/menu_url_slapp.xml | 2 - .../skins/minimal/xui/en/menu_url_slurl.xml | 2 - .../minimal/xui/en/menu_url_teleport.xml | 2 - .../skins/minimal/xui/en/menu_viewer.xml | 71 - .../xui/en/menu_wearable_list_item.xml | 2 - .../minimal/xui/en/menu_wearing_gear.xml | 2 - .../skins/minimal/xui/en/menu_wearing_tab.xml | 2 - .../xui/en/notification_visibility.xml | 27 - .../skins/minimal/xui/en/notifications.xml | 44 - .../xui/en/panel_adhoc_control_panel.xml | 81 - .../skins/minimal/xui/en/panel_bottomtray.xml | 557 --- .../xui/en/panel_group_control_panel.xml | 79 - .../minimal/xui/en/panel_im_control_panel.xml | 194 -- .../skins/minimal/xui/en/panel_login.xml | 205 -- .../minimal/xui/en/panel_navigation_bar.xml | 76 - .../skins/minimal/xui/en/panel_people.xml | 571 ---- .../xui/en/panel_side_tray_tab_caption.xml | 11 - .../skins/minimal/xui/en/panel_status_bar.xml | 83 - .../minimal/xui/en/panel_volume_pulldown.xml | 34 - .../minimal/xui/en/widgets/location_input.xml | 139 - .../skins/minimal/xui/es/floater_camera.xml | 65 - .../minimal/xui/es/floater_help_browser.xml | 9 - .../minimal/xui/es/floater_media_browser.xml | 30 - .../minimal/xui/es/floater_nearby_chat.xml | 4 - .../minimal/xui/es/floater_web_content.xml | 14 - .../skins/minimal/xui/es/inspect_avatar.xml | 24 - .../skins/minimal/xui/es/inspect_object.xml | 41 - .../minimal/xui/es/menu_add_wearable_gear.xml | 6 - .../minimal/xui/es/menu_attachment_other.xml | 17 - .../minimal/xui/es/menu_attachment_self.xml | 16 - .../skins/minimal/xui/es/menu_avatar_icon.xml | 7 - .../minimal/xui/es/menu_avatar_other.xml | 16 - .../skins/minimal/xui/es/menu_avatar_self.xml | 31 - .../skins/minimal/xui/es/menu_bottomtray.xml | 17 - .../minimal/xui/es/menu_cof_attachment.xml | 4 - .../minimal/xui/es/menu_cof_body_part.xml | 5 - .../minimal/xui/es/menu_cof_clothing.xml | 6 - .../skins/minimal/xui/es/menu_cof_gear.xml | 5 - .../skins/minimal/xui/es/menu_edit.xml | 12 - .../skins/minimal/xui/es/menu_favorites.xml | 10 - .../minimal/xui/es/menu_gesture_gear.xml | 10 - .../skins/minimal/xui/es/menu_group_plus.xml | 5 - .../skins/minimal/xui/es/menu_hide_navbar.xml | 6 - .../minimal/xui/es/menu_im_well_button.xml | 4 - .../minimal/xui/es/menu_imchiclet_adhoc.xml | 4 - .../minimal/xui/es/menu_imchiclet_group.xml | 6 - .../minimal/xui/es/menu_imchiclet_p2p.xml | 7 - .../xui/es/menu_inspect_avatar_gear.xml | 18 - .../xui/es/menu_inspect_object_gear.xml | 18 - .../minimal/xui/es/menu_inspect_self_gear.xml | 8 - .../minimal/xui/es/menu_inv_offer_chiclet.xml | 4 - .../skins/minimal/xui/es/menu_inventory.xml | 86 - .../minimal/xui/es/menu_inventory_add.xml | 33 - .../xui/es/menu_inventory_gear_default.xml | 16 - .../skins/minimal/xui/es/menu_land.xml | 9 - .../skins/minimal/xui/es/menu_landmark.xml | 7 - .../skins/minimal/xui/es/menu_login.xml | 24 - .../skins/minimal/xui/es/menu_mini_map.xml | 11 - .../skins/minimal/xui/es/menu_navbar.xml | 11 - .../skins/minimal/xui/es/menu_nearby_chat.xml | 9 - .../xui/es/menu_notification_well_button.xml | 4 - .../skins/minimal/xui/es/menu_object.xml | 29 - .../skins/minimal/xui/es/menu_object_icon.xml | 5 - .../skins/minimal/xui/es/menu_outfit_gear.xml | 27 - .../skins/minimal/xui/es/menu_outfit_tab.xml | 9 - .../minimal/xui/es/menu_participant_list.xml | 21 - .../xui/es/menu_people_friends_view_sort.xml | 8 - .../minimal/xui/es/menu_people_groups.xml | 8 - .../xui/es/menu_people_groups_view_sort.xml | 5 - .../minimal/xui/es/menu_people_nearby.xml | 13 - .../xui/es/menu_people_nearby_multiselect.xml | 10 - .../xui/es/menu_people_nearby_view_sort.xml | 8 - .../xui/es/menu_people_recent_view_sort.xml | 7 - .../skins/minimal/xui/es/menu_picks.xml | 8 - .../skins/minimal/xui/es/menu_picks_plus.xml | 5 - .../skins/minimal/xui/es/menu_place.xml | 7 - .../minimal/xui/es/menu_place_add_button.xml | 5 - .../xui/es/menu_places_gear_folder.xml | 15 - .../xui/es/menu_places_gear_landmark.xml | 18 - .../minimal/xui/es/menu_profile_overflow.xml | 12 - .../skins/minimal/xui/es/menu_save_outfit.xml | 5 - .../minimal/xui/es/menu_script_chiclet.xml | 4 - .../skins/minimal/xui/es/menu_slurl.xml | 6 - .../xui/es/menu_teleport_history_gear.xml | 6 - .../xui/es/menu_teleport_history_item.xml | 6 - .../xui/es/menu_teleport_history_tab.xml | 5 - .../skins/minimal/xui/es/menu_text_editor.xml | 8 - .../skins/minimal/xui/es/menu_topinfobar.xml | 7 - .../skins/minimal/xui/es/menu_url_agent.xml | 6 - .../skins/minimal/xui/es/menu_url_group.xml | 6 - .../skins/minimal/xui/es/menu_url_http.xml | 7 - .../minimal/xui/es/menu_url_inventory.xml | 6 - .../skins/minimal/xui/es/menu_url_map.xml | 6 - .../minimal/xui/es/menu_url_objectim.xml | 8 - .../skins/minimal/xui/es/menu_url_parcel.xml | 6 - .../skins/minimal/xui/es/menu_url_slapp.xml | 5 - .../skins/minimal/xui/es/menu_url_slurl.xml | 7 - .../minimal/xui/es/menu_url_teleport.xml | 6 - .../skins/minimal/xui/es/menu_viewer.xml | 14 - .../xui/es/menu_wearable_list_item.xml | 14 - .../minimal/xui/es/menu_wearing_gear.xml | 5 - .../skins/minimal/xui/es/menu_wearing_tab.xml | 6 - .../skins/minimal/xui/es/notifications.xml | 19 - .../xui/es/panel_adhoc_control_panel.xml | 11 - .../skins/minimal/xui/es/panel_bottomtray.xml | 45 - .../xui/es/panel_group_control_panel.xml | 11 - .../minimal/xui/es/panel_im_control_panel.xml | 29 - .../skins/minimal/xui/es/panel_login.xml | 40 - .../minimal/xui/es/panel_navigation_bar.xml | 18 - .../skins/minimal/xui/es/panel_people.xml | 74 - .../xui/es/panel_side_tray_tab_caption.xml | 7 - .../skins/minimal/xui/es/panel_status_bar.xml | 33 - .../skins/minimal/xui/fr/floater_camera.xml | 65 - .../minimal/xui/fr/floater_help_browser.xml | 9 - .../minimal/xui/fr/floater_media_browser.xml | 30 - .../minimal/xui/fr/floater_nearby_chat.xml | 4 - .../minimal/xui/fr/floater_web_content.xml | 14 - .../skins/minimal/xui/fr/inspect_avatar.xml | 25 - .../skins/minimal/xui/fr/inspect_object.xml | 48 - .../minimal/xui/fr/menu_add_wearable_gear.xml | 6 - .../minimal/xui/fr/menu_attachment_other.xml | 17 - .../minimal/xui/fr/menu_attachment_self.xml | 16 - .../skins/minimal/xui/fr/menu_avatar_icon.xml | 7 - .../minimal/xui/fr/menu_avatar_other.xml | 16 - .../skins/minimal/xui/fr/menu_avatar_self.xml | 31 - .../skins/minimal/xui/fr/menu_bottomtray.xml | 17 - .../minimal/xui/fr/menu_cof_attachment.xml | 4 - .../minimal/xui/fr/menu_cof_body_part.xml | 5 - .../minimal/xui/fr/menu_cof_clothing.xml | 6 - .../skins/minimal/xui/fr/menu_cof_gear.xml | 5 - .../skins/minimal/xui/fr/menu_edit.xml | 12 - .../skins/minimal/xui/fr/menu_favorites.xml | 10 - .../minimal/xui/fr/menu_gesture_gear.xml | 10 - .../skins/minimal/xui/fr/menu_group_plus.xml | 5 - .../skins/minimal/xui/fr/menu_hide_navbar.xml | 6 - .../minimal/xui/fr/menu_im_well_button.xml | 4 - .../minimal/xui/fr/menu_imchiclet_adhoc.xml | 4 - .../minimal/xui/fr/menu_imchiclet_group.xml | 6 - .../minimal/xui/fr/menu_imchiclet_p2p.xml | 7 - .../xui/fr/menu_inspect_avatar_gear.xml | 18 - .../xui/fr/menu_inspect_object_gear.xml | 18 - .../minimal/xui/fr/menu_inspect_self_gear.xml | 8 - .../minimal/xui/fr/menu_inv_offer_chiclet.xml | 4 - .../skins/minimal/xui/fr/menu_inventory.xml | 86 - .../minimal/xui/fr/menu_inventory_add.xml | 33 - .../xui/fr/menu_inventory_gear_default.xml | 16 - .../skins/minimal/xui/fr/menu_land.xml | 9 - .../skins/minimal/xui/fr/menu_landmark.xml | 7 - .../skins/minimal/xui/fr/menu_login.xml | 25 - .../skins/minimal/xui/fr/menu_mini_map.xml | 11 - .../skins/minimal/xui/fr/menu_navbar.xml | 11 - .../skins/minimal/xui/fr/menu_nearby_chat.xml | 9 - .../xui/fr/menu_notification_well_button.xml | 4 - .../skins/minimal/xui/fr/menu_object.xml | 29 - .../skins/minimal/xui/fr/menu_object_icon.xml | 5 - .../skins/minimal/xui/fr/menu_outfit_gear.xml | 27 - .../skins/minimal/xui/fr/menu_outfit_tab.xml | 9 - .../minimal/xui/fr/menu_participant_list.xml | 21 - .../xui/fr/menu_people_friends_view_sort.xml | 8 - .../minimal/xui/fr/menu_people_groups.xml | 8 - .../xui/fr/menu_people_groups_view_sort.xml | 5 - .../minimal/xui/fr/menu_people_nearby.xml | 13 - .../xui/fr/menu_people_nearby_multiselect.xml | 10 - .../xui/fr/menu_people_nearby_view_sort.xml | 8 - .../xui/fr/menu_people_recent_view_sort.xml | 7 - .../skins/minimal/xui/fr/menu_picks.xml | 8 - .../skins/minimal/xui/fr/menu_picks_plus.xml | 5 - .../skins/minimal/xui/fr/menu_place.xml | 7 - .../minimal/xui/fr/menu_place_add_button.xml | 5 - .../xui/fr/menu_places_gear_folder.xml | 15 - .../xui/fr/menu_places_gear_landmark.xml | 18 - .../minimal/xui/fr/menu_profile_overflow.xml | 12 - .../skins/minimal/xui/fr/menu_save_outfit.xml | 5 - .../minimal/xui/fr/menu_script_chiclet.xml | 4 - .../skins/minimal/xui/fr/menu_slurl.xml | 6 - .../xui/fr/menu_teleport_history_gear.xml | 6 - .../xui/fr/menu_teleport_history_item.xml | 6 - .../xui/fr/menu_teleport_history_tab.xml | 5 - .../skins/minimal/xui/fr/menu_text_editor.xml | 8 - .../skins/minimal/xui/fr/menu_topinfobar.xml | 7 - .../skins/minimal/xui/fr/menu_url_agent.xml | 6 - .../skins/minimal/xui/fr/menu_url_group.xml | 6 - .../skins/minimal/xui/fr/menu_url_http.xml | 7 - .../minimal/xui/fr/menu_url_inventory.xml | 6 - .../skins/minimal/xui/fr/menu_url_map.xml | 6 - .../minimal/xui/fr/menu_url_objectim.xml | 8 - .../skins/minimal/xui/fr/menu_url_parcel.xml | 6 - .../skins/minimal/xui/fr/menu_url_slapp.xml | 5 - .../skins/minimal/xui/fr/menu_url_slurl.xml | 7 - .../minimal/xui/fr/menu_url_teleport.xml | 6 - .../skins/minimal/xui/fr/menu_viewer.xml | 14 - .../xui/fr/menu_wearable_list_item.xml | 14 - .../minimal/xui/fr/menu_wearing_gear.xml | 5 - .../skins/minimal/xui/fr/menu_wearing_tab.xml | 6 - .../skins/minimal/xui/fr/notifications.xml | 19 - .../xui/fr/panel_adhoc_control_panel.xml | 11 - .../skins/minimal/xui/fr/panel_bottomtray.xml | 45 - .../xui/fr/panel_group_control_panel.xml | 11 - .../minimal/xui/fr/panel_im_control_panel.xml | 29 - .../skins/minimal/xui/fr/panel_login.xml | 40 - .../minimal/xui/fr/panel_navigation_bar.xml | 18 - .../skins/minimal/xui/fr/panel_people.xml | 74 - .../xui/fr/panel_side_tray_tab_caption.xml | 7 - .../skins/minimal/xui/fr/panel_status_bar.xml | 33 - .../skins/minimal/xui/it/floater_camera.xml | 65 - .../minimal/xui/it/floater_help_browser.xml | 9 - .../minimal/xui/it/floater_media_browser.xml | 31 - .../minimal/xui/it/floater_nearby_chat.xml | 4 - .../minimal/xui/it/floater_web_content.xml | 14 - .../skins/minimal/xui/it/inspect_avatar.xml | 26 - .../skins/minimal/xui/it/inspect_object.xml | 41 - .../minimal/xui/it/menu_add_wearable_gear.xml | 6 - .../minimal/xui/it/menu_attachment_other.xml | 17 - .../minimal/xui/it/menu_attachment_self.xml | 16 - .../skins/minimal/xui/it/menu_avatar_icon.xml | 7 - .../minimal/xui/it/menu_avatar_other.xml | 16 - .../skins/minimal/xui/it/menu_avatar_self.xml | 32 - .../skins/minimal/xui/it/menu_bottomtray.xml | 17 - .../minimal/xui/it/menu_cof_attachment.xml | 4 - .../minimal/xui/it/menu_cof_body_part.xml | 5 - .../minimal/xui/it/menu_cof_clothing.xml | 6 - .../skins/minimal/xui/it/menu_cof_gear.xml | 5 - .../skins/minimal/xui/it/menu_edit.xml | 12 - .../skins/minimal/xui/it/menu_favorites.xml | 10 - .../minimal/xui/it/menu_gesture_gear.xml | 10 - .../skins/minimal/xui/it/menu_group_plus.xml | 5 - .../skins/minimal/xui/it/menu_hide_navbar.xml | 6 - .../minimal/xui/it/menu_im_well_button.xml | 4 - .../minimal/xui/it/menu_imchiclet_adhoc.xml | 4 - .../minimal/xui/it/menu_imchiclet_group.xml | 6 - .../minimal/xui/it/menu_imchiclet_p2p.xml | 7 - .../xui/it/menu_inspect_avatar_gear.xml | 21 - .../xui/it/menu_inspect_object_gear.xml | 18 - .../minimal/xui/it/menu_inspect_self_gear.xml | 31 - .../minimal/xui/it/menu_inv_offer_chiclet.xml | 4 - .../skins/minimal/xui/it/menu_inventory.xml | 87 - .../minimal/xui/it/menu_inventory_add.xml | 34 - .../xui/it/menu_inventory_gear_default.xml | 17 - .../skins/minimal/xui/it/menu_land.xml | 9 - .../skins/minimal/xui/it/menu_landmark.xml | 7 - .../skins/minimal/xui/it/menu_login.xml | 24 - .../skins/minimal/xui/it/menu_mini_map.xml | 11 - .../skins/minimal/xui/it/menu_navbar.xml | 11 - .../skins/minimal/xui/it/menu_nearby_chat.xml | 9 - .../xui/it/menu_notification_well_button.xml | 4 - .../skins/minimal/xui/it/menu_object.xml | 29 - .../skins/minimal/xui/it/menu_object_icon.xml | 5 - .../skins/minimal/xui/it/menu_outfit_gear.xml | 28 - .../skins/minimal/xui/it/menu_outfit_tab.xml | 9 - .../minimal/xui/it/menu_participant_list.xml | 21 - .../xui/it/menu_people_friends_view_sort.xml | 8 - .../minimal/xui/it/menu_people_groups.xml | 8 - .../xui/it/menu_people_groups_view_sort.xml | 5 - .../minimal/xui/it/menu_people_nearby.xml | 13 - .../xui/it/menu_people_nearby_multiselect.xml | 10 - .../xui/it/menu_people_nearby_view_sort.xml | 8 - .../xui/it/menu_people_recent_view_sort.xml | 7 - .../skins/minimal/xui/it/menu_picks.xml | 8 - .../skins/minimal/xui/it/menu_picks_plus.xml | 5 - .../skins/minimal/xui/it/menu_place.xml | 7 - .../minimal/xui/it/menu_place_add_button.xml | 5 - .../xui/it/menu_places_gear_folder.xml | 16 - .../xui/it/menu_places_gear_landmark.xml | 19 - .../minimal/xui/it/menu_profile_overflow.xml | 12 - .../skins/minimal/xui/it/menu_save_outfit.xml | 5 - .../minimal/xui/it/menu_script_chiclet.xml | 4 - .../skins/minimal/xui/it/menu_slurl.xml | 6 - .../xui/it/menu_teleport_history_gear.xml | 6 - .../xui/it/menu_teleport_history_item.xml | 6 - .../xui/it/menu_teleport_history_tab.xml | 5 - .../skins/minimal/xui/it/menu_text_editor.xml | 8 - .../skins/minimal/xui/it/menu_topinfobar.xml | 7 - .../skins/minimal/xui/it/menu_url_agent.xml | 6 - .../skins/minimal/xui/it/menu_url_group.xml | 6 - .../skins/minimal/xui/it/menu_url_http.xml | 7 - .../minimal/xui/it/menu_url_inventory.xml | 6 - .../skins/minimal/xui/it/menu_url_map.xml | 6 - .../minimal/xui/it/menu_url_objectim.xml | 8 - .../skins/minimal/xui/it/menu_url_parcel.xml | 6 - .../skins/minimal/xui/it/menu_url_slapp.xml | 5 - .../skins/minimal/xui/it/menu_url_slurl.xml | 7 - .../minimal/xui/it/menu_url_teleport.xml | 6 - .../skins/minimal/xui/it/menu_viewer.xml | 14 - .../xui/it/menu_wearable_list_item.xml | 14 - .../minimal/xui/it/menu_wearing_gear.xml | 5 - .../skins/minimal/xui/it/menu_wearing_tab.xml | 6 - .../skins/minimal/xui/it/notifications.xml | 2951 ---------------- .../xui/it/panel_adhoc_control_panel.xml | 14 - .../skins/minimal/xui/it/panel_bottomtray.xml | 45 - .../xui/it/panel_group_control_panel.xml | 17 - .../minimal/xui/it/panel_im_control_panel.xml | 29 - .../skins/minimal/xui/it/panel_login.xml | 48 - .../minimal/xui/it/panel_navigation_bar.xml | 18 - .../skins/minimal/xui/it/panel_people.xml | 94 - .../xui/it/panel_side_tray_tab_caption.xml | 7 - .../skins/minimal/xui/it/panel_status_bar.xml | 33 - .../skins/minimal/xui/ja/floater_camera.xml | 65 - .../minimal/xui/ja/floater_help_browser.xml | 9 - .../minimal/xui/ja/floater_media_browser.xml | 30 - .../minimal/xui/ja/floater_nearby_chat.xml | 4 - .../minimal/xui/ja/floater_web_content.xml | 14 - .../skins/minimal/xui/ja/inspect_avatar.xml | 27 - .../skins/minimal/xui/ja/inspect_object.xml | 48 - .../minimal/xui/ja/menu_add_wearable_gear.xml | 6 - .../minimal/xui/ja/menu_attachment_other.xml | 17 - .../minimal/xui/ja/menu_attachment_self.xml | 16 - .../skins/minimal/xui/ja/menu_avatar_icon.xml | 7 - .../minimal/xui/ja/menu_avatar_other.xml | 16 - .../skins/minimal/xui/ja/menu_avatar_self.xml | 32 - .../skins/minimal/xui/ja/menu_bottomtray.xml | 17 - .../minimal/xui/ja/menu_cof_attachment.xml | 4 - .../minimal/xui/ja/menu_cof_body_part.xml | 5 - .../minimal/xui/ja/menu_cof_clothing.xml | 6 - .../skins/minimal/xui/ja/menu_cof_gear.xml | 5 - .../skins/minimal/xui/ja/menu_edit.xml | 12 - .../skins/minimal/xui/ja/menu_favorites.xml | 10 - .../minimal/xui/ja/menu_gesture_gear.xml | 10 - .../skins/minimal/xui/ja/menu_group_plus.xml | 5 - .../skins/minimal/xui/ja/menu_hide_navbar.xml | 6 - .../minimal/xui/ja/menu_im_well_button.xml | 4 - .../minimal/xui/ja/menu_imchiclet_adhoc.xml | 4 - .../minimal/xui/ja/menu_imchiclet_group.xml | 6 - .../minimal/xui/ja/menu_imchiclet_p2p.xml | 7 - .../xui/ja/menu_inspect_avatar_gear.xml | 21 - .../xui/ja/menu_inspect_object_gear.xml | 18 - .../minimal/xui/ja/menu_inspect_self_gear.xml | 31 - .../minimal/xui/ja/menu_inv_offer_chiclet.xml | 4 - .../skins/minimal/xui/ja/menu_inventory.xml | 87 - .../minimal/xui/ja/menu_inventory_add.xml | 34 - .../xui/ja/menu_inventory_gear_default.xml | 17 - .../skins/minimal/xui/ja/menu_land.xml | 9 - .../skins/minimal/xui/ja/menu_landmark.xml | 7 - .../skins/minimal/xui/ja/menu_login.xml | 25 - .../skins/minimal/xui/ja/menu_mini_map.xml | 11 - .../skins/minimal/xui/ja/menu_navbar.xml | 11 - .../skins/minimal/xui/ja/menu_nearby_chat.xml | 9 - .../xui/ja/menu_notification_well_button.xml | 4 - .../skins/minimal/xui/ja/menu_object.xml | 29 - .../skins/minimal/xui/ja/menu_object_icon.xml | 5 - .../skins/minimal/xui/ja/menu_outfit_gear.xml | 28 - .../skins/minimal/xui/ja/menu_outfit_tab.xml | 9 - .../minimal/xui/ja/menu_participant_list.xml | 21 - .../xui/ja/menu_people_friends_view_sort.xml | 8 - .../minimal/xui/ja/menu_people_groups.xml | 8 - .../xui/ja/menu_people_groups_view_sort.xml | 5 - .../minimal/xui/ja/menu_people_nearby.xml | 13 - .../xui/ja/menu_people_nearby_multiselect.xml | 10 - .../xui/ja/menu_people_nearby_view_sort.xml | 8 - .../xui/ja/menu_people_recent_view_sort.xml | 7 - .../skins/minimal/xui/ja/menu_picks.xml | 8 - .../skins/minimal/xui/ja/menu_picks_plus.xml | 5 - .../skins/minimal/xui/ja/menu_place.xml | 7 - .../minimal/xui/ja/menu_place_add_button.xml | 5 - .../xui/ja/menu_places_gear_folder.xml | 16 - .../xui/ja/menu_places_gear_landmark.xml | 19 - .../minimal/xui/ja/menu_profile_overflow.xml | 12 - .../skins/minimal/xui/ja/menu_save_outfit.xml | 5 - .../minimal/xui/ja/menu_script_chiclet.xml | 4 - .../skins/minimal/xui/ja/menu_slurl.xml | 6 - .../xui/ja/menu_teleport_history_gear.xml | 6 - .../xui/ja/menu_teleport_history_item.xml | 6 - .../xui/ja/menu_teleport_history_tab.xml | 5 - .../skins/minimal/xui/ja/menu_text_editor.xml | 8 - .../skins/minimal/xui/ja/menu_topinfobar.xml | 7 - .../skins/minimal/xui/ja/menu_url_agent.xml | 6 - .../skins/minimal/xui/ja/menu_url_group.xml | 6 - .../skins/minimal/xui/ja/menu_url_http.xml | 7 - .../minimal/xui/ja/menu_url_inventory.xml | 6 - .../skins/minimal/xui/ja/menu_url_map.xml | 6 - .../minimal/xui/ja/menu_url_objectim.xml | 8 - .../skins/minimal/xui/ja/menu_url_parcel.xml | 6 - .../skins/minimal/xui/ja/menu_url_slapp.xml | 5 - .../skins/minimal/xui/ja/menu_url_slurl.xml | 7 - .../minimal/xui/ja/menu_url_teleport.xml | 6 - .../skins/minimal/xui/ja/menu_viewer.xml | 14 - .../xui/ja/menu_wearable_list_item.xml | 14 - .../minimal/xui/ja/menu_wearing_gear.xml | 5 - .../skins/minimal/xui/ja/menu_wearing_tab.xml | 6 - .../skins/minimal/xui/ja/notifications.xml | 2995 ----------------- .../xui/ja/panel_adhoc_control_panel.xml | 14 - .../skins/minimal/xui/ja/panel_bottomtray.xml | 45 - .../xui/ja/panel_group_control_panel.xml | 17 - .../minimal/xui/ja/panel_im_control_panel.xml | 29 - .../skins/minimal/xui/ja/panel_login.xml | 48 - .../minimal/xui/ja/panel_navigation_bar.xml | 18 - .../skins/minimal/xui/ja/panel_people.xml | 94 - .../xui/ja/panel_side_tray_tab_caption.xml | 7 - .../skins/minimal/xui/ja/panel_status_bar.xml | 33 - .../skins/minimal/xui/pl/floater_camera.xml | 65 - .../minimal/xui/pl/floater_help_browser.xml | 9 - .../minimal/xui/pl/floater_media_browser.xml | 30 - .../minimal/xui/pl/floater_nearby_chat.xml | 4 - .../minimal/xui/pl/floater_web_content.xml | 14 - .../skins/minimal/xui/pl/inspect_avatar.xml | 24 - .../skins/minimal/xui/pl/inspect_object.xml | 41 - .../minimal/xui/pl/menu_add_wearable_gear.xml | 6 - .../minimal/xui/pl/menu_attachment_other.xml | 17 - .../minimal/xui/pl/menu_attachment_self.xml | 16 - .../skins/minimal/xui/pl/menu_avatar_icon.xml | 7 - .../minimal/xui/pl/menu_avatar_other.xml | 16 - .../skins/minimal/xui/pl/menu_avatar_self.xml | 31 - .../skins/minimal/xui/pl/menu_bottomtray.xml | 17 - .../minimal/xui/pl/menu_cof_attachment.xml | 4 - .../minimal/xui/pl/menu_cof_body_part.xml | 5 - .../minimal/xui/pl/menu_cof_clothing.xml | 6 - .../skins/minimal/xui/pl/menu_cof_gear.xml | 5 - .../skins/minimal/xui/pl/menu_edit.xml | 12 - .../skins/minimal/xui/pl/menu_favorites.xml | 10 - .../minimal/xui/pl/menu_gesture_gear.xml | 10 - .../skins/minimal/xui/pl/menu_group_plus.xml | 5 - .../skins/minimal/xui/pl/menu_hide_navbar.xml | 6 - .../minimal/xui/pl/menu_im_well_button.xml | 4 - .../minimal/xui/pl/menu_imchiclet_adhoc.xml | 4 - .../minimal/xui/pl/menu_imchiclet_group.xml | 6 - .../minimal/xui/pl/menu_imchiclet_p2p.xml | 7 - .../xui/pl/menu_inspect_avatar_gear.xml | 21 - .../xui/pl/menu_inspect_object_gear.xml | 18 - .../minimal/xui/pl/menu_inspect_self_gear.xml | 31 - .../minimal/xui/pl/menu_inv_offer_chiclet.xml | 4 - .../skins/minimal/xui/pl/menu_inventory.xml | 84 - .../minimal/xui/pl/menu_inventory_add.xml | 33 - .../xui/pl/menu_inventory_gear_default.xml | 17 - .../skins/minimal/xui/pl/menu_land.xml | 9 - .../skins/minimal/xui/pl/menu_landmark.xml | 7 - .../skins/minimal/xui/pl/menu_login.xml | 24 - .../skins/minimal/xui/pl/menu_mini_map.xml | 11 - .../skins/minimal/xui/pl/menu_navbar.xml | 11 - .../skins/minimal/xui/pl/menu_nearby_chat.xml | 9 - .../xui/pl/menu_notification_well_button.xml | 4 - .../skins/minimal/xui/pl/menu_object.xml | 29 - .../skins/minimal/xui/pl/menu_object_icon.xml | 5 - .../skins/minimal/xui/pl/menu_outfit_gear.xml | 27 - .../skins/minimal/xui/pl/menu_outfit_tab.xml | 9 - .../minimal/xui/pl/menu_participant_list.xml | 21 - .../xui/pl/menu_people_friends_view_sort.xml | 8 - .../minimal/xui/pl/menu_people_groups.xml | 8 - .../xui/pl/menu_people_groups_view_sort.xml | 5 - .../minimal/xui/pl/menu_people_nearby.xml | 13 - .../xui/pl/menu_people_nearby_multiselect.xml | 10 - .../xui/pl/menu_people_nearby_view_sort.xml | 8 - .../xui/pl/menu_people_recent_view_sort.xml | 7 - .../skins/minimal/xui/pl/menu_picks.xml | 8 - .../skins/minimal/xui/pl/menu_picks_plus.xml | 5 - .../skins/minimal/xui/pl/menu_place.xml | 7 - .../minimal/xui/pl/menu_place_add_button.xml | 5 - .../xui/pl/menu_places_gear_folder.xml | 16 - .../xui/pl/menu_places_gear_landmark.xml | 19 - .../minimal/xui/pl/menu_profile_overflow.xml | 12 - .../skins/minimal/xui/pl/menu_save_outfit.xml | 5 - .../minimal/xui/pl/menu_script_chiclet.xml | 4 - .../skins/minimal/xui/pl/menu_slurl.xml | 6 - .../xui/pl/menu_teleport_history_gear.xml | 6 - .../xui/pl/menu_teleport_history_item.xml | 6 - .../xui/pl/menu_teleport_history_tab.xml | 5 - .../skins/minimal/xui/pl/menu_text_editor.xml | 8 - .../skins/minimal/xui/pl/menu_topinfobar.xml | 7 - .../skins/minimal/xui/pl/menu_url_agent.xml | 6 - .../skins/minimal/xui/pl/menu_url_group.xml | 6 - .../skins/minimal/xui/pl/menu_url_http.xml | 7 - .../minimal/xui/pl/menu_url_inventory.xml | 6 - .../skins/minimal/xui/pl/menu_url_map.xml | 6 - .../minimal/xui/pl/menu_url_objectim.xml | 8 - .../skins/minimal/xui/pl/menu_url_parcel.xml | 6 - .../skins/minimal/xui/pl/menu_url_slapp.xml | 5 - .../skins/minimal/xui/pl/menu_url_slurl.xml | 7 - .../minimal/xui/pl/menu_url_teleport.xml | 6 - .../skins/minimal/xui/pl/menu_viewer.xml | 14 - .../xui/pl/menu_wearable_list_item.xml | 14 - .../minimal/xui/pl/menu_wearing_gear.xml | 5 - .../skins/minimal/xui/pl/menu_wearing_tab.xml | 6 - .../skins/minimal/xui/pl/notifications.xml | 2907 ---------------- .../xui/pl/panel_adhoc_control_panel.xml | 14 - .../skins/minimal/xui/pl/panel_bottomtray.xml | 39 - .../xui/pl/panel_group_control_panel.xml | 17 - .../minimal/xui/pl/panel_im_control_panel.xml | 29 - .../skins/minimal/xui/pl/panel_login.xml | 45 - .../minimal/xui/pl/panel_navigation_bar.xml | 18 - .../skins/minimal/xui/pl/panel_people.xml | 94 - .../xui/pl/panel_side_tray_tab_caption.xml | 7 - .../skins/minimal/xui/pl/panel_status_bar.xml | 33 - .../skins/minimal/xui/pt/floater_camera.xml | 65 - .../minimal/xui/pt/floater_help_browser.xml | 9 - .../minimal/xui/pt/floater_media_browser.xml | 30 - .../minimal/xui/pt/floater_nearby_chat.xml | 4 - .../minimal/xui/pt/floater_web_content.xml | 14 - .../skins/minimal/xui/pt/inspect_avatar.xml | 24 - .../skins/minimal/xui/pt/inspect_object.xml | 41 - .../minimal/xui/pt/menu_add_wearable_gear.xml | 6 - .../minimal/xui/pt/menu_attachment_other.xml | 17 - .../minimal/xui/pt/menu_attachment_self.xml | 16 - .../skins/minimal/xui/pt/menu_avatar_icon.xml | 7 - .../minimal/xui/pt/menu_avatar_other.xml | 16 - .../skins/minimal/xui/pt/menu_avatar_self.xml | 31 - .../skins/minimal/xui/pt/menu_bottomtray.xml | 17 - .../minimal/xui/pt/menu_cof_attachment.xml | 4 - .../minimal/xui/pt/menu_cof_body_part.xml | 5 - .../minimal/xui/pt/menu_cof_clothing.xml | 6 - .../skins/minimal/xui/pt/menu_cof_gear.xml | 5 - .../skins/minimal/xui/pt/menu_edit.xml | 12 - .../skins/minimal/xui/pt/menu_favorites.xml | 10 - .../minimal/xui/pt/menu_gesture_gear.xml | 10 - .../skins/minimal/xui/pt/menu_group_plus.xml | 5 - .../skins/minimal/xui/pt/menu_hide_navbar.xml | 6 - .../minimal/xui/pt/menu_im_well_button.xml | 4 - .../minimal/xui/pt/menu_imchiclet_adhoc.xml | 4 - .../minimal/xui/pt/menu_imchiclet_group.xml | 6 - .../minimal/xui/pt/menu_imchiclet_p2p.xml | 7 - .../xui/pt/menu_inspect_avatar_gear.xml | 18 - .../xui/pt/menu_inspect_object_gear.xml | 18 - .../minimal/xui/pt/menu_inspect_self_gear.xml | 8 - .../minimal/xui/pt/menu_inv_offer_chiclet.xml | 4 - .../skins/minimal/xui/pt/menu_inventory.xml | 86 - .../minimal/xui/pt/menu_inventory_add.xml | 33 - .../xui/pt/menu_inventory_gear_default.xml | 16 - .../skins/minimal/xui/pt/menu_land.xml | 9 - .../skins/minimal/xui/pt/menu_landmark.xml | 7 - .../skins/minimal/xui/pt/menu_login.xml | 24 - .../skins/minimal/xui/pt/menu_mini_map.xml | 11 - .../skins/minimal/xui/pt/menu_navbar.xml | 11 - .../skins/minimal/xui/pt/menu_nearby_chat.xml | 9 - .../xui/pt/menu_notification_well_button.xml | 4 - .../skins/minimal/xui/pt/menu_object.xml | 29 - .../skins/minimal/xui/pt/menu_object_icon.xml | 5 - .../skins/minimal/xui/pt/menu_outfit_gear.xml | 27 - .../skins/minimal/xui/pt/menu_outfit_tab.xml | 9 - .../minimal/xui/pt/menu_participant_list.xml | 21 - .../xui/pt/menu_people_friends_view_sort.xml | 8 - .../minimal/xui/pt/menu_people_groups.xml | 8 - .../xui/pt/menu_people_groups_view_sort.xml | 5 - .../minimal/xui/pt/menu_people_nearby.xml | 13 - .../xui/pt/menu_people_nearby_multiselect.xml | 10 - .../xui/pt/menu_people_nearby_view_sort.xml | 8 - .../xui/pt/menu_people_recent_view_sort.xml | 7 - .../skins/minimal/xui/pt/menu_picks.xml | 8 - .../skins/minimal/xui/pt/menu_picks_plus.xml | 5 - .../skins/minimal/xui/pt/menu_place.xml | 7 - .../minimal/xui/pt/menu_place_add_button.xml | 5 - .../xui/pt/menu_places_gear_folder.xml | 15 - .../xui/pt/menu_places_gear_landmark.xml | 18 - .../minimal/xui/pt/menu_profile_overflow.xml | 12 - .../skins/minimal/xui/pt/menu_save_outfit.xml | 5 - .../minimal/xui/pt/menu_script_chiclet.xml | 4 - .../skins/minimal/xui/pt/menu_slurl.xml | 6 - .../xui/pt/menu_teleport_history_gear.xml | 6 - .../xui/pt/menu_teleport_history_item.xml | 6 - .../xui/pt/menu_teleport_history_tab.xml | 5 - .../skins/minimal/xui/pt/menu_text_editor.xml | 8 - .../skins/minimal/xui/pt/menu_topinfobar.xml | 7 - .../skins/minimal/xui/pt/menu_url_agent.xml | 6 - .../skins/minimal/xui/pt/menu_url_group.xml | 6 - .../skins/minimal/xui/pt/menu_url_http.xml | 7 - .../minimal/xui/pt/menu_url_inventory.xml | 6 - .../skins/minimal/xui/pt/menu_url_map.xml | 6 - .../minimal/xui/pt/menu_url_objectim.xml | 8 - .../skins/minimal/xui/pt/menu_url_parcel.xml | 6 - .../skins/minimal/xui/pt/menu_url_slapp.xml | 5 - .../skins/minimal/xui/pt/menu_url_slurl.xml | 7 - .../minimal/xui/pt/menu_url_teleport.xml | 6 - .../skins/minimal/xui/pt/menu_viewer.xml | 14 - .../xui/pt/menu_wearable_list_item.xml | 14 - .../minimal/xui/pt/menu_wearing_gear.xml | 5 - .../skins/minimal/xui/pt/menu_wearing_tab.xml | 6 - .../skins/minimal/xui/pt/notifications.xml | 19 - .../xui/pt/panel_adhoc_control_panel.xml | 14 - .../skins/minimal/xui/pt/panel_bottomtray.xml | 45 - .../xui/pt/panel_group_control_panel.xml | 11 - .../minimal/xui/pt/panel_im_control_panel.xml | 29 - .../skins/minimal/xui/pt/panel_login.xml | 40 - .../minimal/xui/pt/panel_navigation_bar.xml | 18 - .../skins/minimal/xui/pt/panel_people.xml | 74 - .../xui/pt/panel_side_tray_tab_caption.xml | 7 - .../skins/minimal/xui/pt/panel_status_bar.xml | 33 - 860 files changed, 2 insertions(+), 26441 deletions(-) delete mode 100644 indra/newview/app_settings/settings_minimal.xml delete mode 100644 indra/newview/skins/default/xui/en/menu_mode_change.xml delete mode 100644 indra/newview/skins/minimal/colors.xml delete mode 100644 indra/newview/skins/minimal/textures/arrow_keys.png delete mode 100644 indra/newview/skins/minimal/textures/bottomtray/Speak_Btn_Off.png delete mode 100644 indra/newview/skins/minimal/textures/bottomtray/Speak_Btn_Selected_Press.png delete mode 100644 indra/newview/skins/minimal/textures/bottomtray/button_separator.png delete mode 100644 indra/newview/skins/minimal/textures/bottomtray/close_off.png delete mode 100644 indra/newview/skins/minimal/textures/bottomtray/close_over.png delete mode 100644 indra/newview/skins/minimal/textures/bottomtray/close_press.png delete mode 100644 indra/newview/skins/minimal/textures/click_to_move.png delete mode 100644 indra/newview/skins/minimal/textures/textures.xml delete mode 100644 indra/newview/skins/minimal/xui/da/floater_camera.xml delete mode 100644 indra/newview/skins/minimal/xui/da/floater_help_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/da/floater_media_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/da/floater_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/da/floater_web_content.xml delete mode 100644 indra/newview/skins/minimal/xui/da/inspect_avatar.xml delete mode 100644 indra/newview/skins/minimal/xui/da/inspect_object.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_add_wearable_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_attachment_other.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_attachment_self.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_avatar_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_avatar_other.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_avatar_self.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_cof_attachment.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_cof_body_part.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_cof_clothing.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_cof_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_edit.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_favorites.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_gesture_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_group_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_hide_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_im_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_imchiclet_adhoc.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_imchiclet_group.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_imchiclet_p2p.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_inspect_avatar_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_inspect_object_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_inspect_self_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_inv_offer_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_inventory_add.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_inventory_gear_default.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_land.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_login.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_mini_map.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_notification_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_object.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_object_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_outfit_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_outfit_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_participant_list.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_people_friends_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_people_groups.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_people_groups_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_people_nearby.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_people_nearby_multiselect.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_people_nearby_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_people_recent_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_picks.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_picks_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_place.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_place_add_button.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_places_gear_folder.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_places_gear_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_profile_overflow.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_save_outfit.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_script_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_teleport_history_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_teleport_history_item.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_teleport_history_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_text_editor.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_topinfobar.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_url_agent.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_url_group.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_url_http.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_url_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_url_map.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_url_objectim.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_url_parcel.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_url_slapp.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_url_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_url_teleport.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_viewer.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_wearable_list_item.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_wearing_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_wearing_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/da/notifications.xml delete mode 100644 indra/newview/skins/minimal/xui/da/panel_adhoc_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/da/panel_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/da/panel_group_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/da/panel_im_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/da/panel_login.xml delete mode 100644 indra/newview/skins/minimal/xui/da/panel_navigation_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/da/panel_people.xml delete mode 100644 indra/newview/skins/minimal/xui/da/panel_side_tray_tab_caption.xml delete mode 100644 indra/newview/skins/minimal/xui/da/panel_status_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/de/floater_camera.xml delete mode 100644 indra/newview/skins/minimal/xui/de/floater_help_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/de/floater_media_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/de/floater_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/de/floater_web_content.xml delete mode 100644 indra/newview/skins/minimal/xui/de/inspect_avatar.xml delete mode 100644 indra/newview/skins/minimal/xui/de/inspect_object.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_add_wearable_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_attachment_other.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_attachment_self.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_avatar_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_avatar_other.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_avatar_self.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_cof_attachment.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_cof_body_part.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_cof_clothing.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_cof_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_edit.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_favorites.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_gesture_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_group_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_hide_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_im_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_imchiclet_adhoc.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_imchiclet_group.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_imchiclet_p2p.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_inspect_avatar_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_inspect_object_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_inspect_self_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_inv_offer_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_inventory_add.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_inventory_gear_default.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_land.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_login.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_mini_map.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_notification_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_object.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_object_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_outfit_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_outfit_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_participant_list.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_people_friends_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_people_groups.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_people_groups_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_people_nearby.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_people_nearby_multiselect.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_people_nearby_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_people_recent_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_picks.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_picks_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_place.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_place_add_button.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_places_gear_folder.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_places_gear_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_profile_overflow.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_save_outfit.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_script_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_teleport_history_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_teleport_history_item.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_teleport_history_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_text_editor.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_topinfobar.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_url_agent.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_url_group.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_url_http.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_url_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_url_map.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_url_objectim.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_url_parcel.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_url_slapp.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_url_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_url_teleport.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_viewer.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_wearable_list_item.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_wearing_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_wearing_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/de/notifications.xml delete mode 100644 indra/newview/skins/minimal/xui/de/panel_adhoc_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/de/panel_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/de/panel_group_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/de/panel_im_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/de/panel_login.xml delete mode 100644 indra/newview/skins/minimal/xui/de/panel_navigation_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/de/panel_people.xml delete mode 100644 indra/newview/skins/minimal/xui/de/panel_side_tray_tab_caption.xml delete mode 100644 indra/newview/skins/minimal/xui/de/panel_status_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/en/floater_camera.xml delete mode 100644 indra/newview/skins/minimal/xui/en/floater_help_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/en/floater_media_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/en/floater_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/en/floater_side_bar_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/en/floater_web_content.xml delete mode 100644 indra/newview/skins/minimal/xui/en/inspect_avatar.xml delete mode 100644 indra/newview/skins/minimal/xui/en/inspect_object.xml delete mode 100644 indra/newview/skins/minimal/xui/en/main_view.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_add_wearable_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_attachment_other.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_attachment_self.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_avatar_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_avatar_other.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_avatar_self.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_cof_attachment.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_cof_body_part.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_cof_clothing.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_cof_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_edit.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_favorites.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_gesture_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_group_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_hide_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_im_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_imchiclet_adhoc.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_imchiclet_group.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_imchiclet_p2p.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_inspect_avatar_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_inspect_object_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_inspect_self_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_inv_offer_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_inventory_add.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_inventory_gear_default.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_land.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_login.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_mini_map.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_notification_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_object.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_object_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_outfit_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_outfit_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_participant_list.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_people_friends_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_people_groups.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_people_groups_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_people_nearby.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_people_nearby_multiselect.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_people_nearby_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_people_recent_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_picks.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_picks_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_place.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_place_add_button.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_places_gear_folder.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_places_gear_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_profile_overflow.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_save_outfit.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_script_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_teleport_history_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_teleport_history_item.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_teleport_history_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_text_editor.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_topinfobar.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_url_agent.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_url_group.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_url_http.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_url_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_url_map.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_url_objectim.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_url_parcel.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_url_slapp.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_url_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_url_teleport.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_viewer.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_wearable_list_item.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_wearing_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_wearing_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/en/notification_visibility.xml delete mode 100644 indra/newview/skins/minimal/xui/en/notifications.xml delete mode 100644 indra/newview/skins/minimal/xui/en/panel_adhoc_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/en/panel_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/en/panel_group_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/en/panel_im_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/en/panel_login.xml delete mode 100644 indra/newview/skins/minimal/xui/en/panel_navigation_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/en/panel_people.xml delete mode 100644 indra/newview/skins/minimal/xui/en/panel_side_tray_tab_caption.xml delete mode 100644 indra/newview/skins/minimal/xui/en/panel_status_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/en/panel_volume_pulldown.xml delete mode 100644 indra/newview/skins/minimal/xui/en/widgets/location_input.xml delete mode 100644 indra/newview/skins/minimal/xui/es/floater_camera.xml delete mode 100644 indra/newview/skins/minimal/xui/es/floater_help_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/es/floater_media_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/es/floater_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/es/floater_web_content.xml delete mode 100644 indra/newview/skins/minimal/xui/es/inspect_avatar.xml delete mode 100644 indra/newview/skins/minimal/xui/es/inspect_object.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_add_wearable_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_attachment_other.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_attachment_self.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_avatar_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_avatar_other.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_avatar_self.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_cof_attachment.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_cof_body_part.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_cof_clothing.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_cof_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_edit.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_favorites.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_gesture_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_group_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_hide_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_im_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_imchiclet_adhoc.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_imchiclet_group.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_imchiclet_p2p.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_inspect_avatar_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_inspect_object_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_inspect_self_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_inv_offer_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_inventory_add.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_inventory_gear_default.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_land.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_login.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_mini_map.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_notification_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_object.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_object_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_outfit_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_outfit_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_participant_list.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_people_friends_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_people_groups.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_people_groups_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_people_nearby.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_people_nearby_multiselect.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_people_nearby_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_people_recent_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_picks.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_picks_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_place.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_place_add_button.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_places_gear_folder.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_places_gear_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_profile_overflow.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_save_outfit.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_script_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_teleport_history_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_teleport_history_item.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_teleport_history_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_text_editor.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_topinfobar.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_url_agent.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_url_group.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_url_http.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_url_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_url_map.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_url_objectim.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_url_parcel.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_url_slapp.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_url_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_url_teleport.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_viewer.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_wearable_list_item.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_wearing_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_wearing_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/es/notifications.xml delete mode 100644 indra/newview/skins/minimal/xui/es/panel_adhoc_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/es/panel_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/es/panel_group_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/es/panel_im_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/es/panel_login.xml delete mode 100644 indra/newview/skins/minimal/xui/es/panel_navigation_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/es/panel_people.xml delete mode 100644 indra/newview/skins/minimal/xui/es/panel_side_tray_tab_caption.xml delete mode 100644 indra/newview/skins/minimal/xui/es/panel_status_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/floater_camera.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/floater_help_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/floater_media_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/floater_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/floater_web_content.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/inspect_avatar.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/inspect_object.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_add_wearable_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_attachment_other.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_attachment_self.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_avatar_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_avatar_other.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_avatar_self.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_cof_attachment.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_cof_body_part.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_cof_clothing.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_cof_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_edit.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_favorites.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_gesture_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_group_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_hide_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_im_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_imchiclet_adhoc.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_imchiclet_group.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_imchiclet_p2p.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_inspect_avatar_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_inspect_object_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_inspect_self_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_inv_offer_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_inventory_add.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_inventory_gear_default.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_land.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_login.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_mini_map.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_notification_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_object.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_object_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_outfit_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_outfit_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_participant_list.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_people_friends_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_people_groups.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_people_groups_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_people_nearby.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_people_nearby_multiselect.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_people_nearby_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_people_recent_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_picks.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_picks_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_place.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_place_add_button.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_places_gear_folder.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_places_gear_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_profile_overflow.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_save_outfit.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_script_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_teleport_history_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_teleport_history_item.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_teleport_history_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_text_editor.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_topinfobar.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_url_agent.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_url_group.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_url_http.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_url_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_url_map.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_url_objectim.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_url_parcel.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_url_slapp.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_url_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_url_teleport.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_viewer.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_wearable_list_item.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_wearing_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_wearing_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/notifications.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/panel_adhoc_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/panel_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/panel_group_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/panel_im_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/panel_login.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/panel_navigation_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/panel_people.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/panel_side_tray_tab_caption.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/panel_status_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/it/floater_camera.xml delete mode 100644 indra/newview/skins/minimal/xui/it/floater_help_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/it/floater_media_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/it/floater_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/it/floater_web_content.xml delete mode 100644 indra/newview/skins/minimal/xui/it/inspect_avatar.xml delete mode 100644 indra/newview/skins/minimal/xui/it/inspect_object.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_add_wearable_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_attachment_other.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_attachment_self.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_avatar_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_avatar_other.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_avatar_self.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_cof_attachment.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_cof_body_part.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_cof_clothing.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_cof_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_edit.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_favorites.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_gesture_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_group_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_hide_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_im_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_imchiclet_adhoc.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_imchiclet_group.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_imchiclet_p2p.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_inspect_avatar_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_inspect_object_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_inspect_self_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_inv_offer_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_inventory_add.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_inventory_gear_default.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_land.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_login.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_mini_map.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_notification_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_object.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_object_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_outfit_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_outfit_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_participant_list.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_people_friends_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_people_groups.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_people_groups_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_people_nearby.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_people_nearby_multiselect.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_people_nearby_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_people_recent_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_picks.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_picks_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_place.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_place_add_button.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_places_gear_folder.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_places_gear_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_profile_overflow.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_save_outfit.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_script_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_teleport_history_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_teleport_history_item.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_teleport_history_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_text_editor.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_topinfobar.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_url_agent.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_url_group.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_url_http.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_url_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_url_map.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_url_objectim.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_url_parcel.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_url_slapp.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_url_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_url_teleport.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_viewer.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_wearable_list_item.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_wearing_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_wearing_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/it/notifications.xml delete mode 100644 indra/newview/skins/minimal/xui/it/panel_adhoc_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/it/panel_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/it/panel_group_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/it/panel_im_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/it/panel_login.xml delete mode 100644 indra/newview/skins/minimal/xui/it/panel_navigation_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/it/panel_people.xml delete mode 100644 indra/newview/skins/minimal/xui/it/panel_side_tray_tab_caption.xml delete mode 100644 indra/newview/skins/minimal/xui/it/panel_status_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/floater_camera.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/floater_help_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/floater_media_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/floater_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/floater_web_content.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/inspect_avatar.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/inspect_object.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_add_wearable_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_attachment_other.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_attachment_self.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_avatar_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_avatar_other.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_avatar_self.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_cof_attachment.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_cof_body_part.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_cof_clothing.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_cof_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_edit.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_favorites.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_gesture_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_group_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_hide_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_im_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_imchiclet_adhoc.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_imchiclet_group.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_imchiclet_p2p.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_inspect_avatar_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_inspect_object_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_inspect_self_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_inv_offer_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_inventory_add.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_inventory_gear_default.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_land.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_login.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_mini_map.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_notification_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_object.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_object_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_outfit_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_outfit_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_participant_list.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_people_friends_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_people_groups.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_people_groups_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_people_nearby.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_people_nearby_multiselect.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_people_nearby_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_people_recent_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_picks.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_picks_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_place.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_place_add_button.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_places_gear_folder.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_places_gear_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_profile_overflow.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_save_outfit.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_script_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_teleport_history_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_teleport_history_item.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_teleport_history_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_text_editor.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_topinfobar.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_url_agent.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_url_group.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_url_http.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_url_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_url_map.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_url_objectim.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_url_parcel.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_url_slapp.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_url_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_url_teleport.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_viewer.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_wearable_list_item.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_wearing_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_wearing_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/notifications.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/panel_adhoc_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/panel_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/panel_group_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/panel_im_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/panel_login.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/panel_navigation_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/panel_people.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/panel_side_tray_tab_caption.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/panel_status_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/floater_camera.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/floater_help_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/floater_media_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/floater_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/floater_web_content.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/inspect_avatar.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/inspect_object.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_add_wearable_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_attachment_other.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_attachment_self.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_avatar_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_avatar_other.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_avatar_self.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_cof_attachment.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_cof_body_part.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_cof_clothing.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_cof_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_edit.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_favorites.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_gesture_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_group_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_hide_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_im_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_imchiclet_adhoc.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_imchiclet_group.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_imchiclet_p2p.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_inspect_avatar_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_inspect_object_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_inspect_self_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_inv_offer_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_inventory_add.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_inventory_gear_default.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_land.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_login.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_mini_map.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_notification_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_object.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_object_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_outfit_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_outfit_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_participant_list.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_people_friends_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_people_groups.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_people_groups_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_people_nearby.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_people_nearby_multiselect.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_people_nearby_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_people_recent_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_picks.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_picks_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_place.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_place_add_button.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_places_gear_folder.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_places_gear_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_profile_overflow.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_save_outfit.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_script_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_teleport_history_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_teleport_history_item.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_teleport_history_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_text_editor.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_topinfobar.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_url_agent.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_url_group.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_url_http.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_url_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_url_map.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_url_objectim.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_url_parcel.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_url_slapp.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_url_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_url_teleport.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_viewer.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_wearable_list_item.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_wearing_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_wearing_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/notifications.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/panel_adhoc_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/panel_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/panel_group_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/panel_im_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/panel_login.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/panel_navigation_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/panel_people.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/panel_side_tray_tab_caption.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/panel_status_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/floater_camera.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/floater_help_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/floater_media_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/floater_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/floater_web_content.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/inspect_avatar.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/inspect_object.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_add_wearable_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_attachment_other.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_attachment_self.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_avatar_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_avatar_other.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_avatar_self.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_cof_attachment.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_cof_body_part.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_cof_clothing.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_cof_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_edit.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_favorites.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_gesture_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_group_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_hide_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_im_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_imchiclet_adhoc.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_imchiclet_group.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_imchiclet_p2p.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_inspect_avatar_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_inspect_object_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_inspect_self_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_inv_offer_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_inventory_add.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_inventory_gear_default.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_land.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_login.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_mini_map.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_notification_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_object.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_object_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_outfit_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_outfit_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_participant_list.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_people_friends_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_people_groups.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_people_groups_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_people_nearby.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_people_nearby_multiselect.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_people_nearby_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_people_recent_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_picks.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_picks_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_place.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_place_add_button.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_places_gear_folder.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_places_gear_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_profile_overflow.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_save_outfit.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_script_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_teleport_history_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_teleport_history_item.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_teleport_history_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_text_editor.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_topinfobar.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_url_agent.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_url_group.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_url_http.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_url_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_url_map.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_url_objectim.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_url_parcel.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_url_slapp.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_url_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_url_teleport.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_viewer.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_wearable_list_item.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_wearing_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_wearing_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/notifications.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/panel_adhoc_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/panel_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/panel_group_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/panel_im_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/panel_login.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/panel_navigation_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/panel_people.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/panel_side_tray_tab_caption.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/panel_status_bar.xml diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 11b19ca4fec..73511447658 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1381,11 +1381,6 @@ endif (WINDOWS) set(viewer_XUI_FILES skins/default/colors.xml skins/default/textures/textures.xml - skins/minimal/colors.xml - skins/minimal/textures/textures.xml - - - ) file(GLOB DEFAULT_XUI_FILE_GLOB_LIST ${CMAKE_CURRENT_SOURCE_DIR}/skins/*/xui/en/*.xml) @@ -1424,7 +1419,6 @@ set(viewer_APPSETTINGS_FILES app_settings/settings_crash_behavior.xml app_settings/settings_files.xml app_settings/settings_per_account.xml - app_settings/settings_minimal.xml app_settings/std_bump.ini app_settings/trees.xml app_settings/ultra_graphics.xml diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 60025707a41..4e48a9e3f7f 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -13528,17 +13528,6 @@ <key>Value</key> <string>http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/404.html</string> </map> - <key>DestinationsAndAvatarsVisibility</key> - <map> - <key>Comment</key> - <string>Whether destination panel or avatar picker are open (0=destination guide, 1=avatar picker, default=nothing)</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>S32</string> - <key>Value</key> - <integer>0</integer> - </map> <key>OpenIMOnVoice</key> <map> <key>Comment</key> diff --git a/indra/newview/app_settings/settings_minimal.xml b/indra/newview/app_settings/settings_minimal.xml deleted file mode 100644 index 29e52ab054a..00000000000 --- a/indra/newview/app_settings/settings_minimal.xml +++ /dev/null @@ -1,474 +0,0 @@ -<llsd> - <map> - <key>ChannelBottomPanelMargin</key> - <map> - <key>Comment</key> - <string>Space from a lower toast to the Bottom Tray</string> - <key>Type</key> - <string>S32</string> - <key>Value</key> - <integer>2</integer> - </map> - <key>ClickActionBuyEnabled</key> - <map> - <key>Comment</key> - <string>Enable click to buy actions in tool pie menu</string> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>ClickActionPayEnabled</key> - <map> - <key>Comment</key> - <string>Enable click to pay actions in tool pie menu</string> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>EnableGrab</key> - <map> - <key>Comment</key> - <string>Use Ctrl+mouse to grab and manipulate objects</string> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>EnableMouselook</key> - <map> - <key>Comment</key> - <string>Allow first person perspective and mouse control of camera</string> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>HelpURLFormat</key> - <map> - <key>Comment</key> - <string>URL pattern for help page; arguments will be encoded; see llviewerhelp.cpp:buildHelpURL for arguments</string> - <key>Type</key> - <string>String</string> - <key>Value</key> - <string>http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/howto/index.html?topic=[TOPIC]</string> - </map> - <key>PreferredMaturity</key> - <map> - <key>Comment</key> - <string>Setting for the user's preferred maturity level (consts in indra_constants.h)</string> - <key>Type</key> - <string>U32</string> - <key>Value</key> - <integer>21</integer> - </map> - <key>RenderTrackerBeacon</key> - <map> - <key>Comment</key> - <string>Display tracking arrow and beacon to target avatar, teleport destination</string> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>ShowScriptErrors</key> - <map> - <key>Comment</key> - <string>Show script errors</string> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>ShowScriptErrorsLocation</key> - <map> - <key>Comment</key> - <string>Show script error in chat or window</string> - <key>Type</key> - <string>S32</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>SkinCurrent</key> - <map> - <key>Comment</key> - <string>The currently selected skin.</string> - <key>Type</key> - <string>String</string> - <key>Value</key> - <string>minimal</string> - </map> - <key>UseExternalBrowser</key> - <map> - <key>Comment</key> - <string>Use default browser when opening web pages instead of in-world browser.</string> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>VoiceCallsRejectGroup</key> - <map> - <key>Comment</key> - <string>Silently reject all incoming group voice calls.</string> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>1</integer> - </map> - <key>VoiceDisableMic</key> - <map> - <key>Comment</key> - <string>Completely disable the ability to open the mic.</string> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>ScriptsCanShowUI</key> - <map> - <key>Comment</key> - <string>Allow LSL calls (such as LLMapDestination) to spawn viewer UI</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>ChatFontSize</key> - <map> - <key>Comment</key> - <string>Size of chat text in chat console (0 = small, 1 = big, 2 = extra large)</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>S32</string> - <key>Value</key> - <integer>1</integer> - </map> - <key>AvatarPickerHintTimeout</key> - <map> - <key>Comment</key> - <string>Number of seconds to wait before telling resident about avatar picker.</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>F32</string> - <key>Value</key> - <real>0.0</real> - </map> - <key>RenderShowGroupTitleAll</key> - <map> - <key>Comment</key> - <string>Show group titles in name labels</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>OpenSidePanelsInFloaters</key> - <map> - <key>Comment</key> - <string>If true, will always open side panel contents in a floater.</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>1</integer> - </map> - <key>AvatarInspectorTooltipDelay</key> - <map> - <key>Comment</key> - <string>Seconds before displaying avatar inspector tooltip</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>F32</string> - <key>Value</key> - <real>0.1</real> - </map> - <key>AFKTimeout</key> - <map> - <key>Comment</key> - <string> - Time before automatically setting AFK (away from keyboard) mode (seconds, 0=never). - Valid values are: 0, 120, 300, 600, 1800 - </string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>S32</string> - <key>Value</key> - <real>0</real> - </map> - <key>SLURLTeleportDirectly</key> - <map> - <key>Comment</key> - <string>Clicking on a slurl will teleport you directly instead of opening places panel</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>1</integer> - </map> - <key>EnableClassifieds</key> - <map> - <key>Comment</key> - <string>Enable creation of new classified ads</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>EnableGroupInfo</key> - <map> - <key>Comment</key> - <string>Enable viewing and editing of group info.</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>EnablePlaceProfile</key> - <map> - <key>Comment</key> - <string>Enable viewing of place profile from web link</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>EnablePicks</key> - <map> - <key>Comment</key> - <string>Enable editing of picks</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>EnableWorldMap</key> - <map> - <key>Comment</key> - <string>Enable opening world map from web link</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>EnableAvatarPay</key> - <map> - <key>Comment</key> - <string>Enable paying other avatars from web link</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>EnableVoiceCall</key> - <map> - <key>Comment</key> - <string>Enable voice calls from web link</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>1</integer> - </map> - <key>EnableAvatarShare</key> - <map> - <key>Comment</key> - <string>Enable sharing from web link</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>EnableInventory</key> - <map> - <key>Comment</key> - <string>Enable opening inventory from web link</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>EnableSearch</key> - <map> - <key>Comment</key> - <string>Enable opening search from web link</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>EnableAppearance</key> - <map> - <key>Comment</key> - <string>Enable opening appearance from web link</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>DoubleClickShowWorldMap</key> - <map> - <key>Comment</key> - <string>Enable double-click to show world map from mini map</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>EnableGroupChatPopups</key> - <map> - <key>Comment</key> - <string>Enable Incoming Group Chat Popups</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>SearchFromAddressBar</key> - <map> - <key>Comment</key> - <string>Can enter search queries into navigation address bar</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>DestinationGuideURL</key> - <map> - <key>Comment</key> - <string>Destination guide contents</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>String</string> - <key>Value</key> - <string>http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/guide.html</string> - </map> - <key>AvatarPickerURL</key> - <map> - <key>Comment</key> - <string>Avatar picker contents</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>String</string> - <key>Value</key> - <string>http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/avatars.html</string> - </map> - <key>LogInventoryDecline</key> - <map> - <key>Comment</key> - <string>Log in system chat whenever an inventory offer is declined</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>UseHTTPInventory</key> - <map> - <key>Comment</key> - <string>Allow use of http inventory transfers instead of UDP</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>ClickToWalk</key> - <map> - <key>Comment</key> - <string>Click in world to walk to location</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>1</integer> - </map> - <key>ShowOfferedInventory</key> - <map> - <key>Comment</key> - <string>Show inventory window with last inventory offer selected when receiving inventory from other users.</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>OpenIMOnVoice</key> - <map> - <key>Comment</key> - <string>Open the corresponding IM window when connecting to a voice call.</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>1</integer> - </map> - <key>AllowBottomTrayButtonReordering</key> - <map> - <key>Comment</key> - <string>Allow user to move and hide bottom tray buttons</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>ShowHelpOnFirstLogin</key> - <map> - <key>Comment</key> - <string>Show Help Floater on first login</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>1</integer> - </map> - </map> -</llsd> diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 4e1ef597653..43c8750b02e 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -2324,7 +2324,6 @@ bool LLAppViewer::initConfiguration() if (gSavedSettings.getBOOL("FirstRunThisInstall")) { - gSavedSettings.setString("SessionSettingsFile", "settings_minimal.xml"); gSavedSettings.setBOOL("FirstRunThisInstall", FALSE); } @@ -3520,20 +3519,6 @@ static bool finish_quit(const LLSD& notification, const LLSD& response) } static LLNotificationFunctorRegistration finish_quit_reg("ConfirmQuit", finish_quit); -static bool switch_standard_skin_and_quit(const LLSD& notification, const LLSD& response) -{ - S32 option = LLNotificationsUtil::getSelectedOption(notification, response); - - if (option == 0) - { - gSavedSettings.setString("SessionSettingsFile", ""); - LLAppViewer::instance()->requestQuit(); - } - return false; -} - -static LLNotificationFunctorRegistration standard_skin_quit_reg("SwitchToStandardSkinAndQuit", switch_standard_skin_and_quit); - void LLAppViewer::userQuit() { if (gDisconnected || gViewerWindow->getProgressView()->getVisible()) diff --git a/indra/newview/lllogininstance.cpp b/indra/newview/lllogininstance.cpp index f00d6087f91..419641d23c0 100644 --- a/indra/newview/lllogininstance.cpp +++ b/indra/newview/lllogininstance.cpp @@ -561,15 +561,7 @@ void LLLoginInstance::constructAuthParams(LLPointer<LLCredential> user_credentia //send this info to login.cgi for stats gathering //since viewerstats isn't reliable enough - if (gSavedSettings.getString("SessionSettingsFile").empty()) - { - requested_options.append("advanced-mode"); - } - else - { - requested_options.append("basic-mode"); - //requested_options.append("inventory-basic"); - } + requested_options.append("advanced-mode"); #endif requested_options.append("max-agent-groups"); diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index db7d836799c..bef809f3a71 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -154,10 +154,6 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect, } updateLocationCombo(false); - LLUICtrl& mode_combo = getChildRef<LLUICtrl>("mode_combo"); - mode_combo.setValue(gSavedSettings.getString("SessionSettingsFile")); - mode_combo.setCommitCallback(boost::bind(&LLPanelLogin::onModeChange, this, getChild<LLUICtrl>("mode_combo")->getValue(), _2)); - LLComboBox* server_choice_combo = sInstance->getChild<LLComboBox>("server_combo"); server_choice_combo->setCommitCallback(onSelectServer, NULL); server_choice_combo->setFocusLostCallback(boost::bind(onServerComboLostFocus, _1)); @@ -1025,32 +1021,6 @@ void LLPanelLogin::updateLoginPanelLinks() sInstance->getChildView("forgot_password_text")->setVisible( system_grid); } -void LLPanelLogin::onModeChange(const LLSD& original_value, const LLSD& new_value) -{ - if (original_value.asString() != new_value.asString()) - { - LLNotificationsUtil::add("ModeChange", LLSD(), LLSD(), boost::bind(&LLPanelLogin::onModeChangeConfirm, this, original_value, new_value, _1, _2)); - } -} - -void LLPanelLogin::onModeChangeConfirm(const LLSD& original_value, const LLSD& new_value, const LLSD& notification, const LLSD& response) -{ - S32 option = LLNotificationsUtil::getSelectedOption(notification, response); - switch (option) - { - case 0: - gSavedSettings.getControl("SessionSettingsFile")->set(new_value); - LLAppViewer::instance()->requestQuit(); - break; - case 1: - // revert to original value - getChild<LLUICtrl>("mode_combo")->setValue(original_value); - break; - default: - break; - } -} - std::string canonicalize_username(const std::string& name) { std::string cname = name; diff --git a/indra/newview/llpanellogin.h b/indra/newview/llpanellogin.h index be9de884d14..a439c4ff6b8 100644 --- a/indra/newview/llpanellogin.h +++ b/indra/newview/llpanellogin.h @@ -87,8 +87,6 @@ class LLPanelLogin: void reshapeBrowser(); void addFavoritesToStartLocation(); void addUsersWithFavoritesToUsername(); - void onModeChange(const LLSD& original_value, const LLSD& new_value); - void onModeChangeConfirm(const LLSD& original_value, const LLSD& new_value, const LLSD& notification, const LLSD& response); static void onClickConnect(void*); static void onClickNewAccount(void*); static void onClickVersion(void*); diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp index 0a008858437..1b8be7a5b23 100644 --- a/indra/newview/llstatusbar.cpp +++ b/indra/newview/llstatusbar.cpp @@ -162,8 +162,6 @@ BOOL LLStatusBar::handleRightMouseDown(S32 x, S32 y, MASK mask) BOOL LLStatusBar::postBuild() { - LLControlVariablePtr mode_control = gSavedSettings.getControl("SessionSettingsFile"); - gMenuBarView->setRightMouseDownCallback(boost::bind(&show_navbar_context_menu, _1, _2, _3)); mTextTime = getChild<LLTextBox>("TimeText" ); @@ -235,40 +233,9 @@ BOOL LLStatusBar::postBuild() mScriptOut = getChildView("scriptout"); - LLUICtrl& mode_combo = getChildRef<LLUICtrl>("mode_combo"); - mode_combo.setValue(gSavedSettings.getString("SessionSettingsFile")); - mode_combo.setCommitCallback(boost::bind(&LLStatusBar::onModeChange, this, getChild<LLUICtrl>("mode_combo")->getValue(), _2)); - - return TRUE; } -void LLStatusBar::onModeChange(const LLSD& original_value, const LLSD& new_value) -{ - if (original_value.asString() != new_value.asString()) - { - LLNotificationsUtil::add("ModeChange", LLSD(), LLSD(), boost::bind(&LLStatusBar::onModeChangeConfirm, this, original_value, new_value, _1, _2)); - } -} - -void LLStatusBar::onModeChangeConfirm(const LLSD& original_value, const LLSD& new_value, const LLSD& notification, const LLSD& response) -{ - S32 option = LLNotificationsUtil::getSelectedOption(notification, response); - switch (option) - { - case 0: - gSavedSettings.getControl("SessionSettingsFile")->set(new_value); - LLAppViewer::instance()->requestQuit(); - break; - case 1: - // revert to original value - getChild<LLUICtrl>("mode_combo")->setValue(original_value); - break; - default: - break; - } -} - // Per-frame updates of visibility void LLStatusBar::refresh() { diff --git a/indra/newview/llstatusbar.h b/indra/newview/llstatusbar.h index 6feeab393b2..4ea3183d182 100644 --- a/indra/newview/llstatusbar.h +++ b/indra/newview/llstatusbar.h @@ -92,8 +92,6 @@ class LLStatusBar void onMouseEnterVolume(); void onMouseEnterNearbyMedia(); void onClickScreen(S32 x, S32 y); - void onModeChange(const LLSD& original_value, const LLSD& new_value); - void onModeChangeConfirm(const LLSD& original_value, const LLSD& new_value, const LLSD& notification, const LLSD& response); static void onClickMediaToggle(void* data); static void onClickBalance(void* data); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 754731b290d..0f983ed0d57 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -863,51 +863,6 @@ class LLAdvancedCheckFeature : public view_listener_t } }; -void toggle_destination_and_avatar_picker(const LLSD& show) -{ - S32 panel_idx = show.isDefined() ? show.asInteger() : -1; - LLView* container = gViewerWindow->getRootView()->findChildView("avatar_picker_and_destination_guide_container"); - if (!container) return; - - LLMediaCtrl* destinations = container->findChild<LLMediaCtrl>("destination_guide_contents"); - LLMediaCtrl* avatar_picker = container->findChild<LLMediaCtrl>("avatar_picker_contents"); - if (!destinations || !avatar_picker) return; - - LLButton* avatar_btn = gViewerWindow->getRootView()->getChildView("bottom_tray")->getChild<LLButton>("avatar_btn"); - LLButton* destination_btn = gViewerWindow->getRootView()->getChildView("bottom_tray")->getChild<LLButton>("destination_btn"); - - if (panel_idx == 0 - && !destinations->getVisible()) - { // opening destinations guide - container->setVisible(true); - destinations->setVisible(true); - avatar_picker->setVisible(false); - LLFirstUse::notUsingDestinationGuide(false); - avatar_btn->setToggleState(false); - destination_btn->setToggleState(true); - gSavedSettings.setS32("DestinationsAndAvatarsVisibility", 0); - } - else if (panel_idx == 1 - && !avatar_picker->getVisible()) - { // opening avatar picker - container->setVisible(true); - destinations->setVisible(false); - avatar_picker->setVisible(true); - avatar_btn->setToggleState(true); - destination_btn->setToggleState(false); - gSavedSettings.setS32("DestinationsAndAvatarsVisibility", 1); - } - else - { // toggling off dest guide or avatar picker - container->setVisible(false); - destinations->setVisible(false); - avatar_picker->setVisible(false); - avatar_btn->setToggleState(false); - destination_btn->setToggleState(false); - gSavedSettings.setS32("DestinationsAndAvatarsVisibility", -1); - } -}; - ////////////////// // INFO DISPLAY // @@ -7823,55 +7778,6 @@ class LLToggleUIHints : public view_listener_t } }; -class LLCheckSessionsSettings : public view_listener_t -{ - bool handleEvent(const LLSD& userdata) - { - std::string expected = userdata.asString(); - return gSavedSettings.getString("SessionSettingsFile") == expected; - } -}; - -class LLChangeMode : public view_listener_t -{ - bool handleEvent(const LLSD& userdata) - { - std::string mode = userdata.asString(); - if (mode == "basic") - { - if (gSavedSettings.getString("SessionSettingsFile") != "settings_minimal.xml") - { - LLNotificationsUtil::add("ModeChange", LLSD(), LLSD(), boost::bind(onModeChangeConfirm, "settings_minimal.xml", _1, _2)); - } - return true; - } - else if (mode == "advanced") - { - if (gSavedSettings.getString("SessionSettingsFile") != "") - { - LLNotificationsUtil::add("ModeChange", LLSD(), LLSD(), boost::bind(onModeChangeConfirm, "", _1, _2)); - } - return true; - } - return false; - } - - static void onModeChangeConfirm(const std::string& new_session_settings_file, const LLSD& notification, const LLSD& response) - { - S32 option = LLNotificationsUtil::getSelectedOption(notification, response); - switch (option) - { - case 0: - gSavedSettings.getControl("SessionSettingsFile")->set(new_session_settings_file); - LLAppViewer::instance()->requestQuit(); - break; - case 1: - default: - break; - } - } -}; - void LLUploadCostCalculator::calculateCost() { S32 upload_cost = LLGlobalEconomy::Singleton::getInstance()->getPriceUpload(); @@ -8359,11 +8265,5 @@ void initialize_menus() view_listener_t::addMenu(new LLSomethingSelectedNoHUD(), "SomethingSelectedNoHUD"); view_listener_t::addMenu(new LLEditableSelected(), "EditableSelected"); view_listener_t::addMenu(new LLEditableSelectedMono(), "EditableSelectedMono"); - view_listener_t::addMenu(new LLToggleUIHints(), "ToggleUIHints"); - view_listener_t::addMenu(new LLCheckSessionsSettings(), "CheckSessionSettings"); - view_listener_t::addMenu(new LLChangeMode(), "ChangeMode"); - - commit.add("Destination.show", boost::bind(&toggle_destination_and_avatar_picker, 0)); - commit.add("Avatar.show", boost::bind(&toggle_destination_and_avatar_picker, 1)); } diff --git a/indra/newview/llviewermenu.h b/indra/newview/llviewermenu.h index b4e239b0cd7..87cb4efbc44 100644 --- a/indra/newview/llviewermenu.h +++ b/indra/newview/llviewermenu.h @@ -126,8 +126,6 @@ bool enable_pay_object(); bool enable_buy_object(); bool handle_go_to(); -void toggle_destination_and_avatar_picker(const LLSD& show); - // Export to XML or Collada void handle_export_selected( void * ); diff --git a/indra/newview/llviewerstats.cpp b/indra/newview/llviewerstats.cpp index 0fb94bc44bc..c88122f22c9 100644 --- a/indra/newview/llviewerstats.cpp +++ b/indra/newview/llviewerstats.cpp @@ -854,7 +854,7 @@ void send_stats() body["DisplayNamesEnabled"] = gSavedSettings.getBOOL("UseDisplayNames"); body["DisplayNamesShowUsername"] = gSavedSettings.getBOOL("NameTagShowUsernames"); - body["MinimalSkin"] = !gSavedSettings.getString("SessionSettingsFile").empty(); + body["MinimalSkin"] = false; LLViewerStats::getInstance()->addToMessage(body); LLHTTPClient::post(url, body, new ViewerStatsResponder()); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 5893259d964..114a422c1d7 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1940,25 +1940,6 @@ void LLViewerWindow::initWorldUI() buttons_panel->setShape(buttons_panel_container->getLocalRect()); buttons_panel->setFollowsAll(); buttons_panel_container->addChild(buttons_panel); - - LLView* avatar_picker_destination_guide_container = gViewerWindow->getRootView()->getChild<LLView>("avatar_picker_and_destination_guide_container"); - avatar_picker_destination_guide_container->getChild<LLButton>("close")->setCommitCallback(boost::bind(toggle_destination_and_avatar_picker, LLSD())); - LLMediaCtrl* destinations = avatar_picker_destination_guide_container->findChild<LLMediaCtrl>("destination_guide_contents"); - LLMediaCtrl* avatar_picker = avatar_picker_destination_guide_container->findChild<LLMediaCtrl>("avatar_picker_contents"); - if (destinations) - { - destinations->setErrorPageURL(gSavedSettings.getString("GenericErrorPageURL")); - destinations->navigateTo(gSavedSettings.getString("DestinationGuideURL"), "text/html"); - } - - if (avatar_picker) - { - avatar_picker->setErrorPageURL(gSavedSettings.getString("GenericErrorPageURL")); - avatar_picker->navigateTo(gSavedSettings.getString("AvatarPickerURL"), "text/html"); - } - - // show destinations by default - toggle_destination_and_avatar_picker(gSavedSettings.getS32("DestinationsAndAvatarsVisibility")); } // Destroy the UI diff --git a/indra/newview/skins/default/xui/en/menu_mode_change.xml b/indra/newview/skins/default/xui/en/menu_mode_change.xml deleted file mode 100644 index 87d1a0a7a24..00000000000 --- a/indra/newview/skins/default/xui/en/menu_mode_change.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu - name="Mode Change"> - <menu_item_check - label="Basic" - name="BasicMode"> - <on_check - function="CheckSessionSettings" - parameter="settings_minimal.xml" /> - <on_click - function="ChangeMode" - parameter="basic"/> - </menu_item_check> - <menu_item_check - label="Advanced" - name="AdvancedMode"> - <on_check - function="CheckSessionSettings" - parameter="" /> - <on_click - function="ChangeMode" - parameter="advanced"/> - </menu_item_check> - </toggleable_menu> diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 41a90f59843..087744fea77 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -7382,19 +7382,6 @@ The site at '<nolink>[HOST_NAME]</nolink>' in realm ' </form> </notification> - <notification - name="ModeChange" - label="" - type="alertmodal"> - <unique/> - Changing modes requires you to quit and restart. - <tag>confirm</tag> - <usetemplate - name="okcancelbuttons" - yestext="Quit" - notext="Don't Quit"/> - </notification> - <notification name="NoClassifieds" label="" diff --git a/indra/newview/skins/default/xui/en/panel_login.xml b/indra/newview/skins/default/xui/en/panel_login.xml index 1c3e08d59b2..3835cd17b68 100644 --- a/indra/newview/skins/default/xui/en/panel_login.xml +++ b/indra/newview/skins/default/xui/en/panel_login.xml @@ -120,33 +120,6 @@ label="Remember password" follows="left|bottom" font="SansSerifSmall" height="15" - left_pad="10" - name="mode_selection_text" - top="20" - width="130"> - Mode: - </text> - <combo_box - follows="left|bottom" - height="23" - max_chars="128" - tool_tip="Select your mode. Choose Basic for fast, easy exploration and chat. Choose Advanced to access more features." - top_pad="0" - name="mode_combo" - width="110"> - <combo_box.item - label="Basic" - name="Basic" - value="settings_minimal.xml" /> - <combo_box.item - label="Advanced" - name="Advanced" - value="" /> - </combo_box> - <text - follows="left|bottom" - font="SansSerifSmall" - height="15" left_pad="8" name="start_location_text" top="20" diff --git a/indra/newview/skins/default/xui/en/panel_status_bar.xml b/indra/newview/skins/default/xui/en/panel_status_bar.xml index 5894abd03b2..3fb9aa0f3b9 100644 --- a/indra/newview/skins/default/xui/en/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml @@ -75,25 +75,6 @@ top="0" width="55" /> </panel> - <combo_box - follows="right|top" - drop_down_button.pad_left="10" - left_pad="5" - top="0" - width="120" - height="20" - name="mode_combo" - tool_tip="Select your mode. Choose Basic for fast, easy exploration and chat. Choose Advanced to access more features." - > - <combo_box.item - label="Basic Mode" - name="Basic" - value="settings_minimal.xml" /> - <combo_box.item - label="Advanced Mode" - name="Advanced" - value="" /> - </combo_box> <text left_pad="5" type="string" diff --git a/indra/newview/skins/minimal/colors.xml b/indra/newview/skins/minimal/colors.xml deleted file mode 100644 index 097a298ce5c..00000000000 --- a/indra/newview/skins/minimal/colors.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<colors> - <color - name="MenuBarBgColor" - value="0 0 0 0" /> -</colors> diff --git a/indra/newview/skins/minimal/textures/arrow_keys.png b/indra/newview/skins/minimal/textures/arrow_keys.png deleted file mode 100644 index f19af59251c46159a0aa6f5ec983a66df961c703..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6558 zcmV;P8DZv$P)<h;3K|Lk000e1NJLTq0046U003491^@s6{35Ai00009a7bBm000XU z000XU0RWnu7ytkYPiaF#P*7-ZbZ>KLZ*U+<Lqi~Na&Km7Y-Iodc-oy)XH-+^7Crag z^g>IBfRsybQWXdwQbLP>6p<z>Aqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uh<iVD~V z<RPMtgQJLw%KPDaqifc@_vX$1wbwr9tn;0-&j-K=43<bUQ8j=JsX`tR;Dg7+#^K~H zK!FM*Z~zbpvt%K2{UZSY_<lS*D<Z%Lz5oGu(+dayz)hRLFdT>f59&ghTmgWD0l;*T zI7<kC6aYYajzXpYKt=(8otP$50H6c_V9R4-;{Z@C0AMG7=F<Rxo%or10RUT+Ar%3j zkpLhQWr#!oXgdI`&sK^>09Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-<?i z0%4j!F2Z@488U%158(66005wo6%pWr^Zj_v4zAA5HjcIqUoGmt2LB>rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_<lS*MWK+n+1cgf z<k(8YLR(?VSAG6x!e78w{cQPuJpA|d;J)G{fihizM+Erb!p!tcr5w+a34~(Y=8s4G zw+sLL9n&JjNn*KJDiq^U5^;`1nvC-@r6P$!k}1U{(*I=Q-z@tBKHoI}uxdU5dyy@u zU1J0GOD7Ombim^G008p4Z^6_k2m^p<gW=D2|L;HjN1!DDfM!XOaR2~bL?kX$%CkSm z2mk;?pn)o|K^yeJ7%adB9Ki+L!3+FgHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_v zKpix|QD}yfa1JiQRk#j4a1Z)n2%f<xynzV>LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_Ifq<Ex{*7`05XF7hP+2Hl!3BQJ=6@fL%FCo z8iYoo3(#bAF`ADSpqtQgv>H8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ<AYmRsNLWl*PS{AOARHt#5!wki2?K;t z!Y3k=s7tgax)J%r7-BLphge7~Bi0g+6E6^Zh(p9TBoc{3GAFr^0!gu?RMHaCM$&Fl zBk3%un>0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 z<uv66WtcKSRim0x-Ke2d5jBrmLam{;Qm;{ms1r1GnmNsb7D-E`t)i9F8fX`2_i3-_ zbh;7Ul^#x)&{xvS=|||7=mYe33=M`AgU5(xC>fg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vF<Q0r40Q)j6=sE4X&sBct1q<&fbi3VB2Ov6t@q*0);U*o*SAPZv|vv@2aYYnT0 zb%8a+Cb7-ge0D0knEf5Qi#@8Tp*ce{N;6lpQuCB%KL_KOarm5cP6_8Ir<e17iry6O zDdH&`rZh~sF=bq9s+O0QSgS~@QL9Jmy*94xr=6y~MY~!1fet~(N+(<=M`w@D1)b+p z*;C!83a1uLJv#NSE~;y#8=<>IcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a<fJbF^|4I#xQ~n$Dc= zKYhjYmgz5NSkDm8*fZm{6U!;YX`NG>(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-k<Mujg;0Lz*3buG=3$G&ehepthlN*$KaOySSQ^nWmo<0M+(UEUMEXRQ zMBbZcF;6+KElM>iKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BK<z=<L*0kfKU@CX*zeqbYQT4(^U>T#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot<a{81DF0~rvGr5Xr~8u`lav1h z1DNytV>2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z000ijNkl<Zc-rh;U62*U75+|l-@C8`N?Cta*<Df^5iLz6WePB56v>040WI=lG$xfN zAL5g-@?t8!n3wnvpYXxgsAWox5ip5>zX4*I@&SKPP)k^FQ9}&7%ffPJx;qauvpaWg zcTdl~Gj}htL*1IWvzO`V^YwT7oYUvb5YFt4O1_?+7slM&TUGb2&s4za47i_8&b13( zC+E(3Fv;^fdH&wjHy=>6We?BqXDyg6V8{X_S$^x=FP(F&Er9A?22}K@mLLOowsStr zg(vg00m$@sN`0qZQ?=A1?VEti`>-5fP5pDRF!`=B=UgA;sN=JinQ(w++avYerGnw1 zN>v6-)4rz-Akjmtbb**0bHh2x9A`l_0gwe$WsX&RO&MQD89+~8k23qSnwfb(vKYwp z-o{uLJ58$9#6Xn-Ql|cY0<!8whKe2lF$-uK9B$b244}*cs1KM~08K!q_a;EI#?e_l zXPVTb4M1T4)WlSiVPrFO(f}s=^!23So>fM*&buZSHJeqf35X&Ertn}XS(vFEY)n3( zf#oK4)4ZBByALKnvq07iz?wj%9A;_@h-n~0hw-FS*UlO~bEa;)0_N!9BTe5&hKFp- zG_jHc5Wl+j-jVz6`}Jdeef5hHd1<Z97OU<2Olzdgr%5N*K7G1z^pQvYc+aDoH;?A{ znl0dY^!LmKlZbqMN-Hy0ty+C$fB(YE1Q#I2D!pH=6gcOXty;DE%11YE9?P(qrRGed z2C($^tPAIn#T5~a#%TZqVgw;L7%`MBGpzxo6~a&hk`T2Cky6Lp0O)+sz{AgMQng_a z@-)*0=U|+nG(@$Ak_v&G)tGUc>5p>E$@6}u#Vw(%H5<xVFk?i)c*M{$Hl-DmYMx5t zHbsh+GAH6Rr&cZNA!fo60pe0BmNhJ?^c!f#B5sox3{0H$VCJb>rljopy~b@a54UF? zOb@Ge2GkZc+l4J|(*|PCf!a&VwE3F^fa^Tpu?iO@YLi>;sppd6SPy__n|GS#Pt`JK zc0<i7+dS#phqF@6<^~bwkePWZwr7l>UQ@F+cZKE<Ok4g@&uy$rLUA$D*D!MbxVjKp zk^3OezMt95^yrjRST1G~5g23OCC6-Yv_USo-2}4hYPLY<ywzF)<j$8~#^{kFsMSPO z%q*m0yA9-=%$dVO%S-~HcI7Mt$D42d8#{Ntgl*eiz|_=9aNbpyw52a`AG^MZ4sYD+ zx0dxh9|zpoUaeNcfe$~zuHCyaGBS+m>1k};_5yzVqfH>9vf1IA+p7W4$na2+@(3r% z%VMTW$gXwBJae8E_-$m(qIv$}oa5Mkk73)kzv0HUYcV)Di0`jkhpDM4yz=Vn;GA`A z6vb`&CS<qMci#c+Wq>iy$-PKNOdk$=iihiC?EqsOpMCZ@uD<#zTyxF0F@0(p{r&ye zxZwvlF*%7wBd9tuRYqUAqrWx)tuhfF>ckf5C{pJ^4&k`6?U*fS5QYIpMuu_uiWLY$ z2|yzV0-S&Td04mZ#wvmaSrC$CF`em`hF?*UtGpqbsBKCdYguv=1%S*e+$mC-WnF}J z0NP?L_Agur#yFH}&PiUhXc3fBWzCs+K&BJ96pB@g*@~3NaST|J$Ao9hlnQ*{5$ejz z!ZQJDH2)L8q?9wqS#V3R__H~@!oU(`0n^34EQr1ZO2&n7;RzsMukEnKFI}qF#!ORw zZ1VS(OQd_VX3ZK53@n9|?E$In#&ZH>l5rpmjARADG!-q`>R$4!+ZkYmrxoj}0r9Q( zu&HfsVP}@1t-VqTVa&#FTy_bhR0x7bdwD^2m26^U7RW^P>YO>##lB=PPzFd7u-Y|e z7Ey^NYs^)dl?SLvh1JlU@Jv|+qP3ned;lN}f)b`iqrFC$&Ct_^xinqYP!vd8t&7Uc zkEVhp?Q6~ERb!b7dYFTuRKN%_Ww5u*m0=iG6LK{B=r%^m6qu?2n682)nUPbvZj@Z? z^ii|cEOQ^1!UIgQTwA2?k0?sR(@LQt9Gld4y3LHNvR19~P_Z_Znk`yNt{rCNr89H0 zu_QuxxF06waOBr}xQcjOZLrjJXST`7$y3l8Qb|C`ZmbGKZ8qO?Ed!*Dm04li7@4he z$xcmSW^gF9*3VdlYRg;A0$FnyD`}<@+*MgN4bZaH>vj6W!w+A#^754{i7|%ia#RU` z+J9jGf#2MJ|LcuL!`6;60O?Y(c|eA#Pmns!{?68}7CDZxNev1BV%P3H_b*t`Hz=hf ztu-krnT|68wALi!)JUy0q5UiY3PXANwbx&J<M$6ew3mnx<JB+pD5ao6sTz%j{@sHQ zerxRwYp-RDYHbgoxKN3RG!bdWm`;uf(2R4%7}KXtO@F>?*FXRM+Xo(a$1o@oHJq(L z%T;&G!NwYZ`ln+@_c0dLd+3Vjp><^JOiWCCw({~7_Z<0jYzyb{7_0PQYZ_823@y8O z;|Kc>Jho)Xl0hP>yst_rjE|4Mape^&e;KngNU>C=_UU=ni<u^0a7L{%B5=XM83R=y zSq%-PHDoAJuh;vM)0}aN$`YzUQ)vw)C8UgM73%eRA7cz$L~T~pS1A>sH3+DuTp^RY zVl9af1y)3|mL?bxIOpJumo{oCrRqW{At9k=<8vAW;+%oANVsLCd6ABQluANH29}QR zLjeG1EGkxtQ&V(_jFc)0MatPwq{z&zX&hA1RTG!5nE(o{0Rn+@2F7_QqgDgZapznT zV~jxv4l1c|NNa^Kl##V;xiN|dFEL&UKQ$sP5G@MK3}Q-!4%3!%-h#L@(|~eTH=2b@ z<zyfd07c|A`lETQEVV}-vD-N3sH8T@5PVH#(eo6LUYYdFv0CC<fbM$TM}EAySFhRD z=3C>^gd20Ln&d@-=C?{>71|aD?>KG5w8X{Ho0;%mB`|%M=?x~3zXUeFRk!)Xw_8*# zbASj#K!IE#xB0D9HCtq{-)R8l0Za2@uXJmx+&)jux>Rm&^}bX$r6<75dm45NPOQxa zdQNI#?0kQPz$~l@S%;1F1S0`p`}Q3;bm$O-5MMPwy|;FI?)0uXXJCv$YgCrrk=_3H z<(HVAK8<c`TFyBbqbmAZID*02xVW>CT1{Yld;;5d?8HYOe>@YIu8NgO#TVy%hNazD z^8}*!@YvW<y!he{96frp%yL3qMCLwV+HyZF`J9AWP2lk1BY6CYCow)gfx!ze1Y=SC zWZ9r{A@J$g7{<nq&ZyR;@@wC|_YsD&GJ`1T6A|IO^9G;+JoV?N@%{(<QLBkE+SLUB z)kT<@mt{Sp-uLc(2Twft6jrQQfm_z!3;-A(pTOkgB&MdO$`vRPrl+T|W$QMaIB^18 z2-NF!?B4SR_U?Tf^?G%4=gE_&FgZDiiHQlEKHb0#*I$P<*RIC%&u_)9U3(y9#{<bG zZ|!2K@T9jBOwKuuA3u(Nyto}xQ&Tv0>=>ST_Aij31Sl#U7#JA9t+%WP=e(2}kT48! z=_Qxqy?5WobI<)1^}as5yYD?5{Nx}uZMq$du{f``RJ{%mVfUVYVRZB`gy8YOV(9DZ zLl6YmvGXM?8(N01FJIot9IA3iq<sybyrf-~RkKot7#LWJJMX*$TefUPtyaTr8#ka< zugA&B(W6Bpqo|yf39U7V2pcxsia$O6BtHCT9~kHO;ilWMd}IVcP=VnU<+0#~>%TYS z1|@U#%dfnOMT`2ee*H}t86IvM$mjvaO|sVTd!3b4&H5znq8U($k>Mfy;^%kc<jIqG z`k7}jIWdm@{(dZ2(1&`hR=RAJlBm~fxc#<`Sh8dZuKVt__~zADmCwi)Bd>-93l^Zi ze<2z{1J7^Sih~Ca;b(W<i7QsF?8x7Z!ITbmTJ0I(sbZ50r;~|Vwjc<xc=2NV^p2n4 z?YG~-`1mBwJ$GqSwN}|~SP+C*y7XM!efM2B=bUp8hO&dU$XhE!nt@?rViH3`L%8|o zo3Lc@*UHie+1ww8z2Y}#x>D&|z*JE(5`rLr5FD#keFsW)Rz{HjcD6|E1wnudFSsDi z-)XlBOncu;GFZY;;-bMp3@y7Dp_GNIwM}hinCX+7JA<3Zv8Zf7%ETT30If8nZU(K< zXjJa!$#CXY5QYJ|u}LYL#&XB)>RH<=1Ew^nTev_K9%iu#$Z(dC3RO%|I{s(lNF>zm zMbb1hq-uRybSXMjt8^ej!=AmaTt-m30+@0DO%jVj#AzduMpKZeCcte1Q|l<lw5m4K zYBW2I=n4(1WOj&|8Rh_*%S_*DB?%x<T7zVWC^HZh3RZ!0F5=O~(gn5^HVTR@ea^Yi zT0vGFV%Aa8H{-m9);g0knAQlLkDr-+*;xpH8bRYrMy#G1%@$NUNmGt$G)6}cy#+uW zA0Pi@(W3qf;#AR!MiFU1V`}Q;7XZ}g=;&L^moH!4d0%GxV=;Q5v}%0u#ea5Xz*H7v zs0C2htDAgkPLjQ;Uei_9m-k|Bof9K=J<`T@elFSs{L1-4v{r!yXs#~_(OhHVRRv~J zwduFjk-_3kC+p_DZ2%s^Ye%rIW1nlc+h*S1@(fC40L@j(XAK^h{7f<csVq0BV9vaD zr3n@lVxC}qL7mGsZGOAV0P6#ybu~p;fJ~wgrnk77d{K$khgH}fQjsULJf>1XA;YuX zPTS1W2EL{6Ss<ln;J|4BWf^K?X2L=VcdjRuAk-q@Q3pW!v`Za=sSPfNG=OV!OSCNl zlzj;{91Klg%r-aL-Y#2&DX#PFuwyRU^nHAcc37{u15S8$DE+V@W?*I+Zx_&>f1@^p z-3x8%HbC`x1e^B+?t0`JwE-e|3eqNwqF_-0@VeDz9;h}Tk!Jw;nAom|Ap-d+^kuT8 zEJn^nn?8>uEexOw%pz<Bia(mP3gMO&397oyB9AJC!=JReRlXB?Ui5?7xMnA;=v3I< zZnKEhu06mvUbE=L-l<zKzjfvwIR_$@G}7n6t5(J9GC=C45i$>Ehui-L06G!A|5pQk Q)Bpeg07*qoM6N<$f&s#9xc~qF diff --git a/indra/newview/skins/minimal/textures/bottomtray/Speak_Btn_Off.png b/indra/newview/skins/minimal/textures/bottomtray/Speak_Btn_Off.png deleted file mode 100644 index b6e9eef891bd5ef3b79e50685c7b0d2922ea6119..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 993 zcmV<710MW|P)<h;3K|Lk000e1NJLTq001HY000*V1^@s6Zt$Jl00004XF*Lt006O% z3;baP00009a7bBm000ic000ic0Tn1pfB*mh8FWQhbW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE;u(kfL#Cp171l)K~zXf#g<7(8(|d3hs0}(R8L+?uYw1?sJQRAZ^gL94Y#PM zM2%F?szpT*M3OjJCUKIOTBMESV3$K_OTiY}UMz){7TQ}&Z!Lt<5}E$rNMQ~$^Lc6p zelWcMdvD(NzIopa$DLo7!F6B-%L#%@O;1n1H9b8YT3cJYn+P^GHtumoqtP@mF%h&{ zt@{>>B``8FBK~g{78dSs27}?o`1p8mXlQ6}aBwgo%+Jps(EG7GHZ~R<7#P^QAOXAG zetL9t^b7o^d&C7U7_0gWo6UA!$mr;(*xTFdV_`O%{aagGZ=%ttq-1-0`;;_Ryp}#Y zI~$e@!Ip^K-Q7MGCX-1F27^B$k%*)u6bk($jTNt@V^Gcup|*B*b_y(7TU!ITVuy!^ zk`l6!#){X{CnqQO<wE-U`utdtmqlY^qbLYMEF2C?O2|eUD_%>-)Q03jy1Kf2SdoWC zZEdZ{^L$JcMM(+SNMpro>3Bzjav^A$x4F65#iF{p+P|~26Z3dHk`l6!#){X{X;|b! z8X6jeii!%i7UkvTp1HZXS7l{oAxuro>2yj;$VM7`UX!n0E;S7k7my2SYHD&<RaNb3 zfrq&9us>~WZO2PXOW!cAk`maycXV_-f=`@$^>V3cJv}}Ce;sk5Ql}P0MMWMQ!(XSS zrrx8ykJs1N<C~kC5`pi;SxZaH6KEgEhkW&NscGnlPcEdszTSnEIJGD&Ec9Ue9;~je zo}nvG;dg&{c=#i}NuMe!D<8u4Y-MF7jy%WYtCvenqw_^Bq^_=xFD)%~Xn|Gk=H}-5 z+S}Vt78e)e7`M;ZikAfLzmN^ZJSQLW)yt)(VQK}r5R4vQQc~j3qPV!&QBY9e%FfRA zBT=-!zyBS!K_YN$zl9zl4L&^i>g7_?=%AAesi~>qu@Z+KXt^^lFOSCqg`Aw61AM3? zA}cE^KsM6Ihm}W7M`s23HvnhAE|S<;<mcx*Q2oiw%#5T2t$l%RI9TyoI=0-)B_}7F z(QZ4njFkw5II((nW@cs}BO~KBLHA@MjTNt32u9~xT3XsoDugxvm=K=M3A_gaT1+pd zkM7Av8Y^B)$BXXeBuO&jAiA28l44FuO0p&B$C-ZEIV#2gE`ci`H4*#;fE)UL4V|HK P00000NkvXXu0mjf3{Smo diff --git a/indra/newview/skins/minimal/textures/bottomtray/Speak_Btn_Selected_Press.png b/indra/newview/skins/minimal/textures/bottomtray/Speak_Btn_Selected_Press.png deleted file mode 100644 index 687cb7fb53569a577d619a09ab211290dc909807..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1217 zcmV;y1U~zTP)<h;3K|Lk000e1NJLTq001HY000*V1^@s6Zt$Jl00004XF*Lt006O% z3;baP00009a7bBm000ic000ic0Tn1pfB*mh8FWQhbW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE;u(kfL#Cp1U^YbK~zXf#g=VMTV)i-uPt$3oFRgffeR8kTA&4izQ1$Z(!vUD zDTa3CmX<MADcu+Y5=a(?y7)#?)MOav6kn#9@q<b0=<Myri<=2<%>dm{v!G!bO$-_n zO|!_Z&$%`8%k8cD0h;`hlk-34`Ty_JrnwlF{yd0iLku8JY!g_1iJ<J=y~6VK$N0RB z(h9-PrIlMpaT#x8SJCd@FfNzdUMdpYuF)#i<W0t#suuGXYMW(cs}P%XtAe`fb&SK| zj8to6w{Vv|Y47!4aUMDNX<L8K!d7ANwJ*xd^<Tm7<Al;`x?$_}UG5wkB>m&VasN}9 z=^Q^sJ~7?AW{ZgLv_$LfKn*>%9X1U;_`KH9v_c1gufcKnz(VKvV4MwNY=Cs0w%)=c z#gyu!d>W`*&se?%E!#emj(q1e_QrcbmhB<`JUT4ShI=%WFq|v@UHst#RMiJunmSbD z=lFlPM?#5g`%F6cqKjBge>Kew%gsUG-2UVJ7uaYU3XrO^MX9Ryb130^7!A~_vxO<p zvh6eJ;0ykA5V_U3v@bx+x<*4WHXQxkr2MUdl;|A}RrxkX12yzO%eK#?gD?1}gX}Xd zH67}hZ6E22v0*=QfRw&bkP=RFsETQf25RVmmTjL&2Vd}~gGd_jCG$b|taCUJW5XKq zk&@Goq$<vEsPfk_8mOTMTDE;A9elx`4pNP)u4_E@OXgl;hKYuNCuV#O|61SeyjUH6 zI8_$DkK%<f8mOTMn(=x38<@>>4pSd|!JiKDxKWeTdRxiH!@ejJrYAk;b#Ds()E+f0 z*1YiOFZ@?H)ZUjd8mMbtEc#VDXt<`E=5NAmrgND3;0yl$Du|)S9aDq_8}gH)by-kx zy?k=VCT|km2tqJ<|6OTNwj@6(ysZfHH(>UE2dOful4`<EnnT_w6L^nnM%kyoDxNC1 zD<6=ri2drTqLDq{3rF|-AnsCLlO099se(;qU;XDWo9P^;KKOz^eItJdiKD>?6X?35 zTA%ZRY)EoLe5!C$`YiuP$xzKIfa;&1Cp#wn5@ujF(>Y9i6eRvn5CgiA4qLpTkBBf~ z3U)-$lb%<59iPa%>pzo>Reo1{Y8M4ajtkf1U4|>5;fGuw!)&H=nEK#bh5XYuk|hWn zVCwZm!3dsO;kC>OU)o6lN_TTY=Xb{F5NPJVgn-$5LEtq&ge#LukBu}1ks%8PbnUvQ zbvMORyD7oM4jRd;MU?&--Kr63+4h-qmB$tr;pj$kb90GGjdT&7%n;a*4(mW+m@x$0 zQC(NtjKXD2NLm|a0jQw|8ryCrP337pL6k|1Ac&GeUdd~<7X5-2{kiBnor(Gk=)J8M zwI16gwaYrEYEJ_-^gzqB$JUoQ%$Lg)wJR7!QQV1%iQ>GxJR&D2XLy@loZ*EXgD@P# fPQ*iq{O#Z`uskprpa8lU00000NkvXXu0mjfumwaB diff --git a/indra/newview/skins/minimal/textures/bottomtray/button_separator.png b/indra/newview/skins/minimal/textures/bottomtray/button_separator.png deleted file mode 100644 index 71ed25f931b519d9d4f2a074b4ce150c5889e9ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^OhC-R!3HER>*_fHDVB6cUq=Rpjs4tz5?O(K$r9Iy zlHmNblJdl&REB`W%)AmkKi3e2GGjecJyXxFKM#P4v^`xMLnOkJpFDc>D?dN~{DA`} xPyW1r`SNFbW)GG#4c!kC3yO>X^K)?g;AePSDYop*!@D4D44$rjF6*2UngB%VGo%0j diff --git a/indra/newview/skins/minimal/textures/bottomtray/close_off.png b/indra/newview/skins/minimal/textures/bottomtray/close_off.png deleted file mode 100644 index 241a24bde904c3a84f9f341858a382abef23330f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3184 zcmV-$43G1PP)<h;3K|Lk000e1NJLTq000&M000*V1^@s659q(100009a7bBm000XU z000XU0RWnu7ytkYPiaF#P*7-ZbZ>KLZ*U+<Lqi~Na&Km7Y-Iodc-oy)XH-+^7Crag z^g>IBfRsybQWXdwQbLP>6p<z>Aqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uh<iVD~V z<RPMtgQJLw%KPDaqifc@_vX$1wbwr9tn;0-&j-K=43<bUQ8j=JsX`tR;Dg7+#^K~H zK!FM*Z~zbpvt%K2{UZSY_<lS*D<Z%Lz5oGu(+dayz)hRLFdT>f59&ghTmgWD0l;*T zI7<kC6aYYajzXpYKt=(8otP$50H6c_V9R4-;{Z@C0AMG7=F<Rxo%or10RUT+Ar%3j zkpLhQWr#!oXgdI`&sK^>09Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-<?i z0%4j!F2Z@488U%158(66005wo6%pWr^Zj_v4zAA5HjcIqUoGmt2LB>rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_<lS*MWK+n+1cgf z<k(8YLR(?VSAG6x!e78w{cQPuJpA|d;J)G{fihizM+Erb!p!tcr5w+a34~(Y=8s4G zw+sLL9n&JjNn*KJDiq^U5^;`1nvC-@r6P$!k}1U{(*I=Q-z@tBKHoI}uxdU5dyy@u zU1J0GOD7Ombim^G008p4Z^6_k2m^p<gW=D2|L;HjN1!DDfM!XOaR2~bL?kX$%CkSm z2mk;?pn)o|K^yeJ7%adB9Ki+L!3+FgHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_v zKpix|QD}yfa1JiQRk#j4a1Z)n2%f<xynzV>LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_Ifq<Ex{*7`05XF7hP+2Hl!3BQJ=6@fL%FCo z8iYoo3(#bAF`ADSpqtQgv>H8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ<AYmRsNLWl*PS{AOARHt#5!wki2?K;t z!Y3k=s7tgax)J%r7-BLphge7~Bi0g+6E6^Zh(p9TBoc{3GAFr^0!gu?RMHaCM$&Fl zBk3%un>0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 z<uv66WtcKSRim0x-Ke2d5jBrmLam{;Qm;{ms1r1GnmNsb7D-E`t)i9F8fX`2_i3-_ zbh;7Ul^#x)&{xvS=|||7=mYe33=M`AgU5(xC>fg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vF<Q0r40Q)j6=sE4X&sBct1q<&fbi3VB2Ov6t@q*0);U*o*SAPZv|vv@2aYYnT0 zb%8a+Cb7-ge0D0knEf5Qi#@8Tp*ce{N;6lpQuCB%KL_KOarm5cP6_8Ir<e17iry6O zDdH&`rZh~sF=bq9s+O0QSgS~@QL9Jmy*94xr=6y~MY~!1fet~(N+(<=M`w@D1)b+p z*;C!83a1uLJv#NSE~;y#8=<>IcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a<fJbF^|4I#xQ~n$Dc= zKYhjYmgz5NSkDm8*fZm{6U!;YX`NG>(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-k<Mujg;0Lz*3buG=3$G&ehepthlN*$KaOySSQ^nWmo<0M+(UEUMEXRQ zMBbZcF;6+KElM>iKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BK<z=<L*0kfKU@CX*zeqbYQT4(^U>T#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot<a{81DF0~rvGr5Xr~8u`lav1h z1DNytV>2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0004-Nkl<Zc-qvI&8pf!97j(+pqGdwU0A#G0n}|>Hi&tEOy1-!`Vd|95%K`y0~nLF zcB?Po&Q>9Y5RhPIy3&4dbFW}r^asNX!_48&nGemj?a#nh;1kW{JMcww9A`Hgjk=vq z2Px%UL|xa}@As@$s~@IPs%u#mhr<D-)Lmdr)37WHrBv4hD9e(nsv7Z7mL&itfRyrX z4VPRvCV*1vZVi`QIFGORCGd8;#kOr6$GOfOk4LgBqu1-bTCx6T#s9W23~^nTG)<9G zlBOxH>k@`x?Vg()CrN_u``7V!JjVBZk|e1;lbakb77LV8SGe!{#Bod<$G17Is*3aZ z{NlptbV`<G2qBowW<*g$yWOq@o2L2Oab5B}$MZad5JXXg5CYHh$n*To+wrR7$z*bc z&gXLggb*mDST2`uJFZI*1b;y<eGmk-;OoC(+qN1Ghn!BQMjpu1(-Z6U`f*QM=Rx`Z zz@}jsyP_yQwpy)5fJISY7{<=*_xsPA&E}hw@<SsEbp7XGFnHFKQtyEG4Qi1<`fC6T Weh;P5CNL@h0000<MNUMnLSTYAp84GX diff --git a/indra/newview/skins/minimal/textures/bottomtray/close_over.png b/indra/newview/skins/minimal/textures/bottomtray/close_over.png deleted file mode 100644 index 4630cb6dd69960bbf6de23c60014bbd91608d7ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3173 zcmV-r44U(aP)<h;3K|Lk000e1NJLTq000&M000*V1^@s659q(100009a7bBm000XU z000XU0RWnu7ytkYPiaF#P*7-ZbZ>KLZ*U+<Lqi~Na&Km7Y-Iodc-oy)XH-+^7Crag z^g>IBfRsybQWXdwQbLP>6p<z>Aqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uh<iVD~V z<RPMtgQJLw%KPDaqifc@_vX$1wbwr9tn;0-&j-K=43<bUQ8j=JsX`tR;Dg7+#^K~H zK!FM*Z~zbpvt%K2{UZSY_<lS*D<Z%Lz5oGu(+dayz)hRLFdT>f59&ghTmgWD0l;*T zI7<kC6aYYajzXpYKt=(8otP$50H6c_V9R4-;{Z@C0AMG7=F<Rxo%or10RUT+Ar%3j zkpLhQWr#!oXgdI`&sK^>09Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-<?i z0%4j!F2Z@488U%158(66005wo6%pWr^Zj_v4zAA5HjcIqUoGmt2LB>rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_<lS*MWK+n+1cgf z<k(8YLR(?VSAG6x!e78w{cQPuJpA|d;J)G{fihizM+Erb!p!tcr5w+a34~(Y=8s4G zw+sLL9n&JjNn*KJDiq^U5^;`1nvC-@r6P$!k}1U{(*I=Q-z@tBKHoI}uxdU5dyy@u zU1J0GOD7Ombim^G008p4Z^6_k2m^p<gW=D2|L;HjN1!DDfM!XOaR2~bL?kX$%CkSm z2mk;?pn)o|K^yeJ7%adB9Ki+L!3+FgHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_v zKpix|QD}yfa1JiQRk#j4a1Z)n2%f<xynzV>LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_Ifq<Ex{*7`05XF7hP+2Hl!3BQJ=6@fL%FCo z8iYoo3(#bAF`ADSpqtQgv>H8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ<AYmRsNLWl*PS{AOARHt#5!wki2?K;t z!Y3k=s7tgax)J%r7-BLphge7~Bi0g+6E6^Zh(p9TBoc{3GAFr^0!gu?RMHaCM$&Fl zBk3%un>0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 z<uv66WtcKSRim0x-Ke2d5jBrmLam{;Qm;{ms1r1GnmNsb7D-E`t)i9F8fX`2_i3-_ zbh;7Ul^#x)&{xvS=|||7=mYe33=M`AgU5(xC>fg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vF<Q0r40Q)j6=sE4X&sBct1q<&fbi3VB2Ov6t@q*0);U*o*SAPZv|vv@2aYYnT0 zb%8a+Cb7-ge0D0knEf5Qi#@8Tp*ce{N;6lpQuCB%KL_KOarm5cP6_8Ir<e17iry6O zDdH&`rZh~sF=bq9s+O0QSgS~@QL9Jmy*94xr=6y~MY~!1fet~(N+(<=M`w@D1)b+p z*;C!83a1uLJv#NSE~;y#8=<>IcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a<fJbF^|4I#xQ~n$Dc= zKYhjYmgz5NSkDm8*fZm{6U!;YX`NG>(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-k<Mujg;0Lz*3buG=3$G&ehepthlN*$KaOySSQ^nWmo<0M+(UEUMEXRQ zMBbZcF;6+KElM>iKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BK<z=<L*0kfKU@CX*zeqbYQT4(^U>T#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot<a{81DF0~rvGr5Xr~8u`lav1h z1DNytV>2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0004yNkl<Zc-pj-v8vlJ6ox<9f{sq(&~(WYBy-migm*)RyvH5-5S{uG8EnWC$ca67 zG<kz8c8MuuOpMgYX>y6fZKL~x5D4izzkUu!1VQi>_zrx*jeY{(#9%O}lv3l#WP-K! zDWVX9{eI78v#F)Eb{vKw$K%lnI1EFqwPOizKA$nhILV<iCjpExPrL2Z8I)ZWSB^c; zyLIded@0a5zPHM<q^|3mv%0P+%d+=P7pZsc`1MNDlsJy5stRKaRaFtkF=?9izIju| zMNy!X0${yfvsf%pN>LO=Z*)S4TkyTE*lxF2Yf(yF_B_wY^Zae?b~>GC+xG6o)oMlC zwnR~c)|w<q2*a=!ET#Ml7D8OUaIM4Pz;d}HiXyTsBZ?vbk|bd?8vTD1*HEoBzy+RV z*~2KjN4@wOs<pmx{%~#tL15?ed2h!5Dk&v-o<EM_=^=D|;7af2*yEifec!K|rujS^ z4xIp-ros39N=~QKm)&mn!x;0)(LDY&o6TN?we|z>(P1nG`2A-99QQcJuiY5^00000 LNkvXXu0mjf9@q1& diff --git a/indra/newview/skins/minimal/textures/bottomtray/close_press.png b/indra/newview/skins/minimal/textures/bottomtray/close_press.png deleted file mode 100644 index 3ed9c99a26f13d93756eba2ba4dba9c1b3cba9d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3259 zcmV;s3`FyZP)<h;3K|Lk000e1NJLTq000&M000*V1^@s659q(100009a7bBm000XU z000XU0RWnu7ytkYPiaF#P*7-ZbZ>KLZ*U+<Lqi~Na&Km7Y-Iodc-oy)XH-+^7Crag z^g>IBfRsybQWXdwQbLP>6p<z>Aqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uh<iVD~V z<RPMtgQJLw%KPDaqifc@_vX$1wbwr9tn;0-&j-K=43<bUQ8j=JsX`tR;Dg7+#^K~H zK!FM*Z~zbpvt%K2{UZSY_<lS*D<Z%Lz5oGu(+dayz)hRLFdT>f59&ghTmgWD0l;*T zI7<kC6aYYajzXpYKt=(8otP$50H6c_V9R4-;{Z@C0AMG7=F<Rxo%or10RUT+Ar%3j zkpLhQWr#!oXgdI`&sK^>09Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-<?i z0%4j!F2Z@488U%158(66005wo6%pWr^Zj_v4zAA5HjcIqUoGmt2LB>rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_<lS*MWK+n+1cgf z<k(8YLR(?VSAG6x!e78w{cQPuJpA|d;J)G{fihizM+Erb!p!tcr5w+a34~(Y=8s4G zw+sLL9n&JjNn*KJDiq^U5^;`1nvC-@r6P$!k}1U{(*I=Q-z@tBKHoI}uxdU5dyy@u zU1J0GOD7Ombim^G008p4Z^6_k2m^p<gW=D2|L;HjN1!DDfM!XOaR2~bL?kX$%CkSm z2mk;?pn)o|K^yeJ7%adB9Ki+L!3+FgHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_v zKpix|QD}yfa1JiQRk#j4a1Z)n2%f<xynzV>LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_Ifq<Ex{*7`05XF7hP+2Hl!3BQJ=6@fL%FCo z8iYoo3(#bAF`ADSpqtQgv>H8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ<AYmRsNLWl*PS{AOARHt#5!wki2?K;t z!Y3k=s7tgax)J%r7-BLphge7~Bi0g+6E6^Zh(p9TBoc{3GAFr^0!gu?RMHaCM$&Fl zBk3%un>0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 z<uv66WtcKSRim0x-Ke2d5jBrmLam{;Qm;{ms1r1GnmNsb7D-E`t)i9F8fX`2_i3-_ zbh;7Ul^#x)&{xvS=|||7=mYe33=M`AgU5(xC>fg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vF<Q0r40Q)j6=sE4X&sBct1q<&fbi3VB2Ov6t@q*0);U*o*SAPZv|vv@2aYYnT0 zb%8a+Cb7-ge0D0knEf5Qi#@8Tp*ce{N;6lpQuCB%KL_KOarm5cP6_8Ir<e17iry6O zDdH&`rZh~sF=bq9s+O0QSgS~@QL9Jmy*94xr=6y~MY~!1fet~(N+(<=M`w@D1)b+p z*;C!83a1uLJv#NSE~;y#8=<>IcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a<fJbF^|4I#xQ~n$Dc= zKYhjYmgz5NSkDm8*fZm{6U!;YX`NG>(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-k<Mujg;0Lz*3buG=3$G&ehepthlN*$KaOySSQ^nWmo<0M+(UEUMEXRQ zMBbZcF;6+KElM>iKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BK<z=<L*0kfKU@CX*zeqbYQT4(^U>T#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot<a{81DF0~rvGr5Xr~8u`lav1h z1DNytV>2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0005zNkl<Zc-pj-KaSc!7{%ZG@x~aCNt5IbP^ZlaESu5?uqdF~B6aFixd1LGJPi#O zaEp{0&R~)zl8rFN!^{?ugO_EOWN|)en$gTpZ{GL4A+~LQ0`L{UM>JF40emLCUT<?e z9^X?+K`Fh7sFZ?I3XHKI#I|j1Sr$ywYy`aD@3GtMzyYA$Zo@Q97={5t$g7}QYm{XP z#@GqWImg}I9XRJVDJFzKN(lhJ!Ies__065DSiAx%rCx1A-Q!9euXnQvuu=*DKr6+U zR+1#hvh2}bmSsqi<k>rwVp_N2e8q8$APA7ADU?!3(-c7vAdcgU=j&E5(=@+WmIcPx z6DtTI7!HT%cDq<Eml%yka2yBo`5f!@`l1z5%G0<NMFFk#lYq=-Gn8cs-}j-Eg5x+4 zLO=-dtjCAL;ncjBDhxwdmIc>!u~;k+h9O$5*40M7nBhFnF_}!@x-Ntea9tOZ$pm?x zUj_4eB+mmf9*_S(qbLFZ_`VOVHKx<)#aRE9V$bs)L8B;w5CWd(T~DBG+q%=~z%YzP zez&qLvE6P#@t=yHC-0W3Gx+&a8dJ;|+ej%tFvc1IN-4n@+wgwBf4^F-z7<9Bt_d)u t^ygqOxF=fcHvryV8@+!S4gkL%1_0(nK>HnI3RM6A002ovPDHLkV1ly64S@gv diff --git a/indra/newview/skins/minimal/textures/click_to_move.png b/indra/newview/skins/minimal/textures/click_to_move.png deleted file mode 100644 index 74e3faa8ffb62e2ce71f1898ef199f692c9b4da4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8188 zcmXX~byO8!7ah7&q(M@;ySux)TO=f;OS+`<5rXt1q`OO{LApDhfJjPy^IPlt<Gp*= ztTi*|oV)iv`%J8+x&jtDDLMcESW1er+5iBD3ht#)k->kq1>tjWL339$@&o{kSO5Ls zfZRM{06^Dpl9AEWbaeA_^K^7`r&5xUp>p?dvv+!L2LQe+`8p1|I>&@!w;NZ|Dlwty zDsI}ZQK_`0<3kBj-ZE38;VQ>a7cIZm>c^9lLnQnDB?jU1=g@@LTCA9H=u0Sj)Wx5} zzsAJ<eAo{7>b%f(doc0byeNKHeVN}lh0=$LnW@O5#TSZMDNTvD6+SvNvc1PH8HP^h z4&b6T+ERNy(ZT_D!J?upG<_&N0G#g}1}e~}2I=D@kAA^9k<KxN3ypy5^GXp^K@BAU zB>g{2mjROUaH09xZ*_n#h=ApojrA^|$p%<5gdEHPq4{??0dRmxI`wO~FDU@kE4vt3 zz)=LKp3;w#0}MF<0(+GqAz+CO;8ZfOR|LMb0)3OX7!3d_Ccvo`6UhW11^|}dX=#0d zh#Y`G{;z@P1xqdNAv0L1oCeW$Iw83*6I8YjC<X@Xl#G)~L@WgSR`6E2lI#P1IV9X+ zyf|Bz;{fm_<u#b?<&*CucJ1UO|K}EL3$~M9<QE!i>)q%5DX6<70Bm~&&pfkoG?Ipj zAcwj<7t^01I+|mA@xG0>Z@`gk2EH7x7+kvlR~xya<o4y|{k^><<soSktDgoz&kh3? zeFjhO{{@Ra-d=C@?9hdAn}sPL-fazxU#XUoPo<(oSg#!<DLl4fygX9O(F`eBw;M7O z>}uhE_$-^7aLHXt6Dys{G)zDHV!N}+`hXz5$p?IUCk_{o!d78sgK(q5fNSX0w{r^s ze>>g!e=(vWggS<APx-u@OFSujp$9_kl~O+dfVnIkyYA0MiBS-VvR}fOze$l@^%Jx9 zA(Qtbt@UF(TJlFo(+v$s<4U93hLU?&GF5+)W{jHnM!{^!@k^3|w@=G4D$O06eL$}b zTg)Bj-U_v#pRp?p4N>Yl>MJYil^8hdI78acs6;uDchvogi1_hzR6k+}v}jaP_!POc z<8-O?6e<3SdB6)ro62{jh<pdQKRrfuDR8BSHE4<b!fcjluMi-OkT1rVw)Nu5O(OgP znf7QR6-(eRI-G_&;;bZz%ZzgN9TB7O487-M9~qRc7i2|Cvl*+Wsm6qkkbcvzM(B*a zwwbE;LBtP}>qFy5^pU2rqLflJR5eszQmmjNr{l$2K@&hjh|n5fph>GxX?oj%_iu>U znwu-yP?42(0YB*#2W~)&%#Z*beyj{PLwhp3QhkZ;EdH$gtgANdF>57+SCN!9?Z=9( za|4P{Ix7{+_sG5cy}>=6J+eLOzb5GU){-Ae?sRq-wST@-CfUc`=iNuP%jTBS`<ko0 zUQwir$CqR*T~pMeU8faY@ru_wS7;)fP)Vh<rZ{7c)RD;X)~W8us{?O6gHk<f+F*9< zSm7w^2;s^H6D#U<_-Kp+BMF2Uh1h|_hqx|VwTxsgo@7*)Q-BMWeVBuj<ECfG+`=6A zI^`#NhH}Q+3^Ha8-O8%6s*NfPy-U3@-K0u$ouFEIJszFiO0-{@P`#>rO_&aujzgtL zMRb)zg`2KKNwCpVEV9v{>Y#>9iPo2Ti`}jfDhwNvMqgHHXDn!xcNpK$+xm&+z>mzG z*-sRm@nTh#MM5$>$~*>*+L!6}5-7XbAMWzJ)X@$Z%d;+n<2DG+nRb}S%6L`Vx$I1x zt1`1P4WWuqEvN#lo4@w7Jin}4uG8ot3|necnZcAn!69i9DgRJsS!cZ*y_`@@O!&H% zy~??itf*7gr`NUoEW4n`JhVX7t$f3;`|zGTh~r83$>qNMS^?7#xe=2Nc@=Y#Sag{0 zgPSM?$LQ*XmW<h;q)e$*hE>*fL`wUN=+}AqM0uP9rxDX#x?PtMmyxe;k>66kRZ%-p zJImEpYcFFe6HygW9i14TD4tlz;e&{AEpi`14k3$>%~nfeUt`vmik3DzrG`D@GNZGW zF4st7A)``5J!7**`I`J1`i0J#&T_o+cJ(xMXu*QR;J1sGA1#%wB;WRzkXLJ4Tv~#x z9IS~PT8C=~&(gZnf;xf{pTtnGqL;Cu6vh<6o=qME!urA+xs!Qk5<$aPna3OshEupx zOFX+Ruf~{$obq)ba|#Yb4(*=dmof3NDxb#Kv&7jUWFza}yZ4m6u0NP<`_EqILmD9i zrxmMpXZ&YQXVGhg<Gh7T1x7rc(}Uk-wzT$VBrpmyIGs1EgEeF{!W^0pX*p~-QVePq zzqOY7RNY#g6N%r5dlc@9?}`d+aBmn{j0^O&es3Mq7<4PJh}@J3p?$G^@qd{C%0ubl z91vo|q{2+#AMX4Ese3<52(Q}RG%TM=C46a@dM%aospivue+{+c_ut7i)VGJ(lPQx< z*pZsSM+?&^RtHw`gTa^#k<pO`Q4*isV+=`WxU%?sX4YgpH)Zc-Gi5g*4qO^Sb!^If z%;Ht-??hJwI(R!IM%e9*#^(+54VB)jkPERh*Ydl*@7a7jy^P+;-@(`oAj;<WZszV+ zG&yh;Sx#8Vj?XHbDXAKxE|~sD3YWQpFoFK>D<AsL=zaqf0}eDCGyF3#OERX+l<I#K znbrJLf2VZu`OyvYl(O!(M=(?-cd25ju0w<i2y;JDxp0dKcXNfOrX+umuA){;YjHSn zII#aXR&5vA@I34q-^xLmf%3z-F}WJahz-3(y6i~Tm~oLArNP0@z`l1P_NP!Lw18#e zbiDEBYO+AydEv_`{s8`VYD;O9iUAvi;X!xxJD~>A4}PoYyRVU0qV$ogMcd+9m|f;I zpr-~|wZYwQ{nebq%=>?S>TiZ~hGFQT??(o~))r6AGz>Y6Hk+;Pqw>kbU&qGP608zs zy$)GoT=U&0i+20jo3obQR0$nwx1F+|wLd=CU@I`e&aBEh$ijBTT3%_w+SG44y}prK z<;a>~T<r{Rk!k<hE85m&SN>yiLPSEhME6SfUYGxDcD>nZ@y>PTj4Yt*hWGdUs!7-F zllYIGRXsR8wR!t_y9cF*##@Qn*s9~Z%m){<8g-Wsr=tk72u~=q*e#3gzvd}s#dNik z7Fb{k*rRWHp7YOr*s%Dq^b+$%c4*yY{q~M;(Kc@>v4mGXCInP(qs+beNZ~-i@lHDT zZ>~H<C-=d`+N48cTzqEXWW)baVf7789<Qj8pYo;d52uymPjhJwf2R`iGxCFi+5fFs zt`@fh9NJ87zQb`l@4)rio|SuvKNRT_nKb>|=JmH>b^nz?n?Y`!u!YNs*NNzJ+MLE{ zXI^J+ZM&&+`<Z`tbAbKrF<F7Y<oZ>&-v!~z!hC^{*n0P+zuWEb?e!+%dawt>)8ts^ zvJb;qO_xTO#g*i#)UwQa^t^=0^V-t+TFARTpD&j)YYMl>k>OL%Dc4CjGDt}|Nn=r1 zQLq9*aUr1{36H1a$8wn|+o`t&M9;;~W3@zt9Km<<u*J!l?3tphzgcO$E`g;_Cw(xI zy48_^5z3w)zC2v!SNad9{XT0x6z5+zaWwV<sX`cE9RJl{>r9tFq>-ehy&xiFUq0IK zu&siAlgdU>TMYpG=>Z@#902~kfa@^;cyj{4i6sCCX9EC{TdKvdJOI3AP?D9>^<DX$ zAMoCEK7UlgXJa?#!uc^S@s&jEr8{Y#q!yzR6DvXH`!8(AE!r6STDZ_pRkh65DTJ^4 zU7`BR>zZgcILaw2)lIK!LRqz-?-eE4wh$XWs(v3!S^^(Lyvnodw-#`VGu7U~L%C`r zqE7x0SPCVv*lhPXYd;K}Jiis`^^~9S&d;bQD|>s<g6@lY=XB3CF)^X2G@%_r310vw zj(`}pNe7!bdRHlvsrRQk1mRIu->=f|9m*eNeC#@SioQ7|$7<3VTgl%@UY4EJFl~(K z+C67)d~}mAb+nj_uSsDJVLrBIS;k+U*_?z>6XE|sD}nbcYt2;0JjyK6?|S^-4sI4I zeH6yW)z;ST(@lO5_@REFp|q&iK@46HMQq}E9pal^*)~*x7?Ga-i@i*q%bd>$52_BG zA6`oNjV7LXD*28OMveN&<s_BuEoc<|F`2qo9)9O!@r9eOqh6*3q0&e=MRe;L^F=51 z<s}wzXufWc<VH;8<WEMrZd@(|a(O7YSI$C#4g6GAYtBqfHSV%a)>c+lhL?V4&&S7? zanxZ>qaw|0#;v7{Zt3#ZTaqv`y@{%1R<Cfaq@)CinokX@0kwpVs>FWQ-w07V3llf4 z*w%Xqv(DdR@G3WBFZp-sf5~8=42^O0=J83S)@3%SDXOeCAP<Z7493mvCQ0<9ms@oH z+6>{7=!CXEn|cuK4ii~aHyX0m<dzBP>dEQpd6_9JdK1V=X%STGv*<%##}8ZoPWxFw zmE{nYT0G{fF^k#dr5*M*(_LL_A@uufmjQv?GPJ5nMo(|&Lh!<OEi@uDeBE`_wN*v2 znnvl?UC9>79O&^KhAVPf$s7H>+Ip_9Hg~2(hd;FYp?HRIettgirm=AN{FX;td@_Yr z!O_hP4B+=i5q^joytTcb!Ouinoe=ic-ya{EI?5T*KX&H(iWaQsF^F{8Rdj}lgh_BX zOM;J`s)F73I_JvMq)-vYYiVl_AmE6Gj_t!!ad0GYg!~)px<7$pVq=ryC>Y{tlLVlm z#YF16LME2LH(^I30OfN|zq(b)LWixnLal;va1-TccoPj-<#|c%JUmhr>7;2=+O&rs zE=!<A>?V?qxi`tRFq2oY5pXg0_x=QOTx%Forz0cs*p#A<ZNvuyS;jfWtW;nHJ8Gx= zDIpV4bH_v5?pyAH-;8VIySWi0+e8l94DZXFaxaW71LU;a+f5ncJ}tu3{;7&mI#^qO zs;}o785xNgw$6h3w!&K=n44sVE_M3U8R*SBc$<xq2Tb!OD$;$bg&Ef9?-m)d5`u>} z$E&NC!5)P;l;_cI+Gff=eg-XbLMAX}&)Tldt;;cQoh@>&G|L<qkbVr7h%4sg;*z4m zwRChm@@Qk=0A7%WYEh|lz3pN2DT<Gpi`VFCa|zKziSoxVn2oP*_Tyt90&cAAC(px4 zYI(tGeJEUPM)9Xl@C$VoNsF-3l9C8XDoI9yoyUKdS2s7c%97*yAq^?Tj1^UJU{NiL zoN}$`W6UMijTNJ%?l&)d^JHnP+Axn7c|%4{Kb9Nf@k0{x^72UP4ljKF_;>3X81Qg& z4{U8wg-KdguGOG#b@uhLvS94|J1p##*PAc*HWM(#*oNeb`lX(nypt}%b!{b+({gln z-o3lnU3$;Yt2U<i4{Bu6>bn0~<V<ndKwlrZZ$e;m{9<=h$m=M%iHZ<Fy>$003$iDo z(FuQjt>a~x^%KdxbDaq?b;x6Bea4H9fl*mgQ`*@HDJUo?jWK%U`NPfGWy*?*bmvEt z;*POMLz-w^Z+JIA)FUY)gFu-S9To-$Vp<=X;j<Z(<t~^ox=Wp+XjyNlO?fn5TU@-X zgAP8EXdP0^k0CwuhP(Z%rx99J6+U(}TBNiJp=@4uwxzW-ja}j3Hs_b*!onnQjrs?& ztD?HPq`N!+?Cea%Ns9nJAp03YX@HC?@vuDQs;77TMo*9L=(oFI+spGqWkp5bw)>YV z=8TLCunf9-`(Y@QmM_mwAm3;enRf75;BZl}$-jL48tx5S(9+c%Iyz!ZOiTnGw{b$Y zelIuT<6hR3{OCx-4pnsx^}~oB#Kgg|NO?$<rIDq<V>j<YwQPgz@9%^70^xmqeXXmn zKfAKx&(wRE)+fI8`!z~LRn-(&8_Fb`dc&n=XQJljW{`M0m;XTQ3zB2!sWar3%`7d& z6f^$b>@758wNDV?XpLY>8XY{CfG}}zOr6|qY?wdawD!VH&(2D#s9*p=K|x)2JMmG+ z54&$(mWW-`LbH40Q-5e@A9s)K7q_)#TXHJW;kOsxzQIIBLk`aq@{9tJ`EzW{sL>va zJu9Bftt;i`=A(L{c=wUVN~1%P%;Gf<PrK9Gu@EP?dWWfkI_KPvP<J-#dSa1}zbyx& zu&%DJXJ%&lqp-*@c{KF&$gxpC;eohz#7a{2nYeY^@sdL(TB@sKK%R=<AJKw0!WL>E zmv=WeH#t<o6G_kgIKkgesOq!h>YPYt9KCYqIn&}(dL#q{h|1@F9334seA|Ez1HvRj zTUz+5z!R>lEUK!C+u5-ezuQ8PF4ELL^t)Mh$U#5^m<Bt3yug;Ft))WmW|D&Urg={- z<h0Y>iB4cJFxjqu2M~~O+9oCt?laa;sp{ovr>m`(&kyHhT4s1DJ+ppz^z`)U>FJtU zT2ijAuFCzBC62tx8X6k%7TiIFj7jGqFAq?3{CKBq8yg#z7FF@5E1k)F5d}3hEb!>o z{9!d+Ag(a6uqN)84+{d=VOQQWnX`W-8a@q4v&Ed}M)U1n2qGaN`F5MD=L-*m`~qA3 z<fQt^$w>kSzmSlUAbD9u1uB@fOY8aw__hFAIC)^;w<{|jW1f2XHd$sy21!31&(eXm zg2HIR?ph9Ml;G`c&uzCJLhL-TPmacN;NKq%{~c;o6?1Lxv;Subk&&$}%by=Oy8aAQ zXAY?5=lt-<7NBcDj$nc}g?pUNBgjys`#v#2Ul8N@{OAXA5<oye05t`KBqmQi6dG^H zI+Dxh+_oJ>CK!0fNyK3;tEcy#-vpg5lbJoGuuwxu39YoW^zJEmSC}S@WzHKR3?O1R z{nFU@s&!RON9R>=@0-v@hp9<o>cUE^nCR<qo~dedMbm!XJ!n<Je`Q#1bXactK%1f% zF*BnD1Yg8k*v?y(GDMb!TlXXz#vs+B{6UwDdH)?u$-g5YX4D!Kau7u_GBQkOk?XDs zbG)EqSndfD3GOXqDDeHXXc3aXu%KT&Q<1_!9VN*jXF6ctsAXvA*oMQNH73~VS5`@^ zhF3Q@IOyf=4MJB+keq)~0PLw@2q+a*Ro15~&4}<}LgCJhQad7>|FA!Hni=D2%Nqq< z%_s=wPx@s+NYIaKhgqky@$fH^hV-}aK3L-gj!#VN=Q`IG-CA=z7t?@k17u=^H1!}i zu1#N6mB-OEwY<E1+j-9eBOBZP4~D|Mq1acLn3y2c`a#b1M`93ZSI7SQdHQkp_JN6& zwdC73&VAEZ*#Tk`B1qfF^fd1J`Z^fz1PQCK&l&mQWWI^+Aa1hnNoBb{FC87#0f%S# z)zzHF6mj4<G9kv9>7f(N8NJZpG$v~2`sb-b+9NcNyFXT-`o|R$|6sD-NjOp)ZaRN{ z4(4}RkqrtG1BL3>!h&_PvD3SE++`6C7^v~XpTPSB1hT+3xaQhg&zY!L`Z^ic9rrvs zD(dL;v=j<u*)KA!jiRQyICTpN7?!p!VvhoaoHS9H2<gAb>=UI}2~Zo2@Gk4A&X8Il z8dXlD9kp|tn^SLIt`z=yToRL$+j@B5%V`~*oLIZNC;$AZyekS84q11yP(njN0R^P! z-@hIo&(>m#8Jk*KNU>C|{^Z!Uu3q?egCz3s^whB?hDV3Tgh$`;2E727PDf`ahY&#n zlI(p@_tmV5=>5@G7JPh+W-6K#RFHaz;Zn3M^n9ftP-tLxgQ>>2Nn$tIv`%6rfpGOs zxg*CK8s&jpW{V^wB->m4;enTsP1VUEokV$O^}5fayIx*ie_$3bE2xg>(0<Wj11$oZ zgMvla@Ud4JAVtnHY4wqoSB;h&n@3Pk(ar7LP9;ytjrgD)5x~O28bLRSjEqdr$f)_A zQ-jeA;Kw3@cvS2ld-Em>sx$FL;Z2ZNu3m>B%Rr_beF%QVnAdE3kF0}3IUHi=`eeS( zhLVE=0~;F~(;$a6e?fK^J!$jzCIU-N69jAJc2w3}Hsp)-w{PDPlag|?LdMuUleHJU z-@SXMy;T7dzTF6L`*~u_GGk#eE|!>(plNFQe*6nL1%+8HRHXE#ho1~Qe~?#et^z_r zLQG;o_nJM6FuqS$2fJWjJZ;@9KwdU5_p@8!dlP)OjTEw}nw<R#ck^yUU<fg}dfawK zQ!cQ$x;mk&OLVu*kQI#fk;28rg-PK38K2yml&yIjQ#U-Sb*}Gyzy&FKBr0-vLPCNm z9;5Avkhht`SSA|*5s`+-2x$B+{}HaQ*2-c?2kNtufrjAE!xKm&(BWnBslJLu6cZEU z<>l1`B|O!}#$1UFQd3qI1vZA=wYu&b<B>@rF^E_F*+^cfrrxzsnSHFC8a3Brr4uPA z?D9z@=+UtegKg{V9v&XV6cl`}1LTqfkqr3t5gC>rDQ0UTfBaCg;VT?#OVwB)l(n&; zbzZ3Mw{QHg?!BniNb~W0BXOd|BV^RE9?LH<kUV<Os``MgOh4YC$5aXrJ6b6CQLv__ z1`Ka{dfIZYJKOBI{TH|!KhJ?avB@9n4^{L1g<3qlqxfMp@sAgktCJ^1QBzkpecV|y zhxkq5r?A@Xi61$cO!kx>yh)bX3RL5kxG=b=!EHNd4`Wus7ME3dC#TAk4mR@%^hjwC z|7bBrydcm%e5kK4E8!gLHs{!O_ccP{rcFU*P|xc-_VPGwUQ~CUJ}A1m;-{`IYiQv1 z_xA^ux&v-g5$WfstssN4D;R<Yp4M<NzM`LNVd<HfR?Wt!i11BKEt&>8;R2&$Sc_%~ zdS(=1lj`d9y9CE1=?A?Nm%QKvla`id5LxHixXj4Ns928;A_w$FBQh@U-<K2@Tg&0> zn^gtCU@(=ih!~xAQyu-|y*;|!-CdQA=fS{IMs%=YzF%%Ys#_FsNul$^oLmz^XVD?= zb((uCEFzM48GNi_0biDhX9#b|7%EOnb=LdxED{!Qh=2lz$`uAHBda~^Agdj<Z=PFU zpD5~mj7&v&L&q>WCK0$VwWiL{8*tj1CmJF?Y^{hA@lADTdVih{&zA4D81yEf-{E)L zz*J?Uv1wg3@Zz2+?GVt@I|c;}?7c~&JTCN1(SuT2TK|~=*{@pvQR>Z`UYdHw!l}`f zX6H&M6cj}P`fOLqQkB-eIiiWzRW&vA3=Gj1CG_k~&Wp7PA7bP}2kzR(6GE5TJ<BsH zOPdanQ1C)P<3;fADG+9olw1f=5G39Iv+Cw~e?@XHBErPZV$;@}<g?)y-MaByn4X8C z#aYbRNW#><LZ>fFxP{wYggErbik37gqop;|^v05VaNzt_$JA66oZ|3fIfaCrSam`w z*YTk9%1%y9c6N54*(8OUPa#KnL9N(bmK!2z6+Vyqj|bhZw-RfPi;Y)So$RWX>P=zb z!ebN0M~+ek<azUX%kFAz_+4UcIJ+XtZBIzNL~3-fyI%|-b@=;Z-dZ)+xUyL@9kfj- zFKDlAE-eukX~uv)tjoM^rf>Yx2ay%@x#ERMU0q%2@+|tn_$-=evHP!h644pstn)?> zFSo&g#aDFh?Q@Q&$9SfDS<tZ`#_8!P=y_+SrzNGN!s<hIM-s`!{CQb!j|&3Mw)?^m zF5!mPa?-&mp*71WitjK^j1C`-vg?7pW&PQ2r(V#7LF4c0)5A<EP9+EKmk>wB$SW3? z?UncYUcy;Ta5Y|%F_$-2SD>meGBXcsyQ^Y&IT#nHKXNcIjE2Vh9dV^WMHU0#9#!45 zG4QQJL@5u$am2Tl>TLipigYkHaAunVtt}%ft1akt10OF&jWVXpeAbcr`omEU<8*8V zj8ydI-@w~p9AoL}*<G$Q2ksZS6*1@vi>&;cvUrN?k?b?P*}#Nv%&`j&)doj~d2ovO z`t|GH{{HsuLt?~NFT-)fM6b~7+Z=?LV_ZcPX@CB6)nrABeJ0Yx*@cCXdYjQQHT>T& z*w;F@pY%i*8UHdJ?v-K7EzJayYrzkv^Qtv95*)C8#png^p6BnhdxS(>B<Og=<Um?s z7E?iTfj=ufTs<)s4i1l~sH(a;HrNIC4iCwC`*YCXdEjU$&@sXk`0GH=_TNm?)ZA>x zr@OhisSy(LVi(}r!mF|+bih?DRI?2eK6PPmTI$G<6_ql3YF=ycWT@fj=7l)Xdcq8p z#`isxS>-n8=EA{tczCI$sTsO@I=N&hH>i$7nY(Ryc0I=y`u>F|R`x%6X>Fa`*yt&F zh2$`Ib2`$c^4d{2@b1s=(7UxmaUT|)-t$pufO;+A<?hs({P|nX1cV=7$9u!?_NWQX zKzsI6TizlC35k`hZA5J?J2`eVo-Tos{;`Ay&)iO{rxDRH`v_R%BF*pF7`&XEoTs-u znPJs^o_(8B=%{LQ!R^y5s-6@C^zFw?R};J~EX`G{F)Rhl%uzyfM3LU@rc0+EMJaLk zArp6g5;K2zCX%MT*9|odFm+JErFhkBY;E`6`HSAVuC|=sfPM8`Q(kh-V~ouL!PR*D z^|%lQgRzOw%u24b>9M+^BwYa1j>+l-CA@$BJ|@_2jIEXT>AEgNjqCcoz-C}$mLHwm z1XAqs7Ih5@NqDkx%L@8$<lroLFwE!J%8V+GoLQnDT?BLL2K9eKzaU2ZvYW;b*znyA z3Ax*j9`SNCQBfHq3VTVjYh=w>>himc`{tLHFY~Rr`5HBu<IU;cYBx}(>z%kzEA{F^ zS>Y>H8`RX*U9*P2oy<4?B64(fC3Le3>dXbG<0a7rY2zjT`@;4%i247U{8TwAdN^u& oGfXBl)Ji|73SpS;+ou<Rs6w}dPGXr7{JaV%$*IfMN?U&VAG@5P-~a#s diff --git a/indra/newview/skins/minimal/textures/textures.xml b/indra/newview/skins/minimal/textures/textures.xml deleted file mode 100644 index e3ed01721a5..00000000000 --- a/indra/newview/skins/minimal/textures/textures.xml +++ /dev/null @@ -1,11 +0,0 @@ - -<textures version="101"> - <texture name="Button_Separator" file_name="bottomtray/button_separator.png" preload="true" /> - <texture name="arrow_keys.png"/> - <texture name="click_to_move" file_name="click_to_move.png"/> - <texture name="bottomtray_close_off" file_name="bottomtray/close_off.png" preload="true" /> - <texture name="bottomtray_close_over" file_name="bottomtray/close_over.png" preload="true" /> - <texture name="bottomtray_close_press" file_name="bottomtray/close_press.png" preload="true" /> - <texture name="Speak_Btn_Off" file_name="bottomtray/Speak_Btn_Off.png" preload="true" scale.left="4" scale.top="16" scale.right="8" scale.bottom="4" /> - <texture name="Speak_Btn_Selected_Press" file_name="bottomtray/Speak_Btn_Selected_Press.png" preload="true" scale.left="4" scale.top="16" scale.right="8" scale.bottom="4" /> - </textures> diff --git a/indra/newview/skins/minimal/xui/da/floater_camera.xml b/indra/newview/skins/minimal/xui/da/floater_camera.xml deleted file mode 100644 index 5b7ef6db546..00000000000 --- a/indra/newview/skins/minimal/xui/da/floater_camera.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="camera_floater" title=""> - <floater.string name="rotate_tooltip"> - Roter kamera omkring fokus - </floater.string> - <floater.string name="zoom_tooltip"> - Zoom kamera mod fokus - </floater.string> - <floater.string name="move_tooltip"> - Flyt kamera op og ned, til venstre og højre - </floater.string> - <floater.string name="camera_modes_title"> - Kamera valg - </floater.string> - <floater.string name="pan_mode_title"> - Kredsløb zoom panorering - </floater.string> - <floater.string name="presets_mode_title"> - Forvalg - </floater.string> - <floater.string name="free_mode_title"> - Se objekt - </floater.string> - <panel name="controls"> - <panel name="preset_views_list"> - <panel_camera_item name="front_view"> - <panel_camera_item.text name="front_view_text"> - Se forfra - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="group_view"> - <panel_camera_item.text name="side_view_text"> - Se fra siden - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="rear_view"> - <panel_camera_item.text name="rear_view_text"> - Se bagfra - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="camera_modes_list"> - <panel_camera_item name="object_view"> - <panel_camera_item.text name="object_view_text"> - Se fra objekt - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="mouselook_view"> - <panel_camera_item.text name="mouselook_view_text"> - Førsteperson - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="zoom" tool_tip="Zoom kamera mod fokus"> - <joystick_rotate name="cam_rotate_stick" tool_tip="Kamera kredser rundt om fokus"/> - <slider_bar name="zoom_slider" tool_tip="Zoom kamera mod fokus"/> - <joystick_track name="cam_track_stick" tool_tip="Flyt kamera op og ned, venstre og højre"/> - </panel> - </panel> - <panel name="buttons"> - <button label="" name="presets_btn" tool_tip="Forvalg"/> - <button label="" name="pan_btn" tool_tip="Kredsløb zoom panorering"/> - <button label="" name="avatarview_btn" tool_tip="Kamera valg"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/da/floater_help_browser.xml b/indra/newview/skins/minimal/xui/da/floater_help_browser.xml deleted file mode 100644 index 0e2918e4e2d..00000000000 --- a/indra/newview/skins/minimal/xui/da/floater_help_browser.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_help_browser" title="HVORDAN"> - <floater.string name="loading_text"> - Henter... - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="external_controls"/> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/da/floater_media_browser.xml b/indra/newview/skins/minimal/xui/da/floater_media_browser.xml deleted file mode 100644 index 42fbdeaa9ea..00000000000 --- a/indra/newview/skins/minimal/xui/da/floater_media_browser.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="MEDIA BROWSER"> - <floater.string name="home_page_url"> - http://www.secondlife.com - </floater.string> - <floater.string name="support_page_url"> - http://support.secondlife.com - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button label="Tilbage" name="back"/> - <button label="Frem" name="forward"/> - <button label="Genlæs" name="reload"/> - <button label="Go" name="go"/> - </layout_panel> - <layout_panel name="time_controls"> - <button label="tilbage" name="rewind"/> - <button label="stop" name="stop"/> - <button label="fremad" name="seek"/> - </layout_panel> - <layout_panel name="parcel_owner_controls"> - <button label="Send denne side til parcel" name="assign"/> - </layout_panel> - <layout_panel name="external_controls"> - <button label="Ã…ben i min internetbrowser" name="open_browser"/> - <check_box label="Ã…ben altid i min internetbrowser" name="open_always"/> - <button label="Luk" name="close"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/da/floater_nearby_chat.xml b/indra/newview/skins/minimal/xui/da/floater_nearby_chat.xml deleted file mode 100644 index bd17224259a..00000000000 --- a/indra/newview/skins/minimal/xui/da/floater_nearby_chat.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="CHAT NÆRVED"> - <check_box label="Oversæt chat (hÃ¥ndteret af Google)" name="translate_chat_checkbox"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/da/floater_web_content.xml b/indra/newview/skins/minimal/xui/da/floater_web_content.xml deleted file mode 100644 index 0410f743246..00000000000 --- a/indra/newview/skins/minimal/xui/da/floater_web_content.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_web_content" title=""> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button name="back" tool_tip="GÃ¥ bagud"/> - <button name="forward" tool_tip="GÃ¥ frem"/> - <button name="stop" tool_tip="Stop"/> - <button name="reload" tool_tip="Genindlæs side"/> - <combo_box name="address" tool_tip="Indtast URL her"/> - <icon name="media_secure_lock_flag" tool_tip="Sikker browsing"/> - <button name="popexternal" tool_tip="Ã…ben denne URL i din normale internet browser"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/da/inspect_avatar.xml b/indra/newview/skins/minimal/xui/da/inspect_avatar.xml deleted file mode 100644 index dc1ed562eb2..00000000000 --- a/indra/newview/skins/minimal/xui/da/inspect_avatar.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_avatar"> - <string name="Subtitle"> - [AGE] - </string> - <string name="Details"> - [SL_PROFILE] - </string> - <text name="user_details"> - Dette er min second life beskrivelse og jeg synes den er rigtig god. Men af en eller ande grund er min beskrivelse meget lang fordi jeg taler en hel masse - </text> - <slider name="volume_slider" tool_tip="Stemme lydstyrke" value="0.5"/> - <button label="Tilføj ven" name="add_friend_btn"/> - <button label="IM" name="im_btn"/> - <button label="Profil" name="view_profile_btn"/> - <panel name="moderator_panel"> - <button label="SlÃ¥ stemme-chat fra" name="disable_voice"/> - <button label="SlÃ¥ stemme-chat til" name="enable_voice"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/da/inspect_object.xml b/indra/newview/skins/minimal/xui/da/inspect_object.xml deleted file mode 100644 index 78ccc5b8699..00000000000 --- a/indra/newview/skins/minimal/xui/da/inspect_object.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_object"> - <string name="Creator"> - Af [CREATOR] - </string> - <string name="CreatorAndOwner"> - Af [CREATOR] -Owner [OWNER] - </string> - <string name="Price"> - L$[AMOUNT] - </string> - <string name="PriceFree"> - Gratis! - </string> - <string name="Touch"> - Berør - </string> - <string name="Sit"> - Sid - </string> - <text name="object_name" value="Test objekt navn der reelt er to linier og meget lang"/> - <text name="price_text"> - L$30,000 - </text> - <text name="object_description"> - Dette er en meget lang beskrivelse af et objekt udformet sÃ¥ den fylder mindst 80 karakterer i længden eller endda nærmere 120 pÃ¥ dette sted. Man kan aldrig vide.... - </text> - <button label="Køb" name="buy_btn"/> - <button label="Betal" name="pay_btn"/> - <button label="Tag kopi" name="take_free_copy_btn"/> - <button label="Berør" name="touch_btn"/> - <button label="Sid" name="sit_btn"/> - <button label="Ã…ben" name="open_btn"/> - <icon name="secure_browsing" tool_tip="Sikker Browsing"/> - <button label="Mere" name="more_info_btn"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/da/menu_add_wearable_gear.xml b/indra/newview/skins/minimal/xui/da/menu_add_wearable_gear.xml deleted file mode 100644 index 1e8301dc4cb..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_add_wearable_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Add Wearable Gear Menu"> - <menu_item_check label="Sortér efter nyeste" name="sort_by_most_recent"/> - <menu_item_check label="Sortér efter navn" name="sort_by_name"/> - <menu_item_check label="Sortér efter type" name="sort_by_type"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_attachment_other.xml b/indra/newview/skins/minimal/xui/da/menu_attachment_other.xml deleted file mode 100644 index ca7b1849424..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_attachment_other.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_avatar_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Profil" name="Profile..."/> - <menu_item_call label="Tilføj ven" name="Add Friend"/> - <menu_item_call label="Send besked" name="Send IM..."/> - <menu_item_call label="Opkald" name="Call"/> - <menu_item_call label="Invitér til gruppe" name="Invite..."/> - <menu_item_call label="Blokér" name="Avatar Mute"/> - <menu_item_call label="Rapportér" name="abuse"/> - <menu_item_call label="Frys" name="Freeze..."/> - <menu_item_call label="Smid ud" name="Eject..."/> - <menu_item_call label="Debug teksturer" name="Debug..."/> - <menu_item_call label="Zoom ind" name="Zoom In"/> - <menu_item_call label="Betal" name="Pay..."/> - <menu_item_call label="Objekt profil" name="Object Inspect"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_attachment_self.xml b/indra/newview/skins/minimal/xui/da/menu_attachment_self.xml deleted file mode 100644 index 35ba27f9e23..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_attachment_self.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Attachment Pie"> - <menu_item_call label="Berør" name="Attachment Object Touch"/> - <menu_item_call label="Redigér" name="Edit..."/> - <menu_item_call label="Tag af" name="Detach"/> - <menu_item_call label="Sid ned" name="Sit Down Here"/> - <menu_item_call label="StÃ¥ op" name="Stand Up"/> - <menu_item_call label="Udseende" name="Change Outfit"/> - <menu_item_call label="Redigér mit sæt" name="Edit Outfit"/> - <menu_item_call label="Redigér min figur" name="Edit My Shape"/> - <menu_item_call label="Venner" name="Friends..."/> - <menu_item_call label="Grupper" name="Groups..."/> - <menu_item_call label="Profil" name="Profile..."/> - <menu_item_call label="Debug teksturer" name="Debug..."/> - <menu_item_call label="Smid" name="Drop"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_avatar_icon.xml b/indra/newview/skins/minimal/xui/da/menu_avatar_icon.xml deleted file mode 100644 index 26b58ce1ab4..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_avatar_icon.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Avatar Icon Menu"> - <menu_item_call label="Profil" name="Show Profile"/> - <menu_item_call label="Send besked..." name="Send IM"/> - <menu_item_call label="Tilføj ven..." name="Add Friend"/> - <menu_item_call label="Fjern ven..." name="Remove Friend"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_avatar_other.xml b/indra/newview/skins/minimal/xui/da/menu_avatar_other.xml deleted file mode 100644 index a778dedf0bc..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_avatar_other.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_attachment_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Profil" name="Profile..."/> - <menu_item_call label="Tilføj ven" name="Add Friend"/> - <menu_item_call label="Besked" name="Send IM..."/> - <menu_item_call label="Opkald" name="Call"/> - <menu_item_call label="Invitér til gruppe" name="Invite..."/> - <menu_item_call label="Blokér" name="Avatar Mute"/> - <menu_item_call label="Rapportér" name="abuse"/> - <menu_item_call label="Frys" name="Freeze..."/> - <menu_item_call label="Smid ud" name="Eject..."/> - <menu_item_call label="Debug Teksturer" name="Debug..."/> - <menu_item_call label="Zoom ind" name="Zoom In"/> - <menu_item_call label="Betal" name="Pay..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_avatar_self.xml b/indra/newview/skins/minimal/xui/da/menu_avatar_self.xml deleted file mode 100644 index 0080f7a59ea..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_avatar_self.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Self Pie"> - <menu_item_call label="Sid ned" name="Sit Down Here"/> - <menu_item_call label="StÃ¥ op" name="Stand Up"/> - <context_menu label="Tag af" name="Take Off >"> - <context_menu label="Tøj" name="Clothes >"> - <menu_item_call label="Trøje" name="Shirt"/> - <menu_item_call label="Bukser" name="Pants"/> - <menu_item_call label="Nederdel" name="Skirt"/> - <menu_item_call label="Sko" name="Shoes"/> - <menu_item_call label="Strømper" name="Socks"/> - <menu_item_call label="Jakke" name="Jacket"/> - <menu_item_call label="Handsker" name="Gloves"/> - <menu_item_call label="Undertrøje" name="Self Undershirt"/> - <menu_item_call label="Underbukser" name="Self Underpants"/> - <menu_item_call label="Tatovering" name="Self Tattoo"/> - <menu_item_call label="Alpha" name="Self Alpha"/> - <menu_item_call label="Alt tøj" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="Tag af" name="Object Detach"/> - <menu_item_call label="Tag alt af" name="Detach All"/> - </context_menu> - <menu_item_call label="Mit udseende" name="Chenge Outfit"/> - <menu_item_call label="Redigér mit sæt" name="Edit Outfit"/> - <menu_item_call label="Redigér min form" name="Edit My Shape"/> - <menu_item_call label="Venner" name="Friends..."/> - <menu_item_call label="Grupper" name="Groups..."/> - <menu_item_call label="Profil" name="Profile..."/> - <menu_item_call label="Debug teksturer" name="Debug..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_bottomtray.xml b/indra/newview/skins/minimal/xui/da/menu_bottomtray.xml deleted file mode 100644 index 9ac296904a8..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_bottomtray.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_camera_move_controls_menu"> - <menu_item_check label="Stemme aktiveret" name="EnableVoiceChat"/> - <menu_item_check label="Faste bevægelser" name="ShowGestureButton"/> - <menu_item_check label="Bevægelse knap" name="ShowMoveButton"/> - <menu_item_check label="Vis knap" name="ShowCameraButton"/> - <menu_item_check label="Foto knap" name="ShowSnapshotButton"/> - <menu_item_check label="Bygge knap" name="ShowBuildButton"/> - <menu_item_check label="Søge knap" name="ShowSearchButton"/> - <menu_item_check label="Kort knap" name="ShowWorldMapButton"/> - <menu_item_check label="Mini-Map button" name="ShowMiniMapButton"/> - <menu_item_call label="Klip" name="NearbyChatBar_Cut"/> - <menu_item_call label="Kopiér" name="NearbyChatBar_Copy"/> - <menu_item_call label="Sæt ind" name="NearbyChatBar_Paste"/> - <menu_item_call label="Slet" name="NearbyChatBar_Delete"/> - <menu_item_call label="Vælg alt" name="NearbyChatBar_Select_All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_cof_attachment.xml b/indra/newview/skins/minimal/xui/da/menu_cof_attachment.xml deleted file mode 100644 index 9d7fc0f2239..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_cof_attachment.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Attachment"> - <menu_item_call label="Tag af" name="detach"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_cof_body_part.xml b/indra/newview/skins/minimal/xui/da/menu_cof_body_part.xml deleted file mode 100644 index 0e90d5a3aeb..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_cof_body_part.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Body"> - <menu_item_call label="Erstat" name="replace"/> - <menu_item_call label="Redigér" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_cof_clothing.xml b/indra/newview/skins/minimal/xui/da/menu_cof_clothing.xml deleted file mode 100644 index 16c225b7d99..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_cof_clothing.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Clothing"> - <menu_item_call label="Tag af" name="take_off"/> - <menu_item_call label="Redigér" name="edit"/> - <menu_item_call label="Erstat" name="replace"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_cof_gear.xml b/indra/newview/skins/minimal/xui/da/menu_cof_gear.xml deleted file mode 100644 index f44369fd843..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_cof_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear COF"> - <menu label="Nyt tøj" name="COF.Gear.New_Clothes"/> - <menu label="Nye kropsdele" name="COF.Geear.New_Body_Parts"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_edit.xml b/indra/newview/skins/minimal/xui/da/menu_edit.xml deleted file mode 100644 index 3752f42b1c4..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_edit.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu label="Redigér" name="Edit"> - <menu_item_call label="Fortryd" name="Undo"/> - <menu_item_call label="Gendan" name="Redo"/> - <menu_item_call label="Klip" name="Cut"/> - <menu_item_call label="Kopiér" name="Copy"/> - <menu_item_call label="Sæt ind" name="Paste"/> - <menu_item_call label="Slet" name="Delete"/> - <menu_item_call label="Duplikér" name="Duplicate"/> - <menu_item_call label="Marker alt" name="Select All"/> - <menu_item_call label="Fjern markering" name="Deselect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_favorites.xml b/indra/newview/skins/minimal/xui/da/menu_favorites.xml deleted file mode 100644 index a4793e294cb..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_favorites.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Teleportér" name="Teleport To Landmark"/> - <menu_item_call label="Vis/ret landemærke" name="Landmark Open"/> - <menu_item_call label="Kopiér SLurl" name="Copy slurl"/> - <menu_item_call label="Vis pÃ¥ kort" name="Show On Map"/> - <menu_item_call label="Kopiér" name="Landmark Copy"/> - <menu_item_call label="Sæt ind" name="Landmark Paste"/> - <menu_item_call label="Slet" name="Delete"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_gesture_gear.xml b/indra/newview/skins/minimal/xui/da/menu_gesture_gear.xml deleted file mode 100644 index a9010e99b65..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_gesture_gear.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_gesture_gear"> - <menu_item_call label="Tilføj/fjern fra favoritter" name="activate"/> - <menu_item_call label="Kopiér" name="copy_gesture"/> - <menu_item_call label="Sæt ind" name="paste"/> - <menu_item_call label="Kopiér UUID" name="copy_uuid"/> - <menu_item_call label="Gem til nuværende sæt" name="save_to_outfit"/> - <menu_item_call label="Editér" name="edit_gesture"/> - <menu_item_call label="Undersøg" name="inspect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_group_plus.xml b/indra/newview/skins/minimal/xui/da/menu_group_plus.xml deleted file mode 100644 index 97fbec1ed1d..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_group_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Meld ind i gruppe..." name="item_join"/> - <menu_item_call label="Ny gruppe..." name="item_new"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_hide_navbar.xml b/indra/newview/skins/minimal/xui/da/menu_hide_navbar.xml deleted file mode 100644 index d96a8a8a17e..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_hide_navbar.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_navbar_menu"> - <menu_item_check label="Vis navigationsbjælke" name="ShowNavbarNavigationPanel"/> - <menu_item_check label="Vis favoritbjælke" name="ShowNavbarFavoritesPanel"/> - <menu_item_check label="Vis min lokation bjælke" name="ShowMiniLocationPanel"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_im_well_button.xml b/indra/newview/skins/minimal/xui/da/menu_im_well_button.xml deleted file mode 100644 index 4889230919b..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_im_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="IM Well Button Context Menu"> - <menu_item_call label="Luk alle" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_imchiclet_adhoc.xml b/indra/newview/skins/minimal/xui/da/menu_imchiclet_adhoc.xml deleted file mode 100644 index f64a6ad455e..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_imchiclet_adhoc.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet AdHoc Menu"> - <menu_item_call label="Afslut" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_imchiclet_group.xml b/indra/newview/skins/minimal/xui/da/menu_imchiclet_group.xml deleted file mode 100644 index b89d9a57895..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_imchiclet_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet Group Menu"> - <menu_item_call label="Gruppe info" name="Show Profile"/> - <menu_item_call label="Vis session" name="Chat"/> - <menu_item_call label="Afslut session" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_imchiclet_p2p.xml b/indra/newview/skins/minimal/xui/da/menu_imchiclet_p2p.xml deleted file mode 100644 index 6ebc40a8dd0..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_imchiclet_p2p.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet P2P Menu"> - <menu_item_call label="Profil" name="Show Profile"/> - <menu_item_call label="Tilføj ven" name="Add Friend"/> - <menu_item_call label="Vis session" name="Send IM"/> - <menu_item_call label="Afslut session" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_inspect_avatar_gear.xml b/indra/newview/skins/minimal/xui/da/menu_inspect_avatar_gear.xml deleted file mode 100644 index 8da35adb1b3..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Profil" name="view_profile"/> - <menu_item_call label="Tilføj ven" name="add_friend"/> - <menu_item_call label="Besked" name="im"/> - <menu_item_call label="Opkald" name="call"/> - <menu_item_call label="Teleportér" name="teleport"/> - <menu_item_call label="Invitér til gruppe" name="invite_to_group"/> - <menu_item_call label="Blokér" name="block"/> - <menu_item_call label="Fjern blokering" name="unblock"/> - <menu_item_call label="Rapportér" name="report"/> - <menu_item_call label="Frys" name="freeze"/> - <menu_item_call label="Smid ud" name="eject"/> - <menu_item_call label="Spark" name="kick"/> - <menu_item_call label="CSR" name="csr"/> - <menu_item_call label="Debug teksturer" name="debug"/> - <menu_item_call label="Find pÃ¥ kort" name="find_on_map"/> - <menu_item_call label="Zoom ind" name="zoom_in"/> - <menu_item_call label="Betal" name="pay"/> - <menu_item_call label="Del" name="share"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_inspect_object_gear.xml b/indra/newview/skins/minimal/xui/da/menu_inspect_object_gear.xml deleted file mode 100644 index e28842836dd..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_inspect_object_gear.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<menu name="Gear Menu"> - <menu_item_call label="Berør" name="touch"/> - <menu_item_call label="Sid her" name="sit"/> - <menu_item_call label="betal" name="pay"/> - <menu_item_call label="Køb" name="buy"/> - <menu_item_call label="Tag" name="take"/> - <menu_item_call label="tag kopi" name="take_copy"/> - <menu_item_call label="Ã…ben" name="open"/> - <menu_item_call label="Redigér" name="edit"/> - <menu_item_call label="Tag pÃ¥" name="wear"/> - <menu_item_call label="Tilføj" name="add"/> - <menu_item_call label="Rapportér" name="report"/> - <menu_item_call label="Blokér" name="block"/> - <menu_item_call label="Zoom ind" name="zoom_in"/> - <menu_item_call label="Fjern" name="remove"/> - <menu_item_call label="Mere info" name="more_info"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_inspect_self_gear.xml b/indra/newview/skins/minimal/xui/da/menu_inspect_self_gear.xml deleted file mode 100644 index 887c6484bc3..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_inspect_self_gear.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Sid ned" name="Sit Down Here"/> - <menu_item_call label="StÃ¥ op" name="Stand Up"/> - <context_menu label="Tag af" name="Take Off >"> - <context_menu label="Tøj" name="Clothes >"> - <menu_item_call label="Trøje" name="Shirt"/> - <menu_item_call label="Bukser" name="Pants"/> - <menu_item_call label="Nederdel" name="Skirt"/> - <menu_item_call label="Sko" name="Shoes"/> - <menu_item_call label="Strømper" name="Socks"/> - <menu_item_call label="Jakke" name="Jacket"/> - <menu_item_call label="Handsker" name="Gloves"/> - <menu_item_call label="Undertrøje" name="Self Undershirt"/> - <menu_item_call label="Underbukser" name="Self Underpants"/> - <menu_item_call label="Tatovering" name="Self Tattoo"/> - <menu_item_call label="Alpha" name="Self Alpha"/> - <menu_item_call label="Alt tøj" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="Tag af" name="Object Detach"/> - <menu_item_call label="Tag alt af" name="Detach All"/> - </context_menu> - <menu_item_call label="Skift sæt" name="Chenge Outfit"/> - <menu_item_call label="Redigér sæt" name="Edit Outfit"/> - <menu_item_call label="Redigér min figur" name="Edit My Shape"/> - <menu_item_call label="Mine venner" name="Friends..."/> - <menu_item_call label="Mine grupper" name="Groups..."/> - <menu_item_call label="Min profil" name="Profile..."/> - <menu_item_call label="Debug teksturer" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_inv_offer_chiclet.xml b/indra/newview/skins/minimal/xui/da/menu_inv_offer_chiclet.xml deleted file mode 100644 index c3b03232bf1..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_inv_offer_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="InvOfferChiclet Menu"> - <menu_item_call label="Luk" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_inventory.xml b/indra/newview/skins/minimal/xui/da/menu_inventory.xml deleted file mode 100644 index 35551318d17..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_inventory.xml +++ /dev/null @@ -1,84 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Del" name="Share"/> - <menu_item_call label="Køb" name="Task Buy"/> - <menu_item_call label="Ã¥ben" name="Task Open"/> - <menu_item_call label="Afspil" name="Task Play"/> - <menu_item_call label="Egenskaber" name="Task Properties"/> - <menu_item_call label="Omdøb" name="Task Rename"/> - <menu_item_call label="Slet" name="Task Remove"/> - <menu_item_call label="Tøm papirkurv" name="Empty Trash"/> - <menu_item_call label="Tøm 'Lost and found'" name="Empty Lost And Found"/> - <menu_item_call label="Ny mappe" name="New Folder"/> - <menu_item_call label="Nyt script" name="New Script"/> - <menu_item_call label="Ny note" name="New Note"/> - <menu_item_call label="Ny bevægelse" name="New Gesture"/> - <menu label="Nyt tøj" name="New Clothes"> - <menu_item_call label="Ny trøje" name="New Shirt"/> - <menu_item_call label="Nye bukser" name="New Pants"/> - <menu_item_call label="Nye sko" name="New Shoes"/> - <menu_item_call label="Nye strømper" name="New Socks"/> - <menu_item_call label="Ny jakke" name="New Jacket"/> - <menu_item_call label="Ny nederdel" name="New Skirt"/> - <menu_item_call label="Nye handsker" name="New Gloves"/> - <menu_item_call label="Ny undertrøje" name="New Undershirt"/> - <menu_item_call label="Nye underbukser" name="New Underpants"/> - <menu_item_call label="Nyt alpha lag" name="New Alpha Mask"/> - <menu_item_call label="Ny tatovering" name="New Tattoo"/> - </menu> - <menu label="Nye kropsdele" name="New Body Parts"> - <menu_item_call label="Ny figur" name="New Shape"/> - <menu_item_call label="Nyt hud" name="New Skin"/> - <menu_item_call label="Nyt hÃ¥r" name="New Hair"/> - <menu_item_call label="Nye øjne" name="New Eyes"/> - </menu> - <menu label="Ændre type" name="Change Type"> - <menu_item_call label="Standard" name="Default"/> - <menu_item_call label="Handsker" name="Gloves"/> - <menu_item_call label="Jakke" name="Jacket"/> - <menu_item_call label="Bukser" name="Pants"/> - <menu_item_call label="Kropsbygning" name="Shape"/> - <menu_item_call label="Sko" name="Shoes"/> - <menu_item_call label="Trøje" name="Shirt"/> - <menu_item_call label="Nederdel" name="Skirt"/> - <menu_item_call label="Underbukser" name="Underpants"/> - <menu_item_call label="Undertrøje" name="Undershirt"/> - </menu> - <menu_item_call label="Teleport" name="Landmark Open"/> - <menu_item_call label="Ã¥ben" name="Animation Open"/> - <menu_item_call label="Ã¥ben" name="Sound Open"/> - <menu_item_call label="Erstat pÃ¥klædning" name="Replace Outfit"/> - <menu_item_call label="Tilføj til pÃ¥klædning" name="Add To Outfit"/> - <menu_item_call label="Slet ting" name="Purge Item"/> - <menu_item_call label="Genskab ting" name="Restore Item"/> - <menu_item_call label="Ã¥ben" name="Open"/> - <menu_item_call label="Ã…ben original" name="Open Original"/> - <menu_item_call label="Egenskaber" name="Properties"/> - <menu_item_call label="Omdøb" name="Rename"/> - <menu_item_call label="Kopiér asset UUID" name="Copy Asset UUID"/> - <menu_item_call label="Kopiér" name="Copy"/> - <menu_item_call label="Indsæt" name="Paste"/> - <menu_item_call label="Sæt ind som link" name="Paste As Link"/> - <menu_item_call label="Slet" name="Remove Link"/> - <menu_item_call label="Slet" name="Delete"/> - <menu_item_call label="Slet systemfolder" name="Delete System Folder"/> - <menu_item_call label="start konference chat" name="Conference Chat Folder"/> - <menu_item_call label="Afspil" name="Sound Play"/> - <menu_item_call label="Om landemærke" name="About Landmark"/> - <menu_item_call label="Afspil i verden" name="Animation Play"/> - <menu_item_call label="Afspil lokalt" name="Animation Audition"/> - <menu_item_call label="Send privat besked (IM)" name="Send Instant Message"/> - <menu_item_call label="Tilbyd teleport..." name="Offer Teleport..."/> - <menu_item_call label="start konference Chat" name="Conference Chat"/> - <menu_item_call label="Aktivér" name="Activate"/> - <menu_item_call label="Deaktivér" name="Deactivate"/> - <menu_item_call label="Gem som" name="Save As"/> - <menu_item_call label="Tag af dig selv" name="Detach From Yourself"/> - <menu_item_call label="Tag pÃ¥" name="Wearable And Object Wear"/> - <menu label="Vedhæft" name="Attach To"/> - <menu label="Vedhæft til HUD" name="Attach To HUD"/> - <menu_item_call label="Redigér" name="Wearable Edit"/> - <menu_item_call label="Tilføj" name="Wearable Add"/> - <menu_item_call label="Tag af" name="Take Off"/> - <menu_item_call label="--ingen valg--" name="--no options--"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_inventory_add.xml b/indra/newview/skins/minimal/xui/da/menu_inventory_add.xml deleted file mode 100644 index 07f70d7190d..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_inventory_add.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_inventory_add"> - <menu label="Hent" name="upload"> - <menu_item_call label="Billede (L$[COST])..." name="Upload Image"/> - <menu_item_call label="Lyd (L$[COST])..." name="Upload Sound"/> - <menu_item_call label="Animation (L$[COST])..." name="Upload Animation"/> - <menu_item_call label="Hent mange (L$[COST] pr. fil)..." name="Bulk Upload"/> - <menu_item_call label="Sæt standardværdier for upload rettigheder" name="perm prefs"/> - </menu> - <menu_item_call label="Ny mappe" name="New Folder"/> - <menu_item_call label="Nyt script" name="New Script"/> - <menu_item_call label="Ny note" name="New Note"/> - <menu_item_call label="Ny bevægelse" name="New Gesture"/> - <menu label="Nyt tøj" name="New Clothes"> - <menu_item_call label="Ny trøje" name="New Shirt"/> - <menu_item_call label="Nye bukser" name="New Pants"/> - <menu_item_call label="Nye sko" name="New Shoes"/> - <menu_item_call label="Nye strømper" name="New Socks"/> - <menu_item_call label="Ny jakke" name="New Jacket"/> - <menu_item_call label="Ny nederdel" name="New Skirt"/> - <menu_item_call label="Nye handsker" name="New Gloves"/> - <menu_item_call label="Ny undertrøje" name="New Undershirt"/> - <menu_item_call label="Nye underbukser" name="New Underpants"/> - <menu_item_call label="Nyt alpha lag" name="New Alpha"/> - <menu_item_call label="Ny tatovering" name="New Tattoo"/> - </menu> - <menu label="Nye kropsdele" name="New Body Parts"> - <menu_item_call label="Ny kropsbygning" name="New Shape"/> - <menu_item_call label="Ny hud" name="New Skin"/> - <menu_item_call label="Nyt hÃ¥r" name="New Hair"/> - <menu_item_call label="Nye øjne" name="New Eyes"/> - </menu> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_inventory_gear_default.xml b/indra/newview/skins/minimal/xui/da/menu_inventory_gear_default.xml deleted file mode 100644 index 4809b244635..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_inventory_gear_default.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_gear_default"> - <menu_item_call label="Nyt vindue" name="new_window"/> - <menu_item_check label="Sortér efter navn" name="sort_by_name"/> - <menu_item_check label="Sortér efter nyeste" name="sort_by_recent"/> - <menu_item_check label="Sortér altid mapper efter navn" name="sort_folders_by_name"/> - <menu_item_check label="Vis System mapper øverst" name="sort_system_folders_to_top"/> - <menu_item_call label="Vis filtre" name="show_filters"/> - <menu_item_call label="Nulstil filtre" name="reset_filters"/> - <menu_item_call label="Luk alle mapper" name="close_folders"/> - <menu_item_call label="Tøm "fundne genstande"" name="empty_lostnfound"/> - <menu_item_call label="Gem tekstur som" name="Save Texture As"/> - <menu_item_call label="Del" name="Share"/> - <menu_item_call label="Find original" name="Find Original"/> - <menu_item_call label="Find alle links" name="Find All Links"/> - <menu_item_call label="Tøm papirkurv" name="empty_trash"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_land.xml b/indra/newview/skins/minimal/xui/da/menu_land.xml deleted file mode 100644 index 1548f18f897..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_land.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Land Pie"> - <menu_item_call label="Om land" name="Place Information..."/> - <menu_item_call label="Sid her" name="Sit Here"/> - <menu_item_call label="Køb" name="Land Buy"/> - <menu_item_call label="Køb adgang" name="Land Buy Pass"/> - <menu_item_call label="Byg" name="Create"/> - <menu_item_call label="Tilpas terræn" name="Edit Terrain"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_landmark.xml b/indra/newview/skins/minimal/xui/da/menu_landmark.xml deleted file mode 100644 index 3cf2ffe375c..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_landmark.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="landmark_overflow_menu"> - <menu_item_call label="Kopiér SLurl" name="copy"/> - <menu_item_call label="Slet" name="delete"/> - <menu_item_call label="Opret favorit" name="pick"/> - <menu_item_call label="Tilføj til favorit bjælke" name="add_to_favbar"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_login.xml b/indra/newview/skins/minimal/xui/da/menu_login.xml deleted file mode 100644 index 0b7a5040ae4..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_login.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Login Menu"> - <menu label="Mig" name="File"> - <menu_item_call label="Indstillinger" name="Preferences..."/> - <menu_item_call label="Afslut [APP_NAME]" name="Quit"/> - </menu> - <menu label="Hjælp" name="Help"> - <menu_item_call label="[SECOND_LIFE] hjælp" name="Second Life Help"/> - <menu_item_call label="Om [APP_NAME]" name="About Second Life"/> - </menu> - <menu_item_check label="Vis debug menu" name="Show Debug Menu"/> - <menu label="Debug" name="Debug"> - <menu_item_call label="Vis debug opsætning" name="Debug Settings"/> - <menu_item_call label="UI/farve opsætning" name="UI/Color Settings"/> - <menu label="UI tests" name="UI Tests"/> - <menu_item_call label="Sæt vinduesstørrelse" name="Set Window Size..."/> - <menu_item_call label="Vis betingelser" name="TOS"/> - <menu_item_call label="Vis vigtig besked" name="Critical"/> - <menu_item_call label="Media Browser Test" name="Web Browser Test"/> - <menu_item_call label="Web Content Floater Test" name="Web Content Floater Test"/> - <menu_item_check label="Vis gitter vælger" name="Show Grid Picker"/> - <menu_item_call label="Vis notifikationskonsol" name="Show Notifications Console"/> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/da/menu_mini_map.xml b/indra/newview/skins/minimal/xui/da/menu_mini_map.xml deleted file mode 100644 index 186dbd476ae..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_mini_map.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Zoom tæt" name="Zoom Close"/> - <menu_item_call label="Zoom mellem" name="Zoom Medium"/> - <menu_item_call label="Zoom langt" name="Zoom Far"/> - <menu_item_call label="Zoom standard" name="Zoom Default"/> - <menu_item_check label="Rotér kort" name="Rotate Map"/> - <menu_item_check label="Auto centrér" name="Auto Center"/> - <menu_item_call label="Fjern ref." name="Stop Tracking"/> - <menu_item_call label="Verdenskort" name="World Map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_navbar.xml b/indra/newview/skins/minimal/xui/da/menu_navbar.xml deleted file mode 100644 index c04206824ac..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_navbar.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Navbar Menu"> - <menu_item_check label="Vis koordinater" name="Show Coordinates"/> - <menu_item_check label="Vis oplysninger om parcel" name="Show Parcel Properties"/> - <menu_item_call label="Landemærke" name="Landmark"/> - <menu_item_call label="Klip" name="Cut"/> - <menu_item_call label="Kopiér" name="Copy"/> - <menu_item_call label="Sæt ind" name="Paste"/> - <menu_item_call label="Slet" name="Delete"/> - <menu_item_call label="Vælg alt" name="Select All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_nearby_chat.xml b/indra/newview/skins/minimal/xui/da/menu_nearby_chat.xml deleted file mode 100644 index be532ad406d..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_nearby_chat.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="NearBy Chat Menu"> - <menu_item_call label="Vis personer tæt pÃ¥..." name="nearby_people"/> - <menu_item_check label="Vis blokeret tekst" name="muted_text"/> - <menu_item_check label="Vis venne-ikoner" name="show_buddy_icons"/> - <menu_item_check label="Vis navne" name="show_names"/> - <menu_item_check label="Vis ikoner og navne" name="show_icons_and_names"/> - <menu_item_call label="Font størrelse" name="font_size"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_notification_well_button.xml b/indra/newview/skins/minimal/xui/da/menu_notification_well_button.xml deleted file mode 100644 index 40b35b5fdd2..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_notification_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Notification Well Button Context Menu"> - <menu_item_call label="Luk alle" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_object.xml b/indra/newview/skins/minimal/xui/da/menu_object.xml deleted file mode 100644 index ba62ccf90ce..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_object.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Object Pie"> - <menu_item_call label="Berør" name="Object Touch"> - <menu_item_call.on_enable name="EnableTouch" parameter="Berør"/> - </menu_item_call> - <menu_item_call label="Redigér" name="Edit..."/> - <menu_item_call label="Byg" name="Build"/> - <menu_item_call label="Ã…ben" name="Open"/> - <menu_item_call label="Sid her" name="Object Sit"/> - <menu_item_call label="StÃ¥ op" name="Object Stand Up"/> - <menu_item_call label="Objekt profil" name="Object Inspect"/> - <menu_item_call label="Zoom In" name="Zoom In"/> - <context_menu label="Tag pÃ¥" name="Put On"> - <menu_item_call label="Tag pÃ¥" name="Wear"/> - <menu_item_call label="Tilføj" name="Add"/> - <context_menu label="Vedhæft" name="Object Attach"/> - <context_menu label="Vedhæft HUD" name="Object Attach HUD"/> - </context_menu> - <context_menu label="Administrér" name="Remove"> - <menu_item_call label="Rapportér misbrug" name="Report Abuse..."/> - <menu_item_call label="Blokér" name="Object Mute"/> - <menu_item_call label="Returnér" name="Return..."/> - </context_menu> - <menu_item_call label="Tag" name="Pie Object Take"/> - <menu_item_call label="Tag kopi" name="Take Copy"/> - <menu_item_call label="Betal" name="Pay..."/> - <menu_item_call label="Køb" name="Buy..."/> - <menu_item_call label="Slet" name="Delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_object_icon.xml b/indra/newview/skins/minimal/xui/da/menu_object_icon.xml deleted file mode 100644 index 08aeb633b64..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_object_icon.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Object Icon Menu"> - <menu_item_call label="Objekt Profil..." name="Object Profile"/> - <menu_item_call label="Blokér..." name="Block"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_outfit_gear.xml b/indra/newview/skins/minimal/xui/da/menu_outfit_gear.xml deleted file mode 100644 index 8b4c776496f..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_outfit_gear.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Outfit"> - <menu_item_call label="Tag pÃ¥ - Erstat nuværende sæt" name="wear"/> - <menu_item_call label="Tag pÃ¥ - Tilføj til nuværende sæt" name="wear_add"/> - <menu_item_call label="Tag af - Fjern fra nuværende sæt" name="take_off"/> - <menu label="Nyt tøj" name="New Clothes"> - <menu_item_call label="Ny trøje" name="New Shirt"/> - <menu_item_call label="Nye bukser" name="New Pants"/> - <menu_item_call label="Nye sko" name="New Shoes"/> - <menu_item_call label="Nye strømper" name="New Socks"/> - <menu_item_call label="Ny jakke" name="New Jacket"/> - <menu_item_call label="Ny nederdel" name="New Skirt"/> - <menu_item_call label="Nye handsker" name="New Gloves"/> - <menu_item_call label="Ny undertrøje" name="New Undershirt"/> - <menu_item_call label="Nye underbukser" name="New Underpants"/> - <menu_item_call label="Ny alpha" name="New Alpha"/> - <menu_item_call label="Ny tatovering" name="New Tattoo"/> - </menu> - <menu label="Nye kropsdele" name="New Body Parts"> - <menu_item_call label="Ny figur" name="New Shape"/> - <menu_item_call label="Nyt hud" name="New Skin"/> - <menu_item_call label="Nyt hÃ¥r" name="New Hair"/> - <menu_item_call label="Nye øjne" name="New Eyes"/> - </menu> - <menu_item_call label="Omdøb sæt" name="rename"/> - <menu_item_call label="Slet sæt" name="delete_outfit"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_outfit_tab.xml b/indra/newview/skins/minimal/xui/da/menu_outfit_tab.xml deleted file mode 100644 index d6a6f2724fe..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_outfit_tab.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit"> - <menu_item_call label="Tag pÃ¥ - Erstat nuværende sæt" name="wear_replace"/> - <menu_item_call label="Tag pÃ¥ - Tilføj til nuværende sæt" name="wear_add"/> - <menu_item_call label="Tag af - Fjern fra nuværende sæt" name="take_off"/> - <menu_item_call label="Redigér sæt" name="edit"/> - <menu_item_call label="Omdøb sæt" name="rename"/> - <menu_item_call label="Slet sæt" name="delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_participant_list.xml b/indra/newview/skins/minimal/xui/da/menu_participant_list.xml deleted file mode 100644 index 5951d3ffb98..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_participant_list.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Participant List Context Menu"> - <menu_item_check label="Sortér efter navn" name="SortByName"/> - <menu_item_check label="Sortér efter nylige talere" name="SortByRecentSpeakers"/> - <menu_item_call label="Profil" name="View Profile"/> - <menu_item_call label="Tilføj ven" name="Add Friend"/> - <menu_item_call label="Send besked" name="IM"/> - <menu_item_call label="Opkald" name="Call"/> - <menu_item_call label="Del" name="Share"/> - <menu_item_call label="Betal" name="Pay"/> - <menu_item_check label="Se person ikoner" name="View Icons"/> - <menu_item_check label="Blokér stemme" name="Block/Unblock"/> - <menu_item_check label="Blokér tekst" name="MuteText"/> - <context_menu label="Moderator valg" name="Moderator Options"> - <menu_item_check label="Tillad tekst chat" name="AllowTextChat"/> - <menu_item_call label="Sluk for denne deltager" name="ModerateVoiceMuteSelected"/> - <menu_item_call label="Fjern slukning for denne deltager" name="ModerateVoiceUnMuteSelected"/> - <menu_item_call label="Sluk lyd for alle" name="ModerateVoiceMute"/> - <menu_item_call label="Tænd lyd for alle" name="ModerateVoiceUnmute"/> - </context_menu> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_people_friends_view_sort.xml b/indra/newview/skins/minimal/xui/da/menu_people_friends_view_sort.xml deleted file mode 100644 index 32c5e6a6c7f..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Sortér efter navn" name="sort_name"/> - <menu_item_check label="Sortér efter status" name="sort_status"/> - <menu_item_check label="Vis person ikoner" name="view_icons"/> - <menu_item_check label="Vis tildelte rettigheder" name="view_permissions"/> - <menu_item_call label="Vis blokerede beboere og objekter" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_people_groups.xml b/indra/newview/skins/minimal/xui/da/menu_people_groups.xml deleted file mode 100644 index 841f58b6191..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_people_groups.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Se info" name="View Info"/> - <menu_item_call label="Chat" name="Chat"/> - <menu_item_call label="Opkald" name="Call"/> - <menu_item_call label="Aktivér" name="Activate"/> - <menu_item_call label="Forlad" name="Leave"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_people_groups_view_sort.xml b/indra/newview/skins/minimal/xui/da/menu_people_groups_view_sort.xml deleted file mode 100644 index 0b9a791530d..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Vis gruppe ikoner" name="Display Group Icons"/> - <menu_item_call label="Forlad valgte gruppe" name="Leave Selected Group"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_people_nearby.xml b/indra/newview/skins/minimal/xui/da/menu_people_nearby.xml deleted file mode 100644 index 220ab8724f5..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_people_nearby.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Avatar Context Menu"> - <menu_item_call label="Vis profil" name="View Profile"/> - <menu_item_call label="Tilføj som ven" name="Add Friend"/> - <menu_item_call label="Fjern venskab" name="Remove Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="Opkald" name="Call"/> - <menu_item_call label="Kort" name="Map"/> - <menu_item_call label="Del" name="Share"/> - <menu_item_call label="Betal" name="Pay"/> - <menu_item_check label="Blokér/Fjern blokering" name="Block/Unblock"/> - <menu_item_call label="Tilbyd teleport" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_people_nearby_multiselect.xml b/indra/newview/skins/minimal/xui/da/menu_people_nearby_multiselect.xml deleted file mode 100644 index 9318a0e3409..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_people_nearby_multiselect.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Multi-Selected People Context Menu"> - <menu_item_call label="Tilføj venner" name="Add Friends"/> - <menu_item_call label="Fjern venner" name="Remove Friend"/> - <menu_item_call label="Besked" name="IM"/> - <menu_item_call label="Opkald" name="Call"/> - <menu_item_call label="Del" name="Share"/> - <menu_item_call label="Betal" name="Pay"/> - <menu_item_call label="tilbyd teleport" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_people_nearby_view_sort.xml b/indra/newview/skins/minimal/xui/da/menu_people_nearby_view_sort.xml deleted file mode 100644 index 2f35ff3c92c..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Sortér efter tidligere talere" name="sort_by_recent_speakers"/> - <menu_item_check label="Sortér efter navn" name="sort_name"/> - <menu_item_check label="Sortér efter afstand" name="sort_distance"/> - <menu_item_check label="Se ikoner for personer" name="view_icons"/> - <menu_item_call label="Vis blokerede beboere og objekter" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_people_recent_view_sort.xml b/indra/newview/skins/minimal/xui/da/menu_people_recent_view_sort.xml deleted file mode 100644 index d081f637f22..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Sortér efter nyeste" name="sort_most"/> - <menu_item_check label="Sortér efter navn" name="sort_name"/> - <menu_item_check label="Vis person ikoner" name="view_icons"/> - <menu_item_call label="Vis blokerede beboere og objekter" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_picks.xml b/indra/newview/skins/minimal/xui/da/menu_picks.xml deleted file mode 100644 index 81ee900773c..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_picks.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Picks"> - <menu_item_call label="Info" name="pick_info"/> - <menu_item_call label="Redigér" name="pick_edit"/> - <menu_item_call label="Teleportér" name="pick_teleport"/> - <menu_item_call label="Vis pÃ¥ kort" name="pick_map"/> - <menu_item_call label="Slet" name="pick_delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_picks_plus.xml b/indra/newview/skins/minimal/xui/da/menu_picks_plus.xml deleted file mode 100644 index d95071fbbb0..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_picks_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="picks_plus_menu"> - <menu_item_call label="Ny favorit" name="create_pick"/> - <menu_item_call label="Ny annonce" name="create_classified"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_place.xml b/indra/newview/skins/minimal/xui/da/menu_place.xml deleted file mode 100644 index b87964ac142..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_place.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="place_overflow_menu"> - <menu_item_call label="Opret et landemærke" name="landmark"/> - <menu_item_call label="Opret favorit" name="pick"/> - <menu_item_call label="Køb adgang" name="pass"/> - <menu_item_call label="Redigér" name="edit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_place_add_button.xml b/indra/newview/skins/minimal/xui/da/menu_place_add_button.xml deleted file mode 100644 index 7ad22535503..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_place_add_button.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_folder_gear"> - <menu_item_call label="Opret mappe" name="add_folder"/> - <menu_item_call label="Tilføj landemærke" name="add_landmark"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_places_gear_folder.xml b/indra/newview/skins/minimal/xui/da/menu_places_gear_folder.xml deleted file mode 100644 index 5f573c2363e..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_places_gear_folder.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_folder_gear"> - <menu_item_call label="Tilføj landemærke" name="add_landmark"/> - <menu_item_call label="Tilføj mappe" name="add_folder"/> - <menu_item_call label="Gendan genstand" name="restore_item"/> - <menu_item_call label="Klip" name="cut"/> - <menu_item_call label="Kopiér" name="copy_folder"/> - <menu_item_call label="Sæt ind" name="paste"/> - <menu_item_call label="Omdøb" name="rename"/> - <menu_item_call label="Slet" name="delete"/> - <menu_item_call label="Udvid" name="expand"/> - <menu_item_call label="Luk" name="collapse"/> - <menu_item_call label="Udvid alle mapper" name="expand_all"/> - <menu_item_call label="Luk alle mapper" name="collapse_all"/> - <menu_item_check label="Sortér efter dato" name="sort_by_date"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_places_gear_landmark.xml b/indra/newview/skins/minimal/xui/da/menu_places_gear_landmark.xml deleted file mode 100644 index 13dbcdd42e2..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_places_gear_landmark.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_ladmark_gear"> - <menu_item_call label="Teleportér" name="teleport"/> - <menu_item_call label="Mere information" name="more_info"/> - <menu_item_call label="Vis pÃ¥ kort" name="show_on_map"/> - <menu_item_call label="Tilføj landemærke" name="add_landmark"/> - <menu_item_call label="Tilføj mappe" name="add_folder"/> - <menu_item_call label="Gendan genstand" name="restore_item"/> - <menu_item_call label="Klip" name="cut"/> - <menu_item_call label="Kopiér landemærke" name="copy_landmark"/> - <menu_item_call label="Kopiér SLurl" name="copy_slurl"/> - <menu_item_call label="Sæt ind" name="paste"/> - <menu_item_call label="Omdøb" name="rename"/> - <menu_item_call label="Slet" name="delete"/> - <menu_item_call label="Ã…ben alle mapper" name="expand_all"/> - <menu_item_call label="Luk alle mapper" name="collapse_all"/> - <menu_item_check label="Sortér efter dato" name="sort_by_date"/> - <menu_item_call label="Opret favorit" name="create_pick"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_profile_overflow.xml b/indra/newview/skins/minimal/xui/da/menu_profile_overflow.xml deleted file mode 100644 index 6745007c996..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_profile_overflow.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="profile_overflow_menu"> - <menu_item_call label="Kort" name="show_on_map"/> - <menu_item_call label="Betal" name="pay"/> - <menu_item_call label="Del" name="share"/> - <menu_item_call label="Blokér" name="block"/> - <menu_item_call label="Fjern blokering" name="unblock"/> - <menu_item_call label="Spark" name="kick"/> - <menu_item_call label="Frys" name="freeze"/> - <menu_item_call label="Fjern frys" name="unfreeze"/> - <menu_item_call label="Kundeservicemedarbejder (CSR)" name="csr"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_save_outfit.xml b/indra/newview/skins/minimal/xui/da/menu_save_outfit.xml deleted file mode 100644 index 188229b5868..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_save_outfit.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="save_outfit_menu"> - <menu_item_call label="Gem" name="save_outfit"/> - <menu_item_call label="Gem som" name="save_as_new_outfit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_script_chiclet.xml b/indra/newview/skins/minimal/xui/da/menu_script_chiclet.xml deleted file mode 100644 index cdd3212373d..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_script_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="ScriptChiclet Menu"> - <menu_item_call label="Luk" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_slurl.xml b/indra/newview/skins/minimal/xui/da/menu_slurl.xml deleted file mode 100644 index a9302e111ea..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_slurl.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Om URL" name="about_url"/> - <menu_item_call label="Teleportér til URL" name="teleport_to_url"/> - <menu_item_call label="Kort" name="show_on_map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_teleport_history_gear.xml b/indra/newview/skins/minimal/xui/da/menu_teleport_history_gear.xml deleted file mode 100644 index a1c25fea690..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_teleport_history_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Teleport History Gear Context Menu"> - <menu_item_call label="Udvid alle mapper" name="Expand all folders"/> - <menu_item_call label="Luk alle mapper" name="Collapse all folders"/> - <menu_item_call label="Nulstil teleport historik" name="Clear Teleport History"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_teleport_history_item.xml b/indra/newview/skins/minimal/xui/da/menu_teleport_history_item.xml deleted file mode 100644 index dbaec62087e..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_teleport_history_item.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Teleportér" name="Teleport"/> - <menu_item_call label="Mere information" name="More Information"/> - <menu_item_call label="Kopiér til udklipsholder" name="CopyToClipboard"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_teleport_history_tab.xml b/indra/newview/skins/minimal/xui/da/menu_teleport_history_tab.xml deleted file mode 100644 index c4d4bb4b5b4..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_teleport_history_tab.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Ã…ben" name="TabOpen"/> - <menu_item_call label="Luk" name="TabClose"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_text_editor.xml b/indra/newview/skins/minimal/xui/da/menu_text_editor.xml deleted file mode 100644 index 3ff31ea232f..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_text_editor.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Text editor context menu"> - <menu_item_call label="Klip" name="Cut"/> - <menu_item_call label="Kopiér" name="Copy"/> - <menu_item_call label="Sæt ind" name="Paste"/> - <menu_item_call label="Slet" name="Delete"/> - <menu_item_call label="Vælg alt" name="Select All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_topinfobar.xml b/indra/newview/skins/minimal/xui/da/menu_topinfobar.xml deleted file mode 100644 index 08d1c25d6f2..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_topinfobar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_topinfobar"> - <menu_item_check label="Vis koordinater" name="Show Coordinates"/> - <menu_item_check label="Vis egenskaber for parcel" name="Show Parcel Properties"/> - <menu_item_call label="Landemærke" name="Landmark"/> - <menu_item_call label="Kopi" name="Copy"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_url_agent.xml b/indra/newview/skins/minimal/xui/da/menu_url_agent.xml deleted file mode 100644 index 491586f3b46..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_url_agent.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Vis beboer profil" name="show_agent"/> - <menu_item_call label="Kopiér navn til udklipsholder" name="url_copy_label"/> - <menu_item_call label="Kopiér SLurl til udklipsholder" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_url_group.xml b/indra/newview/skins/minimal/xui/da/menu_url_group.xml deleted file mode 100644 index c776159b0a2..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_url_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Vis gruppeinformation" name="show_group"/> - <menu_item_call label="Kopiér gruppe til udklipsholder" name="url_copy_label"/> - <menu_item_call label="Kopiér SLurl til udklipsholder" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_url_http.xml b/indra/newview/skins/minimal/xui/da/menu_url_http.xml deleted file mode 100644 index 4398777a391..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_url_http.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Indlæs" name="url_open"/> - <menu_item_call label="Ã…ben i intern browser" name="url_open_internal"/> - <menu_item_call label="Ã…ben i ekstern browser" name="url_open_external"/> - <menu_item_call label="Kopiér URL til udklipsholder" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_url_inventory.xml b/indra/newview/skins/minimal/xui/da/menu_url_inventory.xml deleted file mode 100644 index 9a7de23e065..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_url_inventory.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Vis beholdningsgenstand" name="show_item"/> - <menu_item_call label="Kopiér navn til udklipsholder" name="url_copy_label"/> - <menu_item_call label="Kopiér SLurl til udklipsholder" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_url_map.xml b/indra/newview/skins/minimal/xui/da/menu_url_map.xml deleted file mode 100644 index ff4a4d5174f..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_url_map.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Vis pÃ¥ kort" name="show_on_map"/> - <menu_item_call label="Teleport til lokation" name="teleport_to_location"/> - <menu_item_call label="Kopiér SLurl til udklipsholder" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_url_objectim.xml b/indra/newview/skins/minimal/xui/da/menu_url_objectim.xml deleted file mode 100644 index e27cf849593..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_url_objectim.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Vis objekt information" name="show_object"/> - <menu_item_call label="Vis pÃ¥ kort" name="show_on_map"/> - <menu_item_call label="Teleportér til objekt lokation" name="teleport_to_object"/> - <menu_item_call label="Kopiér objekt navn til udklipsholder" name="url_copy_label"/> - <menu_item_call label="Kopiér SLurl til udklipsholder" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_url_parcel.xml b/indra/newview/skins/minimal/xui/da/menu_url_parcel.xml deleted file mode 100644 index 0f21e14f661..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_url_parcel.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Vis information om parcel" name="show_parcel"/> - <menu_item_call label="Vis pÃ¥ kort" name="show_on_map"/> - <menu_item_call label="Kopiér SLurl til udklipsholder" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_url_slapp.xml b/indra/newview/skins/minimal/xui/da/menu_url_slapp.xml deleted file mode 100644 index dd25db2aa71..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_url_slapp.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Kør denne kommando" name="run_slapp"/> - <menu_item_call label="Kopiér SLurl til udklipsholder" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_url_slurl.xml b/indra/newview/skins/minimal/xui/da/menu_url_slurl.xml deleted file mode 100644 index 8d84a138bb7..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_url_slurl.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Vis information" name="show_place"/> - <menu_item_call label="Vis pÃ¥ kort" name="show_on_map"/> - <menu_item_call label="Teleportér til lokation" name="teleport_to_location"/> - <menu_item_call label="Kopiér SLurl til udklipsholder" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_url_teleport.xml b/indra/newview/skins/minimal/xui/da/menu_url_teleport.xml deleted file mode 100644 index e0ca7b920db..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_url_teleport.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Teleport" name="teleport"/> - <menu_item_call label="Vis pÃ¥ kort" name="show_on_map"/> - <menu_item_call label="Kopiér SLurl til udklipsholder" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_viewer.xml b/indra/newview/skins/minimal/xui/da/menu_viewer.xml deleted file mode 100644 index 93b247f8414..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_viewer.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Main Menu"> - <menu label="Hjælp" name="Help"> - <menu_item_call label="[SECOND_LIFE] Help" name="Second Life Help"/> - </menu> - <menu label="Avanceret" name="Advanced"> - <menu label="Shortcuts" name="Shortcuts"> - <menu_item_check label="Flyv" name="Fly"/> - <menu_item_call label="Luk vindue" name="Close Window"/> - <menu_item_call label="Luk alle vinduer" name="Close All Windows"/> - <menu_item_call label="Nulstil udsyn" name="Reset View"/> - </menu> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/da/menu_wearable_list_item.xml b/indra/newview/skins/minimal/xui/da/menu_wearable_list_item.xml deleted file mode 100644 index 63f4b0b3884..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_wearable_list_item.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit Wearable Context Menu"> - <menu_item_call label="Erstat" name="wear_replace"/> - <menu_item_call label="Tag pÃ¥" name="wear_wear"/> - <menu_item_call label="Tilføj" name="wear_add"/> - <menu_item_call label="Tag af" name="take_off_or_detach"/> - <menu_item_call label="Tag af" name="detach"/> - <context_menu label="Vedhæft til" name="wearable_attach_to"/> - <context_menu label="Vedhæft til HUD" name="wearable_attach_to_hud"/> - <menu_item_call label="Tag af" name="take_off"/> - <menu_item_call label="Redigér" name="edit"/> - <menu_item_call label="Genstandsprofil" name="object_profile"/> - <menu_item_call label="Vis original" name="show_original"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_wearing_gear.xml b/indra/newview/skins/minimal/xui/da/menu_wearing_gear.xml deleted file mode 100644 index 515a15b287e..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_wearing_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Wearing"> - <menu_item_call label="Redigér sæt" name="edit"/> - <menu_item_call label="Tag af" name="takeoff"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_wearing_tab.xml b/indra/newview/skins/minimal/xui/da/menu_wearing_tab.xml deleted file mode 100644 index c0db7b68426..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_wearing_tab.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Wearing"> - <menu_item_call label="Tag af" name="take_off"/> - <menu_item_call label="Tag af" name="detach"/> - <menu_item_call label="Redigér sæt" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/notifications.xml b/indra/newview/skins/minimal/xui/da/notifications.xml deleted file mode 100644 index 3d003ea3b3b..00000000000 --- a/indra/newview/skins/minimal/xui/da/notifications.xml +++ /dev/null @@ -1,1831 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<notifications> - <global name="skipnexttime"> - Vis ikke dette igen - </global> - <global name="alwayschoose"> - Vælg altid dette - </global> - <global name="implicitclosebutton"> - Luk - </global> - <template name="okbutton"> - <form> - <button name="OK_okbutton" text="$yestext"/> - </form> - </template> - <template name="okignore"> - <form> - <button name="OK_okignore" text="$yestext"/> - </form> - </template> - <template name="okcancelbuttons"> - <form> - <button name="OK_okcancelbuttons" text="$yestext"/> - <button name="Cancel_okcancelbuttons" text="$notext"/> - </form> - </template> - <template name="okcancelignore"> - <form> - <button name="OK_okcancelignore" text="$yestext"/> - <button name="Cancel_okcancelignore" text="$notext"/> - </form> - </template> - <template name="okhelpbuttons"> - <form> - <button name="OK_okhelpbuttons" text="$yestext"/> - <button name="Help" text="$helptext"/> - </form> - </template> - <template name="yesnocancelbuttons"> - <form> - <button name="Yes" text="$yestext"/> - <button name="No" text="$notext"/> - <button name="Cancel_yesnocancelbuttons" text="$canceltext"/> - </form> - </template> - <notification functor="GenericAcknowledge" label="Ukendt notificeringsbesked" name="MissingAlert"> - Din version af [APP_NAME] kan ikke vise den besked den lige modtog. Undersøg venligst at du har den nyester version af klienten installeret. - -Fejl detaljer: Beskeden kaldet '[_NAME]' blev ikke fundet i notifications.xml. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FloaterNotFound"> - Floater error: Kunne ikke finde følgende kontrol: - -[CONTROLS] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TutorialNotFound"> - Der er i øjeblikket ingen tilgængelig guide. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GenericAlert"> - [MESSAGE] - </notification> - <notification name="GenericAlertYesCancel"> - [MESSAGE] - <usetemplate name="okcancelbuttons" notext="Annullér" yestext="Ja"/> - </notification> - <notification name="BadInstallation"> - Der opstod en fejl ved opdatering af [APP_NAME]. Please [http://get.secondlife.com download the latest version] of the Viewer. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="LoginFailedNoNetwork"> - Kunne ikke tilslutte til [SECOND_LIFE_GRID]. - '[DIAGNOSTIC]' -Check at Internet forbindelsen fungerer korrekt. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="MessageTemplateNotFound"> - Besked template [PATH] kunne ikke findes. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="WearableSave"> - Gem ændringer til nuværende tøj/krops del? - <usetemplate canceltext="Annullér" name="yesnocancelbuttons" notext="Gem ikke" yestext="Gem"/> - </notification> - <notification name="CompileQueueSaveText"> - Der var problemer med upload af teksten til et script af følgende Ã¥rsager: [REASON]. Prøv igen senere. - </notification> - <notification name="CompileQueueSaveBytecode"> - Der var problemer med at uploade den kompileret script af følgende Ã¥rsager: [REASON]. Prøv igen senere. - </notification> - <notification name="WriteAnimationFail"> - Der var et problem med skrivning af animations data. Prøv igen senere. - </notification> - <notification name="UploadAuctionSnapshotFail"> - Der var problemer med at uploade billedet til auktionen af følgende Ã¥rsager: [REASON] - </notification> - <notification name="UnableToViewContentsMoreThanOne"> - Ude af stand til at se indholdet af mere end ét element ad gangen. -Vælg kun en genstand, og prøv igen. - </notification> - <notification name="SaveClothingBodyChanges"> - Gem alle ændringer til tøj/krops dele? - <usetemplate canceltext="Annullér" name="yesnocancelbuttons" notext="Gem Ikke" yestext="Gem Alt"/> - </notification> - <notification name="FriendsAndGroupsOnly"> - 'Ikke-venner' vil ikke vide, at du har valgt at ignorere deres opkald og personlige beskeder (IM) - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FavoritesOnLogin"> - Bemærk: NÃ¥r du aktiverer dette valg, kan enhver der bruger denne computer se dine favorit lokationer. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GrantModifyRights"> - Tildeling af ændre-rettigheder til andre beboere, tillader dem at ændre, slette eller tage ETHVERT objekt du mÃ¥tte have. Vær MEGET forsigtig ved tildeling af denne rettighed. -Ønsker du at give ændre-rettgheder til [NAME]? - <usetemplate name="okcancelbuttons" notext="Nej" yestext="Ja"/> - </notification> - <notification name="GrantModifyRightsMultiple"> - At give redigerings rettigheder til en anden beboer, giver dem mulighed for at ændre, slette eller tage ALLE genstande, du mÃ¥tte have i verden. Vær MEGET forsigtig nÃ¥r uddeler denne tilladelse. -Ønsker du at ændre rettigheder for de valgte beboere? - <usetemplate name="okcancelbuttons" notext="Nej" yestext="Ja"/> - </notification> - <notification name="RevokeModifyRights"> - Ønsker du at tilbagekalder ændre-rettigheder for [NAME]? - <usetemplate name="okcancelbuttons" notext="Nej" yestext="Ja"/> - </notification> - <notification name="RevokeModifyRightsMultiple"> - Vil du tilbagekalde rettighederne for de valgte beboere? - <usetemplate name="okcancelbuttons" notext="Nej" yestext="Ja"/> - </notification> - <notification name="UnableToCreateGroup"> - Kunne ikke oprette gruppe. -[MESSAGE] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="PanelGroupApply"> - [NEEDS_APPLY_MESSAGE] -[WANT_APPLY_MESSAGE] - <usetemplate canceltext="Annullér" name="yesnocancelbuttons" notext="Ignorer Ændringer" yestext="Godkend Ændringer"/> - </notification> - <notification name="MustSpecifyGroupNoticeSubject"> - Du skal angive et emne for at sende en gruppe besked. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AddGroupOwnerWarning"> - Du er ved at tilføje medlemmer til rollen som [ROLE_NAME]. -Medlemmer ikke kan fjernes fra denne rolle. -Medlemmerne skal fratræde sin rolle selv. -Er du sikker pÃ¥ du vil fortsætte? - <usetemplate ignoretext="Bekræft, før jeg tilføjer en ny gruppe ejer" name="okcancelignore" notext="Nej" yestext="Ja"/> - </notification> - <notification name="AssignDangerousActionWarning"> - Du er ved at tilføje muligheden for '[ACTION_NAME]' til -rollen '[ROLE_NAME]'. - -*ADVARSEL* -Ethvert medlem i en rolle med denne evne kan tildele sig selv -- og et andet medlem - roller med flere beføjelser, end de har i øjeblikket, potentielt kan de ophøje sig selv til nær-Ejer magt. Være sikker pÃ¥, at du ved, hvad du laver, før tildeling af denne evne. - -Add this Ability to '[ROLE_NAME]'? - <usetemplate name="okcancelbuttons" notext="Nej" yestext="Ja"/> - </notification> - <notification name="AttachmentDrop"> - Du er ved at smide et vedhæng. - Er du sikker pÃ¥ at du vil fortsætte? - <usetemplate ignoretext="Bekræft før vedhæng smides" name="okcancelignore" notext="Nej" yestext="Ja"/> - </notification> - <notification name="JoinGroupNoCost"> - Du melder dig ind i gruppen [NAME]. -Ønsker du at fortsætte? - <usetemplate name="okcancelbuttons" notext="Annullér" yestext="Bliv medlem"/> - </notification> - <notification name="JoinGroupCannotAfford"> - Tilmelding til denne gruppe koster L$[COST]. -Du har ikke nok L$ til denne tilmelding. - </notification> - <notification name="CreateGroupCost"> - Oprettelse af denne gruppe vil koste L$100. -Grupper skal have mindst 2 medlemmer, ellers slettes de for altid. -Invitér venligst medlemmer indenfor 48 timer. - <usetemplate canceltext="Annullér" name="okcancelbuttons" notext="Annullér" yestext="Oprete en gruppe for L$100"/> - </notification> - <notification name="ConfirmLandSaleToAnyoneChange"> - ADVARSEL: Ved at vælge 'sælg til enhver' bliver til land tilgængeligt for alle i hele [SECOND_LIFE], ogsÃ¥ de som ikke er i denne region. - -Det valgte antal [LAND_SIZE] m² land bliver sat til salg. -Salgprisen vil være [SALE_PRICE]L$ og vil være til salg til [NAME]. - </notification> - <notification name="MultipleFacesSelected"> - Flere overflader er valgt for øjeblikket. -Hvis du fortsætter med denne aktion, vil flere instanser af media blive vist pÃ¥ overfladerne pÃ¥ objektet. -Hvis media kun skal vises pÃ¥ en overflade, vælg 'Vælg overflade' og klik pÃ¥ den relevante overflade og klik pÃ¥ tilføj. - <usetemplate ignoretext="Media vil blive sat pÃ¥ flere valgte overflader" name="okcancelignore" notext="Annullér" yestext="OK"/> - </notification> - <notification name="PromptMissingSubjMsg"> - E-mail dette billede med standard emne eller besked? - <usetemplate name="okcancelbuttons" notext="Annullér" yestext="OK"/> - </notification> - <notification name="ErrorUploadingPostcard"> - Der var et problem med at sende billedet pÃ¥ grund af følgende: [REASON] - </notification> - <notification name="MaxAttachmentsOnOutfit"> - Kunne ikke vedhæfte objekt. -Overskrider vedhæftnings begrænsning pÃ¥ [MAX_ATTACHMENTS] objekter. Tag venligst en anden vedhæftning af først. - </notification> - <notification name="MustHaveAccountToLogIn"> - Ups. Noget mangler at blive udfyldt. -Du skal indtaste brugernavnet for din avatar. - -Du skal bruge en konto for at benytte [SECOND_LIFE]. Ønsker du at oprette en konto nu? - <usetemplate name="okcancelbuttons" notext="Prøv igen" yestext="Lav ny konto"/> - </notification> - <notification name="InvalidCredentialFormat"> - Du skal indtaste enten dit brugernavn eller bÃ¥de dit fornavn og efternavn for din avatar i brugernavn feltet, derefter log pÃ¥ igen. - </notification> - <notification name="DeleteMedia"> - Du har valgt at slette media tilknyttet denne overflade. -Er du sikker pÃ¥ at du vil fortsætte? - <usetemplate ignoretext="Bekræft før jeg slette media i et objekt" name="okcancelignore" notext="Nej" yestext="Ja"/> - </notification> - <notification name="ClassifiedInsufficientFunds"> - Ikke nok penge til at oprette annonce. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="DeleteAvatarPick"> - Slet favorit <nolink>[PICK]</nolink>? - </notification> - <notification name="DeleteOutfits"> - Slet valgte sæt? - <usetemplate name="okcancelbuttons" notext="Annullér" yestext="OK"/> - </notification> - <notification name="CacheWillClear"> - Cache vil blive tømt ved næste genstart af [APP_NAME]. - </notification> - <notification name="CacheWillBeMoved"> - Cache vil blive fjernet ved næste genstart af [APP_NAME]. -Note: This will clear the cache. - </notification> - <notification name="ChangeConnectionPort"> - Port ændringer vil blive effektueret ved næste genstart af [APP_NAME]. - </notification> - <notification name="ChangeSkin"> - Den nye hud vil blive vist ved næste genstart af [APP_NAME]. - </notification> - <notification name="ChangeLanguage"> - Ændring af sprog vil først have effekt efter genstart af [APP_NAME]. - </notification> - <notification name="StartRegionEmpty"> - Ups, din start region er ikke angivet. -Indtast venligst navn pÃ¥ region i Start lokation feltet eller vælg "Min sidste lokation" eller "Hjem". - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="UnsupportedHardware"> - Din computer opfylder ikke minimumskravene til [APP_NAME]. Du kan risikere nedsat hastighed. Desværre kan [SUPPORT_SITE] ikke tilbyde teknisk support til konfigurationer der ikke er understøttet. - -Besøg [_URL] for yderligere information? - <usetemplate ignoretext="Din computer hardware understøttes ikke" name="okcancelignore" notext="No" yestext="Yes"/> - </notification> - <notification name="UnknownGPU"> - Dit system indeholder et grafikkort som [APP_NAME] ikke kan genkende. -Dette skyldes ofte nyt hardware som endnu ikke er blevet testet med [APP_NAME]. Kortet vil sandsynligvis virke fint, med det kan være nødvendigt at justere grafik opsætningen. -(Mig > Indstillinger > Grafik). - <form name="form"> - <ignore name="ignore" text="Dit grafikkort kunne ikke identificeres"/> - </form> - </notification> - <notification name="DisplaySettingsNoShaders"> - [APP_NAME] gik ned ved inititalisering af grafik drivere. -Grafik kvaliteten sættes til 'lav' for at undgÃ¥ typiske problemer med drivere. Dette vil slÃ¥ visse grafik funktioner fra. -Vi anbefaler at opdatere driverne til dit grafikkort. -Grafik kvaliteten kan forbedres i indstillinger > Grafik. - </notification> - <notification name="CannotCopyWarning"> - Du har ikke rettigheder til at kopiere følgende genstande: -[ITEMS] -og du vil miste dem fra din beholdning hvis du forærer dem væk. Er du sikker pÃ¥ at du vil tilbyde disse genstande? - </notification> - <notification name="CannotGiveCategory"> - Du har ikke tilladelse til at videreføre den valgte mappe. - </notification> - <notification name="EjectAvatarFromGroup"> - Du har smidt [AVATAR_NAME] ud af gruppen [GROUP_NAME] - </notification> - <notification name="PromptGoToCurrencyPage"> - [EXTRA] - -GÃ¥ til [_URL] for information om køb af L$? - </notification> - <notification name="SoundFileInvalidChunkSize"> - Fejl i WAV fil (chunk size): -[FILE] - </notification> - <notification name="CannotEncodeFile"> - Kunne ikke 'forstÃ¥' filen: [FILE] - </notification> - <notification name="CorruptedProtectedDataStore"> - Vi kan ikke udfylde dit brugernavn og password. Dette kan ske hvis du ændrer netværksopsætning - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="DoNotSupportBulkAnimationUpload"> - [APP_NAME] understøtter p.t. ikke at send flere animationsfiler ad gangen. - </notification> - <notification name="LandmarkCreated"> - Du har tilføjet "[LANDMARK_NAME]" til din [FOLDER_NAME] mappe. - </notification> - <notification name="LandmarkAlreadyExists"> - Du har allerede et landemærke for denne lokation. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CannotOpenScriptObjectNoMod"> - Ikke muligt at Ã¥bne script i objekt uden 'Redigére' rettigheder. - </notification> - <notification name="CouldNotTeleportReason"> - Teleport fejlede. -[REASON] - </notification> - <notification name="invalid_tport"> - Der opstod et problem ved din teleport. Det kan være nødvendigt at logge ind igen, før du kan teleporte. -Hvis du bliver ved med at fÃ¥ denne fejl, check venligst [SUPPORT_SITE]. - </notification> - <notification name="invalid_region_handoff"> - Der opstod et problem ved skift til ny region. Det kan være nødvendigt at logge ind igen, før du kan skifte til andre regioner. -Hvis du bliver ved med at fÃ¥ denne fejl, check venligst [SUPPORT_SITE]. - </notification> - <notification name="blocked_tport"> - Beklager, teleport er blokeret lige nu. Prøv igen senere. -Hvis du stadig ikke kan teleporte, prøv venligst at logge ud og ligge ind for at løse dette problem. - </notification> - <notification name="nolandmark_tport"> - Beklager, systemet kunne ikke finde landmærke destinationen. - </notification> - <notification name="timeout_tport"> - Beklager, systemet kunne ikke fuldføre teleport forbindelse. -Prøv igen om lidt. - </notification> - <notification name="noaccess_tport"> - Beklager, du har ikke adgang til denne teleport destination. - </notification> - <notification name="missing_attach_tport"> - Dine vedhæng er ikke ankommet endnu. Prøv at vente lidt endnu eller log ud og ind igen før du prøver at teleporte igen. - </notification> - <notification name="too_many_uploads_tport"> - Tekniske problemer hindrer at din teleport kan gennemføres. -Prøv venligst igen om lidt eller vælg et mindre travlt omrÃ¥de. - </notification> - <notification name="expired_tport"> - Beklager, men systemet kunne ikke fuldføre din teleport i rimelig tid. Prøv venligst igen om lidt. - </notification> - <notification name="expired_region_handoff"> - Beklager, men systemet kunne ikke fuldføre skift til anden region i rimelig tid. Prøv venligst igen om lidt. - </notification> - <notification name="no_host"> - Ikke muligt at fine teleport destination. Destinationen kan være midlertidig utilgængelig eller findes ikke mere. -Prøv evt. igen om lidt. - </notification> - <notification name="no_inventory_host"> - Beholdningssystemet er ikke tilgængelig lige nu. - </notification> - <notification name="ForceOwnerAuctionWarning"> - Denne parcel er sat pÃ¥ auktion. Gennemtving ejerskab vil annullere denne auktion og mÃ¥ske irritere nogen beboere hvis bud allerede er afgivet. -Gennemtving ejerskab? - </notification> - <notification name="CannotBuyLandNoRegion"> - Ikke i stand til at købe land: -Kan ikke finde region som dette land er i. - </notification> - <notification name="CannotCloseFloaterBuyLand"> - Du kan ikke lukke 'Køb land' vinduet før [APP_NAME] har vurderet en pris pÃ¥ denne transaktion. - </notification> - <notification name="CannotDeedLandNoRegion"> - Land kunne ikke dedikeres: -Kunne ikke finde den region land ligger i. - </notification> - <notification name="CannotReleaseLandRegionNotFound"> - Kunne ikke efterlade land: -Kan ikke finde den region landet ligger i. - </notification> - <notification name="CannotDivideLandNoRegion"> - Kunne ikke opdele land: -Kan ikke finde den region landet ligger i. - </notification> - <notification name="CannotJoinLandNoRegion"> - Kunne ikke opdele land: -Kan ikke finde den region landet ligger i. - </notification> - <notification name="CannotSaveToAssetStore"> - Kunne ikke gemme [NAME] i den centrale database. -Dette er typisk en midlertidig fejl. Venligst rediger og gem igen om et par minutter. - </notification> - <notification name="YouHaveBeenLoggedOut"> - Du er blevet logget af [SECOND_LIFE] - [MESSAGE] - <usetemplate name="okcancelbuttons" notext="Afslut" yestext="Se PB & Chat"/> - </notification> - <notification label="Tilføj ven" name="AddFriendWithMessage"> - Venner kan give tilladelse til at følge hinanden -pÃ¥ Verdenskortet eller modtage status opdateringer. - -Tilbyd venskab til [NAME]? - <form name="form"> - <input name="message"> - Vil du være min ven? - </input> - <button name="Offer" text="OK"/> - <button name="Cancel" text="Annullér"/> - </form> - </notification> - <notification label="Gem sæt" name="SaveOutfitAs"> - Gem det som jeg har pÃ¥ som nyt sæt: - <form name="form"> - <input name="message"> - [DESC] (ny) - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annullér"/> - </form> - </notification> - <notification label="Gem" name="SaveWearableAs"> - Gem genstand til beholdning som: - <form name="form"> - <input name="message"> - [DESC] (ny) - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annullér"/> - </form> - </notification> - <notification label="Omdøb sæt" name="RenameOutfit"> - Nyt navn til sæt: - <form name="form"> - <input name="new_name"> - [NAME] - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annullér"/> - </form> - </notification> - <notification name="RemoveFromFriends"> - Ønsker du at fjerne [NAME] fra din venneliste? - </notification> - <notification name="ConfirmItemDeleteHasLinks"> - Mindst en af genstandene har lænkede genstande der peger pÃ¥ den. Hvis du sletter denne genstand, vil lænkninger ikke virke mere. Det anbefales kraftigt at fjerne lænkninger først. - -Er du sikker pÃ¥ at du vil slette disse genstande? - <usetemplate name="okcancelbuttons" notext="Annullér" yestext="OK"/> - </notification> - <notification name="DeedLandToGroupWithContribution"> - Ved at dedikere denne parcel, vil gruppen skulle have og vedblive med at have nok kreditter til brug af land. -Dedikeringen vil inkludere samtidige bidrag til gruppen fra '[NAME]'. -Købsprisen for dette land er ikke refunderet til ejeren. Hvis en dedikeret parvel sælges, vil salgsprisen blive delt ligeligt mellem gruppe medlemmerne. - -Dediker disse [AREA] m² land til gruppen '[GROUP_NAME]'? - </notification> - <notification name="ErrorMessage"> - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AvatarMovedDesired"> - Den ønskede lokation er ikke tilgængelig lige nu. -Du er blevet flyttet til en region in nærheden. - </notification> - <notification name="AvatarMovedLast"> - Din sidste lokation er ikke tilgængelig for øjeblikket. -Du er blevet flyttet til en region in nærheden. - </notification> - <notification name="AvatarMovedHome"> - Din hjemme lokation er ikke tilgængelig for øjeblikket. -Du er blevet flyttet til en region in nærheden. -Du kan mÃ¥ske ønske at sætte en ny hjemme lokation. - </notification> - <notification name="ClothingLoading"> - Dit tøj hentes stadig ned. -Du kan bruge [SECOND_LIFE] normalt og andre personer vil se dig korrekt. - <form name="form"> - <ignore name="ignore" text="Det tager lang tid at hente tøj"/> - </form> - </notification> - <notification name="FirstRun"> - [APP_NAME] installationen er færdig. - -Hvis det er første gang du bruger [SECOND_LIFE], skal du først oprette en konto for at logge pÃ¥. -Vend tilbage til [http://join.secondlife.com secondlife.com] for at oprette en ny konto? - </notification> - <notification name="LoginPacketNeverReceived"> - Der er problemer med at koble pÃ¥. Der kan være et problem med din Internet forbindelse eller [SECOND_LIFE_GRID]. - -Du kan enten checke din Internet forbindelse og prøve igen om lidt, klikke pÃ¥ Hjælp for at se [SUPPORT_SITE] siden, eller klikke pÃ¥ Teleport for at forsøge at teleportere hjem. - </notification> - <notification name="CantTeleportToGrid"> - Kunne ikke teleportere til [SLURL] da den er pÃ¥ et andet net ([GRID]) end det nuværende net ([CURRENT_GRID]). Luk venligst din klient og prøv igen. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GeneralCertificateError"> - Kunne ikke opnÃ¥ forbindelse til server. -[REASON] - -Vedrørende: [SUBJECT_NAME_STRING] -Fra: [ISSUER_NAME_STRING] -Valid fra: [VALID_FROM] -Valid til: [VALID_TO] -MD5 Fingerprint: [SHA1_DIGEST] -SHA1 Fingerprint: [MD5_DIGEST] -Key Usage: [KEYUSAGE] -Extended Key Usage: [EXTENDEDKEYUSAGE] -Subject Key Identifier: [SUBJECTKEYIDENTIFIER] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TrustCertificateError"> - Certifikationsmyndighed for denne server er ikke kendt. - -Certifikat information: -Vedrørende: [SUBJECT_NAME_STRING] -Fra: [ISSUER_NAME_STRING] -Valid fra: [VALID_FROM] -Valid til: [VALID_TO] -MD5 Fingerprint: [SHA1_DIGEST] -SHA1 Fingerprint: [MD5_DIGEST] -Key Usage: [KEYUSAGE] -Extended Key Usage: [EXTENDEDKEYUSAGE] -Subject Key Identifier: [SUBJECTKEYIDENTIFIER] - -Ønsker du at stole pÃ¥ denne myndighed? - <usetemplate name="okcancelbuttons" notext="Annullér" yestext="Stol pÃ¥"/> - </notification> - <notification name="NotEnoughCurrency"> - [NAME] L$ [PRICE] Du har ikke nok L$ til dette. - </notification> - <notification name="GrantedModifyRights"> - [NAME] har givet dig rettighed til at redigere sine objekter. - </notification> - <notification name="RevokedModifyRights"> - Dinne rettigheder til at redigere objekter ejet af [NAME] er fjernet - </notification> - <notification name="BuyOneObjectOnly"> - Ikke muligt at købe mere end et objekt ad gangen. Vælg kun ét objekt og prøv igen. - </notification> - <notification name="DownloadWindowsMandatory"> - En ny version af [APP_NAME] er tilgængelig. -[MESSAGE] -Du skal hente denne version for at bruge [APP_NAME]. - </notification> - <notification name="DownloadWindows"> - En opdateret version af [APP_NAME] er tilgængelig. -[MESSAGE] -Denne opdatering er ikke pÃ¥krævet, men det anbefales at installere den for at opnÃ¥ øget hastighed og forbedret stabilitet. - </notification> - <notification name="DownloadWindowsReleaseForDownload"> - En opdateret version af [APP_NAME] er tilgængelig. -[MESSAGE] -Denne opdatering er ikke pÃ¥krævet, men det anbefales at installere den for at opnÃ¥ øget hastighed og forbedret stabilitet. - </notification> - <notification name="DownloadLinuxMandatory"> - En ny version af [APP_NAME] er tilgængelig. -[MESSAGE] -Du skal hente denne version for at kunne benytte [APP_NAME]. - <usetemplate name="okcancelbuttons" notext="Afslut" yestext="Hent"/> - </notification> - <notification name="DownloadLinux"> - En opdateret version af [APP_NAME] er tilgængelig. -[MESSAGE] -Denne opdatering er ikke pÃ¥krævet, men det anbefales at installere den for at opnÃ¥ øget hastighed og forbedret stabilitet. - <usetemplate name="okcancelbuttons" notext="Fortsæt" yestext="Hent"/> - </notification> - <notification name="DownloadLinuxReleaseForDownload"> - En opdateret version af [APP_NAME] er tilgængelig. -[MESSAGE] -Denne opdatering er ikke pÃ¥krævet, men det anbefales at installere den for at opnÃ¥ øget hastighed og forbedret stabilitet. - <usetemplate name="okcancelbuttons" notext="Fortsæt" yestext="Hent"/> - </notification> - <notification name="DownloadMacMandatory"> - En ny version af [APP_NAME] er tilgængelig. -[MESSAGE] -Du skal hente denne opdatering for at bruge [APP_NAME]. - -Download til dit Program bibliotek? - </notification> - <notification name="DownloadMac"> - En opdateret version af [APP_NAME] er tilgængelig. -[MESSAGE] -Denne opdatering er ikke pÃ¥krævet, men det anbefales at installere den for at opnÃ¥ øget hastighed og forbedret stabilitet. - -Download til dit Program bibliotek? - </notification> - <notification name="DownloadMacReleaseForDownload"> - En opdateret version af [APP_NAME] er tilgængelig. -[MESSAGE] -Denne opdatering er ikke pÃ¥krævet, men det anbefales at installere den for at opnÃ¥ øget hastighed og forbedret stabilitet. - -Download til dit Program bibliotek? - </notification> - <notification name="FailedUpdateInstall"> - Der opstod en fejl ved installation af opdatering. -Hent og installér venligst den nyeste version fra -http://secondlife.com/download. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FailedRequiredUpdateInstall"> - Vi kunne ikke installere en pÃ¥krævet opdatering. -Du kan ikke logge pÃ¥ før [APP_NAME] er blevet opdateret. - -Hent og installer venligst den nyeste klien fra -http://secondlife.com/download. - <usetemplate name="okbutton" yestext="Afslut"/> - </notification> - <notification name="UpdaterServiceNotRunning"> - Dette er en pÃ¥krævet opdatering af din Second Life installation. - -Du kan downloade opdateringen fra http://www.secondlife.com/downloads -eller du kan installere den nu. - <usetemplate name="okcancelbuttons" notext="Afslut Second Life" yestext="Hent og installér nu"/> - </notification> - <notification name="DownloadBackgroundTip"> - Vi har hentet en opdatering til din [APP_NAME] installation. -Version [VERSION] [[RELEASE_NOTES_FULL_URL] Information about this update] - <usetemplate name="okcancelbuttons" notext="Senere..." yestext="Installér nu og genstart [APP_NAME]"/> - </notification> - <notification name="DownloadBackgroundDialog"> - Vi har hentet en opdatering til din [APP_NAME] installation. -Version [VERSION] [[RELEASE_NOTES_FULL_URL] Information about this update] - <usetemplate name="okcancelbuttons" notext="Senere..." yestext="Installér nu og genstart [APP_NAME]"/> - </notification> - <notification name="RequiredUpdateDownloadedVerboseDialog"> - Vi har hentet en pÃ¥krævet opdatering. -Version [VERSION] - -Du skal genstarte [APP_NAME] for at installere denne opdatering. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="RequiredUpdateDownloadedDialog"> - Du skal genstarte [APP_NAME] for at installere opdateringen. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="DeedObjectToGroup"> - <usetemplate ignoretext="Bekræft før jeg dedikerer et objekt til en gruppe" name="okcancelignore" notext="Cancel" yestext="Deed"/> - </notification> - <notification name="WebLaunchExternalTarget"> - Ønsker du at Ã¥bne din web browser for at se dette indhold? - <usetemplate ignoretext="Start min browser for at se hjemmesider" name="okcancelignore" notext="Cancel" yestext="OK"/> - </notification> - <notification name="WebLaunchJoinNow"> - GÃ¥ til [http://secondlife.com/account/ Dashboard] for at administrere din konto? - <usetemplate ignoretext="Start min browser for at administrere min konto" name="okcancelignore" notext="Cancel" yestext="OK"/> - </notification> - <notification name="WebLaunchSecurityIssues"> - <usetemplate ignoretext="Start min browser for at lære hvordan man rapporterer sikkerhedsproblemer" name="okcancelignore" notext="Cancel" yestext="OK"/> - </notification> - <notification name="WebLaunchQAWiki"> - <usetemplate ignoretext="Start min browser for at se QA Wiki" name="okcancelignore" notext="Cancel" yestext="OK"/> - </notification> - <notification name="WebLaunchPublicIssue"> - <usetemplate ignoretext="Start min browser for at bruge det Linden Labs sagsstyring" name="okcancelignore" notext="Cancel" yestext="Go to page"/> - </notification> - <notification name="WebLaunchSupportWiki"> - <usetemplate ignoretext="Start min browser for at se bloggen" name="okcancelignore" notext="Cancel" yestext="OK"/> - </notification> - <notification name="WebLaunchLSLGuide"> - Ønsker du at Ã¥bne 'Scripting Guide' for hjælp til scripting? - <usetemplate ignoretext="Start min browser for at se Scripting Guide" name="okcancelignore" notext="Cancel" yestext="OK"/> - </notification> - <notification name="WebLaunchLSLWiki"> - Ønsker du at besøge LSL portalen for hjælp til scripting? - <usetemplate ignoretext="Start min browser for at besøge LSL Portalen" name="okcancelignore" notext="Cancel" yestext="Go to page"/> - </notification> - <notification name="ReturnToOwner"> - <usetemplate ignoretext="Bekræft før objekter returneres til deres ejere" name="okcancelignore" notext="Cancel" yestext="OK"/> - </notification> - <notification name="ConfirmKick"> - Er du SIKKER pÃ¥ at du vil sparke alle beboere ud? - <usetemplate name="okcancelbuttons" notext="Cancel" yestext="Spark alle beboere ud"/> - </notification> - <notification name="MuteLinden"> - Beklager, men du kan ikke blokere en Linden. - </notification> - <notification name="CannotStartAuctionAlreadyForSale"> - Du kan ikke starte en auktion pÃ¥ en parcel som allerede er sat til salg. Fjern 'til salg' muligheden hvis du ønsker at starte en auktion. - </notification> - <notification label="Blokering af objekt via navn mislykkedes" name="MuteByNameFailed"> - Du har allerede blokeret dette navn. - </notification> - <notification name="BusyModeSet"> - Sat til 'optaget'. -Chat og personlige beskeder vil blive skjult. Personlige beskeder vil fÃ¥ din 'optaget' besked. Alle teleport invitationer vil blive afvist. Alle objekter sendt til dig vil ende i papirkurven. - <usetemplate ignoretext="Jeg skrifter min status til 'optaget" name="okignore" yestext="OK"/> - </notification> - <notification name="JoinedTooManyGroupsMember"> - Du er oppe pÃ¥ det maksimale antal grupper. Forlad venligst en anden gruppe inden du melder dig ind i denne, eller afvis tilbuddet. -[NAME] har inviteret dig til en gruppe. - </notification> - <notification name="JoinedTooManyGroups"> - Du er oppe pÃ¥ det maksimale antal grupper. Forlad venligst en gruppe inden du melder dig ind i enndnu en gruppe eller opretter en ny. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="KickUser"> - Spark beboere ud med hvilken besked? - </notification> - <notification name="FreezeUser"> - Frys beboeren med hvilken besked? - </notification> - <notification name="UnFreezeUser"> - Fjern frysning af beboeren med hvilken besked? - </notification> - <notification name="SetDisplayNameSuccess"> - Hej [DISPLAY_NAME]! - -Præcist som i virkeligheden tager det et stykke tid at vænne sig til et nyt navn. Det kan tage flere dage for [http://wiki.secondlife.com/wiki/Setting_your_display_name your name to update] i objekter, scripts, søgninger m.v. - </notification> - <notification name="SetDisplayNameBlocked"> - Beklager, du kan ikke ændre dit visningsnavn. Hvis du mener dette skyldes en fejl, kontakt venligst support. - </notification> - <notification name="SetDisplayNameFailedLength"> - Beklager, mavnet er for langt. Visningsnavne kan ikke indholde mere end [LENGTH] karakterer. - -Prøv venligst med et kortere navn. - </notification> - <notification name="SetDisplayNameFailedGeneric"> - Beklager, vi kunne ikke sætte dit visningsnavn. Prøv venligst igen senere. - </notification> - <notification name="SetDisplayNameMismatch"> - Visningsnavnene du angav matcher ikke. Prøv at taste ind igen. - </notification> - <notification name="AgentDisplayNameUpdateThresholdExceeded"> - Beklager, du er nødt til at vente længere, inden du kan ændre visningsnavn. - -Se mere under http://wiki.secondlife.com/wiki/Setting_your_display_name - -Prøv venligst igen senere. - </notification> - <notification name="AgentDisplayNameSetBlocked"> - Beklager, vi kunne ikke sætte dit valgte navn da det indholder et ikke tilladt ord. - - Prøv med et andet navn. - </notification> - <notification name="AgentDisplayNameSetInvalidUnicode"> - Visningsnavnet du prøver at angive indeholder ugyldige karakterer. - </notification> - <notification name="AgentDisplayNameSetOnlyPunctuation"> - Dit vinsningsnavn skal indeholde andre bogstaver end tegnsætningstegn. - </notification> - <notification name="DisplayNameUpdate"> - [OLD_NAME] ([SLID]) er nu kendt som [NEW_NAME]. - </notification> - <notification name="OfferTeleport"> - Tilbyd en teleport til din position med følgende besked? - <form name="form"> - <input name="message"> - Mød mig i [REGION] - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annullér"/> - </form> - </notification> - <notification name="OfferTeleportFromGod"> - Tilkald beboer til din lokation? - </notification> - <notification name="TeleportFromLandmark"> - Er du sikker pÃ¥ at du vil teleportere til <nolink>[LOCATION]</nolink>? - <usetemplate ignoretext="Bekræft at jeg vil teleportere til et landemærke" name="okcancelignore" notext="Cancel" yestext="Teleport"/> - </notification> - <notification name="TeleportToPick"> - Teleport til [PICK]? - <usetemplate ignoretext="Bekræft at jeg ønsker at teleportere til et sted i favoritter" name="okcancelignore" notext="Annullér" yestext="Teleport"/> - </notification> - <notification name="TeleportToClassified"> - Teleport til [CLASSIFIED]? - <usetemplate ignoretext="Bekræft at du ønsker at teleportere til lokation in annoncer" name="okcancelignore" notext="Annullér" yestext="Teleport"/> - </notification> - <notification name="TeleportToHistoryEntry"> - Teleport til [HISTORY_ENTRY]? - <usetemplate ignoretext="Bekræft at du ønsker at teleportere til en lokation i din historik" name="okcancelignore" notext="Annullér" yestext="Teleport"/> - </notification> - <notification label="Change Linden Estate" name="ChangeLindenEstate"> - Du er i færd med at ændre et Linden ejet estate (mainland, teeen grid, orientation etc.). - -Dette er EKSTREMT FARLIGT da det kan ændre beboernes oplevelse fundamentalt. PÃ¥ mainland vil dette betyde ændring af tusinder af regioner og fÃ¥ spaceserveren til at kløjs i det. - -Fortsæt? - </notification> - <notification name="RegionEntryAccessBlocked"> - Du har ikke adgang til denne region pÃ¥ grund af din valgte indholdsrating. Dette kan skyldes manglende validering af din alder. - -Undersøg venligst om du har installeret den nyeste [APP_NAME] klient, og gÃ¥ til 'Knowledge Base' for yderligere detaljer om adgang til omrÃ¥der med denne indholdsrating. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="RegionEntryAccessBlocked_KB"> - Du har ikke adgang til denne region pÃ¥ grund af din valgte indholdsrating. - -GÃ¥ til 'Knowledge Base' for mere information om indholdsratings. - <url name="url"> - https://support.secondlife.com/ics/support/default.asp?deptID=4417&task=knowledge&questionID=6010 - </url> - <usetemplate ignoretext="Ikke adgang til denne region pÃ¥ grund af begrænsninger i min indholdsrating" name="okcancelignore" notext="Luk" yestext="GÃ¥ til 'Knowledge Base'"/> - </notification> - <notification name="RegionEntryAccessBlocked_Notify"> - Du har ikke adgang til denne region pÃ¥ grund af din valgte indholdsrating. - </notification> - <notification name="RegionEntryAccessBlocked_Change"> - Du har ikke adgang til denne region pÃ¥ grund af din opsætning af indholdsrating. - -For at fÃ¥ adgang til den ønskede region skal du ændre din indholdsrating. Dette vil give dig ret til at søge og fÃ¥r tilgang til indhold af typen [REGIONMATURITY]. For at omgøre ændringer gÃ¥ til Mig > Indstillinger > Generelt. - <form name="form"> - <button name="OK" text="Ændre indstillinger"/> - <button name="Cancel" text="Luk"/> - <ignore name="ignore" text="Din valgte indholdsrating forhindrer dig i at kommer til en region"/> - </form> - </notification> - <notification name="PreferredMaturityChanged"> - Din indholdsrating er nu [RATING]. - </notification> - <notification name="LandClaimAccessBlocked"> - Du kan ikke kræve dette land pÃ¥ grund af din nuværende indholdsrating indstillinge . Dette kan skyldes manglende validering af din alder. - -Undersøg om du har den nyeste [APP_NAME] klient og gÃ¥ venligst til 'Knowledge Base' for yderligere detaljer om adgang til omrÃ¥der med denne indholdsrating. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="LandClaimAccessBlocked_KB"> - Du kan ikke kræve dette land pÃ¥ grund af din nuværende indholdsrating indstilling.. - -GÃ¥ venligst til 'Knowledge Base' for yderligere information om indholdsrating. - <url name="url"> - https://support.secondlife.com/ics/support/default.asp?deptID=4417&task=knowledge&questionID=6010 - </url> - <usetemplate ignoretext="Du kan ikke kræve dette land, pÃ¥ grund af begrænsninger i indholdsrating" name="okcancelignore" notext="Luk" yestext="GÃ¥ til 'Knowledge Base'"/> - </notification> - <notification name="LandClaimAccessBlocked_Notify"> - Du kan ikke kræve dette land pÃ¥ grund af din indholdsrating. - </notification> - <notification name="LandClaimAccessBlocked_Change"> - Du kan ikke kræve dette land, pÃ¥ grund af begrænsninger i din opsætning af indholdsrating. - -Du kan klikke pÃ¥ 'Ændre præference' for at ændre din indholdsrating nu og dermed opnÃ¥ adgang. Du vil sÃ¥ fÃ¥ mulighed for at søge og tilgÃ¥ [REGIONMATURITY] fra da af. Hvis du senere ønsker at ændre denne opsætning tilbage, gÃ¥ til Mig > Indstillinger > Generelt. - <usetemplate ignoretext="Din valgte indholdsrating forhindrer dig i at kræve land" name="okcancelignore" notext="Luk" yestext="Ændre præferencer"/> - </notification> - <notification name="LandBuyAccessBlocked"> - Du kan ikke købe dette land pÃ¥ grund af din nuværende indholdsrating indstillinge . Dette kan skyldes manglende validering af din alder. - -Undersøg om du har den nyeste [APP_NAME] klient og gÃ¥ venligst til 'Knowledge Base' for yderligere detaljer om adgang til omrÃ¥der med denne indholdsrating. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="LandBuyAccessBlocked_KB"> - Du kan ikke købe dette land pÃ¥ grund af din nuværende indholdsrating. - -GÃ¥ til 'Knowledge Base' for yderligere detaljer om indholdsrating. - <url name="url"> - https://support.secondlife.com/ics/support/default.asp?deptID=4417&task=knowledge&questionID=6010 - </url> - <usetemplate ignoretext="Du kan ikke købe dette land, pÃ¥ grund af begrænsninger i indholdsrating" name="okcancelignore" notext="Luk" yestext="GÃ¥ til 'Knowledge Base'"/> - </notification> - <notification name="LandBuyAccessBlocked_Notify"> - Du kan ikke købe dette land pÃ¥ grund af din nuværende indholdsrating indstilling. - </notification> - <notification name="LandBuyAccessBlocked_Change"> - Du kan ikke købe dette land, pÃ¥ grund af begrænsninger i din opsætning af indholdsrating. - -Du kan klikke pÃ¥ 'Ændre præference' for at ændre din indholdsrating nu og dermed opnÃ¥ adgang. Du vil sÃ¥ fÃ¥ mulighed for at søge og tilgÃ¥ [REGIONMATURITY] fra da af. Hvis du senere ønsker at ændre denne opsætning tilbage, gÃ¥ til Mig > Indstillinger > Generelt. - <usetemplate ignoretext="Din valgte rating forhindrer dig i at købe land" name="okcancelignore" notext="Luk" yestext="Ændre præferencer"/> - </notification> - <notification name="TooManyPrimsSelected"> - Der er valgt for mange prims. Vælg venligst [MAX_PRIM_COUNT] eller færre og prøv igen - </notification> - <notification name="UnableToLoadNotecardAsset"> - Kunne ikke hente notecard indhold. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="SetClassifiedMature"> - Indeholder denne annonce 'Mature' indhold? - <usetemplate canceltext="Annullér" name="yesnocancelbuttons" notext="Nej" yestext="Ja"/> - </notification> - <notification name="SetGroupMature"> - Indeholder denne gruppe 'Mature' indhold? - <usetemplate canceltext="Annullér" name="yesnocancelbuttons" notext="Nej" yestext="Ja"/> - </notification> - <notification label="Changed Region Maturity" name="RegionMaturityChange"> - Ratingen for denne region er ændret. -Det kan tage noget tid inden ændringen slÃ¥r igennem pÃ¥ kortet. - -For at fÃ¥ adgang til voksen regioner, skal beboere være alders-checket, enten via aldersverifikation eller betalingsverifikation. - </notification> - <notification label="Voice Version Mismatch" name="VoiceVersionMismatch"> - Denne version af [APP_NAME] er ikke kompatibel med stemme chat funktionen i denne region. For at kunne fÃ¥ stemme chat til at fungere skal du opdatere [APP_NAME]. - </notification> - <notification name="MoveInventoryFromObject"> - <usetemplate ignoretext="Advar mig før jeg flytter 'ikke-kopiérbare' genstande fra et objekt" name="okcancelignore" notext="Cancel" yestext="OK"/> - </notification> - <notification name="MoveInventoryFromScriptedObject"> - <usetemplate ignoretext="Advar mig før jeg flytter 'ikke-kopiérbare' genstande, hvor det kan medføre at ødelægge et scriptet objekt" name="okcancelignore" notext="Cancel" yestext="OK"/> - </notification> - <notification name="ClickActionNotPayable"> - Advarsel: 'Betal objekt' klik-aktionen er blevet aktiveret, men det vil kun virke, hvis et script med et 'money()' event er tilføjet. - <form name="form"> - <ignore name="ignore" text="I set the action 'Pay object' when building an object without a money() script"/> - </form> - </notification> - <notification name="WebLaunchAccountHistory"> - GÃ¥ til [http://secondlife.com/account/ Dashboard] for at se konto-historik? - <usetemplate ignoretext="Start min browser for at se min konto historik" name="okcancelignore" notext="Cancel" yestext="Go to page"/> - </notification> - <notification name="ConfirmQuit"> - Er du sikker pÃ¥ at du vil afslutte? - <usetemplate ignoretext="Bekræft før jeg afslutter" name="okcancelignore" notext="Afslut ikke" yestext="Quit"/> - </notification> - <notification name="DeleteItems"> - [QUESTION] - <usetemplate ignoretext="Bekræft før sletning af genstande" name="okcancelignore" notext="Annullér" yestext="OK"/> - </notification> - <notification name="HelpReportAbuseEmailLL"> - Benyt dette værktøj til at rapportere krænkninger af [http://secondlife.com/corporate/tos.php Terms of Service] og [http://secondlife.com/corporate/cs.php Community Standards]. - -Alle rapporter om krænkninger vil blive undersøgt og behandlet. - </notification> - <notification name="HelpReportAbuseContainsCopyright"> - Kære beboer, - -Det ser ud til at du indrapporterer krænkelse af ophavsret. Check venligst at du rapporterer korrekt: - -(1) Krænkelsesproces. Du mÃ¥ sende en rapport, hvis du mener at en beboer udnytter [SECOND_LIFE] rettighedssystemet, for eksempel via CopyBot eller lignende værktøjer, til at overtræde ophavsretten til objekter. - -(2) DCMA (â€Digital Millennium Copyright Actâ€) eller fjernelsesproces. For at kræve at indhold fjernes fra [SECOND_LIFE], SKAL du sende en gyldig besked om overtrædelse som beskrevet i [http://secondlife.com/corporate/dmca.php DMCA Policy]. - -Hvis du stadig ønsker at fortsætte med rapportering om overtrædelse, luk venligst dette vindue og afslut afsendelse af rapporten. Du skal muligvis vælge en specifik kategori 'CopyBot or Permissions Exploit'. - -Mange tak - -Linden Lab - </notification> - <notification label="Replace Existing Attachment" name="ReplaceAttachment"> - <form name="form"> - <ignore name="ignore" text="Erstat et eksisterende vedhæng med den valgte genstand"/> - </form> - </notification> - <notification label="Busy Mode Warning" name="BusyModePay"> - <form name="form"> - <ignore name="ignore" text="Jeg er ved at betale en person eller et objekt mens jeg er 'optaget'"/> - </form> - </notification> - <notification name="ConfirmDeleteProtectedCategory"> - Mappen '[FOLDERNAME]' er en system mappe. At slette denne mappe kan medføre ustabilitet. Er du sikker pÃ¥ at du vil slette den? - <usetemplate ignoretext="Bekræft, inden en system mappe slettes" name="okcancelignore" notext="Annullér" yestext="OK"/> - </notification> - <notification name="ConfirmEmptyTrash"> - Er du sikker pÃ¥ at du ønsker at tømme papirkurven? - <usetemplate ignoretext="Bekræft før papirkurv i beholdning tømmes" name="okcancelignore" notext="Cancel" yestext="OK"/> - </notification> - <notification name="ConfirmClearBrowserCache"> - Er du sikker pÃ¥ at du ønsker at slette din historik om besøg, web og søgninger? - <usetemplate name="okcancelbuttons" notext="Cancel" yestext="OK"/> - </notification> - <notification name="ConfirmClearCookies"> - Er du sikker pÃ¥ du vil slette alle cookies? - </notification> - <notification name="ConfirmEmptyLostAndFound"> - Er du sikker pÃ¥ at du vil slette indholdet i din 'Fundne genstande'? - <usetemplate ignoretext="Bekræft før sletning af 'Fundne genstande' mappe i beholdning" name="okcancelignore" notext="No" yestext="Yes"/> - </notification> - <notification name="CopySLURL"> - Følgende SLurl er blevet kopieret til din udklipsholder: - [SLURL] - -Henvis til dette fra en hjemmeside for at give andre nem adgang til denne lokation, eller prøv det selv ved at indsætte det i adresselinien i en web-browser. - <form name="form"> - <ignore name="ignore" text="SLurl er kopieret til min udklipsholder"/> - </form> - </notification> - <notification name="NewSkyPreset"> - <form name="form"> - <input name="message"> - Ny forudindstilling - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annullér"/> - </form> - </notification> - <notification name="NewWaterPreset"> - <form name="form"> - <input name="message"> - Ny forudindstilling - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annullér"/> - </form> - </notification> - <notification name="ChatterBoxSessionStartError"> - Ikke i stand til at start chat med [RECIPIENT]. -[REASON] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="Cannot_Purchase_an_Attachment"> - Du kan ikke købe en genstand mens den er vedhæftet. - </notification> - <notification name="AutoWearNewClothing"> - Vil du automatisk tage det tøj pÃ¥ du er ved at lave? - <usetemplate ignoretext="Tag det tøj pÃ¥ jeg laver, mens jeg ændrer udseende" name="okcancelignore" notext="No" yestext="Yes"/> - </notification> - <notification name="NotAgeVerified"> - Du skal være alders-checket for at besøge dette omrÃ¥de. Ønsker du at gÃ¥ til [SECOND_LIFE] hjemmesiden og bekræfte din alder? - -[_URL] - <usetemplate ignoretext="Jeg har ikke bekræftet min alder" name="okcancelignore" notext="No" yestext="Yes"/> - </notification> - <notification name="Cannot enter parcel: no payment info on file"> - Du skal være betalende medlem for at besøge dette omrÃ¥de. Ønsker du at gÃ¥ til [SECOND_LIFE] hjemmesiden for at blive dette? - -[_URL] - <usetemplate ignoretext="Du mangler at være betalende medlem" name="okcancelignore" notext="No" yestext="Yes"/> - </notification> - <notification name="SystemMessageTip"> - [MESSAGE] - </notification> - <notification name="IMSystemMessageTip"> - [MESSAGE] - </notification> - <notification name="Cancelled"> - Annulléret - </notification> - <notification name="CancelledSit"> - Annulléret sid - </notification> - <notification name="CancelledAttach"> - Annulléreret vedhæft - </notification> - <notification name="ReplacedMissingWearable"> - Erstattet manglende tøj/kropsdele med standard. - </notification> - <notification name="FriendOnline"> - [NAME] er logget pÃ¥ - </notification> - <notification name="FriendOffline"> - [NAME] er logget af - </notification> - <notification name="AddSelfFriend"> - Selvom du nok er meget sød, kan du ikke tilføje dig selv som ven. - </notification> - <notification name="UploadingAuctionSnapshot"> - Uploader billeder fra verdenen og www... -(Tager omkring 5 minutter.) - </notification> - <notification name="UploadPayment"> - Du betalte L$[AMOUNT] for at uploade. - </notification> - <notification name="UploadWebSnapshotDone"> - Billeder fra www er uploadet. - </notification> - <notification name="UploadSnapshotDone"> - Billeder fra verdenen er uploadet - </notification> - <notification name="TerrainDownloaded"> - Terrain.raw downloadet - </notification> - <notification name="GestureMissing"> - Bevægelsen [NAME] mangler i databasen. - </notification> - <notification name="UnableToLoadGesture"> - Kunne ikke indlæse læse bevægelse [NAME]. - </notification> - <notification name="LandmarkMissing"> - Landmærke mangler i databasen. - </notification> - <notification name="UnableToLoadLandmark"> - Ikke muligt at indlæse landmærke. Prøv venligst igen. - </notification> - <notification name="CapsKeyOn"> - Din Caps Lock er aktiveret. -Det kan pÃ¥virke din indtastning af password. - </notification> - <notification name="NotecardMissing"> - Note mangler i databasen. - </notification> - <notification name="NotecardNoPermissions"> - Du har ikke rettigheder til at se denne note. - </notification> - <notification name="RezItemNoPermissions"> - Utilstrækkelige tilladelser til at danne genstanden. - </notification> - <notification name="UnableToLoadNotecard"> - Ikke muligt at indlæse note. -Prøv venligst igen. - </notification> - <notification name="ScriptMissing"> - Script mangler i databasen. - </notification> - <notification name="ScriptNoPermissions"> - Utilstrækkelige tilladelser til at se script. - </notification> - <notification name="UnableToLoadScript"> - Ikke muligt at indlæse script. Prøv venligst igen. - </notification> - <notification name="IncompleteInventory"> - Det komplette indhold, du tilbyder, er ikke endnu tilgængelig lokalt. Prøv venligst at tilbyde tingene igen om lidt. - </notification> - <notification name="CannotModifyProtectedCategories"> - Du kan ikke ændre beskyttede kategorier. - </notification> - <notification name="CannotRemoveProtectedCategories"> - Du kan ikke fjerne beskyttede kategorier. - </notification> - <notification name="UnableToBuyWhileDownloading"> - Ikke muligt at købe, imens genstandens data hentes. -Prøv venligst igen. - </notification> - <notification name="UnableToLinkWhileDownloading"> - Ikke muligt at lænke imens genstandens data hentes. -Prøv venligst igen. - </notification> - <notification name="CannotBuyObjectsFromDifferentOwners"> - Du kan kun købe objekter fra én ejer ad gangen. -Vælg venligst et enkelt objekt. - </notification> - <notification name="ObjectNotForSale"> - Dette objekt er ikke til salg. - </notification> - <notification name="EnteringGodMode"> - Starter gud-tilstand, niveau [LEVEL] - </notification> - <notification name="LeavingGodMode"> - Stopper gud-tilstand, niveau [LEVEL] - </notification> - <notification name="CopyFailed"> - Du har ikke rettigheder til at kopiere dette. - </notification> - <notification name="InventoryAccepted"> - [NAME] modtog dit tilbud til hans/hendes beholdning. - </notification> - <notification name="InventoryDeclined"> - [NAME] afviste det du tilbød fra din beholdning. - </notification> - <notification name="ObjectMessage"> - [NAME]: [MESSAGE] - </notification> - <notification name="CallingCardAccepted"> - Dit visitkort blev accepteret. - </notification> - <notification name="CallingCardDeclined"> - Dit visitkort blev afvist. - </notification> - <notification name="TeleportToLandmark"> - Du kan teleportere til lokationer som '[NAME]' ved at Ã¥bne Steder panelet til højre pÃ¥ skærmen, og her vælge landemærker fanen. -Klik pÃ¥ et landemærke og vælg den, derefter -Click on any landmark to select it, then click 'Teleport' at the bottom of the panel. -(You can also double-click on the landmark, or right-click it and choose 'Teleport'.) - </notification> - <notification name="TeleportToPerson"> - Du kan kontakte beboere som '[NAME]' ved at Ã¥bne Personer panelet til højre pÃ¥ skærmen. -Vælg beboeren fra listen og klik sÃ¥ 'IM' i bundet af panelet. -(Du kan ogsÃ¥ dobbelt-klikke pÃ¥ navnet i listen, eller højre-klikke og vælge 'IM'). - </notification> - <notification name="CantSelectLandFromMultipleRegions"> - Kan ikke vælge land pÃ¥ tværs af grænser. -Prøv at vælge mindre stykker land. - </notification> - <notification name="SearchWordBanned"> - Visse ord er fjernet fra din søge-sætning pÃ¥ grund af at disse strider mod de generelle 'Community Standards'. - </notification> - <notification name="NoContentToSearch"> - Vælg venligst mindst en indholdstype for at søge (PG, Mature, or Adult). - </notification> - <notification name="SystemMessage"> - [MESSAGE] - </notification> - <notification name="PaymentReceived"> - [MESSAGE] - </notification> - <notification name="PaymentSent"> - [MESSAGE] - </notification> - <notification name="EventNotification"> - Besked om begivenhed: - -[NAME] -[DATE] - <form name="form"> - <button name="Details" text="Detaljer"/> - <button name="Cancel" text="Annullér"/> - </form> - </notification> - <notification name="TransferObjectsHighlighted"> - Alle genstande pÃ¥ denne grund, som vil blive overført til køberen af denne grund, er nu oplyst. - -* Træer og græs, der vil blive overført, er ikke fremhævet. - <form name="form"> - <button name="Done" text="Færdig"/> - </form> - </notification> - <notification name="DeactivatedGesturesTrigger"> - Deaktiverede bevægelser med samme udløser: [NAMES] - </notification> - <notification name="NoQuickTime"> - Det ser ikke ud til at Apples QuickTime software er installeret pÃ¥ dit system. -Hvis du ønsker at se streaming media pÃ¥ parceller der understøtter dette skal du besøge siden [http://www.apple.com/quicktime QuickTime site] og installere QuickTime Player. - </notification> - <notification name="NoPlugin"> - Ingen Media Plugin blev fundet til at hÃ¥ndtere mime af typen "[MIME_TYPE]". Media af denne type vil ikke være tilgængelig. - </notification> - <notification name="MediaPluginFailed"> - Følgende Media Plugin has fejlede: - [PLUGIN] - -Prøv venligst at geninstallere plugin eller kontakt leverandøren hvis problemerne bliver ved. - <form name="form"> - <ignore name="ignore" text="En Media Plugin kunne ikke afvikles"/> - </form> - </notification> - <notification name="OwnedObjectsReturned"> - De genstande du ejer pÃ¥ det valgte stykke land er blevet returneret til din beholdning. - </notification> - <notification name="OtherObjectsReturned"> - Objekterne pÃ¥ den valgte parcel, ejet af [NAME], er blevet returneret til vedkommendes beholdning. - </notification> - <notification name="OtherObjectsReturned2"> - Objekterne i den valgte parcel, ejet af beboeren '[NAME]', er blevet returneret til deres ejer. - </notification> - <notification name="GroupObjectsReturned"> - Genstandene pÃ¥ det valgte stykke land, delt med gruppen [GROUPNAME], er blevet returneret til deres ejeres beholdninger. -Genstande, som er dedikerede og som kan overføres, er blevet returneret til deres forrige ejere. -Genstande, der ikke kan overføres og som er dedikeret til gruppen, er blevet slettet. - </notification> - <notification name="UnOwnedObjectsReturned"> - Genstandene pÃ¥ det valgte stykke land, der IKKE er ejet af dig, er blevet returneret til deres ejere. - </notification> - <notification name="ServerObjectMessage"> - Besked fra [NAME]: -<nolink>[MSG]</nolink> - </notification> - <notification name="NotSafe"> - Dette land er Ã¥bnet for 'skade'. -Du kan blive skadet her. Hvis du dør, vil du blive teleporteret til din hjemme lokation. - </notification> - <notification name="NoFly"> - Dette sted har ikke aktiveret ret til flyvning. -Du kan ikke flyve her. - </notification> - <notification name="PushRestricted"> - Dette sted tillader ikke skubning. Du kan ikke skubbe andre, med mindre du ejer dette land. - </notification> - <notification name="NoVoice"> - Dette sted har ikke aktiveret stemme-chat. Du vil ikke kunne høre nogen tale. - </notification> - <notification name="NoBuild"> - Dette sted har ikke aktiveret bygge-ret. Du kan ikke bygge eller 'rezze' objekter her. - </notification> - <notification name="ScriptsStopped"> - En administrator har midlertidig stoppet scripts i denne region. - </notification> - <notification name="ScriptsNotRunning"> - Denne region kører ikke nogen scripts. - </notification> - <notification name="NoOutsideScripts"> - Dette sted tillader ikke udefra kommende scripts. - -Ingen scripts vil virke her, udover de som tilhører ejeren af landet. - </notification> - <notification name="ClaimPublicLand"> - Du kan kun kræve land i den region du befinder dig i. - </notification> - <notification name="RegionTPAccessBlocked"> - Du har ikke adgang til denne region pÃ¥ grund af din valgte indholdsrating. Dette kan skyldes manglende validering af din alder eller at du ikke benytter den nyeste [APP_NAME] klient. - -GÃ¥ venligst til 'Knowledge Base' for yderligere detaljer om adgang til omrÃ¥der med denne indholdsrating. - </notification> - <notification name="URBannedFromRegion"> - Du er blokeret i denne region. - </notification> - <notification name="NoTeenGridAccess"> - Du kan ikke tilslutte dig denne 'Teen' region. - </notification> - <notification name="ImproperPaymentStatus"> - Du har ikke de rette betalingsoplysninger til at komme ind i denne region. - </notification> - <notification name="MustGetAgeParcel"> - Du skal være aldersgodkendt for at komme ind pÃ¥ denne parcel. - </notification> - <notification name="NoDestRegion"> - Destinations region ikke fundet. - </notification> - <notification name="NotAllowedInDest"> - Du har ikke adgang til denne destination. - </notification> - <notification name="RegionParcelBan"> - Kan ikke skifte til ny region via en blokeret parcel. Prøv en anden vej ind. - </notification> - <notification name="TelehubRedirect"> - Du er blevet omdirigeret til en telehub. - </notification> - <notification name="CouldntTPCloser"> - Kunne ikke teleportere nærmere til destination. - </notification> - <notification name="TPCancelled"> - Teleport afbrudt. - </notification> - <notification name="FullRegionTryAgain"> - Den region du prøver at komme ind i er fuld for øjeblikket. -Prøv igen om lidt. - </notification> - <notification name="GeneralFailure"> - Generel fejl. - </notification> - <notification name="RoutedWrongRegion"> - Du blev sendt til en forkert region. Prøv igen. - </notification> - <notification name="NoValidAgentID"> - Ikke en gyldig agent ID. - </notification> - <notification name="NoValidSession"> - Ikke noget gyldig sessions-ID - </notification> - <notification name="NoValidCircuit"> - Ingen gyldig kode for kredsløb. - </notification> - <notification name="NoValidTimestamp"> - Ikke et gyldigt klokkeslæt. - </notification> - <notification name="NoPendingConnection"> - Kunne ikke skabe fast forbindelse. - </notification> - <notification name="InternalUsherError"> - Der opstod en intern fejl ved teleportering til din teleport destination.. Der kan være generelle problemer med [SECOND_LIFE] lige nu. - </notification> - <notification name="NoGoodTPDestination"> - Kunne ikke finde et egnet teleport sted i denne region. - </notification> - <notification name="InternalErrorRegionResolver"> - Der opstod en intern fejl ved beregning af globale koordinater for din teleport forespørgsel. Der kan være generelle problemer med [SECOND_LIFE] lige nu. - </notification> - <notification name="NoValidLanding"> - Kunne ikke finde et gyldigt landingspunkt. - </notification> - <notification name="NoValidParcel"> - No valid parcel could be found. - </notification> - <notification name="ObjectGiveItem"> - Et objekt ved navn <nolink>[OBJECTFROMNAME]</nolink> ejet af [NAME_SLURL] tilbyder dig <nolink>[ITEM_SLURL]</nolink>. For at bruge denne genstand skal du skifte til avanceret tilstand, hvor du kan finde genstanden i din beholdning. Ønsker du at logge ud for at skifte tilstand? Valg af tilstand findes pÃ¥ login skærmbilledet. - <form name="form"> - <button name="Keep" text="Behold genstand"/> - <button name="Discard" text="Afvis genstand"/> - <button name="Mute" text="Blokér objekt"/> - </form> - </notification> - <notification name="UserGiveItem"> - [NAME_SLURL] tilbyder dig [ITEM_SLURL]. For at bruge denne genstand skal du skifte til avanceret tilstand, hvor du kan finde genstanden i din beholdning. Ønsker du at logge ud for at skifte tilstand? Valg af tilstand findes pÃ¥ login skærmbilledet. - <form name="form"> - <button name="Show" text="Behold genstand"/> - <button name="Discard" text="Afvis genstand"/> - <button name="Mute" text="Blokér bruger"/> - </form> - </notification> - <notification name="GodMessage"> - [NAME] - -[MESSAGE] - </notification> - <notification name="JoinGroup"> - [MESSAGE] - <form name="form"> - <button name="Join" text="Indmeld"/> - <button name="Decline" text="Afvis"/> - <button name="Info" text="Information"/> - </form> - </notification> - <notification name="TeleportOffered"> - [NAME_SLURL] har tilbudt en teleport til deres lokation: - -[MESSAGE] - [MATURITY_STR] <icon>[MATURITY_ICON]</icon> - <form name="form"> - <button name="Teleport" text="Teleportér"/> - <button name="Cancel" text="Annullér"/> - </form> - </notification> - <notification name="TeleportOfferSent"> - Tilbud om teleport sendt til [TO_NAME] - </notification> - <notification name="GotoURL"> - [MESSAGE] -[URL] - <form name="form"> - <button name="Later" text="Senere"/> - <button name="GoNow..." text="GÃ¥ nu..."/> - </form> - </notification> - <notification name="OfferFriendship"> - [NAME_SLURL] tilbyder venskab. - -[MESSAGE] - -(Som udgangspunkt vil I være i stand til at se hinandens online status.) - <form name="form"> - <button name="Accept" text="Acceptér"/> - <button name="Decline" text="Afvis"/> - </form> - </notification> - <notification name="FriendshipOffered"> - Du har tilbudt venskab til [TO_NAME] - </notification> - <notification name="OfferFriendshipNoMessage"> - [NAME_SLURL] tilbyder venskab. - -(Som udgangspunkt, vil du være i stand til at se den andens online status) - </notification> - <notification name="FriendshipAccepted"> - [NAME] accepterede dit tilbud om venskab. - </notification> - <notification name="FriendshipDeclined"> - [NAME] afviste dit tilbud om venskab. - </notification> - <notification name="FriendshipAcceptedByMe"> - Tilbud om venskab accepteret. - </notification> - <notification name="FriendshipDeclinedByMe"> - Tilbud om venskab afvist. - </notification> - <notification name="OfferCallingCard"> - [NAME] tilbyder sit visitkort. -Dette vil tilføje et bogmærke i din beholdning, sÃ¥ du hurtigt kan sende en personlig besked til denne beboer. - <form name="form"> - <button name="Accept" text="Acceptér"/> - <button name="Decline" text="Afvis"/> - </form> - </notification> - <notification name="RegionRestartMinutes"> - Denne region vil genstarte om [MINUTES] minutter. -Hvis du ikke forlader regionen, vil du blive logget af. - </notification> - <notification name="RegionRestartSeconds"> - Denne region genstartes om [SECONDS] sekunder. -Hvis du ikke forlader regionen, vil du blive logget af. - </notification> - <notification name="LoadWebPage"> - Indlæas websiden [URL]? - -[MESSAGE] - -Fra objekt: <nolink>[OBJECTNAME]</nolink>, ejer: [NAME]? - <form name="form"> - <button name="Gotopage" text="GÃ¥ til side"/> - <button name="Cancel" text="Afbryd"/> - </form> - </notification> - <notification name="FailedToFindWearableUnnamed"> - Det lykkedes ikke at finde [TYPE] i databasen. - </notification> - <notification name="FailedToFindWearable"> - Det lykkedes ikke at finde [TYPE] med navnet [DESC] i databasen. - </notification> - <notification name="InvalidWearable"> - Den genstand du prøver at tage pÃ¥ benytter en funktion din klient ikke kan forstÃ¥. Upgradér venligst din version af [APP_NAME] for at kunne tage denne genstand pÃ¥. - </notification> - <notification name="ScriptQuestion"> - '<nolink>[OBJECTNAME]</nolink>', et objekt ved ejet af '[NAME]', ønsker at: - -[QUESTIONS] -Er dette OK? - <form name="form"> - <button name="Yes" text="Ja"/> - <button name="No" text="Nej"/> - <button name="Mute" text="Blokér"/> - </form> - </notification> - <notification name="ScriptQuestionCaution"> - Et objeckt med navn '<nolink>[OBJECTNAME]</nolink>', ejet af '[NAME]' ønsker at: - -[QUESTIONS] -Hvis du ikke stoler pÃ¥ dette objekt og dets skaber, bør du afvise dette ønske. - -Opfyld dette ønske? - <form name="form"> - <button name="Grant" text="Imødekom"/> - <button name="Deny" text="Afvis"/> - <button name="Details" text="Detaljer..."/> - </form> - </notification> - <notification name="ScriptDialog"> - [NAME]'s '<nolink>[TITLE]</nolink>' -[MESSAGE] - <form name="form"> - <button name="Ignore" text="Ignorér"/> - </form> - </notification> - <notification name="ScriptDialogGroup"> - [GROUPNAME]'s '<nolink>[TITLE]</nolink>' -[MESSAGE] - <form name="form"> - <button name="Ignore" text="Ignorér"/> - </form> - </notification> - <notification name="BuyLindenDollarSuccess"> - Tak for din betaling! - -Din L$ balance vil blive opdateret nÃ¥r transaktionen er gennemført. Ved transaktionen tager mere end 20 min., vil den blive annulleret. I sÃ¥ fald vil beløbet blive krediteret din US$ balance. - -Status for din betaling kan ses i din 'Transaction History' side pÃ¥ din [http://secondlife.com/account/ Dashboard] - </notification> - <notification name="FirstOverrideKeys"> - Dine bevælgelsestaster bliver nu hÃ¥ndteret af et objekt. -Brug piletasterne eller AWSD for at se, hvad de gør. -Nogle genstande (som skydevÃ¥ben) kræver at du gÃ¥r ind i musevisning for at bruge dem. -Tryk pÃ¥ 'M' for at gÃ¥re det. - </notification> - <notification name="FirstSandbox"> - Dette er et sandkasse omrÃ¥de. Her kan beboere lære ast bygge. - -De ting du bygger vil blive slettet senere, sÃ¥ glem ikke at højre-klikke og vælge "Tag" for at tage en kopi af din kreation til din beholdning. - </notification> - <notification name="MaxListSelectMessage"> - Du mÃ¥ kun vælge op til [MAX_SELECT] genstande pÃ¥ denne liste. - </notification> - <notification name="VoiceInviteP2P"> - [NAME] inviterer dig til en stemme-chat samtale. -Klik pÃ¥ Acceptér for at deltage eller Afvis for at afvise invitationen. Klik pÃ¥ Blokér for at blokere personen. - <form name="form"> - <button name="Accept" text="Acceptér"/> - <button name="Decline" text="Afvis"/> - <button name="Mute" text="Blokér"/> - </form> - </notification> - <notification name="AutoUnmuteByIM"> - [NAME] har fÃ¥et sendt en besked og blokering er derfor automatisk blevet fjernet. - </notification> - <notification name="AutoUnmuteByMoney"> - [NAME] har fÃ¥et givet penge og blokering er derfor automatisk blevet fjernet. - </notification> - <notification name="AutoUnmuteByInventory"> - [NAME] er blevet tilbud noget fra beholdning og blokering er derfor automatisk blevet fjernet. - </notification> - <notification name="VoiceInviteGroup"> - [NAME] har has sluttet sig til stemme-chaten i gruppen [GROUP]. -Klik pÃ¥ Acceptér for at deltage eller Afvis for at afvise invitationen. Klik pÃ¥ Blokér for at blokere personen. - <form name="form"> - <button name="Accept" text="Acceptér"/> - <button name="Decline" text="Afvis"/> - <button name="Mute" text="Blokér"/> - </form> - </notification> - <notification name="VoiceInviteAdHoc"> - [NAME] har sluttet sig til en stemme-chat med en konference chat. -Klik pÃ¥ Acceptér for at deltage eller Afvis for at afvise invitationen. Klik pÃ¥ Blokér for at blokere personen. - <form name="form"> - <button name="Accept" text="Acceptér"/> - <button name="Decline" text="Afvis"/> - <button name="Mute" text="Blokér"/> - </form> - </notification> - <notification name="InviteAdHoc"> - [NAME] inviterer dig til en konference chat. -Klik pÃ¥ Acceptér for at deltage eller Afvis for at afvise invitationen. Klik pÃ¥ Blokér for at blokere personen. - <form name="form"> - <button name="Accept" text="Acceptér"/> - <button name="Decline" text="Afvis"/> - <button name="Mute" text="Blokér"/> - </form> - </notification> - <notification name="VoiceChannelFull"> - Den stemme-chat, du prøver at tilslutte dig, [VOICE_CHANNEL_NAME], har nÃ¥et maksiumum kapacitet. Prøv venligst igen senere. - </notification> - <notification name="ProximalVoiceChannelFull"> - Vi beklager. Dette omrÃ¥de har nÃ¥et sin maksimale kapacitet for stemme-chat. Prøv venligst at benytte stemme i et andet omrÃ¥de. - </notification> - <notification name="VoiceChannelDisconnected"> - Du er blevet koblet fra [VOICE_CHANNEL_NAME]. Du vil nu blive koblet til almindelig voice-chat. - </notification> - <notification name="VoiceChannelDisconnectedP2P"> - [VOICE_CHANNEL_NAME] har afsluttet samtalen. Du vil nu blive koblet til almindelig voice-chat. - </notification> - <notification name="P2PCallDeclined"> - [VOICE_CHANNEL_NAME] har avist dit opkald. Du vil nu blive koblet til almindelig voice-chat. - </notification> - <notification name="P2PCallNoAnswer"> - [VOICE_CHANNEL_NAME] er ikke tilgængelig til at modtage dit opkald. Du vil nu blive koblet til almindelig voice-chat. - </notification> - <notification name="VoiceChannelJoinFailed"> - Det lykkedes ikke at forbinde til [VOICE_CHANNEL_NAME], prøv venligst igen senere. Du vil nu blive koblet til almindelig voice-chat. - </notification> - <notification name="VoiceLoginRetry"> - Vi laver en stemmekanal til dig. Det kan tage op til et minut. - </notification> - <notification name="VoiceEffectsExpired"> - En eller flere af dine stemme "morphs" er udløbet. -[[URL] Click here] for at forny dit abbonnement. - </notification> - <notification name="VoiceEffectsExpiredInUse"> - Den aktive stemme "morph" er udløbet og din normale stemme opsætning er genaktiveret. -[[URL] Click here] for at forny dit abbonnement. - </notification> - <notification name="VoiceEffectsWillExpire"> - En eller flere af dine stemme "morphs" vil udløbe om mindre end [INTERVAL] dage. -[[URL] Click here] for at forny dit abbonnement. - </notification> - <notification name="VoiceEffectsNew"> - Nye stemme "morphs" er tilgængelige! - </notification> - <notification name="Cannot enter parcel: not a group member"> - Kun medlemmer af en bestemt gruppe kan besøge dette omrÃ¥de. - </notification> - <notification name="Cannot enter parcel: banned"> - Du kan ikke komme ind pÃ¥ omrÃ¥det. Du er blevet udelukket. - </notification> - <notification name="Cannot enter parcel: not on access list"> - Du kan ikke komme ind pÃ¥ omrÃ¥det. Du er ikke pÃ¥ adgangslisten. - </notification> - <notification name="VoiceNotAllowed"> - Du har ikke tilladelse til at tilslutte dig stemme-chat pÃ¥ [VOICE_CHANNEL_NAME]. - </notification> - <notification name="VoiceCallGenericError"> - En fejl er opstÃ¥et under forsøget pÃ¥ at koble sig pÃ¥ stemme chatten [VOICE_CHANNEL_NAME]. PrÃ¥v venligst senere. - </notification> - <notification name="UnsupportedCommandSLURL"> - Den SLurl du klikkede pÃ¥ understøttes ikke. - </notification> - <notification name="BlockedSLURL"> - En SLurl blev modtaget en ikke sikret browser og den er blevet blokeret af sikkerhedsmæssige Ã¥rsager. - </notification> - <notification name="ThrottledSLURL"> - Flere SLurls blev modtaget fra en browser i et kort tidsrum. -De vil blive blokeret nogle fÃ¥ sekunder af sikkerhedsmæssige Ã¥rsager. - </notification> - <notification name="IMToast"> - [MESSAGE] - <form name="form"> - <button name="respondbutton" text="Svar"/> - </form> - </notification> - <notification name="ConfirmCloseAll"> - Er du sikker pÃ¥ at du vil lukke alle personlige samtaler (IM)? - <usetemplate ignoretext="Bekræft før du lukker alle IMer" name="okcancelignore" notext="Annullér" yestext="OK"/> - </notification> - <notification name="AttachmentSaved"> - Vedhæng er blevet gemt. - </notification> - <notification name="UnableToFindHelpTopic"> - Ikke muligt at finde hjælp om dette element. - </notification> - <notification name="ObjectMediaFailure"> - Server fejl: Media opdatering eller "get" fejlede. -'[ERROR]' - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TextChatIsMutedByModerator"> - Din tekst chat er blevet slukket af moderator. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="VoiceIsMutedByModerator"> - Din stemme er blevet slukket af moderatoren. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ConfirmClearTeleportHistory"> - Er du sikker pÃ¥ at du vil slette teleport historikken? - <usetemplate name="okcancelbuttons" notext="Annullér" yestext="OK"/> - </notification> - <notification name="BottomTrayButtonCanNotBeShown"> - Den valgte knap kan ikke vises lige nu. -Knappen vil blive vist nÃ¥r der er nok plads til den. - </notification> - <notification name="ShareNotification"> - Vælg beboere at dele med. - </notification> - <notification name="ShareItemsConfirmation"> - Er du sikker pÃ¥ at du vil dele følgende genstande: - -<nolink>[ITEMS]</nolink> - -Me følgende beboere: - -[RESIDENTS] - <usetemplate name="okcancelbuttons" notext="Annullér" yestext="Ok"/> - </notification> - <notification name="ItemsShared"> - Genstande er nu delt. - </notification> - <notification name="DeedToGroupFail"> - Dedikering til gruppe fejlede. - </notification> - <notification name="AvatarRezNotification"> - ( [EXISTENCE] sekunder i live ) -Avatar '[NAME]' var ikke sky mere, efter [TIME] sekunder. - </notification> - <notification name="AvatarRezSelfBakedDoneNotification"> - ( [EXISTENCE] seconds alive ) -Du blev færdig med at fremvise dit sæt efter [TIME] sekunder. - </notification> - <notification name="AvatarRezSelfBakedUpdateNotification"> - ( [EXISTENCE] seconds alive ) -Du sendte en opdatering af dit udseende efter [TIME] sekunder. -[STATUS] - </notification> - <notification name="AvatarRezCloudNotification"> - ( [EXISTENCE] sekunder i live ) -Avatar '[NAME]' blev til "sky". - </notification> - <notification name="AvatarRezArrivedNotification"> - ( [EXISTENCE] sekunder i live ) -Avatar '[NAME]' appeared. - </notification> - <notification name="AvatarRezLeftCloudNotification"> - ( [EXISTENCE] sekunder i live ) -Avatar '[NAME]' forsvandt efter [TIME] sekunder som "sky". - </notification> - <notification name="AvatarRezEnteredAppearanceNotification"> - ( [EXISTENCE] sekunder i live ) -Avatar '[NAME]' skiftede til udseende modus. - </notification> - <notification name="AvatarRezLeftAppearanceNotification"> - ( [EXISTENCE] sekunder i live ) -Avatar '[NAME]' har forladt udseende modus. - </notification> - <notification name="NoConnect"> - Vi har problemer med at oprette forbindelse via [PROTOCOL] [HOSTID]. -Check venligst din netværks- og firewallsetup. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="NoVoiceConnect"> - Vi har problemer med at oprette forbindelse til din stemme server: - -[HOSTID] - -Stemme kommunikation vil ikke være tilgængelig. -Check venligst din netværks- og firewall setup. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AvatarRezLeftNotification"> - ( [EXISTENCE] sekunder i live ) -Avatar '[NAME]' forsvandt helt "uploaded". - </notification> - <notification name="AvatarRezSelfBakedTextureUploadNotification"> - ( [EXISTENCE] sekunder i live ) -Du uploadede en [RESOLUTION] "bagt" tekstur til '[BODYREGION]' efter [TIME] sekunder. - </notification> - <notification name="AvatarRezSelfBakedTextureUpdateNotification"> - ( [EXISTENCE] sekunder i live ) -Du opdaterede en [RESOLUTION] "bagt" tekstur for '[BODYREGION]' efter [TIME] sekunder. - </notification> - <notification name="ConfirmLeaveCall"> - Er du sikker pÃ¥ at du vil forlade dette opkald? - <usetemplate ignoretext="Bekræft før jeg forlader opkald" name="okcancelignore" notext="Nej" yestext="Ja"/> - </notification> - <notification name="ConfirmMuteAll"> - Du har valgt at slukke for lyden for alle deltagere i gruppeopkaldet. -Dette vil ogsÃ¥ betyde, at alle beboere der slutter sig til opkaldet -vil have lyden slukket - selv efter de har forladt kaldet. - - -Sluk for alles lyd? - <usetemplate ignoretext="Bekræft før jeg slukker for alle deltageres lyd i gruppe-kald" name="okcancelignore" notext="Annullér" yestext="Ok"/> - </notification> - <notification label="Chat" name="HintChat"> - For at deltage i samtalen tast tekst ind i chat feltet nedenfor. - </notification> - <notification label="StÃ¥ op" name="HintSit"> - For at rejse dig op og forlad siddeposition, tryk pÃ¥ "StÃ¥ op" knappen. - </notification> - <notification label="Undersøg verden" name="HintDestinationGuide"> - Destinationsguiden indeholder tusinder af nye steder der kan opleves. Vælg venligst et sted og vælg Teleport for at komme derhen. - </notification> - <notification label="Side panel" name="HintSidePanel"> - FÃ¥ hurtig tilgang til din beholdning, sæt, profiler og andet i dette side panel. - </notification> - <notification label="Flyt" name="HintMove"> - For at gÃ¥ eller løbe, Ã¥ben Flyt panelet for neden og brug pilene til at navigere. Du kan ogsÃ¥ bruge pile-tasterne pÃ¥ dit tastatur. - </notification> - <notification label="Visningsnavn" name="HintDisplayName"> - Angiv dit konfigurérbare visningsnavn her. Dette er i tillæg til dit unikke brugernavn, som ikke kan ændres. Du kan ændre hvordan du ser andre beboeres navne i dine indstillinger. - </notification> - <notification label="Flyt" name="HintMoveArrows"> - For at gÃ¥, brug piletasterne pÃ¥ tastaturet. Du kan løbe ved at trykke to gange pÃ¥ Pil-Op - </notification> - <notification label="Se" name="HintView"> - For at ændre dit kamera-view, benyt kredsløbs og panoreringskontrollerne. Nulstil view ved at trykke Esc eller ved at gÃ¥. - </notification> - <notification label="Beholdning" name="HintInventory"> - Undersøg din beholdning for at finde ting. Nyeste genstand findes lettes under fanen "Nye ting" - </notification> - <notification label="Der er kommet Linden Dollars" name="HintLindenDollar"> - Her er din nuværende balance af L$. Klik pÃ¥ Køb L$ for at købe flere Linden dollars. - </notification> - <notification name="PopupAttempt"> - En pop-up blev hindret i at blive vist. - <form name="form"> - <ignore name="ignore" text="Tillad alle pop-ups"/> - <button name="open" text="Ã…ben pop-up vindue"/> - </form> - </notification> - <notification name="AuthRequest"> - Hjemmesiden pÃ¥ '<nolink>[HOST_NAME]</nolink>' in realm '[REALM]' kræver et brugernavn og password. - <form name="form"> - <input name="username" text="Brugernavn"/> - <input name="password" text="Password"/> - <button name="ok" text="Send"/> - <button name="cancel" text="Annullér"/> - </form> - </notification> - <notification label="" name="ModeChange"> - For at skifte tilstand skal du genstarte programmet. - <usetemplate name="okcancelbuttons" notext="Afslut ikke" yestext="Afslut"/> - </notification> - <notification label="" name="NoClassifieds"> - Oprettelse og redigering af annoncer er kun muligt i avanceret tilstand. Ønsker du at logge ud for at skifte tilstand? Valg af tilstand findes pÃ¥ login skærmbilledet. - <usetemplate name="okcancelbuttons" notext="Afslut ikke" yestext="Afslut"/> - </notification> - <notification label="" name="NoGroupInfo"> - Oprettelse og redigering af grupper er kun muligt i avanceret tilstand. Ønsker du at logge ud for at skifte tilstand? Valg af tilstand findes pÃ¥ login skærmbilledet. - <usetemplate name="okcancelbuttons" notext="Afslut ikke" yestext="Afslut"/> - </notification> - <notification label="" name="NoPicks"> - Oprettelse og redigering af favoritter er kun mulig i avanceret tilstand. Ønsker du at logge ud for at skifte tilstand? Valg af tilstand findes pÃ¥ login skærmbilledet. - <usetemplate name="okcancelbuttons" notext="Afslut ikke" yestext="Afslut"/> - </notification> - <notification label="" name="NoWorldMap"> - Det er kun muligt at se verdenskortet i avanceret tilstand.Ønsker du at logge ud for at skifte tilstand? Valg af tilstand findes pÃ¥ login skærmbilledet. - <usetemplate name="okcancelbuttons" notext="Afslut ikke" yestext="Afslut"/> - </notification> - <notification label="" name="NoVoiceCall"> - Stemme kald kan kun benttes i avanceret tilstand. Ønsker du at logge ud for at skifte tilstand? - <usetemplate name="okcancelbuttons" notext="Afslut ikke" yestext="Afslut"/> - </notification> - <notification label="" name="NoAvatarShare"> - Det er kun mulig at dele i avanceret tilstand. Ønsker du at logge ud for at skifte tilstand? - <usetemplate name="okcancelbuttons" notext="Afslut ikke" yestext="Afslut"/> - </notification> - <notification label="" name="NoAvatarPay"> - Det er kun muligt at betale andre beboere i avanceret tilstand. Ønsker du at logge ud for at skifte tilstand? - <usetemplate name="okcancelbuttons" notext="Afslut ikke" yestext="Afslut"/> - </notification> - <global name="UnsupportedGLRequirements"> - Det ser ikke ud til at din hardware opfylder minimumskravene til [APP_NAME]. [APP_NAME] kræver et OpenGL grafikkort som understøter 'multitexture'. Check eventuelt om du har de nyeste drivere for grafikkortet, og de nyeste service-packs og patches til dit operativsystem. - -Hvis du bliver ved med at have problemer, besøg venligst [SUPPORT_SITE]. - </global> - <global name="You can only set your 'Home Location' on your land or at a mainland Infohub."> - Hvis du selv ejer land, kan du benytte det til hjemme lokation. -Ellers kan du se pÃ¥ verdenskortet og finde steder markeret med "Infohub". - </global> - <global name="You died and have been teleported to your home location"> - Du døde og er blevet teleporteret til din hjemmelokation. - </global> -</notifications> diff --git a/indra/newview/skins/minimal/xui/da/panel_adhoc_control_panel.xml b/indra/newview/skins/minimal/xui/da/panel_adhoc_control_panel.xml deleted file mode 100644 index 14250453eb7..00000000000 --- a/indra/newview/skins/minimal/xui/da/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="call_btn_panel"> - <button label="Opkald" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Forlad samtale" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Stemmekontroller" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/da/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/da/panel_bottomtray.xml deleted file mode 100644 index bd20ece7642..00000000000 --- a/indra/newview/skins/minimal/xui/da/panel_bottomtray.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="bottom_tray"> - <string name="DragIndicationImageName" value="Accordion_ArrowOpened_Off"/> - <string name="SpeakBtnToolTip" value="SlÃ¥ mikrofon til/fra"/> - <string name="VoiceControlBtnToolTip" value="Vis/skjul stemme kontrolpanel"/> - <layout_stack name="toolbar_stack"> - <layout_panel name="speak_panel"> - <button label="Tal" name="speak_btn" tool_tip="Tænd og sluk for mikrofon"/> - </layout_panel> - <layout_panel name="speak_flyout_panel"> - <button label="" name="flyout_btn" tool_tip="Ændring af opsætning for lyd"/> - </layout_panel> - <layout_panel name="gesture_panel"> - <gesture_combo_list label="Bevægelse" name="Gesture" tool_tip="Lad din avatar gøre ting"/> - </layout_panel> - <layout_panel name="cam_panel"> - <bottomtray_button label="Vis" name="camera_btn" tool_tip="Kontrollér kameravinkel"/> - </layout_panel> - <layout_panel name="destinations_panel"> - <bottomtray_button label="Destinationer" name="destination_btn" tool_tip="Rejs i Second Life"/> - </layout_panel> - <layout_panel name="avatar_panel"> - <bottomtray_button label="Min avatar" name="avatar_btn" tool_tip="Ændre dit udseende"/> - </layout_panel> - <layout_panel name="people_panel"> - <bottomtray_button label="Personer" name="show_people_button" tool_tip="Find personer i Second Life"/> - </layout_panel> - <layout_panel name="profile_panel"> - <bottomtray_button label="Profil" name="show_profile_btn" tool_tip="Se og rediger din profil"/> - </layout_panel> - <layout_panel name="howto_panel"> - <bottomtray_button label="Hvordan" name="show_help_btn" tool_tip="Vis hjælpeinformation for Second Life"/> - </layout_panel> - <layout_panel name="im_well_panel"> - <chiclet_im_well name="im_well"> - <button name="Unread IM messages" tool_tip="Konversationer"/> - </chiclet_im_well> - </layout_panel> - <layout_panel name="notification_well_panel"> - <chiclet_notification name="notification_well"> - <button name="Unread" tool_tip="Notifikationer"/> - </chiclet_notification> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/da/panel_group_control_panel.xml b/indra/newview/skins/minimal/xui/da/panel_group_control_panel.xml deleted file mode 100644 index 23a5e79e228..00000000000 --- a/indra/newview/skins/minimal/xui/da/panel_group_control_panel.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="group_info_btn_panel"> - <button label="Gruppe profil" name="group_info_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Opkald gruppe" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Forlad samtale" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Ã…ben stemme indstillinger" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/da/panel_im_control_panel.xml b/indra/newview/skins/minimal/xui/da/panel_im_control_panel.xml deleted file mode 100644 index b8a7ec0b34a..00000000000 --- a/indra/newview/skins/minimal/xui/da/panel_im_control_panel.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="Profil" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="Tilføj ven" name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="Teleport" name="teleport_btn" tool_tip="Tilbyd teleport til denne person"/> - </layout_panel> - <layout_panel name="share_btn_panel"> - <button label="Del" name="share_btn"/> - </layout_panel> - <layout_panel name="pay_btn_panel"> - <button label="Betal" name="pay_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Opkald" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Afslut samtale" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Stemme kontroller" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/da/panel_login.xml b/indra/newview/skins/minimal/xui/da/panel_login.xml deleted file mode 100644 index 2e0f726e1ab..00000000000 --- a/indra/newview/skins/minimal/xui/da/panel_login.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_login"> - <panel.string name="create_account_url"> - http://join.secondlife.com/ - </panel.string> - <panel.string name="forgot_password_url"> - http://secondlife.com/account/request.php - </panel.string> - <layout_stack name="login_widgets"> - <layout_panel name="login"> - <text name="username_text"> - Brugernavn: - </text> - <combo_box name="username_combo" tool_tip="Brugernavnet du valgte da du registrerde dig, som f.eks. bobsmith12 or Steller Sunshine"/> - <text name="password_text"> - Password: - </text> - <check_box label="Husk password" name="remember_check"/> - <button label="Log pÃ¥" name="connect_btn"/> - <text name="mode_selection_text"> - Tilstand: - </text> - <combo_box name="mode_combo" tool_tip="Vælg ønsket tilstand. Vælg basis for hurtig og nem udforskning og chat. Vælg avanceret for at fÃ¥ adgang til flere muligheder."> - <combo_box.item label="Basis" name="Basic"/> - <combo_box.item label="Avanceret" name="Advanced"/> - </combo_box> - <text name="start_location_text"> - Start ved: - </text> - <combo_box name="start_location_combo"> - <combo_box.item label="Min sidste lokation" name="MyLastLocation"/> - <combo_box.item label="Hjem" name="MyHome"/> - <combo_box.item label="<Indtast regionnavn>" name="Typeregionname"/> - </combo_box> - </layout_panel> - <layout_panel name="links"> - <text name="create_new_account_text"> - Opret bruger - </text> - <text name="forgot_password_text"> - Har du glemt brugernavn eller password? - </text> - <text name="login_help"> - Hjælp til login - </text> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/da/panel_navigation_bar.xml b/indra/newview/skins/minimal/xui/da/panel_navigation_bar.xml deleted file mode 100644 index 2ee87433a46..00000000000 --- a/indra/newview/skins/minimal/xui/da/panel_navigation_bar.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="navigation_bar"> - <panel name="navigation_panel"> - <pull_button name="back_btn" tool_tip="GÃ¥ tilbage til min forrige lokation"/> - <pull_button name="forward_btn" tool_tip="GÃ¥ en lokation fremad"/> - <button name="home_btn" tool_tip="Teleport til min hjemme lokation"/> - <location_input label="Lokation" name="location_combo"/> - <search_combo_box label="Søg" name="search_combo_box" tool_tip="Søg"> - <combo_editor label="Søg [SECOND_LIFE]" name="search_combo_editor"/> - </search_combo_box> - </panel> - <favorites_bar name="favorite" tool_tip="Træk landemærker hertil for at fÃ¥ hurtig adgang til dine favoritsteder i Second Life!"> - <label name="favorites_bar_label" tool_tip="Træk landemærker hertil for at fÃ¥ hurtig adgang til dine favoritsteder i Second Life!"> - Favoritter - </label> - <chevron_button name=">>" tool_tip="Søg mere af mine favoritter"/> - </favorites_bar> -</panel> diff --git a/indra/newview/skins/minimal/xui/da/panel_people.xml b/indra/newview/skins/minimal/xui/da/panel_people.xml deleted file mode 100644 index 8be4d695bde..00000000000 --- a/indra/newview/skins/minimal/xui/da/panel_people.xml +++ /dev/null @@ -1,94 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- Side tray panel --> -<panel label="Personer" name="people_panel"> - <string name="no_recent_people" value="Ingen nylige personer. Leder du efter personer at være sammen med? Prøv destinationsknappen nedenfor."/> - <string name="no_filtered_recent_people" value="Ingen nylige personer med det navn."/> - <string name="no_one_near" value="Ingen i nærheden. Leder du efter personer at være sammen med? Prøv destinationsknappen nedenfor."/> - <string name="no_one_filtered_near" value="Ingen i nærheden med det navn."/> - <string name="no_friends_online" value="Ingen venner online"/> - <string name="no_friends" value="Ingen venner"/> - <string name="no_friends_msg"> - Højre-klik pÃ¥ en person for at tilføje som ven. -Leder du efter personer at være sammen med? Prøv destinationsknappen nedenfor. - </string> - <string name="no_filtered_friends_msg"> - Fandt du ikke hvad du søgte? Prøv destinationsknappen nedenfor. - </string> - <string name="people_filter_label" value="Filtrér personer"/> - <string name="groups_filter_label" value="Filtrér grupper"/> - <string name="no_filtered_groups_msg" value="Fandt du ikke det du søgte? Prøv [secondlife:///app/search/groups/[SEARCH_TERM] Søg]."/> - <string name="no_groups_msg" value="Leder du efter grupper at være med i? Prøv [secondlife:///app/search/groups Søg]."/> - <string name="MiniMapToolTipMsg" value="[REGION](Dobbelt-klik for at Ã¥bne kort, træk for at panorere)"/> - <string name="AltMiniMapToolTipMsg" value="[REGION](Dobbelt-klik for at teleportere, træk for at panorere)"/> - <filter_editor label="Filtrér" name="filter_input"/> - <tab_container name="tabs"> - <panel label="TÆT PÃ…" name="nearby_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <menu_button name="nearby_view_sort_btn" tool_tip="Valg"/> - <button name="add_friend_btn" tool_tip="Tilføj valgte beboer til din venneliste"/> - </panel> - </panel> - <panel label="MINE VENNER" name="friends_panel"> - <accordion name="friends_accordion"> - <accordion_tab name="tab_online" title="Online"/> - <accordion_tab name="tab_all" title="Alle"/> - </accordion> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel"> - <layout_panel name="options_gear_btn_panel"> - <menu_button name="friends_viewsort_btn" tool_tip="Vis flere valg"/> - </layout_panel> - <layout_panel name="add_btn_panel"> - <button name="add_btn" tool_tip="Tilbyd venskab til en beboer"/> - </layout_panel> - <layout_panel name="trash_btn_panel"> - <dnd_button name="del_btn" tool_tip="Fjern valgte person fra din venneliste"/> - </layout_panel> - </layout_stack> - </panel> - </panel> - <panel label="MINE GRUPPER" name="groups_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <menu_button name="groups_viewsort_btn" tool_tip="Valg"/> - <button name="plus_btn" tool_tip="Bliv medlem af gruppe/Opret ny gruppe"/> - <button name="activate_btn" tool_tip="Activér valgte gruppe"/> - </panel> - </panel> - <panel label="NYLIGE" name="recent_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <menu_button name="recent_viewsort_btn" tool_tip="Valg"/> - <button name="add_friend_btn" tool_tip="Tilføj valgte beboer til din venneliste"/> - </panel> - </panel> - </tab_container> - <panel name="button_bar"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="view_profile_btn_lp"> - <button label="Profil" name="view_profile_btn" tool_tip="Vis billeder, grupper og anden beboer information"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im_btn" tool_tip="Ã…ben session med privat besked (IM)"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Opkald" name="call_btn" tool_tip="Kald til denne beboer"/> - </layout_panel> - <layout_panel name="share_btn_lp"> - <button label="Del" name="share_btn" tool_tip="Del en genstand fra beholdning"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleportér" name="teleport_btn" tool_tip="Tilbyd teleport"/> - </layout_panel> - </layout_stack> - <layout_stack name="bottom_bar_ls1"> - <layout_panel name="group_info_btn_lp"> - <button label="Gruppe profil" name="group_info_btn" tool_tip="Vis gruppe information"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="Gruppe chat" name="chat_btn" tool_tip="Ã…ben chat session"/> - </layout_panel> - <layout_panel name="group_call_btn_lp"> - <button label="Gruppe kald" name="group_call_btn" tool_tip="Opkald til denne gruppe"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/minimal/xui/da/panel_side_tray_tab_caption.xml b/indra/newview/skins/minimal/xui/da/panel_side_tray_tab_caption.xml deleted file mode 100644 index ce3a1d8b4ef..00000000000 --- a/indra/newview/skins/minimal/xui/da/panel_side_tray_tab_caption.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="sidetray_tab_panel"> - <text name="sidetray_tab_title" value="Side bjælke"/> - <button name="undock" tool_tip="Løsriv"/> - <button name="dock" tool_tip="Fastgør"/> - <button name="show_help" tool_tip="Vis hjælp"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/da/panel_status_bar.xml b/indra/newview/skins/minimal/xui/da/panel_status_bar.xml deleted file mode 100644 index 6e7bdfc1884..00000000000 --- a/indra/newview/skins/minimal/xui/da/panel_status_bar.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="status"> - <panel.string name="StatBarDaysOfWeek"> - Søndag:Mandag:Tirsdag:Onsdag:Torsdag:Fredag:Lørdag - </panel.string> - <panel.string name="StatBarMonthsOfYear"> - Januar:Februar:Marts:April:Maj:Juni:Juli:August:September:Oktober:November:December - </panel.string> - <panel.string name="packet_loss_tooltip"> - Packet Loss - </panel.string> - <panel.string name="bandwidth_tooltip"> - BÃ¥ndbredde - </panel.string> - <panel.string name="time"> - [hour12, datetime, slt]:[min, datetime, slt] [ampm, datetime, slt] [timezone,datetime, slt] - </panel.string> - <panel.string name="timeTooltip"> - [weekday, datetime, slt], [day, datetime, slt] [month, datetime, slt] [year, datetime, slt] - </panel.string> - <panel.string name="buycurrencylabel"> - L$ [AMT] - </panel.string> - <panel name="balance_bg"> - <text name="balance" tool_tip="Klik for at opdaterer din L$ balance" value="L$20"/> - <button label="KØB L$" name="buyL" tool_tip="Klik for at købe flere L$"/> - </panel> - <text name="TimeText" tool_tip="Nuværende tid (Pacific)"> - 24:00 PST - </text> - <button name="media_toggle_btn" tool_tip="Start/Stop Alle medier (musik, video, hjemmesider)"/> - <button name="volume_btn" tool_tip="Kontrol for generel lydstyrke"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/de/floater_camera.xml b/indra/newview/skins/minimal/xui/de/floater_camera.xml deleted file mode 100644 index d49c207f98c..00000000000 --- a/indra/newview/skins/minimal/xui/de/floater_camera.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="camera_floater"> - <floater.string name="rotate_tooltip"> - Kamera um Fokus drehen - </floater.string> - <floater.string name="zoom_tooltip"> - Kamera auf Fokus zoomen - </floater.string> - <floater.string name="move_tooltip"> - Kamera nach oben, unten, links und rechts bewegen - </floater.string> - <floater.string name="camera_modes_title"> - Kameramodi - </floater.string> - <floater.string name="pan_mode_title"> - Kreisen - Zoomen - Schwenken - </floater.string> - <floater.string name="presets_mode_title"> - Ansichten - </floater.string> - <floater.string name="free_mode_title"> - Objekt ansehen - </floater.string> - <panel name="controls"> - <panel name="preset_views_list"> - <panel_camera_item name="front_view"> - <panel_camera_item.text name="front_view_text"> - Vorderansicht - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="group_view"> - <panel_camera_item.text name="side_view_text"> - Seitenansicht - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="rear_view"> - <panel_camera_item.text name="rear_view_text"> - Hinteransicht - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="camera_modes_list"> - <panel_camera_item name="object_view"> - <panel_camera_item.text name="object_view_text"> - Objektansicht - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="mouselook_view"> - <panel_camera_item.text name="mouselook_view_text"> - Mouselook - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="zoom" tool_tip="Kamera auf Fokus zoomen"> - <joystick_rotate name="cam_rotate_stick" tool_tip="Kamera um Fokus kreisen"/> - <slider_bar name="zoom_slider" tool_tip="Kamera auf Fokus zoomen"/> - <joystick_track name="cam_track_stick" tool_tip="Kamera nach oben, unten, links und rechts bewegen"/> - </panel> - </panel> - <panel name="buttons"> - <button label="" name="presets_btn" tool_tip="Ansichten"/> - <button label="" name="pan_btn" tool_tip="Kreisen - Zoomen - Schwenken"/> - <button label="" name="avatarview_btn" tool_tip="Kameramodi"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/de/floater_help_browser.xml b/indra/newview/skins/minimal/xui/de/floater_help_browser.xml deleted file mode 100644 index 459dfb66c0d..00000000000 --- a/indra/newview/skins/minimal/xui/de/floater_help_browser.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_help_browser" title="ANWEISUNGEN"> - <floater.string name="loading_text"> - Wird geladen... - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="external_controls"/> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/de/floater_media_browser.xml b/indra/newview/skins/minimal/xui/de/floater_media_browser.xml deleted file mode 100644 index 63cf4a6cba3..00000000000 --- a/indra/newview/skins/minimal/xui/de/floater_media_browser.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="MEDIEN-BROWSER"> - <floater.string name="home_page_url"> - http://www.secondlife.com - </floater.string> - <floater.string name="support_page_url"> - http://support.secondlife.com - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button label="Zurück" name="back"/> - <button label="Vorwärts" name="forward"/> - <button label="Neu laden" name="reload"/> - <button label="Los" name="go"/> - </layout_panel> - <layout_panel name="time_controls"> - <button label="zurück" name="rewind"/> - <button label="anhalten" name="stop"/> - <button label="vorwärts" name="seek"/> - </layout_panel> - <layout_panel name="parcel_owner_controls"> - <button label="Aktuelle Seite an Parzelle senden" name="assign"/> - </layout_panel> - <layout_panel name="external_controls"> - <button label="In meinem Browser öffnen" name="open_browser"/> - <check_box label="Immer in meinem Browser öffnen" name="open_always"/> - <button label="Schließen" name="close"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/de/floater_nearby_chat.xml b/indra/newview/skins/minimal/xui/de/floater_nearby_chat.xml deleted file mode 100644 index bbb4114200d..00000000000 --- a/indra/newview/skins/minimal/xui/de/floater_nearby_chat.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="CHAT IN DER NÄHE"> - <check_box label="Chat übersetzen (Service von Google)" name="translate_chat_checkbox"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/de/floater_web_content.xml b/indra/newview/skins/minimal/xui/de/floater_web_content.xml deleted file mode 100644 index 6ab119eeab2..00000000000 --- a/indra/newview/skins/minimal/xui/de/floater_web_content.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_web_content" title=""> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button name="back" tool_tip="Rückwärts"/> - <button name="forward" tool_tip="Vorwärts"/> - <button name="stop" tool_tip="Navigation stoppen"/> - <button name="reload" tool_tip="Seite neu laden"/> - <combo_box name="address" tool_tip="URL hier eingeben"/> - <icon name="media_secure_lock_flag" tool_tip="Sicheres Browsen"/> - <button name="popexternal" tool_tip="Aktuelle URL im Desktop-Browser öffnen"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/de/inspect_avatar.xml b/indra/newview/skins/minimal/xui/de/inspect_avatar.xml deleted file mode 100644 index 4b8fd8a0ad1..00000000000 --- a/indra/newview/skins/minimal/xui/de/inspect_avatar.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_avatar"> - <string name="Subtitle"> - [AGE] - </string> - <string name="Details"> - [SL_PROFILE] - </string> - <text name="user_subtitle" value="11 Monate und 3 Tage alt"/> - <text name="user_details"> - Dies ist meine Second Life-Beschreibung und ich finde sie wirklich gut! Meine Beschreibung ist deshalb so lang, weil ich gerne rede. - </text> - <slider name="volume_slider" tool_tip="Lautstärke" value="0.5"/> - <button label="Freund hinzufügen" name="add_friend_btn" width="110"/> - <button label="IM" name="im_btn"/> - <button label="Profil" left_delta="120" name="view_profile_btn" width="44"/> - <panel name="moderator_panel"> - <button label="Voice deaktivieren" name="disable_voice"/> - <button label="Voice aktivieren" name="enable_voice"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/de/inspect_object.xml b/indra/newview/skins/minimal/xui/de/inspect_object.xml deleted file mode 100644 index 72b8235828e..00000000000 --- a/indra/newview/skins/minimal/xui/de/inspect_object.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_object"> - <string name="Creator"> - Von [CREATOR] - </string> - <string name="CreatorAndOwner"> - Von [CREATOR] -Besitzer [OWNER] - </string> - <string name="Price"> - [AMOUNT] L$ - </string> - <string name="PriceFree"> - Kostenlos! - </string> - <string name="Touch"> - Berühren - </string> - <string name="Sit"> - Sitzen - </string> - <text name="object_name" value="Test für ein Objektname der sehr lange ist und über zwei Zeilen geht."/> - <text name="object_creator"> - von secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/about -Besitzer secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/about - </text> - <text name="price_text"> - 30.000 L$ - </text> - <text name="object_description"> - Dies ist eine wirklich lange Beschreibung für ein Objekt, mindestens 80 Zeichen lang oder jetzt schon mindestens 120 Zeichen lang und länger als der englische Originaltext. Niemand weiß es genau. - </text> - <text name="object_media_url"> - http://www.superdupertest.com - </text> - <button label="Kaufen" name="buy_btn"/> - <button label="Bezahlen" name="pay_btn"/> - <button label="Kopie nehmen" name="take_free_copy_btn" width="100"/> - <button label="Berühren" name="touch_btn"/> - <button label="Sitzen" name="sit_btn"/> - <button label="Öffnen" name="open_btn"/> - <icon name="secure_browsing" tool_tip="Sicheres Browsen"/> - <button label="Mehr" name="more_info_btn"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/de/menu_add_wearable_gear.xml b/indra/newview/skins/minimal/xui/de/menu_add_wearable_gear.xml deleted file mode 100644 index f3775a05ec3..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_add_wearable_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Add Wearable Gear Menu"> - <menu_item_check label="Nach aktuellesten Objekten sortieren" name="sort_by_most_recent"/> - <menu_item_check label="Nach Name sortieren" name="sort_by_name"/> - <menu_item_check label="Nach Typ sortieren" name="sort_by_type"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_attachment_other.xml b/indra/newview/skins/minimal/xui/de/menu_attachment_other.xml deleted file mode 100644 index 237c92f7d26..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_attachment_other.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_avatar_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Profil anzeigen" name="Profile..."/> - <menu_item_call label="Freund hinzufügen" name="Add Friend"/> - <menu_item_call label="IM" name="Send IM..."/> - <menu_item_call label="Anrufen" name="Call"/> - <menu_item_call label="In Gruppe einladen" name="Invite..."/> - <menu_item_call label="Ignorieren" name="Avatar Mute"/> - <menu_item_call label="Melden" name="abuse"/> - <menu_item_call label="Einfrieren" name="Freeze..."/> - <menu_item_call label="Hinauswerfen" name="Eject..."/> - <menu_item_call label="Fehler in Texturen beseitigen" name="Debug..."/> - <menu_item_call label="Hineinzoomen" name="Zoom In"/> - <menu_item_call label="Bezahlen" name="Pay..."/> - <menu_item_call label="Objektprofil" name="Object Inspect"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_attachment_self.xml b/indra/newview/skins/minimal/xui/de/menu_attachment_self.xml deleted file mode 100644 index 644fc68ba4e..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_attachment_self.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Attachment Pie"> - <menu_item_call label="Berühren" name="Attachment Object Touch"/> - <menu_item_call label="Bearbeiten" name="Edit..."/> - <menu_item_call label="Abnehmen" name="Detach"/> - <menu_item_call label="Hinsetzen" name="Sit Down Here"/> - <menu_item_call label="Aufstehen" name="Stand Up"/> - <menu_item_call label="Outfit ändern" name="Change Outfit"/> - <menu_item_call label="Mein Outfit bearbeiten" name="Edit Outfit"/> - <menu_item_call label="Meine Form bearbeiten" name="Edit My Shape"/> - <menu_item_call label="Meine Freunde" name="Friends..."/> - <menu_item_call label="Meine Gruppen" name="Groups..."/> - <menu_item_call label="Mein Profil" name="Profile..."/> - <menu_item_call label="Fehler in Texturen beseitigen" name="Debug..."/> - <menu_item_call label="Fallen lassen" name="Drop"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_avatar_icon.xml b/indra/newview/skins/minimal/xui/de/menu_avatar_icon.xml deleted file mode 100644 index c036cf5515e..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_avatar_icon.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Avatar Icon Menu"> - <menu_item_call label="Profil anzeigen" name="Show Profile"/> - <menu_item_call label="IM senden..." name="Send IM"/> - <menu_item_call label="Freund hinzufügen..." name="Add Friend"/> - <menu_item_call label="Freund entfernen..." name="Remove Friend"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_avatar_other.xml b/indra/newview/skins/minimal/xui/de/menu_avatar_other.xml deleted file mode 100644 index 8aee0be3d2e..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_avatar_other.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_attachment_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Profil anzeigen" name="Profile..."/> - <menu_item_call label="Freund hinzufügen" name="Add Friend"/> - <menu_item_call label="IM" name="Send IM..."/> - <menu_item_call label="Anrufen" name="Call"/> - <menu_item_call label="In Gruppe einladen" name="Invite..."/> - <menu_item_call label="Ignorieren" name="Avatar Mute"/> - <menu_item_call label="Melden" name="abuse"/> - <menu_item_call label="Einfrieren" name="Freeze..."/> - <menu_item_call label="Hinauswerfen" name="Eject..."/> - <menu_item_call label="Fehler in Texturen beseitigen" name="Debug..."/> - <menu_item_call label="Hineinzoomen" name="Zoom In"/> - <menu_item_call label="Bezahlen" name="Pay..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_avatar_self.xml b/indra/newview/skins/minimal/xui/de/menu_avatar_self.xml deleted file mode 100644 index 582c76ac945..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_avatar_self.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Self Pie"> - <menu_item_call label="Hinsetzen" name="Sit Down Here"/> - <menu_item_call label="Aufstehen" name="Stand Up"/> - <context_menu label="Ausziehen" name="Take Off >"> - <context_menu label="Kleidung" name="Clothes >"> - <menu_item_call label="Hemd" name="Shirt"/> - <menu_item_call label="Hose" name="Pants"/> - <menu_item_call label="Rock" name="Skirt"/> - <menu_item_call label="Schuhe" name="Shoes"/> - <menu_item_call label="Strümpfe" name="Socks"/> - <menu_item_call label="Jacke" name="Jacket"/> - <menu_item_call label="Handschuhe" name="Gloves"/> - <menu_item_call label="Unterhemd" name="Self Undershirt"/> - <menu_item_call label="Unterhose" name="Self Underpants"/> - <menu_item_call label="Tätowierung" name="Self Tattoo"/> - <menu_item_call label="Alpha" name="Self Alpha"/> - <menu_item_call label="Alle Kleider" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="Abnehmen" name="Object Detach"/> - <menu_item_call label="Alles abnehmen" name="Detach All"/> - </context_menu> - <menu_item_call label="Outfit ändern" name="Chenge Outfit"/> - <menu_item_call label="Mein Outfit bearbeiten" name="Edit Outfit"/> - <menu_item_call label="Meine Form bearbeiten" name="Edit My Shape"/> - <menu_item_call label="Meine Freunde" name="Friends..."/> - <menu_item_call label="Meine Gruppen" name="Groups..."/> - <menu_item_call label="Mein Profil" name="Profile..."/> - <menu_item_call label="Fehler in Texturen beseitigen" name="Debug..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_bottomtray.xml b/indra/newview/skins/minimal/xui/de/menu_bottomtray.xml deleted file mode 100644 index 6c4308286a6..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_bottomtray.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_camera_move_controls_menu"> - <menu_item_check label="Schaltfläche Gesten" name="ShowGestureButton"/> - <menu_item_check label="Schaltfläche Bewegungssteuerung" name="ShowMoveButton"/> - <menu_item_check label="Schaltfläche Ansicht" name="ShowCameraButton"/> - <menu_item_check label="Schaltfläche Foto" name="ShowSnapshotButton"/> - <menu_item_check label="Schaltfläche „Seitenleiste“" name="ShowSidebarButton"/> - <menu_item_check label="Schaltfläche „Bauen“" name="ShowBuildButton"/> - <menu_item_check label="Schaltfläche „Suchen“" name="ShowSearchButton"/> - <menu_item_check label="Schaltfläche „Karte“" name="ShowWorldMapButton"/> - <menu_item_check label="Schaltfläche „Minikarte“" name="ShowMiniMapButton"/> - <menu_item_call label="Ausschneiden" name="NearbyChatBar_Cut"/> - <menu_item_call label="Kopieren" name="NearbyChatBar_Copy"/> - <menu_item_call label="Einfügen" name="NearbyChatBar_Paste"/> - <menu_item_call label="Löschen" name="NearbyChatBar_Delete"/> - <menu_item_call label="Alle auswählen" name="NearbyChatBar_Select_All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_cof_attachment.xml b/indra/newview/skins/minimal/xui/de/menu_cof_attachment.xml deleted file mode 100644 index 05d3dfca9dd..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_cof_attachment.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Attachment"> - <menu_item_call label="Abnehmen" name="detach"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_cof_body_part.xml b/indra/newview/skins/minimal/xui/de/menu_cof_body_part.xml deleted file mode 100644 index 07960a525c7..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_cof_body_part.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Body"> - <menu_item_call label="Ersetzen" name="replace"/> - <menu_item_call label="Bearbeiten" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_cof_clothing.xml b/indra/newview/skins/minimal/xui/de/menu_cof_clothing.xml deleted file mode 100644 index 7fced273a78..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_cof_clothing.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Clothing"> - <menu_item_call label="Ausziehen" name="take_off"/> - <menu_item_call label="Ersetzen" name="replace"/> - <menu_item_call label="Eine Kategorie nach oben" name="move_up"/> - <menu_item_call label="Eine Kategorie nach unten" name="move_down"/> - <menu_item_call label="Bearbeiten" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_cof_gear.xml b/indra/newview/skins/minimal/xui/de/menu_cof_gear.xml deleted file mode 100644 index 54b218d22f7..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_cof_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear COF"> - <menu label="Neue Kleider" name="COF.Gear.New_Clothes"/> - <menu label="Neue Körperteile" name="COF.Geear.New_Body_Parts"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_edit.xml b/indra/newview/skins/minimal/xui/de/menu_edit.xml deleted file mode 100644 index 37f68d68d50..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_edit.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu label="Bearbeiten" name="Edit"> - <menu_item_call label="Rückgängig" name="Undo"/> - <menu_item_call label="Wiederherstellen" name="Redo"/> - <menu_item_call label="Ausschneiden" name="Cut"/> - <menu_item_call label="Kopieren" name="Copy"/> - <menu_item_call label="Einfügen" name="Paste"/> - <menu_item_call label="Löschen" name="Delete"/> - <menu_item_call label="Duplizieren" name="Duplicate"/> - <menu_item_call label="Alle auswählen" name="Select All"/> - <menu_item_call label="Auswahl aufheben" name="Deselect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_favorites.xml b/indra/newview/skins/minimal/xui/de/menu_favorites.xml deleted file mode 100644 index 0d0491d2ebc..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_favorites.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Teleportieren" name="Teleport To Landmark"/> - <menu_item_call label="Landmarken anzeigen/bearbeiten" name="Landmark Open"/> - <menu_item_call label="SLurl kopieren" name="Copy slurl"/> - <menu_item_call label="Auf Karte zeigen" name="Show On Map"/> - <menu_item_call label="Kopieren" name="Landmark Copy"/> - <menu_item_call label="Einfügen" name="Landmark Paste"/> - <menu_item_call label="Löschen" name="Delete"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_gesture_gear.xml b/indra/newview/skins/minimal/xui/de/menu_gesture_gear.xml deleted file mode 100644 index 953c0eeed57..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_gesture_gear.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_gesture_gear"> - <menu_item_call label="Zu Favoriten hinzufügen/daraus entfernen" name="activate"/> - <menu_item_call label="Kopieren" name="copy_gesture"/> - <menu_item_call label="Einfügen" name="paste"/> - <menu_item_call label="UUID kopieren" name="copy_uuid"/> - <menu_item_call label="Aktuelles Outfit speichern" name="save_to_outfit"/> - <menu_item_call label="Bearbeiten" name="edit_gesture"/> - <menu_item_call label="Untersuchen" name="inspect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_group_plus.xml b/indra/newview/skins/minimal/xui/de/menu_group_plus.xml deleted file mode 100644 index 583ee793be6..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_group_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Werden Sie Mitglied..." name="item_join"/> - <menu_item_call label="Neue Gruppe..." name="item_new"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_hide_navbar.xml b/indra/newview/skins/minimal/xui/de/menu_hide_navbar.xml deleted file mode 100644 index 9acf96dc6d2..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_hide_navbar.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_navbar_menu"> - <menu_item_check label="Navigationsleiste anzeigen" name="ShowNavbarNavigationPanel"/> - <menu_item_check label="Favoritenleiste anzeigen" name="ShowNavbarFavoritesPanel"/> - <menu_item_check label="Mini-Standortleiste anzeigen" name="ShowMiniLocationPanel"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_im_well_button.xml b/indra/newview/skins/minimal/xui/de/menu_im_well_button.xml deleted file mode 100644 index f464b71f4a7..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_im_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="IM Well Button Context Menu"> - <menu_item_call label="Alle schließen" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_imchiclet_adhoc.xml b/indra/newview/skins/minimal/xui/de/menu_imchiclet_adhoc.xml deleted file mode 100644 index 11f93f47b47..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_imchiclet_adhoc.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet AdHoc Menu"> - <menu_item_call label="Sitzung beenden" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_imchiclet_group.xml b/indra/newview/skins/minimal/xui/de/menu_imchiclet_group.xml deleted file mode 100644 index 81ef3b65692..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_imchiclet_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet Group Menu"> - <menu_item_call label="Gruppeninfo" name="Show Profile"/> - <menu_item_call label="Sitzung anzeigen" name="Chat"/> - <menu_item_call label="Sitzung beenden" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_imchiclet_p2p.xml b/indra/newview/skins/minimal/xui/de/menu_imchiclet_p2p.xml deleted file mode 100644 index d1232382462..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_imchiclet_p2p.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet P2P Menu"> - <menu_item_call label="Profil anzeigen" name="Show Profile"/> - <menu_item_call label="Freund hinzufügen" name="Add Friend"/> - <menu_item_call label="Sitzung anzeigen" name="Send IM"/> - <menu_item_call label="Sitzung beenden" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_inspect_avatar_gear.xml b/indra/newview/skins/minimal/xui/de/menu_inspect_avatar_gear.xml deleted file mode 100644 index 72ba7fe41dc..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Profil anzeigen" name="view_profile"/> - <menu_item_call label="Freund hinzufügen" name="add_friend"/> - <menu_item_call label="IM" name="im"/> - <menu_item_call label="Anrufen" name="call"/> - <menu_item_call label="Teleportieren" name="teleport"/> - <menu_item_call label="Ignorieren" name="block"/> - <menu_item_call label="Freischalten" name="unblock"/> - <menu_item_call label="Melden" name="report"/> - <menu_item_call label="Einfrieren" name="freeze"/> - <menu_item_call label="Hinauswerfen" name="eject"/> - <menu_item_call label="Hinauswerfen" name="kick"/> - <menu_item_call label="CSR" name="csr"/> - <menu_item_call label="Fehler in Texturen beseitigen" name="debug"/> - <menu_item_call label="Auf Karte anzeigen" name="find_on_map"/> - <menu_item_call label="Hineinzoomen" name="zoom_in"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_inspect_object_gear.xml b/indra/newview/skins/minimal/xui/de/menu_inspect_object_gear.xml deleted file mode 100644 index 7c47913e30f..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_inspect_object_gear.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<menu name="Gear Menu"> - <menu_item_call label="Berühren" name="touch"/> - <menu_item_call label="Sitzen" name="sit"/> - <menu_item_call label="Bezahlen" name="pay"/> - <menu_item_call label="Kaufen" name="buy"/> - <menu_item_call label="Nehmen" name="take"/> - <menu_item_call label="Kopie nehmen" name="take_copy"/> - <menu_item_call label="Öffnen" name="open"/> - <menu_item_call label="Bearbeiten" name="edit"/> - <menu_item_call label="Anziehen" name="wear"/> - <menu_item_call label="Hinzufügen" name="add"/> - <menu_item_call label="Melden" name="report"/> - <menu_item_call label="Ignorieren" name="block"/> - <menu_item_call label="Hineinzoomen" name="zoom_in"/> - <menu_item_call label="Entfernen" name="remove"/> - <menu_item_call label="Weitere Infos" name="more_info"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_inspect_self_gear.xml b/indra/newview/skins/minimal/xui/de/menu_inspect_self_gear.xml deleted file mode 100644 index 443092319b5..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_inspect_self_gear.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Self Pie"> - <menu_item_call label="Hinsetzen" name="Sit Down Here"/> - <menu_item_call label="Aufstehen" name="Stand Up"/> - <menu_item_call label="Meine Freunde" name="Friends..."/> - <menu_item_call label="Mein Profil" name="Profile..."/> - <menu_item_call label="Fehler in Texturen beseitigen" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_inv_offer_chiclet.xml b/indra/newview/skins/minimal/xui/de/menu_inv_offer_chiclet.xml deleted file mode 100644 index 71cff7136bb..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_inv_offer_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="InvOfferChiclet Menu"> - <menu_item_call label="Schließen" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_inventory.xml b/indra/newview/skins/minimal/xui/de/menu_inventory.xml deleted file mode 100644 index 43722e0dcf6..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_inventory.xml +++ /dev/null @@ -1,86 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Teilen" name="Share"/> - <menu_item_call label="Kaufen" name="Task Buy"/> - <menu_item_call label="Öffnen" name="Task Open"/> - <menu_item_call label="Abspielen" name="Task Play"/> - <menu_item_call label="Eigenschaften" name="Task Properties"/> - <menu_item_call label="Umbenennen" name="Task Rename"/> - <menu_item_call label="Löschen" name="Task Remove"/> - <menu_item_call label="Papierkorb ausleeren" name="Empty Trash"/> - <menu_item_call label="Fundstücke ausleeren" name="Empty Lost And Found"/> - <menu_item_call label="Neuer Ordner" name="New Folder"/> - <menu_item_call label="Neues Skript" name="New Script"/> - <menu_item_call label="Neue Notizkarte" name="New Note"/> - <menu_item_call label="Neue Geste" name="New Gesture"/> - <menu label="Neue Kleider" name="New Clothes"> - <menu_item_call label="Neues Hemd" name="New Shirt"/> - <menu_item_call label="Neue Hose" name="New Pants"/> - <menu_item_call label="Neue Schuhe" name="New Shoes"/> - <menu_item_call label="Neue Socken" name="New Socks"/> - <menu_item_call label="Neue Jacke" name="New Jacket"/> - <menu_item_call label="Neuer Rock" name="New Skirt"/> - <menu_item_call label="Neue Handschuhe" name="New Gloves"/> - <menu_item_call label="Neues Unterhemd" name="New Undershirt"/> - <menu_item_call label="Neue Unterhose" name="New Underpants"/> - <menu_item_call label="Neue Alpha-Maske" name="New Alpha Mask"/> - <menu_item_call label="Neue Tätowierung" name="New Tattoo"/> - </menu> - <menu label="Neue Körperteile" name="New Body Parts"> - <menu_item_call label="Neue Form/Gestalt" name="New Shape"/> - <menu_item_call label="Neue Haut" name="New Skin"/> - <menu_item_call label="Neues Haar" name="New Hair"/> - <menu_item_call label="Neue Augen" name="New Eyes"/> - </menu> - <menu label="Typ ändern" name="Change Type"> - <menu_item_call label="Standard" name="Default"/> - <menu_item_call label="Handschuhe" name="Gloves"/> - <menu_item_call label="Jacke" name="Jacket"/> - <menu_item_call label="Hose" name="Pants"/> - <menu_item_call label="Form" name="Shape"/> - <menu_item_call label="Schuhe" name="Shoes"/> - <menu_item_call label="Hemd" name="Shirt"/> - <menu_item_call label="Rock" name="Skirt"/> - <menu_item_call label="Unterhose" name="Underpants"/> - <menu_item_call label="Unterhemd" name="Undershirt"/> - </menu> - <menu_item_call label="Teleportieren" name="Landmark Open"/> - <menu_item_call label="Öffnen" name="Animation Open"/> - <menu_item_call label="Öffnen" name="Sound Open"/> - <menu_item_call label="Aktuelles Outfit ersetzen" name="Replace Outfit"/> - <menu_item_call label="Zum aktuellen Outfit hinzufügen" name="Add To Outfit"/> - <menu_item_call label="Vom aktuellen Outfit entfernen" name="Remove From Outfit"/> - <menu_item_call label="Original suchen" name="Find Original"/> - <menu_item_call label="Objekt löschen" name="Purge Item"/> - <menu_item_call label="Objekt wiederherstellen" name="Restore Item"/> - <menu_item_call label="Öffnen" name="Open"/> - <menu_item_call label="Original öffnen" name="Open Original"/> - <menu_item_call label="Eigenschaften" name="Properties"/> - <menu_item_call label="Umbenennen" name="Rename"/> - <menu_item_call label="Asset-UUID kopieren" name="Copy Asset UUID"/> - <menu_item_call label="Kopieren" name="Copy"/> - <menu_item_call label="Einfügen" name="Paste"/> - <menu_item_call label="Als Link einfügen" name="Paste As Link"/> - <menu_item_call label="Löschen" name="Remove Link"/> - <menu_item_call label="Löschen" name="Delete"/> - <menu_item_call label="Systemordner löschen" name="Delete System Folder"/> - <menu_item_call label="Konferenz-Chat starten" name="Conference Chat Folder"/> - <menu_item_call label="Wiedergeben/Abspielen" name="Sound Play"/> - <menu_item_call label="Landmarken-Info" name="About Landmark"/> - <menu_item_call label="Inworld abspielen" name="Animation Play"/> - <menu_item_call label="Lokal abspielen" name="Animation Audition"/> - <menu_item_call label="Instant Message senden" name="Send Instant Message"/> - <menu_item_call label="Teleport anbieten..." name="Offer Teleport..."/> - <menu_item_call label="Konferenz-Chat starten" name="Conference Chat"/> - <menu_item_call label="Aktivieren" name="Activate"/> - <menu_item_call label="Deaktivieren" name="Deactivate"/> - <menu_item_call label="Speichern unter" name="Save As"/> - <menu_item_call label="Von Körper abnehmen" name="Detach From Yourself"/> - <menu_item_call label="Anziehen" name="Wearable And Object Wear"/> - <menu label="Anhängen an" name="Attach To"/> - <menu label="An HUD hängen" name="Attach To HUD"/> - <menu_item_call label="Bearbeiten" name="Wearable Edit"/> - <menu_item_call label="Hinzufügen" name="Wearable Add"/> - <menu_item_call label="Ausziehen" name="Take Off"/> - <menu_item_call label="--keine Optionen--" name="--no options--"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_inventory_add.xml b/indra/newview/skins/minimal/xui/de/menu_inventory_add.xml deleted file mode 100644 index dccee6712da..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_inventory_add.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_inventory_add"> - <menu label="Hochladen" name="upload"> - <menu_item_call label="Bild ([COST] L$)..." name="Upload Image"/> - <menu_item_call label="Sound ([COST] L$)..." name="Upload Sound"/> - <menu_item_call label="Animation ([COST] L$)..." name="Upload Animation"/> - <menu_item_call label="Mehrfach-Upload ([COST] L$ pro Datei)..." name="Bulk Upload"/> - <menu_item_call label="Hochlade-Berechtigungen (Standard) festlegen" name="perm prefs"/> - </menu> - <menu_item_call label="Neuer Ordner" name="New Folder"/> - <menu_item_call label="Neues Skript" name="New Script"/> - <menu_item_call label="Neue Notizkarte" name="New Note"/> - <menu_item_call label="Neue Geste" name="New Gesture"/> - <menu label="Neue Kleider" name="New Clothes"> - <menu_item_call label="Neues Hemd" name="New Shirt"/> - <menu_item_call label="Neue Hose" name="New Pants"/> - <menu_item_call label="Neue Schuhe" name="New Shoes"/> - <menu_item_call label="Neue Socken" name="New Socks"/> - <menu_item_call label="Neue Jacke" name="New Jacket"/> - <menu_item_call label="Neuer Rock" name="New Skirt"/> - <menu_item_call label="Neue Handschuhe" name="New Gloves"/> - <menu_item_call label="Neues Unterhemd" name="New Undershirt"/> - <menu_item_call label="Neue Unterhose" name="New Underpants"/> - <menu_item_call label="Neues Alpha" name="New Alpha"/> - <menu_item_call label="Neue Tätowierung" name="New Tattoo"/> - </menu> - <menu label="Neue Körperteile" name="New Body Parts"> - <menu_item_call label="Neue Form/Gestalt" name="New Shape"/> - <menu_item_call label="Neue Haut" name="New Skin"/> - <menu_item_call label="Neues Haar" name="New Hair"/> - <menu_item_call label="Neue Augen" name="New Eyes"/> - </menu> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_inventory_gear_default.xml b/indra/newview/skins/minimal/xui/de/menu_inventory_gear_default.xml deleted file mode 100644 index df86a5cf71c..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_inventory_gear_default.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_gear_default"> - <menu_item_call label="Neues Inventar-Fenster" name="new_window"/> - <menu_item_check label="Nach Name sortieren" name="sort_by_name"/> - <menu_item_check label="Nach aktuellesten Objekten sortieren" name="sort_by_recent"/> - <menu_item_check label="Systemordner nach oben" name="sort_system_folders_to_top"/> - <menu_item_call label="Filter anzeigen" name="show_filters"/> - <menu_item_call label="Filter zurücksetzen" name="reset_filters"/> - <menu_item_call label="Alle Ordner schließen" name="close_folders"/> - <menu_item_call label="Fundbüro ausleeren" name="empty_lostnfound"/> - <menu_item_call label="Textur speichern als" name="Save Texture As"/> - <menu_item_call label="Teilen" name="Share"/> - <menu_item_call label="Original suchen" name="Find Original"/> - <menu_item_call label="Alle Links suchen" name="Find All Links"/> - <menu_item_call label="Papierkorb ausleeren" name="empty_trash"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_land.xml b/indra/newview/skins/minimal/xui/de/menu_land.xml deleted file mode 100644 index de679da3d8e..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_land.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Land Pie"> - <menu_item_call label="Land-Info" name="Place Information..."/> - <menu_item_call label="Hier sitzen" name="Sit Here"/> - <menu_item_call label="Dieses Land kaufen" name="Land Buy"/> - <menu_item_call label="Pass kaufen" name="Land Buy Pass"/> - <menu_item_call label="Bauen" name="Create"/> - <menu_item_call label="Land bearbeiten" name="Edit Terrain"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_landmark.xml b/indra/newview/skins/minimal/xui/de/menu_landmark.xml deleted file mode 100644 index 2aff0eec958..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_landmark.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="landmark_overflow_menu"> - <menu_item_call label="SLurl kopieren" name="copy"/> - <menu_item_call label="Löschen" name="delete"/> - <menu_item_call label="Auswahl erstellen" name="pick"/> - <menu_item_call label="Zu Favoritenleiste hinzufügen" name="add_to_favbar"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_login.xml b/indra/newview/skins/minimal/xui/de/menu_login.xml deleted file mode 100644 index a373e15338c..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_login.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Login Menu"> - <menu label="Ich" name="File"> - <menu_item_call label="Einstellungen" name="Preferences..."/> - <menu_item_call label="[APP_NAME] schließen" name="Quit"/> - </menu> - <menu label="Hilfe" name="Help"> - <menu_item_call label="[SECOND_LIFE]-Hilfe" name="Second Life Help"/> - <menu_item_call label="INFO ÃœBER [APP_NAME]" name="About Second Life"/> - </menu> - <menu_item_check label="Debug-Menü anzeigen" name="Show Debug Menu"/> - <menu label="Debug" name="Debug"> - <menu_item_call label="Debug-Einstellungen anzeigen" name="Debug Settings"/> - <menu_item_call label="UI/Farb-Einstellungen" name="UI/Color Settings"/> - <menu_item_call label="XUI-Editor" name="UI Preview Tool"/> - <menu label="UI-Tests" name="UI Tests"/> - <menu_item_call label="Fenstergröße einstellen..." name="Set Window Size..."/> - <menu_item_call label="Servicebedingungen anzeigen" name="TOS"/> - <menu_item_call label="Wichtige Meldung anzeigen" name="Critical"/> - <menu_item_call label="Test Medienbrowser" name="Web Browser Test"/> - <menu_item_call label="Test Webinhalt-Floater" name="Web Content Floater Test"/> - <menu_item_check label="Grid-Auswahl anzeigen" name="Show Grid Picker"/> - <menu_item_call label="Benachrichtigungs-Konsole anzeigen" name="Show Notifications Console"/> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/de/menu_mini_map.xml b/indra/newview/skins/minimal/xui/de/menu_mini_map.xml deleted file mode 100644 index 2e0d72c40c0..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_mini_map.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Zoom Nah" name="Zoom Close"/> - <menu_item_call label="Zoom Mittel" name="Zoom Medium"/> - <menu_item_call label="Zoom Weit" name="Zoom Far"/> - <menu_item_call label="Zoom-Standard" name="Zoom Default"/> - <menu_item_check label="Karte drehen" name="Rotate Map"/> - <menu_item_check label="Automatisch zentrieren" name="Auto Center"/> - <menu_item_call label="Verfolgung abschalten" name="Stop Tracking"/> - <menu_item_call label="Weltkarte" name="World Map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_navbar.xml b/indra/newview/skins/minimal/xui/de/menu_navbar.xml deleted file mode 100644 index 5175f34b418..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_navbar.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Navbar Menu"> - <menu_item_check label="Koordinaten anzeigen" name="Show Coordinates"/> - <menu_item_check label="Parzelleneigenschaften anzeigen" name="Show Parcel Properties"/> - <menu_item_call label="Landmarke" name="Landmark"/> - <menu_item_call label="Ausschneiden" name="Cut"/> - <menu_item_call label="Kopieren" name="Copy"/> - <menu_item_call label="Einfügen" name="Paste"/> - <menu_item_call label="Löschen" name="Delete"/> - <menu_item_call label="Alle auswählen" name="Select All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_nearby_chat.xml b/indra/newview/skins/minimal/xui/de/menu_nearby_chat.xml deleted file mode 100644 index 99d6428c3f8..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_nearby_chat.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="NearBy Chat Menu"> - <menu_item_call label="Leute in der Nähe anzeigen..." name="nearby_people"/> - <menu_item_check label="Ignorierten Text anzeigen" name="muted_text"/> - <menu_item_check label="Bilder von Freunden anzeigen" name="show_buddy_icons"/> - <menu_item_check label="Namen anzeigen" name="show_names"/> - <menu_item_check label="Namen und Symbole anzeigen" name="show_icons_and_names"/> - <menu_item_call label="Schriftgröße" name="font_size"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_notification_well_button.xml b/indra/newview/skins/minimal/xui/de/menu_notification_well_button.xml deleted file mode 100644 index 0f2784f1607..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_notification_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Notification Well Button Context Menu"> - <menu_item_call label="Alle schließen" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_object.xml b/indra/newview/skins/minimal/xui/de/menu_object.xml deleted file mode 100644 index 19057d4228d..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_object.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Object Pie"> - <menu_item_call label="Berühren" name="Object Touch"> - <menu_item_call.on_enable name="EnableTouch" parameter="Berühren"/> - </menu_item_call> - <menu_item_call label="Bearbeiten" name="Edit..."/> - <menu_item_call label="Bauen" name="Build"/> - <menu_item_call label="Öffnen" name="Open"/> - <menu_item_call label="Hier sitzen" name="Object Sit"/> - <menu_item_call label="Aufstehen" name="Object Stand Up"/> - <menu_item_call label="Objektprofil" name="Object Inspect"/> - <menu_item_call label="Hineinzoomen" name="Zoom In"/> - <context_menu label="Anziehen" name="Put On"> - <menu_item_call label="Anziehen" name="Wear"/> - <menu_item_call label="Hinzufügen" name="Add"/> - <context_menu label="Anhängen" name="Object Attach"/> - <context_menu label="HUD anhängen" name="Object Attach HUD"/> - </context_menu> - <context_menu label="Entfernen" name="Remove"> - <menu_item_call label="Missbrauch melden" name="Report Abuse..."/> - <menu_item_call label="Ignorieren" name="Object Mute"/> - <menu_item_call label="Zurückgeben" name="Return..."/> - <menu_item_call label="Löschen" name="Delete"/> - </context_menu> - <menu_item_call label="Nehmen" name="Pie Object Take"/> - <menu_item_call label="Kopie nehmen" name="Take Copy"/> - <menu_item_call label="Bezahlen" name="Pay..."/> - <menu_item_call label="Kaufen" name="Buy..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_object_icon.xml b/indra/newview/skins/minimal/xui/de/menu_object_icon.xml deleted file mode 100644 index 8b6c558416b..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_object_icon.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Object Icon Menu"> - <menu_item_call label="Objektprofil..." name="Object Profile"/> - <menu_item_call label="Ignorieren..." name="Block"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_outfit_gear.xml b/indra/newview/skins/minimal/xui/de/menu_outfit_gear.xml deleted file mode 100644 index 897154ec562..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_outfit_gear.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Outfit"> - <menu_item_call label="Anziehen - Aktuelles Outfit ersetzen" name="wear"/> - <menu_item_call label="Anziehen - Aktuelles Outfit hinzufügen" name="wear_add"/> - <menu_item_call label="Ausziehen - Aus aktuellem Outfit entfernen" name="take_off"/> - <menu label="Neue Kleider" name="New Clothes"> - <menu_item_call label="Neues Hemd" name="New Shirt"/> - <menu_item_call label="Neue Hose" name="New Pants"/> - <menu_item_call label="Neue Schuhe" name="New Shoes"/> - <menu_item_call label="Neue Socken" name="New Socks"/> - <menu_item_call label="Neue Jacke" name="New Jacket"/> - <menu_item_call label="Neuer Rock" name="New Skirt"/> - <menu_item_call label="Neue Handschuhe" name="New Gloves"/> - <menu_item_call label="Neues Unterhemd" name="New Undershirt"/> - <menu_item_call label="Neue Unterhose" name="New Underpants"/> - <menu_item_call label="Neues Alpha" name="New Alpha"/> - <menu_item_call label="Neue Tätowierung" name="New Tattoo"/> - </menu> - <menu label="Neue Körperteile" name="New Body Parts"> - <menu_item_call label="Neue Form" name="New Shape"/> - <menu_item_call label="Neue Haut" name="New Skin"/> - <menu_item_call label="Neues Haar" name="New Hair"/> - <menu_item_call label="Neue Augen" name="New Eyes"/> - </menu> - <menu_item_call label="Outfit neu benennen" name="rename"/> - <menu_item_call label="Outfit löschen" name="delete_outfit"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_outfit_tab.xml b/indra/newview/skins/minimal/xui/de/menu_outfit_tab.xml deleted file mode 100644 index 32a65c96fc8..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_outfit_tab.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit"> - <menu_item_call label="Anziehen - Aktuelles Outfit ersetzen" name="wear_replace"/> - <menu_item_call label="Anziehen - Aktuelles Outfit hinzufügen" name="wear_add"/> - <menu_item_call label="Ausziehen - Aus aktuellem Outfit entfernen" name="take_off"/> - <menu_item_call label="Outfit bearbeiten" name="edit"/> - <menu_item_call label="Outfit neu benennen" name="rename"/> - <menu_item_call label="Outfit löschen" name="delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_participant_list.xml b/indra/newview/skins/minimal/xui/de/menu_participant_list.xml deleted file mode 100644 index 160f2f97bed..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_participant_list.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Participant List Context Menu"> - <menu_item_check label="Nach Name sortieren" name="SortByName"/> - <menu_item_check label="Nach letzten Sprechern sortieren" name="SortByRecentSpeakers"/> - <menu_item_call label="Profil anzeigen" name="View Profile"/> - <menu_item_call label="Freund hinzufügen" name="Add Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="Anrufen" name="Call"/> - <menu_item_call label="Teilen" name="Share"/> - <menu_item_call label="Bezahlen" name="Pay"/> - <menu_item_check label="Symbole für Personen anzeigen" name="View Icons"/> - <menu_item_check label="Voice ignorieren" name="Block/Unblock"/> - <menu_item_check label="Text ignorieren" name="MuteText"/> - <context_menu label="Moderator-Optionen" name="Moderator Options"> - <menu_item_check label="Text-Chat zulassen" name="AllowTextChat"/> - <menu_item_call label="Diesen Teilnehmer stummschalten" name="ModerateVoiceMuteSelected"/> - <menu_item_call label="Stummschaltung für diesen Teilnehmer aufheben" name="ModerateVoiceUnMuteSelected"/> - <menu_item_call label="Alle stummschalten" name="ModerateVoiceMute"/> - <menu_item_call label="Alle freischalten" name="ModerateVoiceUnmute"/> - </context_menu> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_people_friends_view_sort.xml b/indra/newview/skins/minimal/xui/de/menu_people_friends_view_sort.xml deleted file mode 100644 index 84d9d8938ce..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Nach Name sortieren" name="sort_name"/> - <menu_item_check label="Nach Status sortieren" name="sort_status"/> - <menu_item_check label="Symbole für Personen anzeigen" name="view_icons"/> - <menu_item_check label="Erteilte Genehmigungen anzeigen" name="view_permissions"/> - <menu_item_call label="Ignorierte Einwohner & Objekte anzeigen" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_people_groups.xml b/indra/newview/skins/minimal/xui/de/menu_people_groups.xml deleted file mode 100644 index 76225ba2414..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_people_groups.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Info anzeigen" name="View Info"/> - <menu_item_call label="Chat" name="Chat"/> - <menu_item_call label="Anrufen" name="Call"/> - <menu_item_call label="Aktivieren" name="Activate"/> - <menu_item_call label="Verlassen" name="Leave"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_people_groups_view_sort.xml b/indra/newview/skins/minimal/xui/de/menu_people_groups_view_sort.xml deleted file mode 100644 index b68597d8aa1..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Gruppensymbole anzeigen" name="Display Group Icons"/> - <menu_item_call label="Ausgewählte Gruppe verlassen" name="Leave Selected Group"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_people_nearby.xml b/indra/newview/skins/minimal/xui/de/menu_people_nearby.xml deleted file mode 100644 index 1db964357fe..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_people_nearby.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Avatar Context Menu"> - <menu_item_call label="Profil anzeigen" name="View Profile"/> - <menu_item_call label="Freund hinzufügen" name="Add Friend"/> - <menu_item_call label="Freund entfernen" name="Remove Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="Anrufen" name="Call"/> - <menu_item_call label="Karte" name="Map"/> - <menu_item_call label="Teilen" name="Share"/> - <menu_item_call label="Bezahlen" name="Pay"/> - <menu_item_check label="Ignorieren/Freischalten" name="Block/Unblock"/> - <menu_item_call label="Teleport anbieten" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_people_nearby_multiselect.xml b/indra/newview/skins/minimal/xui/de/menu_people_nearby_multiselect.xml deleted file mode 100644 index b6e99edfe1f..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_people_nearby_multiselect.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Multi-Selected People Context Menu"> - <menu_item_call label="Freunde hinzufügen" name="Add Friends"/> - <menu_item_call label="Freunde entfernen" name="Remove Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="Anrufen" name="Call"/> - <menu_item_call label="Teilen" name="Share"/> - <menu_item_call label="Bezahlen" name="Pay"/> - <menu_item_call label="Teleport anbieten" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_people_nearby_view_sort.xml b/indra/newview/skins/minimal/xui/de/menu_people_nearby_view_sort.xml deleted file mode 100644 index 0f252ab46d9..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Nach letzten Sprechern sortieren" name="sort_by_recent_speakers"/> - <menu_item_check label="Nach Name sortieren" name="sort_name"/> - <menu_item_check label="Nach Entfernung sortieren" name="sort_distance"/> - <menu_item_check label="Symbole für Personen anzeigen" name="view_icons"/> - <menu_item_call label="Ignorierte Einwohner & Objekte anzeigen" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_people_recent_view_sort.xml b/indra/newview/skins/minimal/xui/de/menu_people_recent_view_sort.xml deleted file mode 100644 index 1ef020f5e1c..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Nach aktuellesten Sprechern sortieren" name="sort_most"/> - <menu_item_check label="Nach Name sortieren" name="sort_name"/> - <menu_item_check label="Symbole für Personen anzeigen" name="view_icons"/> - <menu_item_call label="Ignorierte Einwohner & Objekte anzeigen" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_picks.xml b/indra/newview/skins/minimal/xui/de/menu_picks.xml deleted file mode 100644 index 9aec4c83b0c..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_picks.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Picks"> - <menu_item_call label="Info" name="pick_info"/> - <menu_item_call label="Bearbeiten" name="pick_edit"/> - <menu_item_call label="Teleportieren" name="pick_teleport"/> - <menu_item_call label="Karte" name="pick_map"/> - <menu_item_call label="Löschen" name="pick_delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_picks_plus.xml b/indra/newview/skins/minimal/xui/de/menu_picks_plus.xml deleted file mode 100644 index 385ff25b954..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_picks_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="picks_plus_menu"> - <menu_item_call label="Neue Auswahl" name="create_pick"/> - <menu_item_call label="Neue Anzeige" name="create_classified"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_place.xml b/indra/newview/skins/minimal/xui/de/menu_place.xml deleted file mode 100644 index d9c85f5b929..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_place.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="place_overflow_menu"> - <menu_item_call label="Eine Landmarke setzen" name="landmark"/> - <menu_item_call label="Auswahl erstellen" name="pick"/> - <menu_item_call label="Pass kaufen" name="pass"/> - <menu_item_call label="Bearbeiten" name="edit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_place_add_button.xml b/indra/newview/skins/minimal/xui/de/menu_place_add_button.xml deleted file mode 100644 index 7c0ff4a46a0..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_place_add_button.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_folder_gear"> - <menu_item_call label="Ordner hinzufügen" name="add_folder"/> - <menu_item_call label="Landmarke hinzufügen" name="add_landmark"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_places_gear_folder.xml b/indra/newview/skins/minimal/xui/de/menu_places_gear_folder.xml deleted file mode 100644 index 132d3f6466d..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_places_gear_folder.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_folder_gear"> - <menu_item_call label="Landmarke hinzufügen" name="add_landmark"/> - <menu_item_call label="Ordner hinzufügen" name="add_folder"/> - <menu_item_call label="Ausschneiden" name="cut"/> - <menu_item_call label="Kopieren" name="copy_folder"/> - <menu_item_call label="Einfügen" name="paste"/> - <menu_item_call label="Umbenennen" name="rename"/> - <menu_item_call label="Löschen" name="delete"/> - <menu_item_call label="Erweitern Sie sich" name="expand"/> - <menu_item_call label="Zuklappen" name="collapse"/> - <menu_item_call label="Alle Ordner aufklappen" name="expand_all"/> - <menu_item_call label="Alle Ordner schließen" name="collapse_all"/> - <menu_item_check label="Nach Datum sortieren" name="sort_by_date"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_places_gear_landmark.xml b/indra/newview/skins/minimal/xui/de/menu_places_gear_landmark.xml deleted file mode 100644 index 6af4d644af0..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_places_gear_landmark.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_ladmark_gear"> - <menu_item_call label="Teleportieren" name="teleport"/> - <menu_item_call label="Weitere Informationen" name="more_info"/> - <menu_item_call label="Auf Karte zeigen" name="show_on_map"/> - <menu_item_call label="Landmarke hinzufügen" name="add_landmark"/> - <menu_item_call label="Ordner hinzufügen" name="add_folder"/> - <menu_item_call label="Ausschneiden" name="cut"/> - <menu_item_call label="Landmarke kopieren" name="copy_landmark"/> - <menu_item_call label="SLurl kopieren" name="copy_slurl"/> - <menu_item_call label="Einfügen" name="paste"/> - <menu_item_call label="Umbenennen" name="rename"/> - <menu_item_call label="Löschen" name="delete"/> - <menu_item_call label="Alle Ordner aufklappen" name="expand_all"/> - <menu_item_call label="Alle Ordner schließen" name="collapse_all"/> - <menu_item_check label="Nach Datum sortieren" name="sort_by_date"/> - <menu_item_call label="Auswahl erstellen" name="create_pick"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_profile_overflow.xml b/indra/newview/skins/minimal/xui/de/menu_profile_overflow.xml deleted file mode 100644 index 9f3fcbca1d2..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_profile_overflow.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="profile_overflow_menu"> - <menu_item_call label="Karte" name="show_on_map"/> - <menu_item_call label="Bezahlen" name="pay"/> - <menu_item_call label="Teilen" name="share"/> - <menu_item_call label="Ignorieren" name="block"/> - <menu_item_call label="Freischalten" name="unblock"/> - <menu_item_call label="Hinauswerfen" name="kick"/> - <menu_item_call label="Einfrieren" name="freeze"/> - <menu_item_call label="Auftauen" name="unfreeze"/> - <menu_item_call label="CSR" name="csr"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_save_outfit.xml b/indra/newview/skins/minimal/xui/de/menu_save_outfit.xml deleted file mode 100644 index 986c78b318a..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_save_outfit.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="save_outfit_menu"> - <menu_item_call label="Speichern" name="save_outfit"/> - <menu_item_call label="Speichern unter" name="save_as_new_outfit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_script_chiclet.xml b/indra/newview/skins/minimal/xui/de/menu_script_chiclet.xml deleted file mode 100644 index 3256aa1a877..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_script_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="ScriptChiclet Menu"> - <menu_item_call label="Schließen" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_slurl.xml b/indra/newview/skins/minimal/xui/de/menu_slurl.xml deleted file mode 100644 index b2ec017f9f3..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_slurl.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="URL-Info" name="about_url"/> - <menu_item_call label="Zu URL teleportieren" name="teleport_to_url"/> - <menu_item_call label="Karte" name="show_on_map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_teleport_history_gear.xml b/indra/newview/skins/minimal/xui/de/menu_teleport_history_gear.xml deleted file mode 100644 index 68b8e21802a..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_teleport_history_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Teleport History Gear Context Menu"> - <menu_item_call label="Alle Ordner aufklappen" name="Expand all folders"/> - <menu_item_call label="Alle Ordner schließen" name="Collapse all folders"/> - <menu_item_call label="Teleport-Liste löschen" name="Clear Teleport History"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_teleport_history_item.xml b/indra/newview/skins/minimal/xui/de/menu_teleport_history_item.xml deleted file mode 100644 index ff8fb0b1819..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_teleport_history_item.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Teleportieren" name="Teleport"/> - <menu_item_call label="Weitere Informationen" name="More Information"/> - <menu_item_call label="In Zwischenablage kopieren" name="CopyToClipboard"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_teleport_history_tab.xml b/indra/newview/skins/minimal/xui/de/menu_teleport_history_tab.xml deleted file mode 100644 index 194dd16fd14..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_teleport_history_tab.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Öffnen" name="TabOpen"/> - <menu_item_call label="Schließen" name="TabClose"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_text_editor.xml b/indra/newview/skins/minimal/xui/de/menu_text_editor.xml deleted file mode 100644 index c00186c13e9..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_text_editor.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Text editor context menu"> - <menu_item_call label="Ausschneiden" name="Cut"/> - <menu_item_call label="Kopieren" name="Copy"/> - <menu_item_call label="Einfügen" name="Paste"/> - <menu_item_call label="Löschen" name="Delete"/> - <menu_item_call label="Alle auswählen" name="Select All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_topinfobar.xml b/indra/newview/skins/minimal/xui/de/menu_topinfobar.xml deleted file mode 100644 index 5b0a724244e..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_topinfobar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_topinfobar"> - <menu_item_check label="Koordinaten anzeigen" name="Show Coordinates"/> - <menu_item_check label="Parzellen-Eigenschaften anzeigen" name="Show Parcel Properties"/> - <menu_item_call label="Landmarke" name="Landmark"/> - <menu_item_call label="Kopieren" name="Copy"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_url_agent.xml b/indra/newview/skins/minimal/xui/de/menu_url_agent.xml deleted file mode 100644 index 9a808088fbe..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_url_agent.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Einwohnerprofil anzeigen" name="show_agent"/> - <menu_item_call label="Name in Zwischenablage kopieren" name="url_copy_label"/> - <menu_item_call label="SLurl in die Zwischenablage kopieren" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_url_group.xml b/indra/newview/skins/minimal/xui/de/menu_url_group.xml deleted file mode 100644 index 6bd86414bc1..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_url_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Gruppeninformation anzeigen" name="show_group"/> - <menu_item_call label="Gruppe in Zwischenablage kopieren" name="url_copy_label"/> - <menu_item_call label="SLurl in die Zwischenablage kopieren" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_url_http.xml b/indra/newview/skins/minimal/xui/de/menu_url_http.xml deleted file mode 100644 index 30eb1668a54..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_url_http.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Webseite öffnen" name="url_open"/> - <menu_item_call label="Im internen Browser öffnen" name="url_open_internal"/> - <menu_item_call label="Im externen Browser öffnen" name="url_open_external"/> - <menu_item_call label="URL in Zwischenablage kopieren" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_url_inventory.xml b/indra/newview/skins/minimal/xui/de/menu_url_inventory.xml deleted file mode 100644 index dc069df02b6..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_url_inventory.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Inventarobjekte anzeigen" name="show_item"/> - <menu_item_call label="Name in Zwischenablage kopieren" name="url_copy_label"/> - <menu_item_call label="SLurl in die Zwischenablage kopieren" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_url_map.xml b/indra/newview/skins/minimal/xui/de/menu_url_map.xml deleted file mode 100644 index 2f6ffcd4500..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_url_map.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Auf Karte zeigen" name="show_on_map"/> - <menu_item_call label="Zu Position teleportieren" name="teleport_to_location"/> - <menu_item_call label="SLurl in die Zwischenablage kopieren" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_url_objectim.xml b/indra/newview/skins/minimal/xui/de/menu_url_objectim.xml deleted file mode 100644 index 90d3763d9c0..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_url_objectim.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Objektinformationen anzeigen" name="show_object"/> - <menu_item_call label="Auf Karte zeigen" name="show_on_map"/> - <menu_item_call label="Zu Objekt-Position teleportieren" name="teleport_to_object"/> - <menu_item_call label="Objektname in Zwischenablage kopieren" name="url_copy_label"/> - <menu_item_call label="SLurl in die Zwischenablage kopieren" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_url_parcel.xml b/indra/newview/skins/minimal/xui/de/menu_url_parcel.xml deleted file mode 100644 index 9169bca24f3..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_url_parcel.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Parzelleninformationen anzeigen" name="show_parcel"/> - <menu_item_call label="Auf Karte zeigen" name="show_on_map"/> - <menu_item_call label="SLurl in die Zwischenablage kopieren" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_url_slapp.xml b/indra/newview/skins/minimal/xui/de/menu_url_slapp.xml deleted file mode 100644 index 72e916b902d..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_url_slapp.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Diesen Befehl ausführen" name="run_slapp"/> - <menu_item_call label="SLurl in die Zwischenablage kopieren" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_url_slurl.xml b/indra/newview/skins/minimal/xui/de/menu_url_slurl.xml deleted file mode 100644 index 5d48230ebf8..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_url_slurl.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Ortsinformationen anzeigen" name="show_place"/> - <menu_item_call label="Auf Karte zeigen" name="show_on_map"/> - <menu_item_call label="Zu Position teleportieren" name="teleport_to_location"/> - <menu_item_call label="SLurl in die Zwischenablage kopieren" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_url_teleport.xml b/indra/newview/skins/minimal/xui/de/menu_url_teleport.xml deleted file mode 100644 index 4cc1ecc70ea..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_url_teleport.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="An diesen Standort teleportieren" name="teleport"/> - <menu_item_call label="Auf Karte zeigen" name="show_on_map"/> - <menu_item_call label="SLurl in die Zwischenablage kopieren" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_viewer.xml b/indra/newview/skins/minimal/xui/de/menu_viewer.xml deleted file mode 100644 index 67dc618eb01..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_viewer.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Main Menu"> - <menu label="Hilfe" name="Help"> - <menu_item_call label="[SECOND_LIFE]-Hilfe" name="Second Life Help"/> - </menu> - <menu label="Erweitert" name="Advanced"> - <menu label="Tastaturkürzel" name="Shortcuts"> - <menu_item_check label="Fliegen" name="Fly"/> - <menu_item_call label="Fenster schließen" name="Close Window"/> - <menu_item_call label="Alle Fenster schließen" name="Close All Windows"/> - <menu_item_call label="Ansicht zurücksetzen" name="Reset View"/> - </menu> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/de/menu_wearable_list_item.xml b/indra/newview/skins/minimal/xui/de/menu_wearable_list_item.xml deleted file mode 100644 index 283e454a064..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_wearable_list_item.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit Wearable Context Menu"> - <menu_item_call label="Ersetzen" name="wear_replace"/> - <menu_item_call label="Anziehen" name="wear_wear"/> - <menu_item_call label="Hinzufügen" name="wear_add"/> - <menu_item_call label="Ausziehen / Abnehmen" name="take_off_or_detach"/> - <menu_item_call label="Abnehmen" name="detach"/> - <context_menu label="Anhängen an" name="wearable_attach_to"/> - <context_menu label="An HUD hängen" name="wearable_attach_to_hud"/> - <menu_item_call label="Ausziehen" name="take_off"/> - <menu_item_call label="Bearbeiten" name="edit"/> - <menu_item_call label="Objektprofil" name="object_profile"/> - <menu_item_call label="Original anzeigen" name="show_original"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_wearing_gear.xml b/indra/newview/skins/minimal/xui/de/menu_wearing_gear.xml deleted file mode 100644 index 80d4ff4d9fa..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_wearing_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Wearing"> - <menu_item_call label="Outfit bearbeiten" name="edit"/> - <menu_item_call label="Ausziehen" name="takeoff"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_wearing_tab.xml b/indra/newview/skins/minimal/xui/de/menu_wearing_tab.xml deleted file mode 100644 index 695451a1056..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_wearing_tab.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Wearing"> - <menu_item_call label="Ausziehen" name="take_off"/> - <menu_item_call label="Abnehmen" name="detach"/> - <menu_item_call label="Outfit bearbeiten" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/notifications.xml b/indra/newview/skins/minimal/xui/de/notifications.xml deleted file mode 100644 index 9abf8cdbb9f..00000000000 --- a/indra/newview/skins/minimal/xui/de/notifications.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<notifications> - <notification name="UserGiveItem"> - [NAME_SLURL] bietet Ihnen [ITEM_SLURL] an. Zur Verwendung dieses Artikels müssen Sie in den erweiterten Modus umschalten, wo Sie den Artikel in Ihrem Inventar finden werden. Um in den erweiterten Modus umzuschalten, beenden Sie die Anwendung, starten Sie sie neu und ändern Sie die Moduseinstellung auf dem Anmeldebildschirm. - <form name="form"> - <button name="Show" text="Artikel behalten"/> - <button name="Discard" text="Artikel ablehnen"/> - <button name="Mute" text="Benutzer blockieren"/> - </form> - </notification> - <notification name="ObjectGiveItem"> - Ein Objekt namens <nolink>[OBJECTFROMNAME]</nolink>, das [NAME_SLURL] gehört, bietet Ihnen <nolink>[ITEM_SLURL]</nolink> an. Zur Verwendung dieses Artikels müssen Sie in den erweiterten Modus umschalten, wo Sie den Artikel in Ihrem Inventar finden werden. Um in den erweiterten Modus umzuschalten, beenden Sie die Anwendung, starten Sie sie neu und ändern Sie die Moduseinstellung auf dem Anmeldebildschirm. - <form name="form"> - <button name="Keep" text="Artikel behalten"/> - <button name="Discard" text="Artikel ablehnen"/> - <button name="Mute" text="Objekt blockieren"/> - </form> - </notification> -</notifications> diff --git a/indra/newview/skins/minimal/xui/de/panel_adhoc_control_panel.xml b/indra/newview/skins/minimal/xui/de/panel_adhoc_control_panel.xml deleted file mode 100644 index cc45f421693..00000000000 --- a/indra/newview/skins/minimal/xui/de/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="call_btn_panel"> - <button label="Anrufen" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Anruf beenden" name="end_call_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/de/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/de/panel_bottomtray.xml deleted file mode 100644 index 2278bfb6998..00000000000 --- a/indra/newview/skins/minimal/xui/de/panel_bottomtray.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="bottom_tray"> - <string name="DragIndicationImageName" value="Accordion_ArrowOpened_Off"/> - <string name="SpeakBtnToolTip" value="Schaltet Mikrofon ein/aus"/> - <string name="VoiceControlBtnToolTip" value="Voice-Chat-Steuerung anzeigen/ausblenden"/> - <layout_stack name="toolbar_stack"> - <layout_panel name="speak_panel"> - <button label="Sprechen" name="speak_btn" tool_tip="Mikrofon ein- und ausschalten"/> - </layout_panel> - <layout_panel name="speak_flyout_panel"> - <button label="" name="flyout_btn" tool_tip="Soundeinstellungen ändern"/> - </layout_panel> - <layout_panel name="gesture_panel"> - <gesture_combo_list label="Gesten" name="Gesture" tool_tip="Ihren Avatar bestimmte Aktionen durchführen lassen"/> - </layout_panel> - <layout_panel name="cam_panel"> - <bottomtray_button label="Ansicht" name="camera_btn" tool_tip="Kamerawinkel steuern"/> - </layout_panel> - <layout_panel name="destinations_panel"> - <bottomtray_button label="Ziele" name="destination_btn" tool_tip="Durch Second Life reisen"/> - </layout_panel> - <layout_panel name="avatar_panel"> - <bottomtray_button label="Mein Avatar" name="avatar_btn" tool_tip="Eigenes Aussehen verändern"/> - </layout_panel> - <layout_panel name="people_panel"> - <bottomtray_button label="Leute" name="show_people_button" tool_tip="Personen in Second Life suchen"/> - </layout_panel> - <layout_panel name="profile_panel"> - <bottomtray_button label="Profil" name="show_profile_btn" tool_tip="Eigenes Profil anzeigen und bearbeiten"/> - </layout_panel> - <layout_panel name="howto_panel"> - <bottomtray_button label="Anweisungen" name="show_help_btn" tool_tip="Hilfeinfos zu Second Life anzeigen"/> - </layout_panel> - <layout_panel name="im_well_panel"> - <chiclet_im_well name="im_well"> - <button name="Unread IM messages" tool_tip="IMs"/> - </chiclet_im_well> - </layout_panel> - <layout_panel name="notification_well_panel"> - <chiclet_notification name="notification_well"> - <button name="Unread" tool_tip="Benachrichtigungen"/> - </chiclet_notification> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/de/panel_group_control_panel.xml b/indra/newview/skins/minimal/xui/de/panel_group_control_panel.xml deleted file mode 100644 index 81e6040f841..00000000000 --- a/indra/newview/skins/minimal/xui/de/panel_group_control_panel.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="end_call_btn_panel"> - <button label="Anruf beenden" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Voice-Steuerung öffnen" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/de/panel_im_control_panel.xml b/indra/newview/skins/minimal/xui/de/panel_im_control_panel.xml deleted file mode 100644 index 56c2310f2f9..00000000000 --- a/indra/newview/skins/minimal/xui/de/panel_im_control_panel.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="Profil" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="Freund hinzufügen" name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="Teleportieren" name="teleport_btn" tool_tip="Dieser Person einen Teleport anbieten"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Anrufen" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Anruf beenden" name="end_call_btn"/> - </layout_panel> - <layout_panel name="block_btn_panel"> - <button label="Ignorieren" name="block_btn"/> - </layout_panel> - <layout_panel name="unblock_btn_panel"> - <button label="Freischalten" name="unblock_btn"/> - </layout_panel> - <layout_panel name="volume_ctrl_panel"> - <slider name="volume_slider" tool_tip="Anrufvolumen" value="0,5"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/de/panel_login.xml b/indra/newview/skins/minimal/xui/de/panel_login.xml deleted file mode 100644 index 2e82453aab1..00000000000 --- a/indra/newview/skins/minimal/xui/de/panel_login.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_login"> - <panel.string name="create_account_url"> - http://de.secondlife.com/registration/ - </panel.string> - <panel.string name="forgot_password_url"> - http://secondlife.com/account/request.php?lang=de - </panel.string> - <layout_stack name="login_widgets"> - <layout_panel name="login"> - <text name="username_text"> - Benutzername: - </text> - <combo_box name="username_combo" tool_tip="Bei der Registrierung gewählter Benutzername wie „berndschmidt12“ oder „Liebe Sonne“"/> - <text name="password_text"> - Kennwort: - </text> - <check_box label="Kennwort merken" name="remember_check"/> - <button label="Anmelden" name="connect_btn"/> - <text name="mode_selection_text"> - Modus: - </text> - <combo_box name="mode_combo" tool_tip="Wählen Sie den gewünschten Modus aus. Basis: schnelles, einfaches Erkunden und Chatten. Erweitert: Zugriff auf zusätzliche Funktionen."> - <combo_box.item label="Basis" name="Basic"/> - <combo_box.item label="Erweitert" name="Advanced"/> - </combo_box> - </layout_panel> - <layout_panel name="links"> - <text name="create_new_account_text"> - Registrieren - </text> - <text name="forgot_password_text"> - Benutzernamen oder Kennwort vergessen? - </text> - <text name="login_help"> - Sie brauchen Hilfe? - </text> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/de/panel_navigation_bar.xml b/indra/newview/skins/minimal/xui/de/panel_navigation_bar.xml deleted file mode 100644 index ee1a543aacb..00000000000 --- a/indra/newview/skins/minimal/xui/de/panel_navigation_bar.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="navigation_bar"> - <panel name="navigation_panel"> - <pull_button name="back_btn" tool_tip="Zurück zum vorherigen Standort teleportieren"/> - <pull_button name="forward_btn" tool_tip="Um einen Standort weiter teleportieren"/> - <button name="home_btn" tool_tip="Zu meinem Zuhause teleportieren"/> - <location_input label="Standort" name="location_combo"/> - <search_combo_box label="Suche" name="search_combo_box" tool_tip="Suche"> - <combo_editor label="[SECOND_LIFE] durchsuchen" name="search_combo_editor"/> - </search_combo_box> - </panel> - <favorites_bar name="favorite" tool_tip="Ziehen Sie Landmarken hier hin, damit Sie schnell zu Ihren Lieblingsplätzen in Second Life gelangen können!"> - <label name="favorites_bar_label" tool_tip="Ziehen Sie Landmarken hier hin, damit Sie schnell zu Ihren Lieblingsplätzen in Second Life gelangen können!"> - Favoritenleiste - </label> - <chevron_button name=">>" tool_tip="Mehr meiner Favoriten anzeigen"/> - </favorites_bar> -</panel> diff --git a/indra/newview/skins/minimal/xui/de/panel_people.xml b/indra/newview/skins/minimal/xui/de/panel_people.xml deleted file mode 100644 index 1b6565eb739..00000000000 --- a/indra/newview/skins/minimal/xui/de/panel_people.xml +++ /dev/null @@ -1,73 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- Side tray panel --> -<panel label="Leute" name="people_panel"> - <string name="no_recent_people" value="Sie haben in letzter Zeit mit niemandem interagiert. Suchen Sie nach Leuten, mit denen Sie sich unterhalten können? Klicken Sie unten auf die Schaltfläche „Ziele“."/> - <string name="no_filtered_recent_people" value="Es gibt keine Leute mit diesem Namen, mit denen Sie in letzter Zeit interagiert haben."/> - <string name="no_one_near" value="Es ist niemand in der Nähe. Suchen Sie nach Leuten, mit denen Sie sich unterhalten können? Klicken Sie unten auf die Schaltfläche „Ziele“."/> - <string name="no_one_filtered_near" value="Es ist niemand mit diesem Namen in der Nähe."/> - <string name="no_friends_online" value="Keine Freunde online"/> - <string name="no_friends" value="Keine Freunde"/> - <string name="no_friends_msg"> - Klicken Sie mit der rechten Maustaste auf einen Einwohner, um ihn als Freund hinzuzufügen. Suchen Sie nach Leuten, mit denen Sie sich unterhalten können? Klicken Sie unten auf die Schaltfläche „Ziele“. - </string> - <string name="no_filtered_friends_msg"> - Sie haben nicht das Richtige gefunden? Klicken Sie unten auf die Schaltfläche „Ziele“. - </string> - <string name="people_filter_label" value="Nach Leuten filtern"/> - <string name="groups_filter_label" value="Nach Gruppen filtern"/> - <string name="no_filtered_groups_msg" value="Sie haben nicht das Richtige gefunden? Versuchen Sie es mit der [secondlife:///app/search/groups/[SEARCH_TERM] Suche]."/> - <string name="no_groups_msg" value="Suchen Sie nach Gruppen? Versuchen Sie es mit der [secondlife:///app/search/groups Suche]."/> - <string name="MiniMapToolTipMsg" value="[REGION](Doppelklicken, um Karte zu öffnen; Umschalttaste gedrückt halten und ziehen, um zu schwenken)"/> - <string name="AltMiniMapToolTipMsg" value="[REGION](Doppelklicken, um zu teleportieren; Umschalttaste gedrückt halten und ziehen, um zu schwenken)"/> - <filter_editor label="Filter" name="filter_input"/> - <tab_container name="tabs"> - <panel label="IN DER NÄHE" name="nearby_panel"> - <panel label="bottom_panel" name="bottom_panel"/> - </panel> - <panel label="MEINE FREUNDE" name="friends_panel"> - <accordion name="friends_accordion"> - <accordion_tab name="tab_online" title="Online"/> - <accordion_tab name="tab_all" title="Alle"/> - </accordion> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel"> - <layout_panel name="trash_btn_panel"> - <dnd_button name="del_btn" tool_tip="Ausgewählte Person aus Ihrer Freundesliste entfernen"/> - </layout_panel> - </layout_stack> - </panel> - </panel> - <panel label="AKTUELL" name="recent_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <button name="add_friend_btn" tool_tip="Ausgewählten Einwohner zur Freundeliste hinzufügen"/> - </panel> - </panel> - </tab_container> - <panel name="button_bar"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="view_profile_btn_lp"> - <button label="Profil" name="view_profile_btn" tool_tip="Bilder, Gruppen und andere Einwohner-Informationen anzeigen"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im_btn" tool_tip="IM-Sitzung öffnen"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Anrufen" name="call_btn" tool_tip="Diesen Einwohner anrufen"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleportieren" name="teleport_btn" tool_tip="Teleport anbieten"/> - </layout_panel> - </layout_stack> - <layout_stack name="bottom_bar_ls1"> - <layout_panel name="group_info_btn_lp"> - <button label="Gruppenprofil" name="group_info_btn" tool_tip="Gruppeninformationen anzeigen"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="Gruppen-Chat" name="chat_btn" tool_tip="Chat öffnen"/> - </layout_panel> - <layout_panel name="group_call_btn_lp"> - <button label="Gruppe anrufen" name="group_call_btn" tool_tip="Diese Gruppe anrufen"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/minimal/xui/de/panel_side_tray_tab_caption.xml b/indra/newview/skins/minimal/xui/de/panel_side_tray_tab_caption.xml deleted file mode 100644 index 652fb7c8360..00000000000 --- a/indra/newview/skins/minimal/xui/de/panel_side_tray_tab_caption.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="sidetray_tab_panel"> - <text name="sidetray_tab_title" value="Klappmenü??"/> - <button name="undock" tool_tip="Abkoppeln"/> - <button name="dock" tool_tip="Andocken"/> - <button name="show_help" tool_tip="Hilfe anzeigen"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/de/panel_status_bar.xml b/indra/newview/skins/minimal/xui/de/panel_status_bar.xml deleted file mode 100644 index 04ed58f9445..00000000000 --- a/indra/newview/skins/minimal/xui/de/panel_status_bar.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="status"> - <panel.string name="StatBarDaysOfWeek"> - Sonntag:Montag:Dienstag:Mittwoch:Donnerstag:Freitag:Samstag - </panel.string> - <panel.string name="StatBarMonthsOfYear"> - Januar:Februar:März:April:Mai:Juni:Juli:August:September:Oktober:November:Dezember - </panel.string> - <panel.string name="packet_loss_tooltip"> - Paketverlust - </panel.string> - <panel.string name="bandwidth_tooltip"> - Bandbreite - </panel.string> - <panel.string name="time"> - [hour12, datetime, slt]:[min, datetime, slt] [ampm, datetime, slt] [timezone,datetime, slt] - </panel.string> - <panel.string name="timeTooltip"> - [weekday, datetime, slt], [day, datetime, slt] [month, datetime, slt] [year, datetime, slt] - </panel.string> - <panel.string name="buycurrencylabel"> - [AMT] L$ - </panel.string> - <panel name="balance_bg"> - <text name="balance" tool_tip="Klicken, um L$-Guthaben zu aktualisieren" value="20 L$"/> - <button label="L$ kaufen" name="buyL" tool_tip="Hier klicken, um mehr L$ zu kaufen"/> - </panel> - <text name="TimeText" tool_tip="Aktuelle Zeit (Pazifik)"> - 24:00 H PST - </text> - <button name="media_toggle_btn" tool_tip="Alle Medien starten/stoppen (Musik, Video, Webseiten)"/> - <button name="volume_btn" tool_tip="Steuerung der Gesamtlautstärke"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/en/floater_camera.xml b/indra/newview/skins/minimal/xui/en/floater_camera.xml deleted file mode 100644 index 4cf792444f6..00000000000 --- a/indra/newview/skins/minimal/xui/en/floater_camera.xml +++ /dev/null @@ -1,284 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater - legacy_header_height="18" - can_dock="true" - can_minimize="true" - can_close="false" - follows="bottom" - height="164" - layout="topleft" - name="camera_floater" - save_rect="true" - save_visibility="true" - save_dock_state="true" - single_instance="true" - width="228"> - <floater.string - name="rotate_tooltip"> - Rotate Camera Around Focus - </floater.string> - <floater.string - name="zoom_tooltip"> - Zoom Camera Towards Focus - </floater.string> - <floater.string - name="move_tooltip"> - Move Camera Up and Down, Left and Right - </floater.string> - <floater.string - name="camera_modes_title"> - Camera modes - </floater.string> - <floater.string - name="pan_mode_title"> - Orbit Zoom Pan - </floater.string> - <floater.string - name="presets_mode_title"> - Preset Views - </floater.string> - <floater.string - name="free_mode_title"> - View Object - </floater.string> - <panel - border="false" - height="123" - layout="topleft" - left="2" - top="0" - mouse_opaque="false" - name="controls" - width="226"> - <panel - color="Transparent" - follows="all" - height="102" - layout="topleft" - left="8" - name="preset_views_list" - opaque="true" - top="24" - width="212" - visible="false"> - <panel_camera_item - name="front_view"> - <panel_camera_item.mousedown_callback - function="CameraPresets.ChangeView" - parameter="front_view" /> - <panel_camera_item.picture - image_name="Cam_Preset_Front_Off" /> - <panel_camera_item.selected_picture - image_name="Cam_Preset_Front_On" /> - <panel_camera_item.text - name="front_view_text"> - Front View - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item - name="group_view" - top_pad="4"> - <panel_camera_item.mousedown_callback - function="CameraPresets.ChangeView" - parameter="group_view" /> - <panel_camera_item.picture - image_name="Cam_Preset_Side_Off" /> - <panel_camera_item.selected_picture - image_name="Cam_Preset_Side_On" /> - <panel_camera_item.text - name="side_view_text"> - Side View - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item - name="rear_view" - layout="topleft" - top_pad="4"> - <panel_camera_item.mousedown_callback - function="CameraPresets.ChangeView" - parameter="rear_view" /> - <panel_camera_item.picture - image_name="Cam_Preset_Back_Off" /> - <panel_camera_item.selected_picture - image_name="Cam_Preset_Back_On" /> - <panel_camera_item.text - name="rear_view_text"> - Rear View - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel - color="Transparent" - follows="all" - height="68" - item_pad="4" - layout="topleft" - left="8" - name="camera_modes_list" - opaque="true" - top="24" - width="212" - visible="false"> - <panel_camera_item - name="object_view"> - <panel_camera_item.mousedown_callback - function="CameraPresets.ChangeView" - parameter="object_view" /> - <panel_camera_item.text - name="object_view_text"> - Object View - </panel_camera_item.text> - <panel_camera_item.picture - image_name="Object_View_Off" /> - <panel_camera_item.selected_picture - image_name="Object_View_On" /> - </panel_camera_item> - <panel_camera_item - name="mouselook_view" - layout="topleft"> - <panel_camera_item.mousedown_callback - function="CameraPresets.ChangeView" - parameter="mouselook_view" /> - <panel_camera_item.text - name="mouselook_view_text"> - Mouselook View - </panel_camera_item.text> - <panel_camera_item.picture - image_name="MouseLook_View_Off" /> - <panel_camera_item.selected_picture - image_name="MouseLook_View_On" /> - </panel_camera_item> - </panel> - <!--TODO: replace + - images --> - <panel - border="false" - class="camera_zoom_panel" - height="114" - layout="topleft" - left="0" - mouse_opaque="false" - name="zoom" - top="20" - width="226"> - <joystick_rotate - follows="top|left" - height="78" - image_selected="Cam_Rotate_In" - image_unselected="Cam_Rotate_Out" - layout="topleft" - left="7" - mouse_opaque="false" - name="cam_rotate_stick" - quadrant="left" - scale_image="false" - sound_flags="3" - visible="true" - tool_tip="Orbit camera around focus" - top="20" - width="78"> - <commit_callback - function="Camera.rotate" /> - <mouse_held_callback - function="Camera.rotate" /> - </joystick_rotate> - <button - follows="top|left" - height="18" - image_disabled="AddItem_Disabled" - image_selected="AddItem_Press" - image_unselected="AddItem_Off" - layout="topleft" - left_pad="14" - name="zoom_plus_btn" - width="18" - top="18"> - <commit_callback - function="Zoom.plus" /> - <mouse_held_callback - function="Zoom.plus" /> - </button> - <slider_bar - height="50" - layout="topleft" - name="zoom_slider" - orientation="vertical" - tool_tip="Zoom camera toward focus" - top_pad="0" - min_val="0" - max_val="1" - width="18"> - <commit_callback function="Slider.value_changed"/> - </slider_bar> - <button - follows="top|left" - height="18" - image_disabled="MinusItem_Disabled" - image_selected="MinusItem_Press" - image_unselected="MinusItem_Off" - layout="topleft" - name="zoom_minus_btn" - top_pad="0" - width="18"> - <commit_callback - function="Zoom.minus" /> - <mouse_held_callback - function="Zoom.minus" /> - </button> - <joystick_track - follows="top|left" - height="78" - image_selected="Cam_Tracking_In" - image_unselected="Cam_Tracking_Out" - layout="topleft" - left="133" - name="cam_track_stick" - quadrant="left" - scale_image="false" - sound_flags="3" - tool_tip="Move camera up and down, left and right" - top="20" - width="78"> - <commit_callback - function="Camera.track" /> - <mouse_held_callback - function="Camera.track" /> - </joystick_track> - </panel> - </panel> - <panel - border="false" - height="42" - layout="topleft" - left="2" - top_pad="0" - name="buttons" - width="226"> - <button - height="23" - label="" - layout="topleft" - left="83" - is_toggle="true" - image_overlay="Cam_Avatar_Off" - image_selected="PushButton_Selected_Press" - name="presets_btn" - tab_stop="false" - tool_tip="Preset Views" - top="13" - width="25"> - </button> - <button - height="23" - label="" - layout="topleft" - left_pad="1" - is_toggle="true" - image_overlay="PanOrbit_Off" - image_selected="PushButton_Selected_Press" - name="pan_btn" - tab_stop="false" - tool_tip="Orbit Zoom Pan" - width="25"> - </button> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/en/floater_help_browser.xml b/indra/newview/skins/minimal/xui/en/floater_help_browser.xml deleted file mode 100644 index 477f2103526..00000000000 --- a/indra/newview/skins/minimal/xui/en/floater_help_browser.xml +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater - legacy_header_height="18" - can_resize="true" - can_minimize="false" - height="460" - layout="topleft" - min_height="360" - left="10000" - top="10" - min_width="335" - name="floater_help_browser" - single_instance="true" - title="HOW TO" - width="335"> - <floater.string - name="loading_text"> - Loading... - </floater.string> - <floater.string - name="done_text"> - </floater.string> - <layout_stack - bottom="460" - follows="left|right|top|bottom" - layout="topleft" - left="5" - orientation="vertical" - name="stack1" - top="20" - width="325"> - <layout_panel - layout="topleft" - left_delta="0" - top_delta="0" - name="external_controls" - user_resize="false" - width="325"> - <web_browser - trusted_content="true" - bottom="-5" - follows="left|right|top|bottom" - layout="topleft" - left="0" - name="browser" - top="0" - height="300" - width="325" /> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/en/floater_media_browser.xml b/indra/newview/skins/minimal/xui/en/floater_media_browser.xml deleted file mode 100644 index 4862146c94e..00000000000 --- a/indra/newview/skins/minimal/xui/en/floater_media_browser.xml +++ /dev/null @@ -1,242 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater - legacy_header_height="18" - can_resize="true" - height="440" - layout="topleft" - min_height="140" - min_width="467" - name="floater_about" - save_rect="true" - auto_tile="true" - title="MEDIA BROWSER" - width="820"> - <floater.string - name="home_page_url"> - http://www.secondlife.com - </floater.string> - <floater.string - name="support_page_url"> - http://support.secondlife.com - </floater.string> - <layout_stack - bottom="440" - follows="left|right|top|bottom" - layout="topleft" - left="10" - name="stack1" - orientation="vertical" - top="20" - width="800"> - <layout_panel - auto_resize="false" - default_tab_group="1" - height="20" - layout="topleft" - left="0" - min_height="20" - name="nav_controls" - top="400" - user_resize="false" - width="800"> - <button - follows="left|top" - height="20" - label="Back" - layout="topleft" - left="0" - name="back" - top="0" - width="55"> - <button.commit_callback - function="MediaBrowser.Back" /> - </button> - <button - follows="left|top" - height="20" - label="Forward" - layout="topleft" - left_pad="3" - name="forward" - top_delta="0" - width="68"> - <button.commit_callback - function="MediaBrowser.Forward" /> - </button> - <button - enabled="false" - follows="left|top" - height="20" - label="Reload" - layout="topleft" - left_pad="2" - name="reload" - top_delta="0" - width="70"> - <button.commit_callback - function="MediaBrowser.Refresh" /> - </button> - <combo_box - allow_text_entry="true" - follows="left|top|right" - tab_group="1" - height="20" - layout="topleft" - left_pad="5" - max_chars="1024" - name="address" - combo_editor.select_on_focus="true" - top_delta="0" - width="540"> - <combo_box.commit_callback - function="MediaBrowser.EnterAddress" /> - </combo_box> - <button - enabled="false" - follows="right|top" - height="20" - label="Go" - layout="topleft" - left_pad="5" - name="go" - top_delta="0" - width="50"> - <button.commit_callback - function="MediaBrowser.Go" /> - </button> - </layout_panel> - <layout_panel - auto_resize="false" - height="20" - layout="topleft" - left_delta="0" - min_height="20" - name="time_controls" - top_delta="0" - user_resize="false" - width="800"> - <button - follows="left|top" - height="20" - label="rewind" - layout="topleft" - left="0" - name="rewind" - top="0" - width="55" /> - <button - follows="left|top" - height="20" - image_selected="button_anim_play_selected.tga" - image_unselected="button_anim_play.tga" - layout="topleft" - left_delta="55" - name="play" - top_delta="0" - width="55" /> - <button - follows="left|top" - height="20" - image_selected="button_anim_pause_selected.tga" - image_unselected="button_anim_pause.tga" - layout="topleft" - left_delta="0" - name="pause" - top_delta="0" - width="55" /> - <button - follows="left|top" - height="20" - label="stop" - layout="topleft" - left_pad="10" - name="stop" - top_delta="0" - width="55" /> - <button - follows="left|top" - height="20" - label="forward" - layout="topleft" - left_pad="20" - name="seek" - top_delta="0" - width="55" /> - </layout_panel> - <layout_panel - auto_resize="false" - height="20" - layout="topleft" - left_delta="0" - min_height="20" - name="parcel_owner_controls" - top_delta="0" - user_resize="false" - width="540"> - <button - enabled="false" - follows="left|top" - height="20" - label="Send Current Page to Parcel" - layout="topleft" - left="0" - name="assign" - top="0" - width="200"> - <button.commit_callback - function="MediaBrowser.Assign" /> - </button> - </layout_panel> - <layout_panel - height="40" - layout="topleft" - left_delta="0" - name="external_controls" - top_delta="0" - user_resize="false" - width="540"> - <web_browser - bottom="-30" - follows="all" - layout="topleft" - left="0" - name="browser" - top="0" - width="540" /> - <button - follows="bottom|left" - height="20" - label="Open in My Web Browser" - layout="topleft" - left_delta="0" - name="open_browser" - top_pad="5" - width="185"> - <button.commit_callback - function="MediaBrowser.OpenWebBrowser" /> - </button> - <check_box - control_name="UseExternalBrowser" - follows="bottom|left" - height="20" - label="Always open in my web browser" - layout="topleft" - left_pad="5" - name="open_always" - top_delta="0" - width="200" /> - <button - follows="bottom|right" - height="20" - label="Close" - layout="topleft" - left_pad="80" - name="close" - top_delta="0" - width="70"> - <button.commit_callback - function="MediaBrowser.Close" /> - </button> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/en/floater_nearby_chat.xml b/indra/newview/skins/minimal/xui/en/floater_nearby_chat.xml deleted file mode 100644 index 74ac8852023..00000000000 --- a/indra/newview/skins/minimal/xui/en/floater_nearby_chat.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater - border_visible="false" - border="false" - bg_opaque_image="Window_Foreground" - bg_alpha_image="Window_Background" - bg_alpha_image_overlay="DkGray_66" - legacy_header_height="18" - can_minimize="true" - can_tear_off="false" - can_resize="true" - can_drag_on_left="false" - can_close="false" - can_dock="true" - bevel_style="in" - height="300" - min_width="235" - layout="topleft" - name="nearby_chat" - save_rect="true" - title="NEARBY CHAT" - save_dock_state="true" - save_visibility="true" - single_instance="true" - width="320"> - <check_box - bottom_delta="36" - control_name="TranslateChat" - enabled="true" - height="16" - label="Translate chat (powered by Google)" - layout="topleft" - left="5" - name="translate_chat_checkbox" - width="230" /> - <chat_history - parse_urls="true" - bg_readonly_color="ChatHistoryBgColor" - bg_writeable_color="ChatHistoryBgColor" - follows="all" - left="5" - top_delta="17" - layout="topleft" - height="260" - name="chat_history" - parse_highlights="true" - text_color="ChatHistoryTextColor" - text_readonly_color="ChatHistoryTextColor" - right_widget_pad="5" - left_widget_pad="0" - width="315" /> -</floater> diff --git a/indra/newview/skins/minimal/xui/en/floater_side_bar_tab.xml b/indra/newview/skins/minimal/xui/en/floater_side_bar_tab.xml deleted file mode 100644 index 83b12606201..00000000000 --- a/indra/newview/skins/minimal/xui/en/floater_side_bar_tab.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<floater - can_close="true" - can_resize="true" - min_width="333" - min_height="440" - save_rect="true" - save_visibility="true" - > -</floater> diff --git a/indra/newview/skins/minimal/xui/en/floater_web_content.xml b/indra/newview/skins/minimal/xui/en/floater_web_content.xml deleted file mode 100644 index 1d9a967d5a9..00000000000 --- a/indra/newview/skins/minimal/xui/en/floater_web_content.xml +++ /dev/null @@ -1,196 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater - legacy_header_height="18" - can_resize="true" - height="775" - layout="topleft" - min_height="400" - min_width="500" - name="floater_web_content" - save_rect="true" - auto_tile="true" - title="" - initial_mime_type="text/html" - width="780"> - <layout_stack - bottom="775" - follows="left|right|top|bottom" - layout="topleft" - left="5" - animate="false" - name="stack1" - orientation="vertical" - top="20" - width="770"> - <layout_panel - auto_resize="false" - default_tab_group="1" - height="22" - layout="topleft" - left="0" - min_height="20" - name="nav_controls" - top="400" - user_resize="false" - width="770"> - <button - image_overlay="Arrow_Left_Off" - image_disabled="PushButton_Disabled" - image_disabled_selected="PushButton_Disabled" - image_selected="PushButton_Selected" - image_unselected="PushButton_Off" - hover_glow_amount="0.15" - tool_tip="Navigate back" - follows="left|top" - height="22" - layout="topleft" - left="1" - name="back" - top="0" - width="22"> - <button.commit_callback - function="WebContent.Back" /> - </button> - <button - image_overlay="Arrow_Right_Off" - image_disabled="PushButton_Disabled" - image_disabled_selected="PushButton_Disabled" - image_selected="PushButton_Selected" - image_unselected="PushButton_Off" - tool_tip="Navigate forward" - follows="left|top" - height="22" - layout="topleft" - left="27" - name="forward" - top_delta="0" - width="22"> - <button.commit_callback - function="WebContent.Forward" /> - </button> - <button - image_overlay="Stop_Off" - image_disabled="PushButton_Disabled" - image_disabled_selected="PushButton_Disabled" - image_selected="PushButton_Selected" - image_unselected="PushButton_Off" - tool_tip="Stop navigation" - enabled="true" - follows="left|top" - height="22" - layout="topleft" - left="51" - name="stop" - top_delta="0" - width="22"> - <button.commit_callback - function="WebContent.Stop" /> - </button> - <button - image_overlay="Refresh_Off" - image_disabled="PushButton_Disabled" - image_disabled_selected="PushButton_Disabled" - image_selected="PushButton_Selected" - image_unselected="PushButton_Off" - tool_tip="Reload page" - follows="left|top" - height="22" - layout="topleft" - left="51" - name="reload" - top_delta="0" - width="22"> - <button.commit_callback - function="WebContent.Reload" /> - </button> - <combo_box - allow_text_entry="true" - follows="left|top|right" - tab_group="1" - height="22" - layout="topleft" - left_pad="4" - max_chars="1024" - name="address" - combo_editor.select_on_focus="true" - tool_tip="Enter URL here" - top_delta="0" - width="672"> - <combo_box.commit_callback - function="WebContent.EnterAddress" /> - </combo_box> - <icon - name="media_secure_lock_flag" - height="16" - follows="top|right" - image_name="Lock2" - layout="topleft" - left_delta="620" - top_delta="2" - visible="false" - tool_tip="Secured Browsing" - width="16" /> - <button - image_overlay="ExternalBrowser_Off" - image_disabled="PushButton_Disabled" - image_disabled_selected="PushButton_Disabled" - image_selected="PushButton_Selected" - image_unselected="PushButton_Off" - tool_tip="Open current URL in your desktop browser" - follows="right|top" - enabled="true" - height="22" - layout="topleft" - name="popexternal" - right="770" - top_delta="-2" - width="22"> - <button.commit_callback - function="WebContent.PopExternal" /> - </button> - </layout_panel> - <layout_panel - height="40" - layout="topleft" - left_delta="0" - name="external_controls" - top_delta="0" - user_resize="false" - auto_resize="true" - width="585"> - <web_browser - bottom="-2" - follows="all" - layout="topleft" - left="0" - name="webbrowser" - top="0"/> - </layout_panel> - <layout_panel name="status_bar" - height="23" - auto_resize="false" - user_resize="false"> - <text - type="string" - length="200" - follows="bottom|left" - height="20" - layout="topleft" - left_delta="0" - name="statusbartext" - parse_urls="false" - text_color="0.4 0.4 0.4 1" - top_pad="3" - width="495"/> - <progress_bar - color_bar="0.3 1.0 0.3 1" - follows="bottom|right" - height="16" - top_delta="-1" - left_pad="24" - layout="topleft" - name="statusbarprogress" - width="64"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/en/inspect_avatar.xml b/indra/newview/skins/minimal/xui/en/inspect_avatar.xml deleted file mode 100644 index 853d5f8735f..00000000000 --- a/indra/newview/skins/minimal/xui/en/inspect_avatar.xml +++ /dev/null @@ -1,206 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater - legacy_header_height="25" - bevel_style="in" - bg_opaque_image="Inspector_Background" - can_close="false" - can_minimize="false" - height="164" - layout="topleft" - name="inspect_avatar" - single_instance="true" - sound_flags="0" - visible="true" - width="245"> - <!-- Allowed fields include: - [BORN_ON] ("12/3/2008") - [SL_PROFILE] (Second Life profile), - [RW_PROFILE] (real world profile), - [ACCTTYPE] ("Resident"), - [PAYMENTINFO] ("Payment Info on File"), - [AGE] ("1 year 2 months") - --> - <string - name="Subtitle"> -[AGE] - </string> - <string - name="Details"> -[SL_PROFILE] - </string> - <text - follows="top|left" - font="SansSerif" - height="20" - left="8" - name="user_name_small" - top="7" - text_color="White" - use_ellipses="true" - word_wrap="true" - visible="false" - value="Grumpity ProductEngine with a long name" - width="185" /> - <text - follows="top|left" - font="SansSerifBigLarge" - height="21" - left="8" - name="user_name" - top="10" - text_color="White" - use_ellipses="true" - value="Grumpity ProductEngine" - width="190" /> - <text - follows="top|left" - height="16" - left="8" - name="user_slid" - font="SansSerifSmallBold" - text_color="EmphasisColor" - value="james.linden" - width="185" - use_ellipses="true" /> - <text - follows="top|left" - height="16" - left="8" - name="user_subtitle" - font="SansSerifSmall" - text_color="White" - top_pad="0" - value="11 Months, 3 days old" - width="175" - use_ellipses="true" /> - <text - follows="left|top|right" - height="35" - left="8" - name="user_details" - right="-10" - word_wrap="true" - top_pad="4" - use_ellipses="true" - width="220">This is my second life description and I really think it is great. But for some reason my description is super extra long because I like to talk a whole lot - </text> - <slider - follows="top|left" - height="23" - increment="0.01" - left="1" - max_val="0.95" - min_val="0.05" - name="volume_slider" - show_text="false" - tool_tip="Voice volume" - top_pad="0" - value="0.5" - width="200" /> - <button - follows="top|left" - height="16" - image_disabled="Audio_Off" - image_disabled_selected="AudioMute_Off" - image_hover_selected="AudioMute_Over" - image_selected="AudioMute_Off" - image_unselected="Audio_Off" - is_toggle="true" - left_pad="0" - top_delta="4" - name="mute_btn" - width="16" /> - <avatar_icon - follows="top|left" - height="38" - right="-10" - bevel_style="in" - border_style="line" - mouse_opaque="true" - name="avatar_icon" - top="10" - width="38" /> -<!-- Overlapping buttons for default actions - llinspectavatar.cpp makes visible the most likely default action ---> - <button - follows="top|left" - height="20" - label="Add Friend" - left="8" - top="135" - name="add_friend_btn" - width="90" /> - <button - follows="top|left" - height="20" - label="IM" - left_delta="0" - top_delta="0" - name="im_btn" - width="80" - commit_callback.function="InspectAvatar.IM"/> - <button - follows="top|left" - height="20" - label="Profile" - layout="topleft" - name="view_profile_btn" - left_delta="96" - top_delta="0" - tab_stop="false" - width="80" /> - <!-- gear buttons here --> - <menu_button - follows="top|left" - height="20" - layout="topleft" - image_overlay="OptionsMenu_Off" - menu_filename="menu_inspect_avatar_gear.xml" - name="gear_btn" - right="-5" - top_delta="0" - width="35" /> - <menu_button - follows="top|left" - height="20" - image_overlay="OptionsMenu_Off" - menu_filename="menu_inspect_self_gear.xml" - name="gear_self_btn" - right="-5" - top_delta="0" - width="35" /> - <panel - follows="top|left" - top="164" - left="0" - height="60" - width="228" - visible="false" - background_visible="true" - name="moderator_panel" - background_opaque="true" - bg_opaque_color="MouseGray"> - <button - name="disable_voice" - label="Disable Voice" - top="20" - width="95" - height="20" - left="10" - commit_callback.function="InspectAvatar.DisableVoice"/> - <button - name="enable_voice" - label="Enable Voice" - top="20" - width="95" - height="20" - left="10" - visible="false" - commit_callback.function="InspectAvatar.EnableVoice"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/en/inspect_object.xml b/indra/newview/skins/minimal/xui/en/inspect_object.xml deleted file mode 100644 index f424069ec67..00000000000 --- a/indra/newview/skins/minimal/xui/en/inspect_object.xml +++ /dev/null @@ -1,144 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater - legacy_header_height="25" - bevel_style="in" - bg_opaque_image="Inspector_Background" - can_close="false" - can_minimize="false" - height="150" - layout="topleft" - name="inspect_object" - single_instance="true" - sound_flags="0" - visible="true" - width="228"> - <string name="Creator">By [CREATOR]</string> - <string name="CreatorAndOwner"> -By [CREATOR] -Owner [OWNER] - </string> - <string name="Price">L$[AMOUNT]</string> - <string name="PriceFree">Free!</string> - <string name="Touch">Touch</string> - <string name="Sit">Sit</string> - <text - parse_urls="false" - follows="all" - font="SansSerifLarge" - height="30" - left="8" - name="object_name" - text_color="White" - top="6" - use_ellipses="true" - word_wrap="true" - width="220" /> - <text - follows="all" - height="50" - left="8" - name="object_creator" - top_pad="6" - use_ellipses="true" - width="220"> - by secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/about -owner secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/about - </text> - <text - follows="all" - font="SansSerifSmall" - font.style="BOLD" - height="14" - halign="right" - right="-5" - name="price_text" - text_color="white" - top="60" - font_shadow="none" - width="60"> -L$30,000 - </text> - <text - clip_partial="true" - follows="all" - font="SansSerifSmall" - height="25" - left="8" - name="object_description" - top="76" - use_ellipses="true" - width="220" - word_wrap="true"> - </text> - <!-- Overlapping buttons for all default actions. Show "Buy" if - for sale, "Sit" if can sit, etc. --> - <icon - name="secure_browsing" - image_name="Lock" - left="0" - visible="false" - width="18" - height="18" - top="103" - tool_tip="Secure Browsing" - follows="left|top" /> - <text - follows="all" - font="SansSerifSmall" - height="13" - name="object_media_url" - width="207" - left_pad="2" - top_delta="0" - max_length = "50" - use_ellipses="true"> - http://www.superdupertest.com -</text> - <button - follows="top|left" - height="20" - label="Take Copy" - left_delta="0" - name="take_free_copy_btn" - top_delta="0" - width="80" /> - <button - follows="top|left" - height="20" - label="Touch" - left_delta="0" - name="touch_btn" - top_delta="0" - width="80" /> - <button - follows="top|left" - height="20" - label="Sit" - left_delta="0" - name="sit_btn" - top_delta="0" - width="80" /> - <button - follows="top|left" - height="20" - label="Open" - left_delta="0" - name="open_btn" - top_delta="0" - width="80" /> - - <!-- non-overlapping buttons here --> - <menu_button - follows="top|left" - height="20" - image_overlay="OptionsMenu_Off" - menu_filename="menu_inspect_object_gear.xml" - name="gear_btn" - right="-5" - top_delta="0" - width="35" /> -</floater> diff --git a/indra/newview/skins/minimal/xui/en/main_view.xml b/indra/newview/skins/minimal/xui/en/main_view.xml deleted file mode 100644 index 0ce6cbc9845..00000000000 --- a/indra/newview/skins/minimal/xui/en/main_view.xml +++ /dev/null @@ -1,269 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - follows="left|right|top|bottom" - height="768" - layout="topleft" - left="0" - mouse_opaque="false" - tab_stop="false" - name="main_view" - width="1024"> - <panel top="0" - follows="all" - height="768" - mouse_opaque="false" - name="login_panel_holder" - width="1024"/> - - <layout_stack border_size="0" - follows="all" - mouse_opaque="false" - height="768" - name="menu_stack" - orientation="vertical" - top="0"> - <layout_panel auto_resize="false" - height="30" - mouse_opaque="false" - name="nav_bar_container" - tab_stop="false" - min_height="0" - width="1024" - user_resize="false" - visible="true"> - </layout_panel> - <layout_panel auto_resize="true" - follows="all" - height="500" - layout="topleft" - mouse_opaque="false" - tab_stop="false" - name="hud" - width="1024"> - <panel auto_resize="false" - follows="all" - height="500" - top="0" - layout="topleft" - mouse_opaque="false" - tab_stop="false" - name="non_side_tray_view" - user_resize="false" - width="1024"> - - <layout_stack border_size="0" - bottom="500" - follows="all" - height="500" - left="0" - top="0" - mouse_opaque="false" - name="world_stack" - open_time_constant="0.03" - close_time_constant="0.03" - orientation="vertical"> - <layout_panel auto_resize="true" - follows="all" - height="500" - layout="topleft" - tab_stop="false" - mouse_opaque="false" - user_resize="false" - name="hud container" - width="500"> - <view top="0" - follows="all" - height="500" - left="0" - mouse_opaque="false" - name="floater_snap_region" - width="500"/> - <panel follows="left|top" - height="0" - left="0" - mouse_opaque="false" - name="topinfo_bar_container" - tab_stop="false" - top="0" - visible="false" - width="1024"/> - <panel bottom="500" - follows="left|right|bottom" - height="25" - left="0" - mouse_opaque="false" - tab_stop="false" - name="stand_stop_flying_container" - visible="false" - width="500"/> - - <panel follows="all" - height="500" - left="0" - mouse_opaque="false" - name="floater_view_holder" - tab_group="-1" - tab_stop="false" - top="0" - width="500"> - <floater_view follows="all" - height="500" - left="0" - mouse_opaque="false" - name="Floater View" - tab_group="-1" - tab_stop="false" - top="0" - width="500"/> - </panel> - <panel bottom="500" - follows="all" - height="500" - left="0" - mouse_opaque="false" - name="world_view_rect" - top="0" - width="500"/> - </layout_panel> - <layout_panel auto_resize="false" - min_height="33" - height="33" - mouse_opaque="false" - name="bottom_tray_container" - visible="false"/> - <layout_panel auto_resize="false" - height="215" - mouse_opaque="false" - user_resize="false" - name="avatar_picker_and_destination_guide_container" - visible="false"> - <panel top="0" - height="215" - left="0" - background_visible="true" - width="500" - follows="all"> - <web_browser - top="0" - height="200" - follows="all" - name="destination_guide_contents" - trusted_content="true" - visible="false"/> - <web_browser - top="0" - height="200" - follows="all" - name="avatar_picker_contents" - visible="false" - trusted_content="true"/> - <button - name="close" - width="22" - height="23" - right="-10" - top="2" - follows="top|right" - chrome="true" - tab_stop="false" - image_unselected="bottomtray_close_off" - image_selected="bottomtray_close_press" - /> - </panel> - </layout_panel> - </layout_stack> - </panel> - <debug_view follows="all" - left="0" - top="0" - mouse_opaque="false" - height="500" - name="DebugView" - width="1024"/> - </layout_panel> - </layout_stack> - <panel mouse_opaque="false" - follows="right|top" - name="status_bar_container" - tab_stop="false" - height="30" - left="-160" - top="0" - width="160" - visible="false"/> - <panel follows="top|bottom" - height="500" - mouse_opaque="false" - tab_stop="false" - name="hidden_side_tray" - visible="false" - width="333"> - <panel - name="side_tray_container" - width="333" - height="500"/> - </panel> - - <panel top="0" - follows="all" - mouse_opaque="false" - left="0" - name="snapshot_floater_view_holder" - width="1024" - height="798"> - <snapshot_floater_view enabled="false" - follows="all" - height="768" - left="0" - mouse_opaque="false" - name="Snapshot Floater View" - tab_stop="false" - top="0" - visible="false" - width="1024"/> - </panel> - <panel top="0" - follows="all" - height="768" - mouse_opaque="false" - name="popup_holder" - class="popup_holder" - width="1024"> - <icon follows="right|bottom" - image_name="Resize_Corner" - right="-1" - name="resize_corner" - width="11" - bottom="-1" - height="11" /> - </panel> - <view top="0" - left="0" - width="1024" - height="768" - name="hint_holder" - mouse_opaque="false" - follows="all"/> - <panel top="0" - follows="all" - height="768" - mouse_opaque="true" - name="progress_view" - filename="panel_progress.xml" - class="progress_view" - width="1024" - visible="false"/> - <menu_holder top="0" - follows="all" - height="768" - mouse_opaque="false" - name="Menu Holder" - width="1024"/> - <tooltip_view top="0" - follows="all" - height="768" - mouse_opaque="false" - name="tooltip view" - tab_group="-2" - width="1024"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/en/menu_add_wearable_gear.xml b/indra/newview/skins/minimal/xui/en/menu_add_wearable_gear.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_add_wearable_gear.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_attachment_other.xml b/indra/newview/skins/minimal/xui/en/menu_attachment_other.xml deleted file mode 100644 index 80cf365c462..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_attachment_other.xml +++ /dev/null @@ -1,84 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<!-- *NOTE: See also menu_avatar_other.xml --> -<context_menu - layout="topleft" - name="Avatar Pie"> - <menu_item_call - label="View Profile" - name="Profile..."> - <menu_item_call.on_click - function="ShowAgentProfile" - parameter="hit object" /> - </menu_item_call> - <menu_item_call - enabled="false" - label="Add Friend" - name="Add Friend"> - <menu_item_call.on_click - function="Avatar.AddFriend" /> - <menu_item_call.on_enable - function="Avatar.EnableAddFriend" /> - </menu_item_call> - <menu_item_call - label="IM" - name="Send IM..."> - <menu_item_call.on_click - function="Avatar.SendIM" /> - </menu_item_call> - <menu_item_call - label="Call" - name="Call"> - <menu_item_call.on_click - function="Avatar.Call" /> - <menu_item_call.on_enable - function="Avatar.EnableCall" /> - </menu_item_call> - <menu_item_separator /> - <menu_item_call - enabled="false" - label="Block" - name="Avatar Mute"> - <menu_item_call.on_click - function="Avatar.Mute" /> - <menu_item_call.on_enable - function="Avatar.EnableMute" /> - </menu_item_call> - <menu_item_call - label="Report" - name="abuse"> - <menu_item_call.on_click - function="Avatar.ReportAbuse" /> - </menu_item_call> - <menu_item_call - label="Freeze" - name="Freeze..."> - <menu_item_call.on_click - function="Avatar.Freeze" /> - <menu_item_call.on_visible - function="Avatar.EnableFreezeEject"/> - </menu_item_call> - <menu_item_call - label="Eject" - name="Eject..."> - <menu_item_call.on_click - function="Avatar.Eject" /> - <menu_item_call.on_visible - function="Avatar.EnableFreezeEject"/> - </menu_item_call> - <menu_item_call - label="Debug Textures" - name="Debug..."> - <menu_item_call.on_click - function="Avatar.Debug" /> - <menu_item_call.on_visible - function="IsGodCustomerService"/> - </menu_item_call> - <menu_item_call - label="Zoom In" - name="Zoom In"> - <menu_item_call.on_click - function="Tools.LookAtSelection" - parameter="zoom" /> - </menu_item_call> - <menu_item_separator /> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/en/menu_attachment_self.xml b/indra/newview/skins/minimal/xui/en/menu_attachment_self.xml deleted file mode 100644 index 542a7dc7dc0..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_attachment_self.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu - layout="topleft" - name="Attachment Pie"> - <menu_item_call - enabled="false" - label="Touch" - layout="topleft" - name="Attachment Object Touch"> - <menu_item_call.on_click - function="Object.Touch" /> - <menu_item_call.on_enable - function="Object.EnableTouch" - name="EnableTouch"/> - </menu_item_call> - <menu_item_call - enabled="false" - label="Detach" - layout="topleft" - name="Detach"> - <menu_item_call.on_click - function="Attachment.Detach" /> - <menu_item_call.on_enable - function="Attachment.EnableDetach" /> - </menu_item_call> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/en/menu_avatar_icon.xml b/indra/newview/skins/minimal/xui/en/menu_avatar_icon.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_avatar_icon.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_avatar_other.xml b/indra/newview/skins/minimal/xui/en/menu_avatar_other.xml deleted file mode 100644 index 2c81b5a7782..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_avatar_other.xml +++ /dev/null @@ -1,83 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<!-- *NOTE: See also menu_attachment_other.xml --> -<context_menu - layout="topleft" - name="Avatar Pie"> - <menu_item_call - label="View Profile" - name="Profile..."> - <menu_item_call.on_click - function="ShowAgentProfile" - parameter="hit object" /> - </menu_item_call> - <menu_item_call - enabled="false" - label="Add Friend" - name="Add Friend"> - <menu_item_call.on_click - function="Avatar.AddFriend" /> - <menu_item_call.on_enable - function="Avatar.EnableAddFriend" /> - </menu_item_call> - <menu_item_call - label="IM" - name="Send IM..."> - <menu_item_call.on_click - function="Avatar.SendIM" /> - </menu_item_call> - <menu_item_call - label="Call" - name="Call"> - <menu_item_call.on_click - function="Avatar.Call" /> - <menu_item_call.on_enable - function="Avatar.EnableCall" /> - </menu_item_call> - <menu_item_separator /> - <menu_item_call - enabled="false" - label="Block" - name="Avatar Mute"> - <menu_item_call.on_click - function="Avatar.Mute" /> - <menu_item_call.on_enable - function="Avatar.EnableMute" /> - </menu_item_call> - <menu_item_call - label="Report" - name="abuse"> - <menu_item_call.on_click - function="Avatar.ReportAbuse" /> - </menu_item_call> - <menu_item_call - label="Freeze" - name="Freeze..."> - <menu_item_call.on_click - function="Avatar.Freeze" /> - <menu_item_call.on_visible - function="Avatar.EnableFreezeEject"/> - </menu_item_call> - <menu_item_call - label="Eject" - name="Eject..."> - <menu_item_call.on_click - function="Avatar.Eject" /> - <menu_item_call.on_visible - function="Avatar.EnableFreezeEject"/> - </menu_item_call> - <menu_item_call - label="Debug Textures" - name="Debug..."> - <menu_item_call.on_click - function="Avatar.Debug" /> - <menu_item_call.on_visible - function="IsGodCustomerService"/> - </menu_item_call> - <menu_item_call - label="Zoom In" - name="Zoom In"> - <menu_item_call.on_click - function="Tools.LookAtSelection" - parameter="zoom" /> - </menu_item_call> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/en/menu_avatar_self.xml b/indra/newview/skins/minimal/xui/en/menu_avatar_self.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_avatar_self.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_bottomtray.xml b/indra/newview/skins/minimal/xui/en/menu_bottomtray.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_bottomtray.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_cof_attachment.xml b/indra/newview/skins/minimal/xui/en/menu_cof_attachment.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_cof_attachment.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_cof_body_part.xml b/indra/newview/skins/minimal/xui/en/menu_cof_body_part.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_cof_body_part.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_cof_clothing.xml b/indra/newview/skins/minimal/xui/en/menu_cof_clothing.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_cof_clothing.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_cof_gear.xml b/indra/newview/skins/minimal/xui/en/menu_cof_gear.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_cof_gear.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_edit.xml b/indra/newview/skins/minimal/xui/en/menu_edit.xml deleted file mode 100644 index 747eb3fc6a6..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_edit.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu create_jump_keys="true" - label="Edit" - name="Edit" - visible="false"> - <menu_item_call - label="Undo" - name="Undo" - shortcut="control|Z"> - <menu_item_call.on_click - function="Edit.Undo" /> - <menu_item_call.on_enable - function="Edit.EnableUndo" /> - </menu_item_call> - <menu_item_call - label="Redo" - name="Redo" - shortcut="control|Y"> - <menu_item_call.on_click - function="Edit.Redo" /> - <menu_item_call.on_enable - function="Edit.EnableRedo" /> - </menu_item_call> - <menu_item_separator/> - <menu_item_call - label="Cut" - name="Cut" - shortcut="control|X"> - <menu_item_call.on_click - function="Edit.Cut" /> - <menu_item_call.on_enable - function="Edit.EnableCut" /> - </menu_item_call> - <menu_item_call - label="Copy" - name="Copy" - shortcut="control|C"> - <menu_item_call.on_click - function="Edit.Copy" /> - <menu_item_call.on_enable - function="Edit.EnableCopy" /> - </menu_item_call> - <menu_item_call - label="Paste" - name="Paste" - shortcut="control|V"> - <menu_item_call.on_click - function="Edit.Paste" /> - <menu_item_call.on_enable - function="Edit.EnablePaste" /> - </menu_item_call> - <menu_item_call - label="Delete" - name="Delete" - allow_key_repeat="true" - shortcut="Del"> - <menu_item_call.on_click - function="Edit.Delete" /> - <menu_item_call.on_enable - function="Edit.EnableDelete" /> - </menu_item_call> - <menu_item_call - label="Duplicate" - name="Duplicate" - shortcut="control|D"> - <menu_item_call.on_click - function="Edit.Duplicate" /> - <menu_item_call.on_enable - function="Edit.EnableDuplicate" /> - </menu_item_call> - <menu_item_separator/> - <menu_item_call - label="Select All" - name="Select All" - shortcut="control|A"> - <menu_item_call.on_click - function="Edit.SelectAll" /> - <menu_item_call.on_enable - function="Edit.EnableSelectAll" /> - </menu_item_call> - <menu_item_call - label="Deselect" - name="Deselect" - shortcut="control|E"> - <menu_item_call.on_click - function="Edit.Deselect" /> - <menu_item_call.on_enable - function="Edit.EnableDeselect" /> - </menu_item_call> -</menu> \ No newline at end of file diff --git a/indra/newview/skins/minimal/xui/en/menu_favorites.xml b/indra/newview/skins/minimal/xui/en/menu_favorites.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_favorites.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_gesture_gear.xml b/indra/newview/skins/minimal/xui/en/menu_gesture_gear.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_gesture_gear.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_group_plus.xml b/indra/newview/skins/minimal/xui/en/menu_group_plus.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_group_plus.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_hide_navbar.xml b/indra/newview/skins/minimal/xui/en/menu_hide_navbar.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_hide_navbar.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_im_well_button.xml b/indra/newview/skins/minimal/xui/en/menu_im_well_button.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_im_well_button.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_imchiclet_adhoc.xml b/indra/newview/skins/minimal/xui/en/menu_imchiclet_adhoc.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_imchiclet_adhoc.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_imchiclet_group.xml b/indra/newview/skins/minimal/xui/en/menu_imchiclet_group.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_imchiclet_group.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_imchiclet_p2p.xml b/indra/newview/skins/minimal/xui/en/menu_imchiclet_p2p.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_imchiclet_p2p.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_inspect_avatar_gear.xml b/indra/newview/skins/minimal/xui/en/menu_inspect_avatar_gear.xml deleted file mode 100644 index a11e367d662..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,125 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu - create_jump_keys="true" - layout="topleft" - mouse_opaque="false" - visible="false" - name="Gear Menu"> - <menu_item_call - label="View Profile" - enabled="true" - name="view_profile"> - <menu_item_call.on_click - function="InspectAvatar.ViewProfile"/> - </menu_item_call> - <menu_item_call - label="Add Friend" - name="add_friend"> - <menu_item_call.on_click - function="InspectAvatar.AddFriend"/> - <menu_item_call.on_enable - function="InspectAvatar.Gear.Enable"/> - </menu_item_call> - <menu_item_call - label="IM" - name="im"> - <menu_item_call.on_click - function="InspectAvatar.IM"/> - </menu_item_call> - <menu_item_call - label="Call" - enabled="true" - name="call"> - <menu_item_call.on_click - function="InspectAvatar.Call"/> - <menu_item_call.on_enable - function="InspectAvatar.Gear.EnableCall"/> - </menu_item_call> - <menu_item_call - label="Teleport" - name="teleport"> - <menu_item_call.on_click - function="InspectAvatar.Teleport"/> - <menu_item_call.on_enable - function="InspectAvatar.Gear.EnableTeleportOffer"/> - </menu_item_call> - <menu_item_separator /> - <menu_item_call - label="Block" - name="block"> - <menu_item_call.on_click - function="InspectAvatar.ToggleMute"/> - <menu_item_call.on_visible - function="InspectAvatar.EnableMute" /> - </menu_item_call> - <menu_item_call - label="Unblock" - name="unblock"> - <menu_item_call.on_click - function="InspectAvatar.ToggleMute"/> - <menu_item_call.on_visible - function="InspectAvatar.EnableUnmute" /> - </menu_item_call> - <menu_item_call - label="Report" - name="report"> - <menu_item_call.on_click - function="InspectAvatar.Report"/> - </menu_item_call> - <menu_item_call - label="Freeze" - name="freeze"> - <menu_item_call.on_click - function="InspectAvatar.Freeze"/> - <menu_item_call.on_visible - function="InspectAvatar.VisibleFreeze"/> - </menu_item_call> - <menu_item_call - label="Eject" - name="eject"> - <menu_item_call.on_click - function="InspectAvatar.Eject"/> - <menu_item_call.on_visible - function="InspectAvatar.VisibleEject"/> - </menu_item_call> - <menu_item_call - label="Kick" - name="kick"> - <menu_item_call.on_click - function="InspectAvatar.Kick"/> - <menu_item_call.on_visible - function="InspectAvatar.EnableGod"/> - </menu_item_call> - <menu_item_call - label="CSR" - name="csr"> - <menu_item_call.on_click - function="InspectAvatar.CSR" /> - <menu_item_call.on_visible - function="InspectAvatar.EnableGod" /> - </menu_item_call> - <menu_item_call - label="Debug Textures" - name="debug"> - <menu_item_call.on_click - function="Avatar.Debug"/> - <menu_item_call.on_visible - function="IsGodCustomerService"/> - </menu_item_call> - <menu_item_call - label="Find On Map" - name="find_on_map"> - <menu_item_call.on_click - function="InspectAvatar.FindOnMap"/> - <menu_item_call.on_visible - function="InspectAvatar.VisibleFindOnMap"/> - </menu_item_call> - <menu_item_call - label="Zoom In" - name="zoom_in"> - <menu_item_call.on_click - function="InspectAvatar.ZoomIn"/> - <menu_item_call.on_visible - function="InspectAvatar.VisibleZoomIn"/> - </menu_item_call> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/en/menu_inspect_object_gear.xml b/indra/newview/skins/minimal/xui/en/menu_inspect_object_gear.xml deleted file mode 100644 index 8ec360a604c..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_inspect_object_gear.xml +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu - create_jump_keys="true" - layout="topleft" - mouse_opaque="false" - visible="false" - name="Gear Menu"> - <menu_item_call - label="Touch" - layout="topleft" - enabled="true" - name="touch"> - <menu_item_call.on_click - function="InspectObject.Touch"/> - <menu_item_call.on_visible - function="Object.EnableTouch" /> - </menu_item_call> - <menu_item_call - label="Sit" - layout="topleft" - name="sit"> - <menu_item_call.on_click - function="InspectObject.Sit"/> - <menu_item_call.on_visible - function="Object.EnableSit"/> - </menu_item_call> - <menu_item_call - label="Report" - layout="topleft" - name="report"> - <menu_item_call.on_click - function="Object.ReportAbuse" /> - </menu_item_call> - <menu_item_call - label="Block" - layout="topleft" - name="block"> - <menu_item_call.on_click - function="Object.Mute" /> - <menu_item_call.on_visible - function="Object.EnableMute" /> - </menu_item_call> - <menu_item_call - label="Zoom In" - layout="topleft" - name="zoom_in"> - <menu_item_call.on_click - function="InspectObject.ZoomIn" /> - </menu_item_call> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/en/menu_inspect_self_gear.xml b/indra/newview/skins/minimal/xui/en/menu_inspect_self_gear.xml deleted file mode 100644 index ae8b640d269..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_inspect_self_gear.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu - layout="topleft" - name="Self Pie"> - <menu_item_call - label="Sit Down" - layout="topleft" - name="Sit Down Here"> - <menu_item_call.on_click - function="Self.SitDown" - parameter="" /> - <menu_item_call.on_enable - function="Self.EnableSitDown" /> - </menu_item_call> - <menu_item_call - label="Stand Up" - layout="topleft" - name="Stand Up"> - <menu_item_call.on_click - function="Self.StandUp" - parameter="" /> - <menu_item_call.on_enable - function="Self.EnableStandUp" /> - </menu_item_call> - <menu_item_call - label="My Friends" - layout="topleft" - name="Friends..."> - <menu_item_call.on_click - function="SideTray.PanelPeopleTab" - parameter="friends_panel" /> - </menu_item_call> - <menu_item_call - label="My Profile" - layout="topleft" - name="Profile..."> - <menu_item_call.on_click - function="ShowAgentProfile" - parameter="agent" /> - </menu_item_call> - <menu_item_call - label="Debug Textures" - name="Debug..."> - <menu_item_call.on_click - function="Avatar.Debug" /> - <menu_item_call.on_visible - function="IsGodCustomerService"/> - </menu_item_call> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/en/menu_inv_offer_chiclet.xml b/indra/newview/skins/minimal/xui/en/menu_inv_offer_chiclet.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_inv_offer_chiclet.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_inventory.xml b/indra/newview/skins/minimal/xui/en/menu_inventory.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_inventory.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_inventory_add.xml b/indra/newview/skins/minimal/xui/en/menu_inventory_add.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_inventory_add.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_inventory_gear_default.xml b/indra/newview/skins/minimal/xui/en/menu_inventory_gear_default.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_inventory_gear_default.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_land.xml b/indra/newview/skins/minimal/xui/en/menu_land.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_land.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_landmark.xml b/indra/newview/skins/minimal/xui/en/menu_landmark.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_landmark.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_login.xml b/indra/newview/skins/minimal/xui/en/menu_login.xml deleted file mode 100644 index 62dbce3f565..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_login.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu_bar/> diff --git a/indra/newview/skins/minimal/xui/en/menu_mini_map.xml b/indra/newview/skins/minimal/xui/en/menu_mini_map.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_mini_map.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_navbar.xml b/indra/newview/skins/minimal/xui/en/menu_navbar.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_navbar.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_nearby_chat.xml b/indra/newview/skins/minimal/xui/en/menu_nearby_chat.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_nearby_chat.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_notification_well_button.xml b/indra/newview/skins/minimal/xui/en/menu_notification_well_button.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_notification_well_button.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_object.xml b/indra/newview/skins/minimal/xui/en/menu_object.xml deleted file mode 100644 index 888ce42cf16..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_object.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu - layout="topleft" - name="Object Pie"> - <menu_item_call - enabled="false" - label="Sit Here" - name="Object Sit"> - <menu_item_call.on_click - function="Object.SitOrStand" /> - <menu_item_call.on_enable - function="Object.EnableSit" /> - </menu_item_call> - <menu_item_call - enabled="false" - label="Stand Up" - name="Object Stand Up"> - <menu_item_call.on_click - function="Object.SitOrStand" /> - <menu_item_call.on_enable - function="Object.EnableStandUp" /> - </menu_item_call> - <menu_item_call - label="Zoom In" - name="Zoom In"> - <menu_item_call.on_click - function="Object.ZoomIn" /> - </menu_item_call> - <menu_item_call - enabled="false" - label="Touch" - name="Object Touch"> - <menu_item_call.on_click - function="Object.Touch" /> - <menu_item_call.on_enable - function="Object.EnableTouch" - name="EnableTouch" - parameter="Touch" /> - </menu_item_call> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/en/menu_object_icon.xml b/indra/newview/skins/minimal/xui/en/menu_object_icon.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_object_icon.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_outfit_gear.xml b/indra/newview/skins/minimal/xui/en/menu_outfit_gear.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_outfit_gear.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_outfit_tab.xml b/indra/newview/skins/minimal/xui/en/menu_outfit_tab.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_outfit_tab.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_participant_list.xml b/indra/newview/skins/minimal/xui/en/menu_participant_list.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_participant_list.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_people_friends_view_sort.xml b/indra/newview/skins/minimal/xui/en/menu_people_friends_view_sort.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_people_groups.xml b/indra/newview/skins/minimal/xui/en/menu_people_groups.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_people_groups.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_people_groups_view_sort.xml b/indra/newview/skins/minimal/xui/en/menu_people_groups_view_sort.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_people_nearby.xml b/indra/newview/skins/minimal/xui/en/menu_people_nearby.xml deleted file mode 100644 index 1840ebd491f..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_people_nearby.xml +++ /dev/null @@ -1,71 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu - layout="topleft" - name="Avatar Context Menu"> - <menu_item_call - label="View Profile" - layout="topleft" - name="View Profile"> - <menu_item_call.on_click - function="Avatar.Profile" /> - </menu_item_call> - <menu_item_call - label="Add Friend" - layout="topleft" - name="Add Friend"> - <menu_item_call.on_click - function="Avatar.AddFriend" /> - <menu_item_call.on_enable - function="Avatar.EnableItem" - parameter="can_add" /> - </menu_item_call> - <menu_item_call - label="Remove Friend" - layout="topleft" - name="Remove Friend"> - <menu_item_call.on_click - function="Avatar.RemoveFriend" /> - <menu_item_call.on_enable - function="Avatar.EnableItem" - parameter="can_delete" /> - </menu_item_call> - <menu_item_call - label="IM" - layout="topleft" - name="IM"> - <menu_item_call.on_click - function="Avatar.IM" /> - </menu_item_call> - <menu_item_call - label="Call" - layout="topleft" - name="Call"> - <menu_item_call.on_click - function="Avatar.Call" /> - <menu_item_call.on_enable - function="Avatar.EnableItem" - parameter="can_call" /> - </menu_item_call> - <menu_item_check - label="Block/Unblock" - layout="topleft" - name="Block/Unblock"> - <menu_item_check.on_click - function="Avatar.BlockUnblock" /> - <menu_item_check.on_check - function="Avatar.CheckItem" - parameter="is_blocked" /> - <menu_item_check.on_enable - function="Avatar.EnableItem" - parameter="can_block" /> - </menu_item_check> - <menu_item_call - label="Offer Teleport" - name="teleport"> - <menu_item_call.on_click - function="Avatar.OfferTeleport"/> - <menu_item_call.on_enable - function="Avatar.EnableItem" - parameter="can_offer_teleport"/> - </menu_item_call> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/en/menu_people_nearby_multiselect.xml b/indra/newview/skins/minimal/xui/en/menu_people_nearby_multiselect.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_people_nearby_multiselect.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_people_nearby_view_sort.xml b/indra/newview/skins/minimal/xui/en/menu_people_nearby_view_sort.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_people_recent_view_sort.xml b/indra/newview/skins/minimal/xui/en/menu_people_recent_view_sort.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_picks.xml b/indra/newview/skins/minimal/xui/en/menu_picks.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_picks.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_picks_plus.xml b/indra/newview/skins/minimal/xui/en/menu_picks_plus.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_picks_plus.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_place.xml b/indra/newview/skins/minimal/xui/en/menu_place.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_place.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_place_add_button.xml b/indra/newview/skins/minimal/xui/en/menu_place_add_button.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_place_add_button.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_places_gear_folder.xml b/indra/newview/skins/minimal/xui/en/menu_places_gear_folder.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_places_gear_folder.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_places_gear_landmark.xml b/indra/newview/skins/minimal/xui/en/menu_places_gear_landmark.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_places_gear_landmark.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_profile_overflow.xml b/indra/newview/skins/minimal/xui/en/menu_profile_overflow.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_profile_overflow.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_save_outfit.xml b/indra/newview/skins/minimal/xui/en/menu_save_outfit.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_save_outfit.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_script_chiclet.xml b/indra/newview/skins/minimal/xui/en/menu_script_chiclet.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_script_chiclet.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_slurl.xml b/indra/newview/skins/minimal/xui/en/menu_slurl.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_slurl.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_teleport_history_gear.xml b/indra/newview/skins/minimal/xui/en/menu_teleport_history_gear.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_teleport_history_gear.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_teleport_history_item.xml b/indra/newview/skins/minimal/xui/en/menu_teleport_history_item.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_teleport_history_item.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_teleport_history_tab.xml b/indra/newview/skins/minimal/xui/en/menu_teleport_history_tab.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_teleport_history_tab.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_text_editor.xml b/indra/newview/skins/minimal/xui/en/menu_text_editor.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_text_editor.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_topinfobar.xml b/indra/newview/skins/minimal/xui/en/menu_topinfobar.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_topinfobar.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_url_agent.xml b/indra/newview/skins/minimal/xui/en/menu_url_agent.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_url_agent.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_url_group.xml b/indra/newview/skins/minimal/xui/en/menu_url_group.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_url_group.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_url_http.xml b/indra/newview/skins/minimal/xui/en/menu_url_http.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_url_http.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_url_inventory.xml b/indra/newview/skins/minimal/xui/en/menu_url_inventory.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_url_inventory.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_url_map.xml b/indra/newview/skins/minimal/xui/en/menu_url_map.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_url_map.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_url_objectim.xml b/indra/newview/skins/minimal/xui/en/menu_url_objectim.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_url_objectim.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_url_parcel.xml b/indra/newview/skins/minimal/xui/en/menu_url_parcel.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_url_parcel.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_url_slapp.xml b/indra/newview/skins/minimal/xui/en/menu_url_slapp.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_url_slapp.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_url_slurl.xml b/indra/newview/skins/minimal/xui/en/menu_url_slurl.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_url_slurl.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_url_teleport.xml b/indra/newview/skins/minimal/xui/en/menu_url_teleport.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_url_teleport.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_viewer.xml b/indra/newview/skins/minimal/xui/en/menu_viewer.xml deleted file mode 100644 index cd83ea4e992..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_viewer.xml +++ /dev/null @@ -1,71 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu_bar - bg_visible="false" - follows="left|top|right" - name="Main Menu"> - <menu - create_jump_keys="true" - label="Help" - name="Help" - tear_off="true"> - <menu_item_call - label="[SECOND_LIFE] Help" - name="Second Life Help" - shortcut="F1"> - <menu_item_call.on_click - function="ShowHelp" - parameter="f1_help" /> - </menu_item_call> - </menu> - <menu - create_jump_keys="true" - label="Advanced" - name="Advanced" - tear_off="true" - visible="false"> - <menu - create_jump_keys="true" - label="Shortcuts" - name="Shortcuts" - tear_off="true" - visible="false"> - <menu_item_check - label="Fly" - name="Fly" - shortcut="Home"> - <menu_item_check.on_check - function="Agent.getFlying" /> - <menu_item_check.on_click - function="Agent.toggleFlying" /> - <menu_item_check.on_enable - function="Agent.enableFlying" /> - </menu_item_check> - <menu_item_call - label="Close Window" - name="Close Window" - shortcut="control|W"> - <menu_item_call.on_click - function="File.CloseWindow" /> - <menu_item_call.on_enable - function="File.EnableCloseWindow" /> - </menu_item_call> - <menu_item_call - label="Close All Windows" - name="Close All Windows" - shortcut="control|shift|W"> - <menu_item_call.on_click - function="File.CloseAllWindows" /> - <menu_item_call.on_enable - function="File.EnableCloseAllWindows" /> - </menu_item_call> - - <menu_item_call - label="Reset View" - name="Reset View" - shortcut="Esc"> - <menu_item_call.on_click - function="View.ResetView" /> - </menu_item_call> - </menu> <!--Shortcuts--> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/en/menu_wearable_list_item.xml b/indra/newview/skins/minimal/xui/en/menu_wearable_list_item.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_wearable_list_item.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_wearing_gear.xml b/indra/newview/skins/minimal/xui/en/menu_wearing_gear.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_wearing_gear.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_wearing_tab.xml b/indra/newview/skins/minimal/xui/en/menu_wearing_tab.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_wearing_tab.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/notification_visibility.xml b/indra/newview/skins/minimal/xui/en/notification_visibility.xml deleted file mode 100644 index bdd3c3d4a47..00000000000 --- a/indra/newview/skins/minimal/xui/en/notification_visibility.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" ?> -<notification_visibility> - <respond name="VoiceInviteGroup" response="Decline"/> - - <!-- group and voice are disabled features --> - <hide tag="group"/> - - <!-- no spammy scripts --> - <!-- <hide name="ScriptDialog"/> --> - - <!-- hints pertaining to UI we don't show --> - <hide name="FirstBalanceIncrease"/> - <hide name="FirstInventory"/> - <hide name="HintSidePanel"/> - <hide name="HintMove"/> - <hide name="HintSpeak"/> - <hide name="HintDisplayName"/> - <hide name="HintInventory"/> - <hide name="HintLindenDollar"/> - - <!-- spam from servers, such as "Autopilot cancelled" --> - <hide name="SystemMessageTip"/> - - <!-- show everything else --> - <show/> -</notification_visibility> - diff --git a/indra/newview/skins/minimal/xui/en/notifications.xml b/indra/newview/skins/minimal/xui/en/notifications.xml deleted file mode 100644 index 7b7cdb5fc6e..00000000000 --- a/indra/newview/skins/minimal/xui/en/notifications.xml +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" ?> -<notifications> - <notification - icon="notify.tga" - name="UserGiveItem" - type="offer"> - [NAME_SLURL] is offering you [ITEM_SLURL]. Using this item requires you to switch to Advanced mode where you will find the item in your Inventory. To switch to Advanced mode, quit and restart this application and change the mode setting on the login screen. - <form name="form"> - <button - index="4" - name="Show" - text="Keep Item"/> - <button - index="1" - name="Discard" - text="Reject Item"/> - <button - index="2" - name="Mute" - text="Block User"/> - </form> - </notification> - <notification - icon="notify.tga" - name="ObjectGiveItem" - type="offer"> - An object named <nolink>[OBJECTFROMNAME]</nolink> owned by [NAME_SLURL] is offering you <nolink>[ITEM_SLURL]</nolink>. Using this item requires you to switch to Advanced mode where you will find the item in your Inventory. To switch to Advanced mode, quit and restart this application and change the mode setting on the login screen. - <form name="form"> - <button - index="0" - name="Keep" - text="Keep Item"/> - <button - index="1" - name="Discard" - text="Reject Item"/> - <button - index="2" - name="Mute" - text="Block Object"/> - </form> - </notification> - -</notifications> diff --git a/indra/newview/skins/minimal/xui/en/panel_adhoc_control_panel.xml b/indra/newview/skins/minimal/xui/en/panel_adhoc_control_panel.xml deleted file mode 100644 index 39d1a90850f..00000000000 --- a/indra/newview/skins/minimal/xui/en/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,81 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - border="false" - follows="all" - height="215" - name="panel_im_control_panel" - width="150"> - <layout_stack - mouse_opaque="false" - border_size="0" - clip="false" - follows="all" - height="215" - layout="topleft" - left="3" - name="vertical_stack" - orientation="vertical" - top="0" - width="147"> - <layout_panel - auto_resize="true" - follows="top|left" - height="130" - layout="topleft" - left="0" - min_height="0" - mouse_opaque="false" - width="147" - top="0" - name="speakers_list_panel" - user_resize="false"> - <avatar_list - color="DkGray2" - follows="all" - height="130" - ignore_online_status="true" - layout="topleft" - name="speakers_list" - opaque="false" - show_info_btn="true" - show_profile_btn="false" - show_speaking_indicator="false" - width="147" /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="top|left|right" - height="25" - layout="topleft" - min_height="25" - width="130" - name="call_btn_panel" - user_resize="false" - visible="false"> - <button - follows="all" - height="20" - label="Call" - name="call_btn" - width="130" - top="5" /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="top|left|right" - height="25" - layout="topleft" - min_height="25" - width="130" - name="end_call_btn_panel" - user_resize="false" - visible="false"> - <button - follows="all" - height="20" - label="Leave Call" - name="end_call_btn" - top="5"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml deleted file mode 100644 index d722c54081a..00000000000 --- a/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml +++ /dev/null @@ -1,557 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - background_visible="true" - bg_alpha_color="DkGray" - bg_opaque_color="DkGray" - chrome="true" - follows="left|bottom|right" - height="33" - layout="topleft" - left="0" - name="bottom_tray" - focus_root="true" - top="28" - width="1310"> - <string - name="DragIndicationImageName" - value="Accordion_ArrowOpened_Off" /> - <string - name="SpeakBtnToolTip" - value="Turns microphone on/off" /> - <string - name="VoiceControlBtnToolTip" - value="Shows/hides voice control panel" /> - <layout_stack - border_size="0" - clip="false" - follows="all" - height="28" - layout="topleft" - left="0" - mouse_opaque="false" - name="toolbar_stack" - orientation="horizontal" - top="0" - width="1310"> - <layout_panel - auto_resize="false" - user_resize="false" - min_width="2" - width="2" /> - <layout_panel - auto_resize="false" - layout="topleft" - max_width="320" - min_width="214" - height="28" - mouse_opaque="false" - name="chat_bar_layout_panel" - user_resize="true" - width="312" > - <panel - name="chat_bar" - filename="panel_nearby_chat_bar.xml" - left="0" - height="28" - width="306" - top="0" - mouse_opaque="false" - follows="left|right" - /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_height="28" - min_width="35" - mouse_opaque="false" - name="speak_panel" - top_delta="0" - user_resize="false" - width="85"> - <button - follows="left|right" - height="23" - layout="topleft" - label="Speak" - left="0" - name="speak_btn" - tool_tip="Turn your microphone on and off" - pad_right="30" - halign="center" - use_ellipses="true" - tab_stop="true" - is_toggle="true" - image_selected="Speak_Btn_Selected_Press" - image_unselected="Speak_Btn_Off" - image_pressed="Speak_Btn_Selected_Press" - image_pressed_selected="Speak_Btn_Selected_Press" - top="5" - width="85"> - - <commit_callback - function="ToggleSpeak" - parameter="f1_help" /> - </button> - </layout_panel> - - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_height="28" - min_width="20" - mouse_opaque="false" - name="speak_flyout_panel" - top_delta="0" - user_resize="false" - width="26"> - <button - follows="left|right" - width="20" - top="5" - left="0" - height="23" - name="flyout_btn" - label="" - tab_stop="false" - tool_tip="Change your sound preferences" - is_toggle="true" - image_disabled="ComboButton_UpOff" - image_unselected="ComboButton_UpOff" - image_selected="ComboButton_On" - image_pressed="ComboButton_UpSelected" - image_pressed_selected="ComboButton_Selected"> - <init_callback - function="Button.SetDockableFloaterToggle" - parameter="sound_devices" /> - </button> - - </layout_panel> - - <layout_panel - auto_resize="false" - follows="right" - height="28" - layout="topleft" - min_height="28" - min_width="65" - mouse_opaque="false" - name="gesture_panel" - top_delta="0" - user_resize="false" - width="88"> - <gesture_combo_list - follows="left|right" - height="23" - label="Gesture" - layout="topleft" - get_more="false" - view_all="false" - left="0" - name="Gesture" - tool_tip="Make your avatar do things" - top="5" - width="82"> - <combo_button - pad_right="10" - can_drag="false" - use_ellipses="true" /> - <combo_list - page_lines="17" /> - </gesture_combo_list> - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_height="28" - min_width="52" - mouse_opaque="false" - name="cam_panel" - user_resize="false" - width="86"> - <bottomtray_button - can_drag="false" - follows="left|right" - height="23" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - is_toggle="true" - label="View" - layout="topleft" - left="0" - name="camera_btn" - tool_tip="Control your camera angle" - top="5" - use_ellipses="true" - width="80"> - <init_callback - function="Button.SetDockableFloaterToggle" - parameter="camera" /> - </bottomtray_button> - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_width="8" - name="splitter_panel_1" - user_resize="false" - width="8"> - <icon - follows="left|bottom" - height="18" - width="2" - left="0" - image_name="Button_Separator" - name="separator" - top="7"/> - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_height="28" - min_width="83" - mouse_opaque="false" - name="destinations_panel" - user_resize="false" - width="106"> - <bottomtray_button - can_drag="false" - follows="left|right" - height="23" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - label="Destinations" - layout="topleft" - left="0" - name="destination_btn" - tool_tip="Travel through Second Life" - top="5" - is_toggle="true" - use_ellipses="true" - width="100"> - <bottomtray_button.commit_callback - function="Destination.show" /> - </bottomtray_button> - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_height="28" - min_width="73" - mouse_opaque="false" - name="avatar_panel" - user_resize="false" - width="106"> - <bottomtray_button - can_drag="false" - follows="left|right" - height="23" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - label="My Avatar" - layout="topleft" - left="0" - name="avatar_btn" - top="5" - is_toggle="true" - tool_tip="Change your appearance" - use_ellipses="true" - width="100"> - <bottomtray_button.commit_callback - function="Avatar.show" /> - </bottomtray_button> - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_width="8" - name="splitter_panel_2" - user_resize="false" - width="8"> - <icon - follows="left|bottom" - height="18" - width="2" - left="0" - image_name="Button_Separator" - name="separator" - top="7"/> - </layout_panel> - <layout_panel - auto_resize="false" - follows="right" - height="28" - layout="topleft" - min_height="28" - min_width="65" - mouse_opaque="false" - name="people_panel" - top_delta="0" - user_resize="false" - width="106"> - <bottomtray_button - can_drag="false" - follows="left|right" - height="23" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - label="People" - layout="topleft" - left="0" - name="show_people_button" - tool_tip="Find people in Second Life" - top="5" - is_toggle="true" - use_ellipses="true" - width="100"> - <bottomtray_button.commit_callback - function="ShowSidetrayPanel" - parameter="panel_people" /> - </bottomtray_button> - </layout_panel> - <layout_panel - auto_resize="false" - follows="right" - height="28" - layout="topleft" - min_height="28" - min_width="65" - mouse_opaque="false" - name="profile_panel" - top_delta="0" - user_resize="false" - width="106"> - <bottomtray_button - can_drag="false" - follows="left|right" - height="23" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - label="Profile" - layout="topleft" - left="0" - name="show_profile_btn" - tool_tip="View and edit your Profile" - is_toggle="true" - top="5" - use_ellipses="true" - width="100"> - <bottomtray_button.commit_callback - function="ToggleAgentProfile" - parameter="agent"/> - </bottomtray_button> - </layout_panel> - <layout_panel - auto_resize="false" - follows="right" - height="28" - layout="topleft" - min_height="28" - min_width="65" - mouse_opaque="false" - name="howto_panel" - top_delta="0" - user_resize="false" - width="106"> - <bottomtray_button - can_drag="false" - follows="left|right" - height="23" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - label="How To" - layout="topleft" - left="0" - name="show_help_btn" - tool_tip="View Second Life help info" - is_toggle="true" - top="5" - use_ellipses="true" - width="100"> - <bottomtray_button.commit_callback - function="ToggleHelp" - parameter="f1_help" /> - </bottomtray_button> - </layout_panel> - <layout_panel - follows="left|right" - height="30" - layout="topleft" - min_width="95" - mouse_opaque="false" - name="chiclet_list_panel" - top="0" - user_resize="false" - width="189"> - <!--*NOTE: min_width of the chiclet_panel (chiclet_list) must be the same -as for parent layout_panel (chiclet_list_panel) to resize bottom tray properly. EXT-991--> - <chiclet_panel - chiclet_padding="4" - follows="left|right" - height="24" - layout="topleft" - left="1" - min_width="95" - mouse_opaque="false" - name="chiclet_list" - top="7" - width="189"> - <button - auto_resize="true" - follows="right" - height="29" - image_hover_selected="SegmentedBtn_Left_Over" - image_hover_unselected="SegmentedBtn_Left_Over" - image_overlay="Arrow_Small_Left" - image_pressed="SegmentedBtn_Left_Press" - image_pressed_selected="SegmentedBtn_Left_Press" - image_selected="SegmentedBtn_Left_Off" - image_unselected="SegmentedBtn_Left_Off" - layout="topleft" - name="chicklet_left_scroll_button" - tab_stop="false" - top="-28" - visible="false" - width="7" /> - <button - auto_resize="true" - follows="right" - height="29" - image_hover_selected="SegmentedBtn_Right_Over" - image_hover_unselected="SegmentedBtn_Right_Over" - image_overlay="Arrow_Small_Right" - image_pressed="SegmentedBtn_Right_Press" - image_pressed_selected="SegmentedBtn_Right_Press" - image_selected="SegmentedBtn_Right_Off" - image_unselected="SegmentedBtn_Right_Off" - layout="topleft" - name="chicklet_right_scroll_button" - tab_stop="false" - top="-28" - visible="false" - width="7" /> - </chiclet_panel> - </layout_panel> - <layout_panel auto_resize="false" - user_resize="false" - width="4" - min_width="4"/> - <layout_panel - auto_resize="false" - follows="right" - height="28" - layout="topleft" - min_height="28" - min_width="37" - name="im_well_panel" - top="0" - user_resize="false" - width="37"> - <chiclet_im_well - follows="right" - height="28" - layout="topleft" - left="0" - max_displayed_count="99" - name="im_well" - top="0" - width="35"> - <!-- -Emulate 4 states of button by background images, see details in EXT-3147. The same should be for notification_well button -xml attribute Description -image_unselected "Unlit" - there are no new messages -image_selected "Unlit" + "Selected" - there are no new messages and the Well is open -image_pressed "Lit" - there are new messages -image_pressed_selected "Lit" + "Selected" - there are new messages and the Well is open - --> - <button - auto_resize="true" - follows="right" - halign="center" - height="23" - image_overlay="Unread_IM" - image_overlay_alignment="center" - image_pressed="WellButton_Lit" - image_pressed_selected="WellButton_Lit_Selected" - image_selected="PushButton_Press" - label_color="Black" - left="0" - name="Unread IM messages" - tool_tip="Conversations" - width="34"> - <init_callback - function="Button.SetDockableFloaterToggle" - parameter="im_well_window" /> - </button> - </chiclet_im_well> - </layout_panel> - <layout_panel - auto_resize="false" - follows="right" - height="28" - layout="topleft" - min_height="28" - min_width="37" - name="notification_well_panel" - top="0" - user_resize="false" - width="37"> - <chiclet_notification - follows="right" - height="23" - layout="topleft" - left="0" - max_displayed_count="99" - name="notification_well" - top="5" - width="35"> - <button - auto_resize="true" - bottom_pad="3" - follows="right" - halign="center" - height="23" - image_overlay="Notices_Unread" - image_overlay_alignment="center" - image_pressed="WellButton_Lit" - image_pressed_selected="WellButton_Lit_Selected" - image_selected="PushButton_Press" - label_color="Black" - left="0" - name="Unread" - tool_tip="Notifications" - width="34"> - <init_callback - function="Button.SetDockableFloaterToggle" - parameter="notification_well_window" /> - </button> - </chiclet_notification> - </layout_panel> - <layout_panel - auto_resize="false" - user_resize="false" - min_width="4" - name="DUMMY2" - width="8" /> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/en/panel_group_control_panel.xml b/indra/newview/skins/minimal/xui/en/panel_group_control_panel.xml deleted file mode 100644 index abddc592966..00000000000 --- a/indra/newview/skins/minimal/xui/en/panel_group_control_panel.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - border="false" - follows="all" - height="238" - name="panel_im_control_panel" - width="150"> - <layout_stack - mouse_opaque="false" - border_size="0" - clip="false" - follows="all" - height="238" - layout="topleft" - left="5" - name="vertical_stack" - orientation="vertical" - top="0" - width="145"> - <layout_panel - auto_resize="true" - follows="top|left" - height="100" - layout="topleft" - min_height="0" - mouse_opaque="false" - width="145" - top="0" - name="speakers_list_panel" - user_resize="false"> - <avatar_list - color="DkGray2" - follows="all" - height="100" - ignore_online_status="true" - layout="topleft" - name="speakers_list" - opaque="false" - show_info_btn="true" - show_profile_btn="false" - show_speaking_indicator="false" - width="145" /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="top|left|right" - height="28" - layout="topleft" - min_height="28" - width="130" - name="end_call_btn_panel" - user_resize="false" - visible="false"> - <button - follows="all" - height="23" - label="Leave Call" - name="end_call_btn" - use_ellipses="true" /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="top|left|right" - height="28" - layout="topleft" - min_height="28" - width="130" - name="voice_ctrls_btn_panel" - user_resize="false" - visible="false"> - <button - follows="all" - height="23" - label="Open Voice Controls" - name="voice_ctrls_btn" - use_ellipses="true" /> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/en/panel_im_control_panel.xml b/indra/newview/skins/minimal/xui/en/panel_im_control_panel.xml deleted file mode 100644 index 2cb77bcdf3e..00000000000 --- a/indra/newview/skins/minimal/xui/en/panel_im_control_panel.xml +++ /dev/null @@ -1,194 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - border="false" - height="300" - name="panel_im_control_panel" - width="150"> - <avatar_icon - follows="left|top" - height="105" - left_delta="20" - name="avatar_icon" - top="-5" - width="114"/> - <layout_stack - mouse_opaque="false" - border_size="0" - clip="false" - follows="all" - height="183" - layout="topleft" - left="5" - name="button_stack" - orientation="vertical" - top_pad="5" - width="145"> - <layout_panel - auto_resize="false" - follows="top|left|right" - height="20" - layout="topleft" - left="2" - min_height="20" - width="140" - name="view_profile_btn_panel" - top="0" - user_resize="false"> - <button - follows="left|top|right" - height="23" - label="Profile" - name="view_profile_btn" - top="0" - width="140" /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="top|left|right" - height="25" - layout="topleft" - min_height="25" - width="140" - name="add_friend_btn_panel" - user_resize="false"> - <button - follows="left|top|right" - height="23" - label="Add Friend" - name="add_friend_btn" - top="5" - width="140" /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="top|left|right" - height="25" - layout="topleft" - min_height="25" - width="140" - name="teleport_btn_panel" - user_resize="false"> - <button - auto_resize="false" - follows="left|top|right" - height="23" - label="Teleport" - name="teleport_btn" - tool_tip = "Offer to teleport this person" - width="140" /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="top|left|right" - height="25" - layout="topleft" - min_height="25" - width="140" - name="call_btn_panel" - user_resize="false"> - <button - follows="left|top|right" - height="23" - label="Call" - name="call_btn" - width="140" /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="top|left|right" - height="25" - layout="topleft" - min_height="25" - width="140" - name="end_call_btn_panel" - user_resize="false" - visible="false"> - <button - follows="left|top|right" - height="23" - label="End Call" - name="end_call_btn" - width="140" /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="top|left|right" - height="25" - layout="topleft" - min_height="25" - width="140" - name="block_btn_panel" - user_resize="false"> - <button - follows="left|top|right" - height="23" - label="Block" - name="block_btn" - width="140" /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="top|left|right" - height="25" - layout="topleft" - min_height="25" - width="140" - name="unblock_btn_panel" - user_resize="false" - visible="false"> - <button - follows="left|top|right" - height="23" - label="Unblock" - name="unblock_btn" - width="140" /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="top|left|right" - height="25" - layout="topleft" - min_height="54" - width="140" - name="volume_ctrl_panel" - visible="false" - user_resize="false"> - <slider - follows="top|left" - height="23" - increment="0.01" - left="0" - max_val="0.95" - min_val="0.05" - name="volume_slider" - show_text="false" - tool_tip="Call Volume" - top_pad="32" - value="0.5" - width="125" /> - <button - follows="top|left" - height="16" - image_disabled="Audio_Off" - image_disabled_selected="AudioMute_Off" - image_hover_selected="AudioMute_Over" - image_selected="AudioMute_Off" - image_unselected="Audio_Off" - is_toggle="true" - left_pad="0" - top_delta="4" - name="mute_btn" - width="16" /> - </layout_panel> - <layout_panel - mouse_opaque="false" - auto_resize="true" - follows="top|left" - height="0" - layout="topleft" - min_height="0" - width="140" - name="spacer" - user_resize="false" /> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/en/panel_login.xml b/indra/newview/skins/minimal/xui/en/panel_login.xml deleted file mode 100644 index 40d2df78e13..00000000000 --- a/indra/newview/skins/minimal/xui/en/panel_login.xml +++ /dev/null @@ -1,205 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel -follows="all" -height="600" -layout="topleft" -left="0" -name="panel_login" -focus_root="true" -top="600" - width="996"> -<panel.string - name="create_account_url"> - http://join.secondlife.com/ -</panel.string> -<string name="reg_in_client_url" translate="false"> - http://secondlife.eniac15.lindenlab.com/reg-in-client/ -</string> -<panel.string - name="forgot_password_url"> - http://secondlife.com/account/request.php -</panel.string> -<!-- *NOTE: Custom resize logic for login_html in llpanellogin.cpp --> -<web_browser - tab_stop="false" -trusted_content="true" -bg_opaque_color="Black" -border_visible="false" -bottom="600" -follows="all" -hide_loading="true" -left="0" -name="login_html" -start_url="" -top="0" -height="600" - width="980" /> -<layout_stack -follows="left|bottom|right" -name="login_widgets" -layout="topleft" -orientation="horizontal" -top="519" -width="996" -height="80"> -<layout_panel -auto_resize="false" -follows="left|bottom" -name="login" -layout="topleft" -width="570" -min_width="570" -user_resize="false" -height="80"> -<text -follows="left|bottom" -font="SansSerifSmall" -height="16" -name="username_text" -top="20" -left="20" -width="150"> -Username: -</text> - <combo_box - allow_text_entry="true" - follows="left|bottom" - height="22" - left_delta="0" - max_chars="128" - combo_editor.prevalidate_callback="ascii" - tool_tip="The username you chose when you registered, like bobsmith12 or Steller Sunshine" - top_pad="0" - name="username_combo" - width="178"> - <combo_box.combo_button - visible ="false"/> - <combo_box.drop_down_button - visible ="false"/> - </combo_box> -<text -follows="left|bottom" -font="SansSerifSmall" -height="15" -left_pad="-19" -name="password_text" -top="20" - width="150"> - Password: -</text> -<line_editor -follows="left|bottom" - height="22" -left_delta="0" - max_length_bytes="16" -name="password_edit" -is_password="true" -select_on_focus="true" - top_pad="0" - width="135" /> - <check_box -control_name="RememberPassword" -follows="left|bottom" -font="SansSerifSmall" -height="16" -label="Remember password" - top_pad="3" - name="remember_check" - width="135" /> -<button - follows="left|bottom" - height="23" - image_unselected="PushButton_On" - image_selected="PushButton_On_Selected" - label="Log In" - label_color="White" - layout="topleft" - left_pad="10" - name="connect_btn" - top="35" - width="90" /> - <text - follows="left|bottom" - font="SansSerifSmall" - height="15" - left_pad="10" - name="mode_selection_text" - top="20" - width="130"> - Mode: - </text> - <combo_box - follows="left|bottom" - height="23" - max_chars="128" - tool_tip="Select your mode. Choose Basic for fast, easy exploration and chat. Choose Advanced to access more features." - top_pad="0" - name="mode_combo" - width="110"> - <combo_box.item - label="Basic" - name="Basic" - value="settings_minimal.xml" /> - <combo_box.item - label="Advanced" - name="Advanced" - value="" /> - </combo_box> -</layout_panel> -<layout_panel -tab_stop="false" -follows="right|bottom" -name="links" -width="205" -min_width="205" -user_resize="false" -height="80"> - <text -follows="right|bottom" -font="SansSerifSmall" -text_color="EmphasisColor" -halign="right" -height="16" -top="12" -right="-10" -name="create_new_account_text" - width="200"> - Sign up - </text> -<text -follows="right|bottom" -font="SansSerifSmall" -text_color="EmphasisColor" -halign="right" -height="16" -name="forgot_password_text" -top_pad="12" -right="-10" - width="200"> - Forgot your username or password? -</text> -<text -follows="right|bottom" -font="SansSerifSmall" -text_color="EmphasisColor" -halign="right" -height="16" -name="login_help" -top_pad="2" -right="-10" - width="200"> - Need help logging in? </text> -<!-- <text - follows="right|bottom" - font="SansSerifSmall" - halign="right" - height="28" - top_pad="2" - name="channel_text" - width="180" - word_wrap="true"> - [VERSION] - </text>--> - </layout_panel> -</layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/en/panel_navigation_bar.xml b/indra/newview/skins/minimal/xui/en/panel_navigation_bar.xml deleted file mode 100644 index 73a85642741..00000000000 --- a/indra/newview/skins/minimal/xui/en/panel_navigation_bar.xml +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - background_opaque="true" - background_visible="true" - bg_opaque_color="MouseGray" - follows="left|top|right" - height="26" - layout="topleft" - name="navigation_bar" - chrome="true" - width="600"> - <icon - follows="all" - image_name="NavBar_BG_NoFav_Bevel" - mouse_opaque="false" - name="bg_icon_no_fav_bevel" - scale_image="true" - visible="true" - left="0" - top="0" - height="26" - width="600"/> - <panel - background_visible="false" - follows="left|top|right" - top="3" - height="26" - layout="topleft" - name="navigation_panel" - width="600"> - <pull_button -follows="left|top" -direction="down" -height="23" -image_overlay="Arrow_Left_Off" -image_bottom_pad="1" -layout="topleft" -left="10" -name="back_btn" -tool_tip="Go back to previous location" -top="2" -width="31" /> - <pull_button - follows="left|top" - direction="down" - height="23" - image_overlay="Arrow_Right_Off" - image_bottom_pad="1" - layout="topleft" - left_pad="0" - name="forward_btn" - tool_tip="Go forward one location" - top_delta="0" - width="31" /> - <location_input - follows="left|right|top" - halign="right" - height="23" - label="Location" - layout="topleft" - left_pad="7" - max_chars="254" - mouse_opaque="false" - name="location_combo" - top_delta="0" - width="325"> - </location_input> - <icon follows="right" - height="20" - width="2" - left_pad="2" - image_name="Button_Separator" - name="separator" - top="2"/> - </panel> -</panel> diff --git a/indra/newview/skins/minimal/xui/en/panel_people.xml b/indra/newview/skins/minimal/xui/en/panel_people.xml deleted file mode 100644 index 4739f86e95e..00000000000 --- a/indra/newview/skins/minimal/xui/en/panel_people.xml +++ /dev/null @@ -1,571 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<!-- Side tray panel --> -<panel - default_tab_group="1" - follows="all" - height="449" - label="People" - layout="topleft" - left="0" - min_height="350" - name="people_panel" - top="0" - width="333"> - <string - name="no_recent_people" - value="No recent people. Looking for people to hang out with? Try the Destinations button below." /> - <string - name="no_filtered_recent_people" - value="No recent people with that name." /> - <string - name="no_one_near" - value="No one nearby. Looking for people to hang out with? Try the Destinations button below." /> - <string - name="no_one_filtered_near" - value="No one nearby with that name." /> - <string - name="no_friends_online" - value="No friends online" /> - <string - name="no_friends" - value="No friends" /> - <string - name="no_friends_msg"> - Right-click on a Resident to add them as a friend. -Looking for people to hang out with? Try the Destinations button below. - </string> - <string - name="no_filtered_friends_msg"> - Didn't find what you're looking for? Try the Destinations button below.. - </string> - <string - name="people_filter_label" - value="Filter People" /> - <string - name="groups_filter_label" - value="Filter Groups" /> - <!-- - *WORKAROUND: for group_list.no_items_msg & group_list.no_filtered_items_msg attributes. - They are not defined as translatable in VLT. See EXT-5931 - --> - <string - name="no_filtered_groups_msg" - value="Didn't find what you're looking for? Try [secondlife:///app/search/groups/[SEARCH_TERM] Search]." /> - <string - name="no_groups_msg" - value="Looking for Groups to join? Try [secondlife:///app/search/groups Search]." /> - <string - name="MiniMapToolTipMsg" - value="[REGION](Double-click to open Map, shift-drag to pan)"/> - <string - name="AltMiniMapToolTipMsg" - value="[REGION](Double-click to teleport, shift-drag to pan)"/> - <filter_editor - follows="left|top|right" - height="23" - layout="topleft" - left="10" - label="Filter" - max_length="300" - name="filter_input" - text_color="Black" - text_pad_left="10" - top="3" - width="303" /> - <tab_container - follows="all" - height="383" - layout="topleft" - left="5" - name="tabs" - tab_group="1" - tab_min_width="70" - tab_height="30" - tab_position="top" - top_pad="10" - halign="center" - width="317"> - <panel - background_opaque="true" - background_visible="true" - bg_alpha_color="DkGray" - bg_opaque_color="DkGray" - follows="all" - height="383" - label="NEARBY" - layout="topleft" - left="0" - help_topic="people_nearby_tab" - name="nearby_panel" - top="0" - width="313"> - <net_map - bg_color="NetMapBackgroundColor" - follows="top|left|right" - layout="topleft" - left="3" - mouse_opaque="false" - name="Net Map" - width="307" - height="140" - top="0"/> - <avatar_list - allow_select="true" - follows="top|left|bottom|right" - height="216" - ignore_online_status="true" - layout="topleft" - left="3" - multi_select="true" - name="avatar_list" - top="145" - width="307" /> - <panel - background_visible="true" - follows="left|right|bottom" - height="27" - label="bottom_panel" - layout="topleft" - left="3" - name="bottom_panel" - top_pad="0" - width="313"> - <icon - follows="bottom|left|right" - height="25" - image_name="Toolbar_Right_Off" - layout="topleft" - left_pad="1" - name="dummy_icon" - width="241" - /> - </panel> - </panel> - <panel - background_opaque="true" - background_visible="true" - bg_alpha_color="DkGray" - bg_opaque_color="DkGray" - follows="all" - height="383" - label="MY FRIENDS" - layout="topleft" - left="0" - help_topic="people_friends_tab" - name="friends_panel" - top="0" - width="313"> - <accordion - background_visible="true" - bg_alpha_color="DkGray2" - bg_opaque_color="DkGray2" - follows="all" - height="356" - layout="topleft" - left="3" - name="friends_accordion" - top="0" - width="307"> - <accordion_tab - layout="topleft" - height="172" - min_height="150" - name="tab_online" - title="Online"> - <avatar_list - allow_select="true" - follows="all" - height="172" - layout="topleft" - left="0" - multi_select="true" - name="avatars_online" - show_permissions_granted="true" - top="0" - width="307" /> - </accordion_tab> - <accordion_tab - layout="topleft" - height="173" - name="tab_all" - title="All"> - <avatar_list - allow_select="true" - follows="all" - height="173" - layout="topleft" - left="0" - multi_select="true" - name="avatars_all" - show_permissions_granted="true" - top="0" - width="307" /> - </accordion_tab> - </accordion> - <panel - background_visible="true" - follows="left|right|bottom" - height="27" - label="bottom_panel" - layout="topleft" - left="3" - name="bottom_panel" - top_pad="0" - width="313"> - - <layout_stack - animate="false" - border_size="0" - follows="left|right|bottom" - height="25" - layout="topleft" - orientation="horizontal" - top_pad="1" - left="0" - name="bottom_panel" - width="305"> - <layout_panel - auto_resize="true" - height="25" - layout="topleft" - name="dummy_panel" - user_resize="false" - width="212"> - <icon - follows="bottom|left|right" - height="25" - image_name="Toolbar_Middle_Off" - layout="topleft" - left="0" - top="0" - name="dummy_icon" - width="211" /> - </layout_panel> - <layout_panel - auto_resize="false" - height="25" - layout="topleft" - name="trash_btn_panel" - user_resize="false" - width="31"> - <dnd_button - follows="bottom|left" - height="25" - image_hover_unselected="Toolbar_Right_Over" - image_overlay="TrashItem_Off" - image_selected="Toolbar_Right_Selected" - image_unselected="Toolbar_Right_Off" - left="0" - layout="topleft" - name="del_btn" - tool_tip="Remove selected person from your Friends list" - top="0" - width="31"/> - </layout_panel> - </layout_stack><!-- - - <button - follows="bottom|left" - tool_tip="Options" - height="25" - image_hover_unselected="Toolbar_Left_Over" - image_overlay="OptionsMenu_Off" - image_selected="Toolbar_Left_Selected" - image_unselected="Toolbar_Left_Off" - layout="topleft" - left="0" - name="friends_viewsort_btn" - top="1" - width="31" /> - <button - follows="bottom|left" - height="25" - image_hover_unselected="Toolbar_Middle_Over" - image_overlay="AddItem_Off" - image_selected="Toolbar_Middle_Selected" - image_unselected="Toolbar_Middle_Off" - layout="topleft" - left_pad="1" - name="add_btn" - tool_tip="Offer friendship to a Resident" - width="31" /> - <icon - follows="bottom|left|right" - height="25" - image_name="Toolbar_Middle_Off" - layout="topleft" - left_pad="1" - name="dummy_icon" - width="209" - /> - <button - follows="bottom|left" - height="25" - image_hover_unselected="Toolbar_Right_Over" - image_overlay="TrashItem_Off" - image_selected="Toolbar_Right_Selected" - image_unselected="Toolbar_Right_Off" - layout="topleft" - left_pad="1" - name="del_btn" - tool_tip="Remove selected person from your Friends list" - width="31" /> - --></panel> - <text - follows="all" - height="450" - left="13" - name="no_friends_help_text" - top="10" - width="293" - wrap="true" /> - </panel> - <panel - background_opaque="true" - background_visible="true" - bg_alpha_color="DkGray" - bg_opaque_color="DkGray" - follows="all" - height="383" - label="RECENT" - layout="topleft" - left="0" - help_topic="people_recent_tab" - name="recent_panel" - top="0" - width="313"> - <avatar_list - allow_select="true" - follows="all" - height="356" - layout="topleft" - left="3" - multi_select="true" - name="avatar_list" - show_last_interaction_time="true" - top="0" - width="307" /> - <panel - background_visible="true" - follows="left|right|bottom" - height="27" - label="bottom_panel" - layout="topleft" - left="0" - name="bottom_panel" - top_pad="0" - width="313"> - <button - follows="bottom|left" - height="25" - image_hover_unselected="Toolbar_Middle_Over" - image_overlay="AddItem_Off" - image_selected="Toolbar_Middle_Selected" - image_unselected="Toolbar_Middle_Off" - layout="topleft" - left_pad="1" - name="add_friend_btn" - tool_tip="Add selected Resident to your friends List" - width="31"> - <commit_callback - function="People.addFriend" /> - </button> - <icon - follows="bottom|left|right" - height="25" - image_name="Toolbar_Right_Off" - layout="topleft" - left_pad="1" - name="dummy_icon" - width="241" - /> - </panel> - </panel> - </tab_container> - <panel - follows="bottom|left|right" - height="23" - layout="topleft" - left="8" - top_pad="4" - name="button_bar" - width="313"> - -<!--********************************Profile; IM; Call, Share, Teleport********************************--> - <layout_stack - follows="bottom|left|right" - height="23" - layout="topleft" - name="bottom_bar_ls" - left="0" - orientation="horizontal" - top_pad="0" - width="313"> - - <layout_panel - follows="bottom|left|right" - height="23" - layout="bottomleft" - left="0" - name="view_profile_btn_lp" - user_resize="false" - auto_resize="true" - width="68"> - <button - follows="bottom|left|right" - height="23" - label="Profile" - layout="topleft" - left="1" - name="view_profile_btn" - tool_tip="Show picture, groups, and other Residents information" - top="0" - width="67" /> - </layout_panel> - - <layout_panel - follows="bottom|left|right" - height="23" - layout="bottomleft" - left_pad="3" - name="im_btn_lp" - user_resize="false" - auto_resize="true" - width="41"> - <button - follows="bottom|left|right" - left="1" - height="23" - label="IM" - layout="topleft" - name="im_btn" - tool_tip="Open instant message session" - top="0" - width="40" /> - </layout_panel> - - <layout_panel - follows="bottom|left|right" - height="23" - layout="bottomleft" - left_pad="3" - name="call_btn_lp" - user_resize="false" - auto_resize="true" - width="52"> - <button - follows="bottom|left|right" - left="1" - height="23" - label="Call" - layout="topleft" - name="call_btn" - tool_tip="Call this Resident" - top="0" - width="51" /> - </layout_panel> - - <layout_panel - follows="bottom|left|right" - height="23" - layout="bottomleft" - left_pad="3" - name="teleport_btn_lp" - user_resize="false" - auto_resize="true" - width="77"> - <button - follows="bottom|left|right" - left="1" - height="23" - label="Teleport" - layout="topleft" - name="teleport_btn" - tool_tip="Offer teleport" - top="0" - width="76" /> - </layout_panel> - </layout_stack> - -<!--********************************Group Profile; Group Chat; Group Call buttons************************--> - <layout_stack - follows="bottom|left|right" - height="23" - layout="topleft" - mouse_opaque="false" - name="bottom_bar_ls1" - left="0" - orientation="horizontal" - top="0" - width="313"> - <layout_panel - follows="bottom|left|right" - height="23" - layout="bottomleft" - left="0" - mouse_opaque="false" - name="group_info_btn_lp" - user_resize="false" - auto_resize="true" - width="108"> - <button - follows="bottom|left|right" - left="1" - height="23" - label="Group Profile" - layout="topleft" - mouse_opaque="false" - name="group_info_btn" - tool_tip="Show group information" - top="0" - width="107" /> - </layout_panel> - - <layout_panel - follows="bottom|left|right" - height="23" - layout="bottomleft" - left_pad="3" - mouse_opaque="false" - name="chat_btn_lp" - user_resize="false" - auto_resize="true" - width="101"> - <button - follows="bottom|left|right" - left="1" - height="23" - label="Group Chat" - layout="topleft" - mouse_opaque="false" - name="chat_btn" - tool_tip="Open chat session" - top="0" - width="100" /> - </layout_panel> - - <layout_panel - follows="bottom|left|right" - height="23" - layout="bottomleft" - left_pad="3" - mouse_opaque="false" - name="group_call_btn_lp" - user_resize="false" - auto_resize="true" - width="96"> - <button - follows="bottom|left|right" - left="1" - height="23" - label="Group Call" - layout="topleft" - mouse_opaque="false" - name="group_call_btn" - tool_tip="Call this group" - top="0" - width="95" /> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/minimal/xui/en/panel_side_tray_tab_caption.xml b/indra/newview/skins/minimal/xui/en/panel_side_tray_tab_caption.xml deleted file mode 100644 index 9f2f41ba318..00000000000 --- a/indra/newview/skins/minimal/xui/en/panel_side_tray_tab_caption.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - background_visible="true" - bottom="0" - follows="left|top|right" - height="5" - width="333" - layout="topleft" - left="0" - name="sidetray_tab_panel"> -</panel> diff --git a/indra/newview/skins/minimal/xui/en/panel_status_bar.xml b/indra/newview/skins/minimal/xui/en/panel_status_bar.xml deleted file mode 100644 index fdd6b5d6ec5..00000000000 --- a/indra/newview/skins/minimal/xui/en/panel_status_bar.xml +++ /dev/null @@ -1,83 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - background_opaque="true" - background_visible="true" - bg_opaque_color="MouseGray" - chrome="true" - follows="top|right" - height="30" - layout="topleft" - left="0" - mouse_opaque="false" - name="status" - top="19" - tab_stop="false" - width="185"> - <panel.string - name="packet_loss_tooltip"> - Packet Loss - </panel.string> - <panel.string - name="bandwidth_tooltip"> - Bandwidth - </panel.string> - <panel.string - name="time"> - [hour12, datetime, slt]:[min, datetime, slt] [ampm, datetime, slt] [timezone,datetime, slt] - </panel.string> - <panel.string - name="timeTooltip"> - [weekday, datetime, slt], [day, datetime, slt] [month, datetime, slt] [year, datetime, slt] - </panel.string> - <panel.string - name="buycurrencylabel"> - L$ [AMT] - </panel.string> - <combo_box - follows="right|top" - left_pad="5" - drop_down_button.pad_left="10" - left="0" - top="5" - pad_left="5" - width="120" - height="23" - name="mode_combo" - tool_tip="Select your mode. Choose Basic for fast, easy exploration and chat. Choose Advanced to access more features." - > - <combo_box.item - label="Basic Mode" - name="Basic" - value="settings_minimal.xml" /> - <combo_box.item - label="Advanced Mode" - name="Advanced" - value="" /> - </combo_box> - <button - follows="right|top" - height="16" - image_selected="Play_Off" - image_unselected="Pause_Off" - image_pressed="Pause_Press" - image_pressed_selected="Play_Press" - is_toggle="true" - left_pad="5" - top="7" - name="media_toggle_btn" - tool_tip="Start/Stop All Media (Music, Video, Web pages)" - width="16" > - </button> - <button - follows="right|top" - height="16" - image_selected="AudioMute_Off" - image_pressed="Audio_Press" - image_unselected="Audio_Off" - is_toggle="true" - left_pad="5" - top="8" - name="volume_btn" - tool_tip="Global Volume Control" - width="16" /> -</panel> diff --git a/indra/newview/skins/minimal/xui/en/panel_volume_pulldown.xml b/indra/newview/skins/minimal/xui/en/panel_volume_pulldown.xml deleted file mode 100644 index 36ad39abe8a..00000000000 --- a/indra/newview/skins/minimal/xui/en/panel_volume_pulldown.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - background_opaque="true" - background_visible="true" - bg_opaque_image="Volume_Background" - bg_alpha_image="Volume_Background" - border_visible="false" - border="false" - chrome="true" - follows="bottom" - height="150" - layout="topleft" - name="volumepulldown_floater" - width="32"> - <slider - control_name="AudioLevelMaster" - follows="left|top" - left="0" - top="1" - orientation="vertical" - height="140" - increment="0.05" - initial_value="0.5" - layout="topleft" - name="mastervolume" - show_text="false" - slider_label.halign="right" - top_pad="2" - volume="true"> - <slider.commit_callback - function="Vol.setControlFalse" - parameter="MuteAudio" /> - </slider> -</panel> diff --git a/indra/newview/skins/minimal/xui/en/widgets/location_input.xml b/indra/newview/skins/minimal/xui/en/widgets/location_input.xml deleted file mode 100644 index ba148cf4211..00000000000 --- a/indra/newview/skins/minimal/xui/en/widgets/location_input.xml +++ /dev/null @@ -1,139 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<!-- -*TODO: Replace hardcoded buttons width/height with getting this info from the button images. - Currently that doesn't work because LLUIImage::getWidth/getHeight() return 1 for the images. ---> -<location_input font="SansSerifSmall" - maturity_help_topic="maturity_rating" - add_landmark_hpad="0" - icon_hpad="2" - allow_text_entry="true" - list_position="below" - show_text_as_tentative="false" - max_chars="20" - follows="left|top" - allow_new_values="true" - > - <!-- *NOTE: Tooltips are in strings.xml so they can be localized. - See LocationCtrlAddLandmarkTooltip etc. --> - <info_button - name="Place Information" - width="0" - height="0" - visible="false" - left="6" - top="20" - follows="left|top" - hover_glow_amount="0.15" /> - <add_landmark_button name="Add Landmark" - hover_glow_amount="0.15" - width="0" - height="0" - visible="false" - follows="right|top" - scale_image="false" - top="19" - left="-3" /> - <maturity_button - name="maturity_icon" - width="0" - height="0" - visible="false" - top="20" - follows="left|top" - /> - <for_sale_button - name="for_sale_btn" - width="0" - height="0" - visible="false" - follows="right|top" - scale_image="false" - top="21" - /> - <voice_icon - enabled="true" - name="voice_icon" - width="0" - height="0" - visible="false" - top="21" - follows="right|top" - /> - <fly_icon - name="fly_icon" - width="0" - height="0" - visible="false" - top="21" - follows="right|top" - /> - <push_icon - name="push_icon" - width="0" - height="0" - visible="false" - top="21" - follows="right|top" - /> - <build_icon - name="build_icon" - width="0" - height="0" - visible="false" - top="21" - follows="right|top" - /> - <scripts_icon - name="scripts_icon" - width="0" - height="0" - visible="false" - top="21" - follows="right|top" - /> - <damage_icon - name="damage_icon" - width="0" - height="0" - visible="false" - top="19" - left="2" - follows="right|top" - /> - <!-- Default text color is invisible on top of nav bar background --> - <damage_text - name="damage_text" - width="0" - height="0" - max_length="0" - top="17" - follows="right|top" - halign="right" - font="SansSerifSmall" - text_color="TextFgColor" - /> - <see_avatars_icon - name="see_avatars_icon" - width="0" - height="0" - visible="false" - top="21" - follows="right|top" - /> - <combo_button - name="Location History" - label="" - pad_right="0"/> - <combo_list - bg_writeable_color="MenuDefaultBgColor" - page_lines="10" - scroll_bar_bg_visible="true" /> - <combo_editor name="Combo Text Entry" - text_pad_left="4" - select_on_focus="false" - font="SansSerifSmall" - bevel_style="none" - border_style="line" - border.border_thickness="0" /> -</location_input> diff --git a/indra/newview/skins/minimal/xui/es/floater_camera.xml b/indra/newview/skins/minimal/xui/es/floater_camera.xml deleted file mode 100644 index 87177e285c9..00000000000 --- a/indra/newview/skins/minimal/xui/es/floater_camera.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="camera_floater" title=""> - <floater.string name="rotate_tooltip"> - Girar la cámara alrededor de lo enfocado - </floater.string> - <floater.string name="zoom_tooltip"> - Hacer zoom con la cámara en lo enfocado - </floater.string> - <floater.string name="move_tooltip"> - Mover la cámara arriba y abajo, izquierda y derecha - </floater.string> - <floater.string name="camera_modes_title"> - Modos de cámara - </floater.string> - <floater.string name="pan_mode_title"> - Orbital - Zoom - Panorámica - </floater.string> - <floater.string name="presets_mode_title"> - Vistas predefinidas - </floater.string> - <floater.string name="free_mode_title"> - Centrar el objeto - </floater.string> - <panel name="controls"> - <panel name="preset_views_list"> - <panel_camera_item name="front_view"> - <panel_camera_item.text name="front_view_text"> - De frente - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="group_view"> - <panel_camera_item.text name="side_view_text"> - Vista lateral - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="rear_view"> - <panel_camera_item.text name="rear_view_text"> - Desde detrás - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="camera_modes_list"> - <panel_camera_item name="object_view"> - <panel_camera_item.text name="object_view_text"> - Vista de objeto - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="mouselook_view"> - <panel_camera_item.text name="mouselook_view_text"> - Vista subjetiva - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="zoom" tool_tip="Hacer zoom con la cámara en lo enfocado"> - <joystick_rotate name="cam_rotate_stick" tool_tip="La cámara gira alrededor del punto de vista"/> - <slider_bar name="zoom_slider" tool_tip="Hacer zoom en lo enfocado"/> - <joystick_track name="cam_track_stick" tool_tip="Mueve la cámara arriba y abajo, a izquierda y derecha"/> - </panel> - </panel> - <panel name="buttons"> - <button label="" name="presets_btn" tool_tip="Vistas predefinidas"/> - <button label="" name="pan_btn" tool_tip="Orbital - Zoom - Panorámica"/> - <button label="" name="avatarview_btn" tool_tip="Modos de cámara"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/es/floater_help_browser.xml b/indra/newview/skins/minimal/xui/es/floater_help_browser.xml deleted file mode 100644 index 67590ebfbb6..00000000000 --- a/indra/newview/skins/minimal/xui/es/floater_help_browser.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_help_browser" title="INDICACIONES"> - <floater.string name="loading_text"> - Cargando... - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="external_controls"/> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/es/floater_media_browser.xml b/indra/newview/skins/minimal/xui/es/floater_media_browser.xml deleted file mode 100644 index a7086c2d6d2..00000000000 --- a/indra/newview/skins/minimal/xui/es/floater_media_browser.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="EXPLORADOR DE MEDIA"> - <floater.string name="home_page_url"> - http://www.secondlife.com - </floater.string> - <floater.string name="support_page_url"> - http://support.secondlife.com - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button label="Atrás" name="back"/> - <button label="Adelante" name="forward"/> - <button label="Recargar" name="reload"/> - <button label="Ir" name="go"/> - </layout_panel> - <layout_panel name="time_controls"> - <button label="rebobinar" name="rewind"/> - <button label="parar" name="stop"/> - <button label="avanzar" name="seek"/> - </layout_panel> - <layout_panel name="parcel_owner_controls"> - <button label="Enviar a la parcela la página actual" name="assign"/> - </layout_panel> - <layout_panel name="external_controls"> - <button label="Abrir en mi propio navegador" name="open_browser"/> - <check_box label="Abrir siempre en mi propio navegador" name="open_always"/> - <button label="Cerrar" name="close"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/es/floater_nearby_chat.xml b/indra/newview/skins/minimal/xui/es/floater_nearby_chat.xml deleted file mode 100644 index 1fee9ab0566..00000000000 --- a/indra/newview/skins/minimal/xui/es/floater_nearby_chat.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="CHAT"> - <check_box label="Traducir chat (mediante Google)" name="translate_chat_checkbox"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/es/floater_web_content.xml b/indra/newview/skins/minimal/xui/es/floater_web_content.xml deleted file mode 100644 index b0128096794..00000000000 --- a/indra/newview/skins/minimal/xui/es/floater_web_content.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_web_content" title=""> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button name="back" tool_tip="Navegar hacia atrás"/> - <button name="forward" tool_tip="Navegar hacia adelante"/> - <button name="stop" tool_tip="Parar navegación"/> - <button name="reload" tool_tip="Recargar página"/> - <combo_box name="address" tool_tip="Escribe la URL aquÃ"/> - <icon name="media_secure_lock_flag" tool_tip="Navegación segura"/> - <button name="popexternal" tool_tip="Abrir la URL actual en tu explorador de escritorio"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/es/inspect_avatar.xml b/indra/newview/skins/minimal/xui/es/inspect_avatar.xml deleted file mode 100644 index 1d70fa6a90c..00000000000 --- a/indra/newview/skins/minimal/xui/es/inspect_avatar.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_avatar"> - <string name="Subtitle"> - [AGE] - </string> - <string name="Details"> - [SL_PROFILE] - </string> - <text name="user_details"> - Ésta es mi descripción de Second Life que, por cierto, me encanta. Pero, por lo que sea, me he enrollado más de la cuenta y la descripción es larguÃsima. - </text> - <slider name="volume_slider" tool_tip="Volumen de la voz" value="0.5"/> - <button label="Añadir como amigo" name="add_friend_btn"/> - <button label="MI" name="im_btn"/> - <button label="Perfil" name="view_profile_btn"/> - <panel name="moderator_panel"> - <button label="Desactivar la voz" name="disable_voice"/> - <button label="Activar la voz" name="enable_voice"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/es/inspect_object.xml b/indra/newview/skins/minimal/xui/es/inspect_object.xml deleted file mode 100644 index d608b4a0f74..00000000000 --- a/indra/newview/skins/minimal/xui/es/inspect_object.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_object"> - <string name="Creator"> - Por [CREATOR] - </string> - <string name="CreatorAndOwner"> - Por [CREATOR] -Propietario [OWNER] - </string> - <string name="Price"> - [AMOUNT] L$ - </string> - <string name="PriceFree"> - ¡Gratis! - </string> - <string name="Touch"> - Tocar - </string> - <string name="Sit"> - Sentarme - </string> - <text name="object_name" value="Test Object Name That Is actually two lines and Really Long"/> - <text name="price_text"> - 30.000 L$ - </text> - <text name="object_description"> - This is a really long description for an object being as how it is at least 80 characters in length and so but maybe more like 120 at this point. Who knows, really? - </text> - <button label="Comprar" name="buy_btn"/> - <button label="Pagar" name="pay_btn"/> - <button label="Coger una copia" name="take_free_copy_btn"/> - <button label="Tocar" name="touch_btn"/> - <button label="Sentarme" name="sit_btn"/> - <button label="Abrir" name="open_btn"/> - <icon name="secure_browsing" tool_tip="Navegación segura"/> - <button label="Más" name="more_info_btn"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/es/menu_add_wearable_gear.xml b/indra/newview/skins/minimal/xui/es/menu_add_wearable_gear.xml deleted file mode 100644 index f2367c72a3c..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_add_wearable_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Add Wearable Gear Menu"> - <menu_item_check label="Ordenar por los más recientes" name="sort_by_most_recent"/> - <menu_item_check label="Ordenar alfabéticamente" name="sort_by_name"/> - <menu_item_check label="Ordenar por tipo" name="sort_by_type"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_attachment_other.xml b/indra/newview/skins/minimal/xui/es/menu_attachment_other.xml deleted file mode 100644 index b8ae93afd23..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_attachment_other.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_avatar_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Ver el perfil" name="Profile..."/> - <menu_item_call label="Añadir como amigo" name="Add Friend"/> - <menu_item_call label="MI" name="Send IM..."/> - <menu_item_call label="Llamar" name="Call"/> - <menu_item_call label="Invitar al grupo" name="Invite..."/> - <menu_item_call label="Ignorar" name="Avatar Mute"/> - <menu_item_call label="Denunciar" name="abuse"/> - <menu_item_call label="Congelar" name="Freeze..."/> - <menu_item_call label="Expulsar" name="Eject..."/> - <menu_item_call label="Depurar las texturas" name="Debug..."/> - <menu_item_call label="Acercar el zoom" name="Zoom In"/> - <menu_item_call label="Pagar" name="Pay..."/> - <menu_item_call label="Perfil del objeto" name="Object Inspect"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_attachment_self.xml b/indra/newview/skins/minimal/xui/es/menu_attachment_self.xml deleted file mode 100644 index ab76c92d656..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_attachment_self.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Attachment Pie"> - <menu_item_call label="Tocar" name="Attachment Object Touch"/> - <menu_item_call label="Editar" name="Edit..."/> - <menu_item_call label="Quitar" name="Detach"/> - <menu_item_call label="Sentarte" name="Sit Down Here"/> - <menu_item_call label="Levantarme" name="Stand Up"/> - <menu_item_call label="Cambiar vestuario" name="Change Outfit"/> - <menu_item_call label="Editar mi vestuario" name="Edit Outfit"/> - <menu_item_call label="Editar mi anatomÃa" name="Edit My Shape"/> - <menu_item_call label="Mis amigos" name="Friends..."/> - <menu_item_call label="Mis grupos" name="Groups..."/> - <menu_item_call label="Mi perfil" name="Profile..."/> - <menu_item_call label="Depurar las texturas" name="Debug..."/> - <menu_item_call label="Soltar" name="Drop"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_avatar_icon.xml b/indra/newview/skins/minimal/xui/es/menu_avatar_icon.xml deleted file mode 100644 index fe7331a1083..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_avatar_icon.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Avatar Icon Menu"> - <menu_item_call label="Ver el perfil" name="Show Profile"/> - <menu_item_call label="Enviar un MI..." name="Send IM"/> - <menu_item_call label="Añadir como amigo..." name="Add Friend"/> - <menu_item_call label="Quitar de los amigos..." name="Remove Friend"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_avatar_other.xml b/indra/newview/skins/minimal/xui/es/menu_avatar_other.xml deleted file mode 100644 index 5fb3e51575e..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_avatar_other.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_attachment_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Ver el perfil" name="Profile..."/> - <menu_item_call label="Añadir como amigo" name="Add Friend"/> - <menu_item_call label="MI" name="Send IM..."/> - <menu_item_call label="Llamar" name="Call"/> - <menu_item_call label="Invitar al grupo" name="Invite..."/> - <menu_item_call label="Ignorar" name="Avatar Mute"/> - <menu_item_call label="Denunciar" name="abuse"/> - <menu_item_call label="Congelar" name="Freeze..."/> - <menu_item_call label="Expulsar" name="Eject..."/> - <menu_item_call label="Depurar las texturas" name="Debug..."/> - <menu_item_call label="Acercar el zoom" name="Zoom In"/> - <menu_item_call label="Pagar" name="Pay..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_avatar_self.xml b/indra/newview/skins/minimal/xui/es/menu_avatar_self.xml deleted file mode 100644 index 50f8384b0f2..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_avatar_self.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Self Pie"> - <menu_item_call label="Sentarte" name="Sit Down Here"/> - <menu_item_call label="Levantarme" name="Stand Up"/> - <context_menu label="Quitarme" name="Take Off >"> - <context_menu label="Ropas" name="Clothes >"> - <menu_item_call label="Camisa" name="Shirt"/> - <menu_item_call label="Pantalón" name="Pants"/> - <menu_item_call label="Falda" name="Skirt"/> - <menu_item_call label="Zapatos" name="Shoes"/> - <menu_item_call label="Calcetines" name="Socks"/> - <menu_item_call label="Chaqueta" name="Jacket"/> - <menu_item_call label="Guantes" name="Gloves"/> - <menu_item_call label="Camiseta" name="Self Undershirt"/> - <menu_item_call label="Ropa interior" name="Self Underpants"/> - <menu_item_call label="Tatuaje" name="Self Tattoo"/> - <menu_item_call label="Alfa" name="Self Alpha"/> - <menu_item_call label="Toda la ropa" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="Quitar" name="Object Detach"/> - <menu_item_call label="Quitarse todo" name="Detach All"/> - </context_menu> - <menu_item_call label="Cambiar vestuario" name="Chenge Outfit"/> - <menu_item_call label="Editar mi vestuario" name="Edit Outfit"/> - <menu_item_call label="Editar mi anatomÃa" name="Edit My Shape"/> - <menu_item_call label="Mis amigos" name="Friends..."/> - <menu_item_call label="Mis grupos" name="Groups..."/> - <menu_item_call label="Mi perfil" name="Profile..."/> - <menu_item_call label="Depurar las texturas" name="Debug..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_bottomtray.xml b/indra/newview/skins/minimal/xui/es/menu_bottomtray.xml deleted file mode 100644 index 62683f3076b..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_bottomtray.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_camera_move_controls_menu"> - <menu_item_check label="Botón Gestos" name="ShowGestureButton"/> - <menu_item_check label="Botón Moverse" name="ShowMoveButton"/> - <menu_item_check label="Botón Vista" name="ShowCameraButton"/> - <menu_item_check label="Botón Foto" name="ShowSnapshotButton"/> - <menu_item_check label="Botón Barra lateral" name="ShowSidebarButton"/> - <menu_item_check label="Botón Construir" name="ShowBuildButton"/> - <menu_item_check label="Botón Buscar" name="ShowSearchButton"/> - <menu_item_check label="Botón Mapa" name="ShowWorldMapButton"/> - <menu_item_check label="Botón Minimapa" name="ShowMiniMapButton"/> - <menu_item_call label="Cortar" name="NearbyChatBar_Cut"/> - <menu_item_call label="Copiar" name="NearbyChatBar_Copy"/> - <menu_item_call label="Pegar" name="NearbyChatBar_Paste"/> - <menu_item_call label="Borrar" name="NearbyChatBar_Delete"/> - <menu_item_call label="Seleccionar todo" name="NearbyChatBar_Select_All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_cof_attachment.xml b/indra/newview/skins/minimal/xui/es/menu_cof_attachment.xml deleted file mode 100644 index 7541530601d..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_cof_attachment.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Attachment"> - <menu_item_call label="Quitar" name="detach"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_cof_body_part.xml b/indra/newview/skins/minimal/xui/es/menu_cof_body_part.xml deleted file mode 100644 index 56b95bdc3b6..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_cof_body_part.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Body"> - <menu_item_call label="Reemplazar" name="replace"/> - <menu_item_call label="Editar" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_cof_clothing.xml b/indra/newview/skins/minimal/xui/es/menu_cof_clothing.xml deleted file mode 100644 index 3c0c5882843..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_cof_clothing.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Clothing"> - <menu_item_call label="Quitarme" name="take_off"/> - <menu_item_call label="Editar" name="edit"/> - <menu_item_call label="Reemplazar" name="replace"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_cof_gear.xml b/indra/newview/skins/minimal/xui/es/menu_cof_gear.xml deleted file mode 100644 index ff8ad0977ac..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_cof_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear COF"> - <menu label="Ropas nuevas" name="COF.Gear.New_Clothes"/> - <menu label="Nuevas partes del cuerpo" name="COF.Geear.New_Body_Parts"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_edit.xml b/indra/newview/skins/minimal/xui/es/menu_edit.xml deleted file mode 100644 index 96fc9d88813..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_edit.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu label="Editar" name="Edit"> - <menu_item_call label="Deshacer" name="Undo"/> - <menu_item_call label="Rehacer" name="Redo"/> - <menu_item_call label="Cortar" name="Cut"/> - <menu_item_call label="Copiar" name="Copy"/> - <menu_item_call label="Pegar" name="Paste"/> - <menu_item_call label="Borrar" name="Delete"/> - <menu_item_call label="Duplicar" name="Duplicate"/> - <menu_item_call label="Seleccionar todo" name="Select All"/> - <menu_item_call label="Deseleccionar" name="Deselect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_favorites.xml b/indra/newview/skins/minimal/xui/es/menu_favorites.xml deleted file mode 100644 index 85210d5c49f..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_favorites.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Teleportar" name="Teleport To Landmark"/> - <menu_item_call label="Ver/Editar el hito" name="Landmark Open"/> - <menu_item_call label="Copiar la SLurl" name="Copy slurl"/> - <menu_item_call label="Mostrar en el mapa" name="Show On Map"/> - <menu_item_call label="Copiar" name="Landmark Copy"/> - <menu_item_call label="Pegar" name="Landmark Paste"/> - <menu_item_call label="Borrar" name="Delete"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_gesture_gear.xml b/indra/newview/skins/minimal/xui/es/menu_gesture_gear.xml deleted file mode 100644 index 24706eb2c8c..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_gesture_gear.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_gesture_gear"> - <menu_item_call label="Añadir a / Quitar de los favoritos" name="activate"/> - <menu_item_call label="Copiar" name="copy_gesture"/> - <menu_item_call label="Pegar" name="paste"/> - <menu_item_call label="Copiar la UUID" name="copy_uuid"/> - <menu_item_call label="Añadir al vestuario actual" name="save_to_outfit"/> - <menu_item_call label="Editar" name="edit_gesture"/> - <menu_item_call label="Inspeccionar" name="inspect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_group_plus.xml b/indra/newview/skins/minimal/xui/es/menu_group_plus.xml deleted file mode 100644 index 6b26ba42c42..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_group_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Entrar al grupo..." name="item_join"/> - <menu_item_call label="Grupo nuevo..." name="item_new"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_hide_navbar.xml b/indra/newview/skins/minimal/xui/es/menu_hide_navbar.xml deleted file mode 100644 index 22a1873234a..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_hide_navbar.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_navbar_menu"> - <menu_item_check label="Mostrar la barra de navegación" name="ShowNavbarNavigationPanel"/> - <menu_item_check label="Mostrar la barra de favoritos" name="ShowNavbarFavoritesPanel"/> - <menu_item_check label="Mostrar mini-barra de ubicación" name="ShowMiniLocationPanel"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_im_well_button.xml b/indra/newview/skins/minimal/xui/es/menu_im_well_button.xml deleted file mode 100644 index c8f6c217cc3..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_im_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="IM Well Button Context Menu"> - <menu_item_call label="Cerrar todo" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_imchiclet_adhoc.xml b/indra/newview/skins/minimal/xui/es/menu_imchiclet_adhoc.xml deleted file mode 100644 index e11e9bdc583..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_imchiclet_adhoc.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet AdHoc Menu"> - <menu_item_call label="Acabar la sesión" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_imchiclet_group.xml b/indra/newview/skins/minimal/xui/es/menu_imchiclet_group.xml deleted file mode 100644 index a5e60ea40b7..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_imchiclet_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet Group Menu"> - <menu_item_call label="Información del grupo" name="Show Profile"/> - <menu_item_call label="Mostrar la sesión" name="Chat"/> - <menu_item_call label="Acabar la sesión" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_imchiclet_p2p.xml b/indra/newview/skins/minimal/xui/es/menu_imchiclet_p2p.xml deleted file mode 100644 index 492801026c9..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_imchiclet_p2p.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet P2P Menu"> - <menu_item_call label="Ver el perfil" name="Show Profile"/> - <menu_item_call label="Añadir como amigo" name="Add Friend"/> - <menu_item_call label="Mostrar la sesión" name="Send IM"/> - <menu_item_call label="Acabar la sesión" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_inspect_avatar_gear.xml b/indra/newview/skins/minimal/xui/es/menu_inspect_avatar_gear.xml deleted file mode 100644 index 728637de78e..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Ver el perfil" name="view_profile"/> - <menu_item_call label="Añadir como amigo" name="add_friend"/> - <menu_item_call label="MI" name="im"/> - <menu_item_call label="Llamar" name="call"/> - <menu_item_call label="Teleportar" name="teleport"/> - <menu_item_call label="Ignorar" name="block"/> - <menu_item_call label="Designorar" name="unblock"/> - <menu_item_call label="Denunciar" name="report"/> - <menu_item_call label="Congelar" name="freeze"/> - <menu_item_call label="Expulsar" name="eject"/> - <menu_item_call label="Expulsar" name="kick"/> - <menu_item_call label="CSR" name="csr"/> - <menu_item_call label="Depurar las texturas" name="debug"/> - <menu_item_call label="Encontrar en el mapa" name="find_on_map"/> - <menu_item_call label="Acercar el zoom" name="zoom_in"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_inspect_object_gear.xml b/indra/newview/skins/minimal/xui/es/menu_inspect_object_gear.xml deleted file mode 100644 index bcdc25894f4..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_inspect_object_gear.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<menu name="Gear Menu"> - <menu_item_call label="Tocar" name="touch"/> - <menu_item_call label="Sentarse" name="sit"/> - <menu_item_call label="Pagar" name="pay"/> - <menu_item_call label="Comprar" name="buy"/> - <menu_item_call label="Tomar" name="take"/> - <menu_item_call label="Coger una copia" name="take_copy"/> - <menu_item_call label="Abrir" name="open"/> - <menu_item_call label="Editar" name="edit"/> - <menu_item_call label="Ponerse" name="wear"/> - <menu_item_call label="Añadir" name="add"/> - <menu_item_call label="Denunciar" name="report"/> - <menu_item_call label="Ignorar" name="block"/> - <menu_item_call label="Acercar el zoom" name="zoom_in"/> - <menu_item_call label="Quitar" name="remove"/> - <menu_item_call label="Más información" name="more_info"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_inspect_self_gear.xml b/indra/newview/skins/minimal/xui/es/menu_inspect_self_gear.xml deleted file mode 100644 index 1a49efb9d02..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_inspect_self_gear.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Self Pie"> - <menu_item_call label="Sentarme" name="Sit Down Here"/> - <menu_item_call label="Levantarme" name="Stand Up"/> - <menu_item_call label="Mis amigos" name="Friends..."/> - <menu_item_call label="Mi perfil" name="Profile..."/> - <menu_item_call label="Depurar texturas" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_inv_offer_chiclet.xml b/indra/newview/skins/minimal/xui/es/menu_inv_offer_chiclet.xml deleted file mode 100644 index 20d99afde11..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_inv_offer_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="InvOfferChiclet Menu"> - <menu_item_call label="Cerrar" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_inventory.xml b/indra/newview/skins/minimal/xui/es/menu_inventory.xml deleted file mode 100644 index 94ee162bbce..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_inventory.xml +++ /dev/null @@ -1,86 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Compartir" name="Share"/> - <menu_item_call label="Comprar" name="Task Buy"/> - <menu_item_call label="Abrir" name="Task Open"/> - <menu_item_call label="Ejecutar" name="Task Play"/> - <menu_item_call label="Propiedades" name="Task Properties"/> - <menu_item_call label="Renombrar" name="Task Rename"/> - <menu_item_call label="Borrar" name="Task Remove"/> - <menu_item_call label="Vaciar la papelera" name="Empty Trash"/> - <menu_item_call label="Vaciar Objetos Perdidos" name="Empty Lost And Found"/> - <menu_item_call label="Carpeta nueva" name="New Folder"/> - <menu_item_call label="Script nuevo" name="New Script"/> - <menu_item_call label="Nota nueva" name="New Note"/> - <menu_item_call label="Gesto nuevo" name="New Gesture"/> - <menu label="Ropas nuevas" name="New Clothes"> - <menu_item_call label="Camisa nueva" name="New Shirt"/> - <menu_item_call label="Pantalones nuevos" name="New Pants"/> - <menu_item_call label="Zapatos nuevos" name="New Shoes"/> - <menu_item_call label="Calcetines nuevos" name="New Socks"/> - <menu_item_call label="Chaqueta nueva" name="New Jacket"/> - <menu_item_call label="Falda nueva" name="New Skirt"/> - <menu_item_call label="Guantes nuevos" name="New Gloves"/> - <menu_item_call label="Camiseta nueva" name="New Undershirt"/> - <menu_item_call label="Ropa interior nueva" name="New Underpants"/> - <menu_item_call label="Nueva capa Alpha" name="New Alpha Mask"/> - <menu_item_call label="Tatuaje nuevo" name="New Tattoo"/> - </menu> - <menu label="Nuevas partes del cuerpo" name="New Body Parts"> - <menu_item_call label="Forma nueva" name="New Shape"/> - <menu_item_call label="Piel nueva" name="New Skin"/> - <menu_item_call label="Pelo nuevo" name="New Hair"/> - <menu_item_call label="Ojos nuevos" name="New Eyes"/> - </menu> - <menu label="Change Type" name="Change Type"> - <menu_item_call label="Por defecto" name="Default"/> - <menu_item_call label="Guantes" name="Gloves"/> - <menu_item_call label="Chaqueta" name="Jacket"/> - <menu_item_call label="Pantalón" name="Pants"/> - <menu_item_call label="Forma" name="Shape"/> - <menu_item_call label="Zapatos" name="Shoes"/> - <menu_item_call label="Camisa" name="Shirt"/> - <menu_item_call label="Falda" name="Skirt"/> - <menu_item_call label="Ropa interior" name="Underpants"/> - <menu_item_call label="Camiseta" name="Undershirt"/> - </menu> - <menu_item_call label="Teleportar" name="Landmark Open"/> - <menu_item_call label="Abrir" name="Animation Open"/> - <menu_item_call label="Abrir" name="Sound Open"/> - <menu_item_call label="Reemplazar el vestuario" name="Replace Outfit"/> - <menu_item_call label="Añadir al vestuario" name="Add To Outfit"/> - <menu_item_call label="Quitar del vestuario actual" name="Remove From Outfit"/> - <menu_item_call label="Encontrar el original" name="Find Original"/> - <menu_item_call label="Eliminar el Ãtem" name="Purge Item"/> - <menu_item_call label="Restaurar el Ãtem" name="Restore Item"/> - <menu_item_call label="Abrir" name="Open"/> - <menu_item_call label="Abrir original" name="Open Original"/> - <menu_item_call label="Propiedades" name="Properties"/> - <menu_item_call label="Renombrar" name="Rename"/> - <menu_item_call label="Copiar la UUID" name="Copy Asset UUID"/> - <menu_item_call label="Copiar" name="Copy"/> - <menu_item_call label="Pegar" name="Paste"/> - <menu_item_call label="Pegar como enlace" name="Paste As Link"/> - <menu_item_call label="Borrar" name="Remove Link"/> - <menu_item_call label="Borrar" name="Delete"/> - <menu_item_call label="Borrar carpeta del sistema" name="Delete System Folder"/> - <menu_item_call label="Empezar multiconferencia" name="Conference Chat Folder"/> - <menu_item_call label="Escuchar" name="Sound Play"/> - <menu_item_call label="Acerca del hito" name="About Landmark"/> - <menu_item_call label="Escuchar en el mundo" name="Animation Play"/> - <menu_item_call label="Ejecutarla para usted" name="Animation Audition"/> - <menu_item_call label="Enviar un mensaje instantáneo" name="Send Instant Message"/> - <menu_item_call label="Ofrecer teleporte..." name="Offer Teleport..."/> - <menu_item_call label="Empezar multiconferencia" name="Conference Chat"/> - <menu_item_call label="Activar" name="Activate"/> - <menu_item_call label="Desactivar" name="Deactivate"/> - <menu_item_call label="Guardar como" name="Save As"/> - <menu_item_call label="Quitarse" name="Detach From Yourself"/> - <menu_item_call label="Ponerme" name="Wearable And Object Wear"/> - <menu label="Anexar a" name="Attach To"/> - <menu label="Anexar como HUD" name="Attach To HUD"/> - <menu_item_call label="Editar" name="Wearable Edit"/> - <menu_item_call label="Añadir" name="Wearable Add"/> - <menu_item_call label="Quitarse" name="Take Off"/> - <menu_item_call label="--sin opciones--" name="--no options--"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_inventory_add.xml b/indra/newview/skins/minimal/xui/es/menu_inventory_add.xml deleted file mode 100644 index ba106e8335d..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_inventory_add.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_inventory_add"> - <menu label="Subir" name="upload"> - <menu_item_call label="Imagen ([COST] L$)..." name="Upload Image"/> - <menu_item_call label="Sonido ([COST] L$)..." name="Upload Sound"/> - <menu_item_call label="Animación ([COST] L$)..." name="Upload Animation"/> - <menu_item_call label="Masivo ([COST] L$ por archivo)..." name="Bulk Upload"/> - <menu_item_call label="Configurar los permisos por defecto de subida" name="perm prefs"/> - </menu> - <menu_item_call label="Carpeta nueva" name="New Folder"/> - <menu_item_call label="Script nuevo" name="New Script"/> - <menu_item_call label="Nota nueva" name="New Note"/> - <menu_item_call label="Gesto nuevo" name="New Gesture"/> - <menu label="Ropas nuevas" name="New Clothes"> - <menu_item_call label="Camisa nueva" name="New Shirt"/> - <menu_item_call label="Pantalón nuevo" name="New Pants"/> - <menu_item_call label="Zapatos nuevos" name="New Shoes"/> - <menu_item_call label="Calcetines nuevos" name="New Socks"/> - <menu_item_call label="Chaqueta nueva" name="New Jacket"/> - <menu_item_call label="Falda nueva" name="New Skirt"/> - <menu_item_call label="Guantes nuevos" name="New Gloves"/> - <menu_item_call label="Camiseta nueva" name="New Undershirt"/> - <menu_item_call label="Ropa interior nueva" name="New Underpants"/> - <menu_item_call label="Nueva Alfa" name="New Alpha"/> - <menu_item_call label="Tatuaje nuevo" name="New Tattoo"/> - </menu> - <menu label="Nuevas partes del cuerpo" name="New Body Parts"> - <menu_item_call label="Forma nueva" name="New Shape"/> - <menu_item_call label="Piel nueva" name="New Skin"/> - <menu_item_call label="Pelo nuevo" name="New Hair"/> - <menu_item_call label="Ojos nuevos" name="New Eyes"/> - </menu> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_inventory_gear_default.xml b/indra/newview/skins/minimal/xui/es/menu_inventory_gear_default.xml deleted file mode 100644 index 8e498fefba1..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_inventory_gear_default.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_gear_default"> - <menu_item_call label="Nueva ventana del inventario" name="new_window"/> - <menu_item_check label="Ordenar alfabéticamente" name="sort_by_name"/> - <menu_item_check label="Ordenar por los más recientes" name="sort_by_recent"/> - <menu_item_check label="Las carpetas del sistema, arriba" name="sort_system_folders_to_top"/> - <menu_item_call label="Ver los filtros" name="show_filters"/> - <menu_item_call label="Restablecer los filtros" name="reset_filters"/> - <menu_item_call label="Cerrar todas las carpetas" name="close_folders"/> - <menu_item_call label="Vaciar Objetos Perdidos" name="empty_lostnfound"/> - <menu_item_call label="Guardar la textura como" name="Save Texture As"/> - <menu_item_call label="Compartir" name="Share"/> - <menu_item_call label="Encontrar el original" name="Find Original"/> - <menu_item_call label="Encontrar todos los enlazados" name="Find All Links"/> - <menu_item_call label="Vaciar la Papelera" name="empty_trash"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_land.xml b/indra/newview/skins/minimal/xui/es/menu_land.xml deleted file mode 100644 index b0f15be1b63..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_land.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Land Pie"> - <menu_item_call label="Acerca del terreno" name="Place Information..."/> - <menu_item_call label="Sentarme aquÃ" name="Sit Here"/> - <menu_item_call label="Comprar este terreno" name="Land Buy"/> - <menu_item_call label="Comprar un pase" name="Land Buy Pass"/> - <menu_item_call label="Construir" name="Create"/> - <menu_item_call label="Modificar el terreno" name="Edit Terrain"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_landmark.xml b/indra/newview/skins/minimal/xui/es/menu_landmark.xml deleted file mode 100644 index f69b1539b82..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_landmark.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="landmark_overflow_menu"> - <menu_item_call label="Copiar la SLurl" name="copy"/> - <menu_item_call label="Borrar" name="delete"/> - <menu_item_call label="Crear un Destacado" name="pick"/> - <menu_item_call label="Añadir a la barra de favoritos" name="add_to_favbar"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_login.xml b/indra/newview/skins/minimal/xui/es/menu_login.xml deleted file mode 100644 index c27d6247324..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_login.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Login Menu"> - <menu label="Yo" name="File"> - <menu_item_call label="Preferencias" name="Preferences..."/> - <menu_item_call label="Salir de [APP_NAME]" name="Quit"/> - </menu> - <menu label="Ayuda" name="Help"> - <menu_item_call label="Ayuda de [SECOND_LIFE]" name="Second Life Help"/> - <menu_item_call label="Acerca de [APP_NAME]" name="About Second Life"/> - </menu> - <menu_item_check label="Mostrar el menú 'Debug'" name="Show Debug Menu"/> - <menu label="Depurar" name="Debug"> - <menu_item_call label="Mostrar las configuraciones del depurador" name="Debug Settings"/> - <menu_item_call label="Configuraciones del Visor/Color" name="UI/Color Settings"/> - <menu label="Pruebas de la interfaz" name="UI Tests"/> - <menu_item_call label="Definir el tamaño de la ventana..." name="Set Window Size..."/> - <menu_item_call label="Mostrar los 'TOS'" name="TOS"/> - <menu_item_call label="Mostrar mensaje crÃtico" name="Critical"/> - <menu_item_call label="Prueba de navegadores de medios" name="Web Browser Test"/> - <menu_item_call label="Prueba de ventanas de contenidos web" name="Web Content Floater Test"/> - <menu_item_check label="Mostrar el selector de Grid" name="Show Grid Picker"/> - <menu_item_call label="Mostrar la consola de notificaciones" name="Show Notifications Console"/> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/es/menu_mini_map.xml b/indra/newview/skins/minimal/xui/es/menu_mini_map.xml deleted file mode 100644 index 07d1b085729..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_mini_map.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Zoom cerca" name="Zoom Close"/> - <menu_item_call label="Zoom medio" name="Zoom Medium"/> - <menu_item_call label="Zoom lejos" name="Zoom Far"/> - <menu_item_call label="Zoom por defecto" name="Zoom Default"/> - <menu_item_check label="Girar el mapa" name="Rotate Map"/> - <menu_item_check label="Centrar automáticamente" name="Auto Center"/> - <menu_item_call label="Parar la búsqueda" name="Stop Tracking"/> - <menu_item_call label="Mapa del mundo" name="World Map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_navbar.xml b/indra/newview/skins/minimal/xui/es/menu_navbar.xml deleted file mode 100644 index 63e54680206..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_navbar.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Navbar Menu"> - <menu_item_check label="Mostrar las coordenadas" name="Show Coordinates"/> - <menu_item_check label="Mostrar las propiedades de la parcela" name="Show Parcel Properties"/> - <menu_item_call label="Hito" name="Landmark"/> - <menu_item_call label="Cortar" name="Cut"/> - <menu_item_call label="Copiar" name="Copy"/> - <menu_item_call label="Pegar" name="Paste"/> - <menu_item_call label="Borrar" name="Delete"/> - <menu_item_call label="Seleccionar todo" name="Select All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_nearby_chat.xml b/indra/newview/skins/minimal/xui/es/menu_nearby_chat.xml deleted file mode 100644 index 94b281b6c76..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_nearby_chat.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="NearBy Chat Menu"> - <menu_item_call label="Mostrar la gente que está cerca..." name="nearby_people"/> - <menu_item_check label="Ver el texto ignorado" name="muted_text"/> - <menu_item_check label="Mostrar los iconos del amigo" name="show_buddy_icons"/> - <menu_item_check label="Mostrar los nombres" name="show_names"/> - <menu_item_check label="Mostrar los iconos y los nombres" name="show_icons_and_names"/> - <menu_item_call label="Tamaño de la fuente" name="font_size"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_notification_well_button.xml b/indra/newview/skins/minimal/xui/es/menu_notification_well_button.xml deleted file mode 100644 index 0562d35be72..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_notification_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Notification Well Button Context Menu"> - <menu_item_call label="Cerrar todo" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_object.xml b/indra/newview/skins/minimal/xui/es/menu_object.xml deleted file mode 100644 index 06121e0c09a..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_object.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Object Pie"> - <menu_item_call label="Tocar" name="Object Touch"> - <menu_item_call.on_enable name="EnableTouch" parameter="Tocar"/> - </menu_item_call> - <menu_item_call label="Editar" name="Edit..."/> - <menu_item_call label="Construir" name="Build"/> - <menu_item_call label="Abrir" name="Open"/> - <menu_item_call label="Sentarme aquÃ" name="Object Sit"/> - <menu_item_call label="Levantarme" name="Object Stand Up"/> - <menu_item_call label="Perfil del objeto" name="Object Inspect"/> - <menu_item_call label="Acercar el zoom" name="Zoom In"/> - <context_menu label="Ponerme" name="Put On"> - <menu_item_call label="Ponerme" name="Wear"/> - <menu_item_call label="Añadir" name="Add"/> - <context_menu label="Anexar" name="Object Attach"/> - <context_menu label="Anexar el HUD" name="Object Attach HUD"/> - </context_menu> - <context_menu label="Quitar" name="Remove"> - <menu_item_call label="Denunciar una infracción" name="Report Abuse..."/> - <menu_item_call label="Ignorar" name="Object Mute"/> - <menu_item_call label="Devolver" name="Return..."/> - <menu_item_call label="Eliminar" name="Delete"/> - </context_menu> - <menu_item_call label="Tomar" name="Pie Object Take"/> - <menu_item_call label="Coger una copia" name="Take Copy"/> - <menu_item_call label="Pagar" name="Pay..."/> - <menu_item_call label="Comprar" name="Buy..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_object_icon.xml b/indra/newview/skins/minimal/xui/es/menu_object_icon.xml deleted file mode 100644 index 7e4578b9504..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_object_icon.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Object Icon Menu"> - <menu_item_call label="Perfil del objeto..." name="Object Profile"/> - <menu_item_call label="Ignorar..." name="Block"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_outfit_gear.xml b/indra/newview/skins/minimal/xui/es/menu_outfit_gear.xml deleted file mode 100644 index 3b11bceecf6..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_outfit_gear.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Outfit"> - <menu_item_call label="Ponerme - Reemplazar el vestuario actual" name="wear"/> - <menu_item_call label="Ponerme - Añadir al vestuario actual" name="wear_add"/> - <menu_item_call label="Quitarme - Quitar del vestuario actual" name="take_off"/> - <menu label="Ropas nuevas" name="New Clothes"> - <menu_item_call label="Camisa nueva" name="New Shirt"/> - <menu_item_call label="Pantalón nuevo" name="New Pants"/> - <menu_item_call label="Zapatos nuevos" name="New Shoes"/> - <menu_item_call label="Calcetines nuevos" name="New Socks"/> - <menu_item_call label="Chaqueta nueva" name="New Jacket"/> - <menu_item_call label="Falda nueva" name="New Skirt"/> - <menu_item_call label="Guantes nuevos" name="New Gloves"/> - <menu_item_call label="Camiseta nueva" name="New Undershirt"/> - <menu_item_call label="Ropa interior nueva" name="New Underpants"/> - <menu_item_call label="Nueva Alfa" name="New Alpha"/> - <menu_item_call label="Tatuaje nuevo" name="New Tattoo"/> - </menu> - <menu label="Nuevas partes del cuerpo" name="New Body Parts"> - <menu_item_call label="AnatomÃa nueva" name="New Shape"/> - <menu_item_call label="Piel nueva" name="New Skin"/> - <menu_item_call label="Pelo nuevo" name="New Hair"/> - <menu_item_call label="Ojos nuevos" name="New Eyes"/> - </menu> - <menu_item_call label="Renombrar el vestuario" name="rename"/> - <menu_item_call label="Borrar el vestuario" name="delete_outfit"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_outfit_tab.xml b/indra/newview/skins/minimal/xui/es/menu_outfit_tab.xml deleted file mode 100644 index 4136082a62f..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_outfit_tab.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit"> - <menu_item_call label="Ponerme - Reemplazar el vestuario actual" name="wear_replace"/> - <menu_item_call label="Ponerme - Añadir al vestuario actual" name="wear_add"/> - <menu_item_call label="Quitarme - Quitar del vestuario actual" name="take_off"/> - <menu_item_call label="Editar el vestuario" name="edit"/> - <menu_item_call label="Renombrar el vestuario" name="rename"/> - <menu_item_call label="Borrar el vestuario" name="delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_participant_list.xml b/indra/newview/skins/minimal/xui/es/menu_participant_list.xml deleted file mode 100644 index f6eedd11705..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_participant_list.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Participant List Context Menu"> - <menu_item_check label="Ordenar alfabéticamente" name="SortByName"/> - <menu_item_check label="Ordenar según las intervenciones recientes" name="SortByRecentSpeakers"/> - <menu_item_call label="Ver el perfil" name="View Profile"/> - <menu_item_call label="Añadir como amigo" name="Add Friend"/> - <menu_item_call label="MI" name="IM"/> - <menu_item_call label="Llamar" name="Call"/> - <menu_item_call label="Compartir" name="Share"/> - <menu_item_call label="Pagar" name="Pay"/> - <menu_item_check label="Ver los iconos de la gente" name="View Icons"/> - <menu_item_check label="Ignorar la voz" name="Block/Unblock"/> - <menu_item_check label="Ignorar el texto" name="MuteText"/> - <context_menu label="Opciones del moderador" name="Moderator Options"> - <menu_item_check label="Permitir el chat de texto" name="AllowTextChat"/> - <menu_item_call label="Ignorar a este participante" name="ModerateVoiceMuteSelected"/> - <menu_item_call label="Quitar el silencio a este participante" name="ModerateVoiceUnMuteSelected"/> - <menu_item_call label="Silenciar a todos" name="ModerateVoiceMute"/> - <menu_item_call label="Quitar el silencio a todos" name="ModerateVoiceUnmute"/> - </context_menu> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_people_friends_view_sort.xml b/indra/newview/skins/minimal/xui/es/menu_people_friends_view_sort.xml deleted file mode 100644 index 3899ad9e961..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Ordenar alfabéticamente" name="sort_name"/> - <menu_item_check label="Ordenar por estatus" name="sort_status"/> - <menu_item_check label="Ver los iconos de la gente" name="view_icons"/> - <menu_item_check label="Ver permisos concedidos" name="view_permissions"/> - <menu_item_call label="Ver la lista de Residentes y Objetos ignorados" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_people_groups.xml b/indra/newview/skins/minimal/xui/es/menu_people_groups.xml deleted file mode 100644 index 51bd2c72085..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_people_groups.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Ver la información" name="View Info"/> - <menu_item_call label="Chat" name="Chat"/> - <menu_item_call label="Llamar" name="Call"/> - <menu_item_call label="Activar" name="Activate"/> - <menu_item_call label="Dejar" name="Leave"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_people_groups_view_sort.xml b/indra/newview/skins/minimal/xui/es/menu_people_groups_view_sort.xml deleted file mode 100644 index 1bd3efb6118..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Mostrar los iconos de grupo" name="Display Group Icons"/> - <menu_item_call label="Dejar el grupo seleccionado" name="Leave Selected Group"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_people_nearby.xml b/indra/newview/skins/minimal/xui/es/menu_people_nearby.xml deleted file mode 100644 index dc1486d8796..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_people_nearby.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Avatar Context Menu"> - <menu_item_call label="Ver el perfil" name="View Profile"/> - <menu_item_call label="Añadir como amigo" name="Add Friend"/> - <menu_item_call label="Quitarle como amigo" name="Remove Friend"/> - <menu_item_call label="MI" name="IM"/> - <menu_item_call label="Llamar" name="Call"/> - <menu_item_call label="Mapa" name="Map"/> - <menu_item_call label="Compartir" name="Share"/> - <menu_item_call label="Pagar" name="Pay"/> - <menu_item_check label="Ignorar / No ignorar" name="Block/Unblock"/> - <menu_item_call label="Ofrecer teleporte" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_people_nearby_multiselect.xml b/indra/newview/skins/minimal/xui/es/menu_people_nearby_multiselect.xml deleted file mode 100644 index 227c5ebe58f..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_people_nearby_multiselect.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Multi-Selected People Context Menu"> - <menu_item_call label="Añadir como amigos" name="Add Friends"/> - <menu_item_call label="Quitar amigos" name="Remove Friend"/> - <menu_item_call label="MI" name="IM"/> - <menu_item_call label="Llamar" name="Call"/> - <menu_item_call label="Compartir" name="Share"/> - <menu_item_call label="Pagar" name="Pay"/> - <menu_item_call label="Ofrecer teleporte" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_people_nearby_view_sort.xml b/indra/newview/skins/minimal/xui/es/menu_people_nearby_view_sort.xml deleted file mode 100644 index f0fe383c0c3..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Ordenar según las intervenciones recientes" name="sort_by_recent_speakers"/> - <menu_item_check label="Ordenar alfabéticamente" name="sort_name"/> - <menu_item_check label="Ordenar según distancia" name="sort_distance"/> - <menu_item_check label="Ver los iconos de la gente" name="view_icons"/> - <menu_item_call label="Ver la lista de Residentes y Objetos ignorados" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_people_recent_view_sort.xml b/indra/newview/skins/minimal/xui/es/menu_people_recent_view_sort.xml deleted file mode 100644 index e4aaa891109..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Ordenar por los más recientes" name="sort_most"/> - <menu_item_check label="Ordenar alfabéticamente" name="sort_name"/> - <menu_item_check label="Ver los iconos de la gente" name="view_icons"/> - <menu_item_call label="Ver la lista de Residentes y Objetos ignorados" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_picks.xml b/indra/newview/skins/minimal/xui/es/menu_picks.xml deleted file mode 100644 index 9da68d7c9bf..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_picks.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Picks"> - <menu_item_call label="Información" name="pick_info"/> - <menu_item_call label="Editar" name="pick_edit"/> - <menu_item_call label="Teleportar" name="pick_teleport"/> - <menu_item_call label="Mapa" name="pick_map"/> - <menu_item_call label="Eliminar" name="pick_delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_picks_plus.xml b/indra/newview/skins/minimal/xui/es/menu_picks_plus.xml deleted file mode 100644 index cc59bf1d292..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_picks_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="picks_plus_menu"> - <menu_item_call label="Destacado nuevo" name="create_pick"/> - <menu_item_call label="Clasificado nuevo" name="create_classified"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_place.xml b/indra/newview/skins/minimal/xui/es/menu_place.xml deleted file mode 100644 index 675f0699e99..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_place.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="place_overflow_menu"> - <menu_item_call label="Crear un hito" name="landmark"/> - <menu_item_call label="Crear un destacado" name="pick"/> - <menu_item_call label="Comprar un pase" name="pass"/> - <menu_item_call label="Editar" name="edit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_place_add_button.xml b/indra/newview/skins/minimal/xui/es/menu_place_add_button.xml deleted file mode 100644 index 4b2f908a063..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_place_add_button.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_folder_gear"> - <menu_item_call label="Añadir una carpeta" name="add_folder"/> - <menu_item_call label="Añadir este hito" name="add_landmark"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_places_gear_folder.xml b/indra/newview/skins/minimal/xui/es/menu_places_gear_folder.xml deleted file mode 100644 index bf46eb58e3c..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_places_gear_folder.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_folder_gear"> - <menu_item_call label="Añadir este hito" name="add_landmark"/> - <menu_item_call label="Añadir una carpeta" name="add_folder"/> - <menu_item_call label="Cortar" name="cut"/> - <menu_item_call label="Copiar" name="copy_folder"/> - <menu_item_call label="Pegar" name="paste"/> - <menu_item_call label="Renombrar" name="rename"/> - <menu_item_call label="Borrar" name="delete"/> - <menu_item_call label="Abrir" name="expand"/> - <menu_item_call label="Cerrar" name="collapse"/> - <menu_item_call label="Abrir todas las carpetas" name="expand_all"/> - <menu_item_call label="Cerrar todas las carpetas" name="collapse_all"/> - <menu_item_check label="Ordenar por fecha" name="sort_by_date"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_places_gear_landmark.xml b/indra/newview/skins/minimal/xui/es/menu_places_gear_landmark.xml deleted file mode 100644 index eac85de846c..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_places_gear_landmark.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_ladmark_gear"> - <menu_item_call label="Teleportar" name="teleport"/> - <menu_item_call label="Más información" name="more_info"/> - <menu_item_call label="Mostrar en el mapa" name="show_on_map"/> - <menu_item_call label="Añadir un hito" name="add_landmark"/> - <menu_item_call label="Añadir una carpeta" name="add_folder"/> - <menu_item_call label="Cortar" name="cut"/> - <menu_item_call label="Copiar el hito" name="copy_landmark"/> - <menu_item_call label="Copiar la SLurl" name="copy_slurl"/> - <menu_item_call label="Pegar" name="paste"/> - <menu_item_call label="Renombrar" name="rename"/> - <menu_item_call label="Eliminar" name="delete"/> - <menu_item_call label="Abrir todas las carpetas" name="expand_all"/> - <menu_item_call label="Cerrar todas las carpetas" name="collapse_all"/> - <menu_item_check label="Ordenar por fecha" name="sort_by_date"/> - <menu_item_call label="Crear un Destacado" name="create_pick"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_profile_overflow.xml b/indra/newview/skins/minimal/xui/es/menu_profile_overflow.xml deleted file mode 100644 index 5ee8c50949e..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_profile_overflow.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="profile_overflow_menu"> - <menu_item_call label="Mapa" name="show_on_map"/> - <menu_item_call label="Pagar" name="pay"/> - <menu_item_call label="Compartir" name="share"/> - <menu_item_call label="Ignorar" name="block"/> - <menu_item_call label="Designorar" name="unblock"/> - <menu_item_call label="Expulsar" name="kick"/> - <menu_item_call label="Congelar" name="freeze"/> - <menu_item_call label="Descongelar" name="unfreeze"/> - <menu_item_call label="CSR" name="csr"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_save_outfit.xml b/indra/newview/skins/minimal/xui/es/menu_save_outfit.xml deleted file mode 100644 index a04ec75b60a..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_save_outfit.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="save_outfit_menu"> - <menu_item_call label="Guardar" name="save_outfit"/> - <menu_item_call label="Guardar como" name="save_as_new_outfit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_script_chiclet.xml b/indra/newview/skins/minimal/xui/es/menu_script_chiclet.xml deleted file mode 100644 index f517baf5662..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_script_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="ScriptChiclet Menu"> - <menu_item_call label="Cerrar" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_slurl.xml b/indra/newview/skins/minimal/xui/es/menu_slurl.xml deleted file mode 100644 index ca19acec6e4..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_slurl.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Acerca de la URL" name="about_url"/> - <menu_item_call label="Teleportar a la URL" name="teleport_to_url"/> - <menu_item_call label="Mapa" name="show_on_map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_teleport_history_gear.xml b/indra/newview/skins/minimal/xui/es/menu_teleport_history_gear.xml deleted file mode 100644 index b708f3bc201..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_teleport_history_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Teleport History Gear Context Menu"> - <menu_item_call label="Abrir todas las carpetas" name="Expand all folders"/> - <menu_item_call label="Cerrar todas las carpetas" name="Collapse all folders"/> - <menu_item_call label="Limpiar el historial de teleportes" name="Clear Teleport History"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_teleport_history_item.xml b/indra/newview/skins/minimal/xui/es/menu_teleport_history_item.xml deleted file mode 100644 index c482907812c..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_teleport_history_item.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Teleportar" name="Teleport"/> - <menu_item_call label="Más información" name="More Information"/> - <menu_item_call label="Copiar al portapapeles" name="CopyToClipboard"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_teleport_history_tab.xml b/indra/newview/skins/minimal/xui/es/menu_teleport_history_tab.xml deleted file mode 100644 index 17e90422a55..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_teleport_history_tab.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Abrir" name="TabOpen"/> - <menu_item_call label="Cerrar" name="TabClose"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_text_editor.xml b/indra/newview/skins/minimal/xui/es/menu_text_editor.xml deleted file mode 100644 index 095e461734e..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_text_editor.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Text editor context menu"> - <menu_item_call label="Cortar" name="Cut"/> - <menu_item_call label="Copiar" name="Copy"/> - <menu_item_call label="Pegar" name="Paste"/> - <menu_item_call label="Borrar" name="Delete"/> - <menu_item_call label="Seleccionar todo" name="Select All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_topinfobar.xml b/indra/newview/skins/minimal/xui/es/menu_topinfobar.xml deleted file mode 100644 index 2125fd51b22..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_topinfobar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_topinfobar"> - <menu_item_check label="Mostrar las coordenadas" name="Show Coordinates"/> - <menu_item_check label="Mostrar las propiedades de la parcela" name="Show Parcel Properties"/> - <menu_item_call label="Hito" name="Landmark"/> - <menu_item_call label="Copiar" name="Copy"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_url_agent.xml b/indra/newview/skins/minimal/xui/es/menu_url_agent.xml deleted file mode 100644 index a089c8f68e3..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_url_agent.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar el perfil del Residente" name="show_agent"/> - <menu_item_call label="Copiar el nombre al portapapeles" name="url_copy_label"/> - <menu_item_call label="Copiar la SLurl al portapapeles" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_url_group.xml b/indra/newview/skins/minimal/xui/es/menu_url_group.xml deleted file mode 100644 index 79374b97395..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_url_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar la información del grupo" name="show_group"/> - <menu_item_call label="Copiar el grupo al portapapeles" name="url_copy_label"/> - <menu_item_call label="Copiar la SLurl al portapapeles" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_url_http.xml b/indra/newview/skins/minimal/xui/es/menu_url_http.xml deleted file mode 100644 index 585c059ff31..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_url_http.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Abrir la página web" name="url_open"/> - <menu_item_call label="Abrir en el navegador incorporado" name="url_open_internal"/> - <menu_item_call label="Abrir en mi navegador" name="url_open_external"/> - <menu_item_call label="Copiar la URL al portapapeles" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_url_inventory.xml b/indra/newview/skins/minimal/xui/es/menu_url_inventory.xml deleted file mode 100644 index 13a8711c761..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_url_inventory.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar Ãtem del inventario" name="show_item"/> - <menu_item_call label="Copiar el nombre al portapapeles" name="url_copy_label"/> - <menu_item_call label="Copiar la SLurl al portapapeles" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_url_map.xml b/indra/newview/skins/minimal/xui/es/menu_url_map.xml deleted file mode 100644 index f96a0c71706..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_url_map.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar en el mapa" name="show_on_map"/> - <menu_item_call label="Teleportarse a la localización" name="teleport_to_location"/> - <menu_item_call label="Copiar la SLurl al portapapeles" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_url_objectim.xml b/indra/newview/skins/minimal/xui/es/menu_url_objectim.xml deleted file mode 100644 index 8791a290af6..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_url_objectim.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar la información del objeto" name="show_object"/> - <menu_item_call label="Mostrar en el mapa" name="show_on_map"/> - <menu_item_call label="Teleportarse a la posición del objeto" name="teleport_to_object"/> - <menu_item_call label="Copiar el nombre del objeto al portapapeles" name="url_copy_label"/> - <menu_item_call label="Copiar la SLurl al portapapeles" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_url_parcel.xml b/indra/newview/skins/minimal/xui/es/menu_url_parcel.xml deleted file mode 100644 index 9e789ef8ee8..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_url_parcel.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar la información de la parcela" name="show_parcel"/> - <menu_item_call label="Mostrar en el mapa" name="show_on_map"/> - <menu_item_call label="Copiar la SLurl al portapapeles" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_url_slapp.xml b/indra/newview/skins/minimal/xui/es/menu_url_slapp.xml deleted file mode 100644 index 7147dcd3cff..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_url_slapp.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Ejecutar este comando" name="run_slapp"/> - <menu_item_call label="Copiar la SLurl al portapapeles" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_url_slurl.xml b/indra/newview/skins/minimal/xui/es/menu_url_slurl.xml deleted file mode 100644 index 4ab47c2f61e..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_url_slurl.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar la información del lugar" name="show_place"/> - <menu_item_call label="Mostrar en el mapa" name="show_on_map"/> - <menu_item_call label="Teleportarse a este lugar" name="teleport_to_location"/> - <menu_item_call label="Copiar la SLurl al portapapeles" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_url_teleport.xml b/indra/newview/skins/minimal/xui/es/menu_url_teleport.xml deleted file mode 100644 index 8f86a91be30..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_url_teleport.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Teleportarse a este lugar" name="teleport"/> - <menu_item_call label="Mostrar en el mapa" name="show_on_map"/> - <menu_item_call label="Copiar la SLurl al portapapeles" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_viewer.xml b/indra/newview/skins/minimal/xui/es/menu_viewer.xml deleted file mode 100644 index 776ccfe21bc..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_viewer.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Main Menu"> - <menu label="Ayuda" name="Help"> - <menu_item_call label="Ayuda de [SECOND_LIFE]" name="Second Life Help"/> - </menu> - <menu label="Avanzado" name="Advanced"> - <menu label="Atajos de teclado" name="Shortcuts"> - <menu_item_check label="Volar" name="Fly"/> - <menu_item_call label="Cerrar la ventana" name="Close Window"/> - <menu_item_call label="Cerrar todas las ventanas" name="Close All Windows"/> - <menu_item_call label="Volver a la vista por defecto" name="Reset View"/> - </menu> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/es/menu_wearable_list_item.xml b/indra/newview/skins/minimal/xui/es/menu_wearable_list_item.xml deleted file mode 100644 index 4bffa689e74..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_wearable_list_item.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit Wearable Context Menu"> - <menu_item_call label="Reemplazar" name="wear_replace"/> - <menu_item_call label="Ponerme" name="wear_wear"/> - <menu_item_call label="Añadir" name="wear_add"/> - <menu_item_call label="Quitarme / Quitar" name="take_off_or_detach"/> - <menu_item_call label="Quitar" name="detach"/> - <context_menu label="Anexar a" name="wearable_attach_to"/> - <context_menu label="Anexar al HUD" name="wearable_attach_to_hud"/> - <menu_item_call label="Quitarme" name="take_off"/> - <menu_item_call label="Editar" name="edit"/> - <menu_item_call label="Perfil del elemento" name="object_profile"/> - <menu_item_call label="Mostrar original" name="show_original"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_wearing_gear.xml b/indra/newview/skins/minimal/xui/es/menu_wearing_gear.xml deleted file mode 100644 index 9d9ce75e539..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_wearing_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Wearing"> - <menu_item_call label="Editar el vestuario" name="edit"/> - <menu_item_call label="Quitarme" name="takeoff"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_wearing_tab.xml b/indra/newview/skins/minimal/xui/es/menu_wearing_tab.xml deleted file mode 100644 index 64fd7ce4cf7..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_wearing_tab.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Wearing"> - <menu_item_call label="Quitarme" name="take_off"/> - <menu_item_call label="Quitar" name="detach"/> - <menu_item_call label="Editar el vestuario" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/notifications.xml b/indra/newview/skins/minimal/xui/es/notifications.xml deleted file mode 100644 index 78b617c4299..00000000000 --- a/indra/newview/skins/minimal/xui/es/notifications.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<notifications> - <notification name="UserGiveItem"> - [NAME_SLURL] te ofrece un/a [ITEM_SLURL]. Para utilizar este Ãtem, cambia al modo Avanzado y búscalo en el inventario. Para cambiar al modo Avanzado, sal de la aplicación, reinÃciala y cambia el ajuste de modo en la pantalla de inicio de sesión. - <form name="form"> - <button name="Show" text="Conservar Ãtem"/> - <button name="Discard" text="Rechazar Ãtem"/> - <button name="Mute" text="Bloquear usuario"/> - </form> - </notification> - <notification name="ObjectGiveItem"> - Un objeto de nombre <nolink>[OBJECTFROMNAME]</nolink>, propiedad de [NAME_SLURL], te ofrece un/a <nolink>[ITEM_SLURL]</nolink>. Para utilizar este Ãtem, cambia al modo Avanzado y búscalo en el inventario. Para cambiar al modo Avanzado, sal de la aplicación, reinÃciala y cambia el ajuste de modo en la pantalla de inicio de sesión. - <form name="form"> - <button name="Keep" text="Conservar Ãtem"/> - <button name="Discard" text="Rechazar Ãtem"/> - <button name="Mute" text="Bloquear objeto"/> - </form> - </notification> -</notifications> diff --git a/indra/newview/skins/minimal/xui/es/panel_adhoc_control_panel.xml b/indra/newview/skins/minimal/xui/es/panel_adhoc_control_panel.xml deleted file mode 100644 index 254cf58437a..00000000000 --- a/indra/newview/skins/minimal/xui/es/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="call_btn_panel"> - <button label="Llamar" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Colgar" name="end_call_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/es/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/es/panel_bottomtray.xml deleted file mode 100644 index 0989a3d0a1d..00000000000 --- a/indra/newview/skins/minimal/xui/es/panel_bottomtray.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="bottom_tray"> - <string name="DragIndicationImageName" value="Accordion_ArrowOpened_Off"/> - <string name="SpeakBtnToolTip" value="Activa/Desactiva el micrófono"/> - <string name="VoiceControlBtnToolTip" value="Muestra/Oculta el panel del control de voz"/> - <layout_stack name="toolbar_stack"> - <layout_panel name="speak_panel"> - <button label="Hablar" name="speak_btn" tool_tip="Activar y desactivar tu micrófono"/> - </layout_panel> - <layout_panel name="speak_flyout_panel"> - <button label="" name="flyout_btn" tool_tip="Cambiar tus preferencias de sonido"/> - </layout_panel> - <layout_panel name="gesture_panel"> - <gesture_combo_list label="Gestos" name="Gesture" tool_tip="Hacer que tu avatar realice distintas acciones"/> - </layout_panel> - <layout_panel name="cam_panel"> - <bottomtray_button label="Visión" name="camera_btn" tool_tip="Controlar el ángulo de tu cámara"/> - </layout_panel> - <layout_panel name="destinations_panel"> - <bottomtray_button label="Destinos" name="destination_btn" tool_tip="Viajar por Second Life"/> - </layout_panel> - <layout_panel name="avatar_panel"> - <bottomtray_button label="Mi avatar" name="avatar_btn" tool_tip="Cambiar tu aspecto"/> - </layout_panel> - <layout_panel name="people_panel"> - <bottomtray_button label="Gente" name="show_people_button" tool_tip="Encontrar a gente en Second Life"/> - </layout_panel> - <layout_panel name="profile_panel"> - <bottomtray_button label="Perfil" name="show_profile_btn" tool_tip="Consultar y editar tu perfil"/> - </layout_panel> - <layout_panel name="howto_panel"> - <bottomtray_button label="Indicaciones" name="show_help_btn" tool_tip="Ver la información de ayuda de Second Life"/> - </layout_panel> - <layout_panel name="im_well_panel"> - <chiclet_im_well name="im_well"> - <button name="Unread IM messages" tool_tip="Conversaciones"/> - </chiclet_im_well> - </layout_panel> - <layout_panel name="notification_well_panel"> - <chiclet_notification name="notification_well"> - <button name="Unread" tool_tip="Notificaciones"/> - </chiclet_notification> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/es/panel_group_control_panel.xml b/indra/newview/skins/minimal/xui/es/panel_group_control_panel.xml deleted file mode 100644 index e77156b0d41..00000000000 --- a/indra/newview/skins/minimal/xui/es/panel_group_control_panel.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="end_call_btn_panel"> - <button label="Colgar" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Abrir los controles de la voz" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/es/panel_im_control_panel.xml b/indra/newview/skins/minimal/xui/es/panel_im_control_panel.xml deleted file mode 100644 index 93b6526f77a..00000000000 --- a/indra/newview/skins/minimal/xui/es/panel_im_control_panel.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="Perfil" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="Añadir como amigo" name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="Teleportarte" name="teleport_btn" tool_tip="Ofrecer teleporte a esta persona"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Llamar" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Colgar" name="end_call_btn"/> - </layout_panel> - <layout_panel name="block_btn_panel"> - <button label="Ignorar" name="block_btn"/> - </layout_panel> - <layout_panel name="unblock_btn_panel"> - <button label="No ignorar" name="unblock_btn"/> - </layout_panel> - <layout_panel name="volume_ctrl_panel"> - <slider name="volume_slider" tool_tip="Volumen de la llamada" value="0.5"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/es/panel_login.xml b/indra/newview/skins/minimal/xui/es/panel_login.xml deleted file mode 100644 index 689a71e2778..00000000000 --- a/indra/newview/skins/minimal/xui/es/panel_login.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_login"> - <panel.string name="create_account_url"> - http://join.secondlife.com/index.php?lang=es-ES - </panel.string> - <panel.string name="forgot_password_url"> - http://secondlife.com/account/request.php?lang=es - </panel.string> - <layout_stack name="login_widgets"> - <layout_panel name="login"> - <text name="username_text"> - Nombre de usuario: - </text> - <combo_box name="username_combo" tool_tip="El nombre de usuario que elegiste al registrarte, como bobsmith12 o Steller Sunshine"/> - <text name="password_text"> - Contraseña: - </text> - <check_box label="Recordar la contraseña" name="remember_check"/> - <button label="Iniciar sesión" name="connect_btn"/> - <text name="mode_selection_text"> - Modo: - </text> - <combo_box name="mode_combo" tool_tip="Selecciona el modo. Elige Básico para una exploración rápida y fácil y para chatear. Elige Avanzado para tener acceso a más funciones."> - <combo_box.item label="Básico" name="Basic"/> - <combo_box.item label="Avanzado" name="Advanced"/> - </combo_box> - </layout_panel> - <layout_panel name="links"> - <text name="create_new_account_text"> - Registrarme - </text> - <text name="forgot_password_text"> - ¿Olvidaste el nombre de usuario o la contraseña? - </text> - <text name="login_help"> - ¿Necesitas ayuda para conectarte? - </text> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/es/panel_navigation_bar.xml b/indra/newview/skins/minimal/xui/es/panel_navigation_bar.xml deleted file mode 100644 index e8e95c3bac3..00000000000 --- a/indra/newview/skins/minimal/xui/es/panel_navigation_bar.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="navigation_bar"> - <panel name="navigation_panel"> - <pull_button name="back_btn" tool_tip="Volver a lo localización anterior"/> - <pull_button name="forward_btn" tool_tip="Ir una localización adelante"/> - <button name="home_btn" tool_tip="Teleportar a mi Base"/> - <location_input label="Localización" name="location_combo"/> - <search_combo_box label="Buscar" name="search_combo_box" tool_tip="Buscar"> - <combo_editor label="Buscar en [SECOND_LIFE]" name="search_combo_editor"/> - </search_combo_box> - </panel> - <favorites_bar name="favorite" tool_tip="¡Accede rápidamente a tus lugares favoritos de Second Life arrastrando hitos hasta aquÃ!"> - <label name="favorites_bar_label" tool_tip="¡Accede rápidamente a tus lugares favoritos de Second Life arrastrando hitos hasta aquÃ!"> - Barra de Favoritos - </label> - <chevron_button name=">>" tool_tip="Ver más de Mis favoritos"/> - </favorites_bar> -</panel> diff --git a/indra/newview/skins/minimal/xui/es/panel_people.xml b/indra/newview/skins/minimal/xui/es/panel_people.xml deleted file mode 100644 index a06f3010d79..00000000000 --- a/indra/newview/skins/minimal/xui/es/panel_people.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- Side tray panel --> -<panel label="Gente" name="people_panel"> - <string name="no_recent_people" value="No hay gente reciente. ¿Estás buscando gente con la que juntarte? Prueba con el botón Destinos que aparece a continuación."/> - <string name="no_filtered_recent_people" value="No hay gente reciente con ese nombre."/> - <string name="no_one_near" value="No hay nadie cerca. ¿Estás buscando gente con la que juntarte? Prueba con el botón Destinos que aparece a continuación."/> - <string name="no_one_filtered_near" value="No hay nadie cerca con ese nombre."/> - <string name="no_friends_online" value="No hay amigos conectados"/> - <string name="no_friends" value="No hay amigos"/> - <string name="no_friends_msg"> - Haz clic con el botón derecho del ratón en un residente para agregarlo como amigo. -¿Estás buscando gente con la que juntarte? Prueba con el botón Destinos que aparece a continuación. - </string> - <string name="no_filtered_friends_msg"> - ¿No encuentras lo que buscas? Prueba con el botón Destinos que aparece a continuación. - </string> - <string name="people_filter_label" value="Filtrar a la gente"/> - <string name="groups_filter_label" value="Filtrar a los grupos"/> - <string name="no_filtered_groups_msg" value="¿No encuentras lo que buscas? Prueba con [secondlife:///app/search/groups/[SEARCH_TERM] Buscar]."/> - <string name="no_groups_msg" value="¿Buscas grupos en que participar? Prueba la [secondlife:///app/search/groups Búsqueda]."/> - <string name="MiniMapToolTipMsg" value="[REGIÓN](Haz doble clic para abrir el mapa y pulsa la tecla Mayús y arrastra para obtener una vista panorámica)"/> - <string name="AltMiniMapToolTipMsg" value="[REGIÓN](Haz doble clic para teleportarte y pulsa la tecla Mayús y arrastra para obtener una vista panorámica)"/> - <filter_editor label="Filtrar" name="filter_input"/> - <tab_container name="tabs"> - <panel label="CERCANA" name="nearby_panel"> - <panel label="bottom_panel" name="bottom_panel"/> - </panel> - <panel label="MIS AMIGOS" name="friends_panel"> - <accordion name="friends_accordion"> - <accordion_tab name="tab_online" title="Conectado"/> - <accordion_tab name="tab_all" title="Todos"/> - </accordion> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel"> - <layout_panel name="trash_btn_panel"> - <dnd_button name="del_btn" tool_tip="Quitar a la persona seleccionada de tu lista de amigos"/> - </layout_panel> - </layout_stack> - </panel> - </panel> - <panel label="RECIENTE" name="recent_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <button name="add_friend_btn" tool_tip="Añadir al Residente seleccionado a la lista de tus amigos"/> - </panel> - </panel> - </tab_container> - <panel name="button_bar"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="view_profile_btn_lp"> - <button label="Perfil" name="view_profile_btn" tool_tip="Mostrar imágenes, grupos y otra información del Residente"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="MI" name="im_btn" tool_tip="Abrir una sesión de mensajes instantáneos"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Llamar" name="call_btn" tool_tip="Llamar a este Residente"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleportarte" name="teleport_btn" tool_tip="Ofrecer teleporte"/> - </layout_panel> - </layout_stack> - <layout_stack name="bottom_bar_ls1"> - <layout_panel name="group_info_btn_lp"> - <button label="Perfil del grupo" name="group_info_btn" tool_tip="Ver la información del grupo"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="Chat de grupo" name="chat_btn" tool_tip="Abrir el chat"/> - </layout_panel> - <layout_panel name="group_call_btn_lp"> - <button label="Llamar al grupo" name="group_call_btn" tool_tip="Llama a este grupo"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/minimal/xui/es/panel_side_tray_tab_caption.xml b/indra/newview/skins/minimal/xui/es/panel_side_tray_tab_caption.xml deleted file mode 100644 index 775e343dc99..00000000000 --- a/indra/newview/skins/minimal/xui/es/panel_side_tray_tab_caption.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="sidetray_tab_panel"> - <text name="sidetray_tab_title" value="Panel lateral"/> - <button name="undock" tool_tip="Soltar"/> - <button name="dock" tool_tip="Fijar"/> - <button name="show_help" tool_tip="Ver ayuda"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/es/panel_status_bar.xml b/indra/newview/skins/minimal/xui/es/panel_status_bar.xml deleted file mode 100644 index ab76d3f994a..00000000000 --- a/indra/newview/skins/minimal/xui/es/panel_status_bar.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="status"> - <panel.string name="StatBarDaysOfWeek"> - Domingo:Lunes:Martes:Miércoles:Jueves:Viernes:Sábado - </panel.string> - <panel.string name="StatBarMonthsOfYear"> - Enero:Febrero:Marzo:Abril:Mayo:Junio:Julio:Agosto:Septiembre:Octubre:Noviembre:Diciembre - </panel.string> - <panel.string name="packet_loss_tooltip"> - Pérdida de paquetes - </panel.string> - <panel.string name="bandwidth_tooltip"> - Ancho de banda - </panel.string> - <panel.string name="time"> - [hour12, datetime, slt]:[min, datetime, slt] [ampm, datetime, slt] [timezone,datetime, slt] - </panel.string> - <panel.string name="timeTooltip"> - [weekday, datetime, slt], [day, datetime, slt] [month, datetime, slt] [year, datetime, slt] - </panel.string> - <panel.string name="buycurrencylabel"> - [AMT] L$ - </panel.string> - <panel name="balance_bg"> - <text name="balance" tool_tip="Haz clic para actualizar tu saldo en L$" value="20 L$"/> - <button label="COMPRAR L$" name="buyL" tool_tip="Pulsa para comprar más L$"/> - </panel> - <text name="TimeText" tool_tip="Hora actual (PacÃfico)"> - 24:00 AM PST - </text> - <button name="media_toggle_btn" tool_tip="Iniciar/Parar todos los media (música, vÃdeo, páginas web)"/> - <button name="volume_btn" tool_tip="Control general del volumen"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/fr/floater_camera.xml b/indra/newview/skins/minimal/xui/fr/floater_camera.xml deleted file mode 100644 index 1d62a89ff2d..00000000000 --- a/indra/newview/skins/minimal/xui/fr/floater_camera.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="camera_floater"> - <floater.string name="rotate_tooltip"> - Faire tourner la caméra autour du point central - </floater.string> - <floater.string name="zoom_tooltip"> - Zoomer en direction du point central - </floater.string> - <floater.string name="move_tooltip"> - Déplacer la caméra vers le haut et le bas, la gauche et la droite - </floater.string> - <floater.string name="camera_modes_title"> - Modes - </floater.string> - <floater.string name="pan_mode_title"> - Rotation - Zoom - Panoramique - </floater.string> - <floater.string name="presets_mode_title"> - Préréglages - </floater.string> - <floater.string name="free_mode_title"> - Voir l'objet - </floater.string> - <panel name="controls"> - <panel name="preset_views_list"> - <panel_camera_item name="front_view"> - <panel_camera_item.text name="front_view_text"> - Vue frontale - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="group_view"> - <panel_camera_item.text name="side_view_text"> - Vue latérale - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="rear_view"> - <panel_camera_item.text name="rear_view_text"> - Vue arrière - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="camera_modes_list"> - <panel_camera_item name="object_view"> - <panel_camera_item.text name="object_view_text"> - Vue de l'objet - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="mouselook_view"> - <panel_camera_item.text name="mouselook_view_text"> - Vue subjective - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="zoom" tool_tip="Zoomer en direction du point central"> - <joystick_rotate name="cam_rotate_stick" tool_tip="Faire tourner la caméra autour du point central"/> - <slider_bar name="zoom_slider" tool_tip="Zoomer en direction du point central"/> - <joystick_track name="cam_track_stick" tool_tip="Déplacer la caméra vers le haut et le bas, la gauche et la droite"/> - </panel> - </panel> - <panel name="buttons"> - <button label="" name="presets_btn" tool_tip="Préréglages"/> - <button label="" name="pan_btn" tool_tip="Rotation - Zoom - Panoramique"/> - <button label="" name="avatarview_btn" tool_tip="Modes"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/fr/floater_help_browser.xml b/indra/newview/skins/minimal/xui/fr/floater_help_browser.xml deleted file mode 100644 index 09d763b809d..00000000000 --- a/indra/newview/skins/minimal/xui/fr/floater_help_browser.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_help_browser" title="AIDE RAPIDE"> - <floater.string name="loading_text"> - Chargement… - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="external_controls"/> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/fr/floater_media_browser.xml b/indra/newview/skins/minimal/xui/fr/floater_media_browser.xml deleted file mode 100644 index ba171c6363f..00000000000 --- a/indra/newview/skins/minimal/xui/fr/floater_media_browser.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="NAVIGATEUR DE MÉDIAS"> - <floater.string name="home_page_url"> - http://www.secondlife.com - </floater.string> - <floater.string name="support_page_url"> - http://support.secondlife.com - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button label="Préc." name="back"/> - <button label="Suiv." name="forward"/> - <button label="Recharger" name="reload"/> - <button label="OK" name="go"/> - </layout_panel> - <layout_panel name="time_controls"> - <button label="retour" name="rewind"/> - <button label="stop" name="stop"/> - <button label="avance" name="seek"/> - </layout_panel> - <layout_panel name="parcel_owner_controls"> - <button label="Envoyer la page actuelle à la parcelle" name="assign"/> - </layout_panel> - <layout_panel name="external_controls"> - <button label="Ouvrir dans mon navigateur Web" name="open_browser"/> - <check_box label="Toujours ouvrir dans mon navigateur Web" name="open_always"/> - <button label="Fermer" name="close"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/fr/floater_nearby_chat.xml b/indra/newview/skins/minimal/xui/fr/floater_nearby_chat.xml deleted file mode 100644 index 9b1b21c434b..00000000000 --- a/indra/newview/skins/minimal/xui/fr/floater_nearby_chat.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="CHAT PRÈS DE MOI"> - <check_box label="Traduction du chat (fournie par Google)" name="translate_chat_checkbox"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/fr/floater_web_content.xml b/indra/newview/skins/minimal/xui/fr/floater_web_content.xml deleted file mode 100644 index 71f44b6ec36..00000000000 --- a/indra/newview/skins/minimal/xui/fr/floater_web_content.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_web_content" title=""> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button name="back" tool_tip="Précédente"/> - <button name="forward" tool_tip="Suivante"/> - <button name="stop" tool_tip="Arrêter"/> - <button name="reload" tool_tip="Recharger la page"/> - <combo_box name="address" tool_tip="Saisir une URL ici"/> - <icon name="media_secure_lock_flag" tool_tip="Navigation sécurisée"/> - <button name="popexternal" tool_tip="Ouvrir l'URL actuelle dans votre navigateur de bureau"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/fr/inspect_avatar.xml b/indra/newview/skins/minimal/xui/fr/inspect_avatar.xml deleted file mode 100644 index 553646f8e97..00000000000 --- a/indra/newview/skins/minimal/xui/fr/inspect_avatar.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_avatar"> - <string name="Subtitle"> - [AGE] - </string> - <string name="Details"> - [SL_PROFILE] - </string> - <text name="user_subtitle" value="11 mois, 3 jours"/> - <text name="user_details"> - This is my second life description and I really think it is great. But for some reason my description is super extra long because I like to talk a whole lot - </text> - <slider name="volume_slider" tool_tip="Volume de la voix" value="0.5"/> - <button label="Devenir amis" name="add_friend_btn"/> - <button label="IM" name="im_btn"/> - <button label="Profil" name="view_profile_btn"/> - <panel name="moderator_panel"> - <button label="Désactiver le chat vocal" name="disable_voice"/> - <button label="Activer le chat vocal" name="enable_voice"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/fr/inspect_object.xml b/indra/newview/skins/minimal/xui/fr/inspect_object.xml deleted file mode 100644 index b66af7a2bf2..00000000000 --- a/indra/newview/skins/minimal/xui/fr/inspect_object.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_object"> - <string name="Creator"> - Par [CREATOR] - </string> - <string name="CreatorAndOwner"> - De [CREATOR] -Propriétaire [OWNER] - </string> - <string name="Price"> - [AMOUNT] L$ - </string> - <string name="PriceFree"> - Gratuit ! - </string> - <string name="Touch"> - Toucher - </string> - <string name="Sit"> - M'asseoir - </string> - <text name="object_name" value="Test Object Name That Is actually two lines and Really Long"/> - <text name="object_creator"> - par secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/about -owner secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/about - </text> - <text name="price_text"> - 30 000 L$ - </text> - <text name="object_description"> - This is a really long description for an object being as how it is at least 80 characters in length and so but maybe more like 120 at this point. Who knows, really? - </text> - <text name="object_media_url"> - http://www.superdupertest.com - </text> - <button label="Acheter" name="buy_btn"/> - <button label="Payer" name="pay_btn"/> - <button label="Prendre une copie" name="take_free_copy_btn"/> - <button label="Toucher" name="touch_btn"/> - <button label="M'asseoir" name="sit_btn"/> - <button label="Ouvert" name="open_btn"/> - <icon name="secure_browsing" tool_tip="Navigation sécurisée"/> - <button label="Plus" name="more_info_btn"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/fr/menu_add_wearable_gear.xml b/indra/newview/skins/minimal/xui/fr/menu_add_wearable_gear.xml deleted file mode 100644 index 7e7993175e7..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_add_wearable_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Add Wearable Gear Menu"> - <menu_item_check label="Trier en commençant par le plus récent" name="sort_by_most_recent"/> - <menu_item_check label="Trier par nom" name="sort_by_name"/> - <menu_item_check label="Trier par type" name="sort_by_type"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_attachment_other.xml b/indra/newview/skins/minimal/xui/fr/menu_attachment_other.xml deleted file mode 100644 index f48513eb2b4..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_attachment_other.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_avatar_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Voir le profil" name="Profile..."/> - <menu_item_call label="Devenir amis" name="Add Friend"/> - <menu_item_call label="IM" name="Send IM..."/> - <menu_item_call label="Appeler" name="Call"/> - <menu_item_call label="Inviter dans le groupe" name="Invite..."/> - <menu_item_call label="Ignorer" name="Avatar Mute"/> - <menu_item_call label="Signaler" name="abuse"/> - <menu_item_call label="Figer" name="Freeze..."/> - <menu_item_call label="Expulser" name="Eject..."/> - <menu_item_call label="Déboguer les textures" name="Debug..."/> - <menu_item_call label="Zoomer en avant" name="Zoom In"/> - <menu_item_call label="Payer" name="Pay..."/> - <menu_item_call label="Profil de l'objet" name="Object Inspect"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_attachment_self.xml b/indra/newview/skins/minimal/xui/fr/menu_attachment_self.xml deleted file mode 100644 index 78198fb5a8f..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_attachment_self.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Attachment Pie"> - <menu_item_call label="Toucher" name="Attachment Object Touch"/> - <menu_item_call label="Modifier" name="Edit..."/> - <menu_item_call label="Détacher" name="Detach"/> - <menu_item_call label="M'asseoir" name="Sit Down Here"/> - <menu_item_call label="Me lever" name="Stand Up"/> - <menu_item_call label="Changer de tenue" name="Change Outfit"/> - <menu_item_call label="Modifier ma tenue" name="Edit Outfit"/> - <menu_item_call label="Modifier ma silhouette" name="Edit My Shape"/> - <menu_item_call label="Mes amis" name="Friends..."/> - <menu_item_call label="Mes groupes" name="Groups..."/> - <menu_item_call label="Mon profil" name="Profile..."/> - <menu_item_call label="Déboguer les textures" name="Debug..."/> - <menu_item_call label="Lâcher" name="Drop"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_avatar_icon.xml b/indra/newview/skins/minimal/xui/fr/menu_avatar_icon.xml deleted file mode 100644 index 3bac25c79b8..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_avatar_icon.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Avatar Icon Menu"> - <menu_item_call label="Voir le profil" name="Show Profile"/> - <menu_item_call label="Envoyer IM..." name="Send IM"/> - <menu_item_call label="Devenir amis..." name="Add Friend"/> - <menu_item_call label="Supprimer cet ami..." name="Remove Friend"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_avatar_other.xml b/indra/newview/skins/minimal/xui/fr/menu_avatar_other.xml deleted file mode 100644 index 08d1a203615..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_avatar_other.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_attachment_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Voir le profil" name="Profile..."/> - <menu_item_call label="Devenir amis" name="Add Friend"/> - <menu_item_call label="IM" name="Send IM..."/> - <menu_item_call label="Appeler" name="Call"/> - <menu_item_call label="Inviter dans le groupe" name="Invite..."/> - <menu_item_call label="Ignorer" name="Avatar Mute"/> - <menu_item_call label="Signaler" name="abuse"/> - <menu_item_call label="Figer" name="Freeze..."/> - <menu_item_call label="Expulser" name="Eject..."/> - <menu_item_call label="Déboguer les textures" name="Debug..."/> - <menu_item_call label="Zoomer en avant" name="Zoom In"/> - <menu_item_call label="Payer" name="Pay..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_avatar_self.xml b/indra/newview/skins/minimal/xui/fr/menu_avatar_self.xml deleted file mode 100644 index c7ee2e9f883..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_avatar_self.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Self Pie"> - <menu_item_call label="M'asseoir" name="Sit Down Here"/> - <menu_item_call label="Me lever" name="Stand Up"/> - <context_menu label="Enlever" name="Take Off >"> - <context_menu label="Habits" name="Clothes >"> - <menu_item_call label="Chemise" name="Shirt"/> - <menu_item_call label="Pantalon" name="Pants"/> - <menu_item_call label="Jupe" name="Skirt"/> - <menu_item_call label="Chaussures" name="Shoes"/> - <menu_item_call label="Chaussettes" name="Socks"/> - <menu_item_call label="Veste" name="Jacket"/> - <menu_item_call label="Gants" name="Gloves"/> - <menu_item_call label="Débardeur" name="Self Undershirt"/> - <menu_item_call label="Caleçon" name="Self Underpants"/> - <menu_item_call label="Tatouage" name="Self Tattoo"/> - <menu_item_call label="Alpha" name="Self Alpha"/> - <menu_item_call label="Tous les habits" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="Détacher" name="Object Detach"/> - <menu_item_call label="Tout détacher" name="Detach All"/> - </context_menu> - <menu_item_call label="Changer de tenue" name="Chenge Outfit"/> - <menu_item_call label="Modifier ma tenue" name="Edit Outfit"/> - <menu_item_call label="Modifier ma silhouette" name="Edit My Shape"/> - <menu_item_call label="Mes amis" name="Friends..."/> - <menu_item_call label="Mes groupes" name="Groups..."/> - <menu_item_call label="Mon profil" name="Profile..."/> - <menu_item_call label="Déboguer les textures" name="Debug..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_bottomtray.xml b/indra/newview/skins/minimal/xui/fr/menu_bottomtray.xml deleted file mode 100644 index bfdc89c5bbc..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_bottomtray.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_camera_move_controls_menu"> - <menu_item_check label="Bouton Geste" name="ShowGestureButton"/> - <menu_item_check label="Bouton Bouger" name="ShowMoveButton"/> - <menu_item_check label="Bouton Affichage" name="ShowCameraButton"/> - <menu_item_check label="Bouton Photo" name="ShowSnapshotButton"/> - <menu_item_check label="Bouton Panneau latéral" name="ShowSidebarButton"/> - <menu_item_check label="Bouton Construire" name="ShowBuildButton"/> - <menu_item_check label="Bouton Rechercher" name="ShowSearchButton"/> - <menu_item_check label="Bouton Carte" name="ShowWorldMapButton"/> - <menu_item_check label="Bouton Mini-carte" name="ShowMiniMapButton"/> - <menu_item_call label="Couper" name="NearbyChatBar_Cut"/> - <menu_item_call label="Copier" name="NearbyChatBar_Copy"/> - <menu_item_call label="Coller" name="NearbyChatBar_Paste"/> - <menu_item_call label="Supprimer" name="NearbyChatBar_Delete"/> - <menu_item_call label="Tout sélectionner" name="NearbyChatBar_Select_All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_cof_attachment.xml b/indra/newview/skins/minimal/xui/fr/menu_cof_attachment.xml deleted file mode 100644 index a4ead48b6b3..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_cof_attachment.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Attachment"> - <menu_item_call label="Détacher" name="detach"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_cof_body_part.xml b/indra/newview/skins/minimal/xui/fr/menu_cof_body_part.xml deleted file mode 100644 index 4b6907fcc61..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_cof_body_part.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Body"> - <menu_item_call label="Remplacer" name="replace"/> - <menu_item_call label="Modifier" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_cof_clothing.xml b/indra/newview/skins/minimal/xui/fr/menu_cof_clothing.xml deleted file mode 100644 index 03cc569704b..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_cof_clothing.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Clothing"> - <menu_item_call label="Enlever" name="take_off"/> - <menu_item_call label="Modifier" name="edit"/> - <menu_item_call label="Remplacer" name="replace"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_cof_gear.xml b/indra/newview/skins/minimal/xui/fr/menu_cof_gear.xml deleted file mode 100644 index 8276d570259..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_cof_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear COF"> - <menu label="Nouveaux habits" name="COF.Gear.New_Clothes"/> - <menu label="Nouvelles parties du corps" name="COF.Geear.New_Body_Parts"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_edit.xml b/indra/newview/skins/minimal/xui/fr/menu_edit.xml deleted file mode 100644 index 56669f31e18..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_edit.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu label="Modifier" name="Edit"> - <menu_item_call label="Annuler" name="Undo"/> - <menu_item_call label="Refaire" name="Redo"/> - <menu_item_call label="Couper" name="Cut"/> - <menu_item_call label="Copier" name="Copy"/> - <menu_item_call label="Coller" name="Paste"/> - <menu_item_call label="Supprimer" name="Delete"/> - <menu_item_call label="Dupliquer" name="Duplicate"/> - <menu_item_call label="Tout sélectionner" name="Select All"/> - <menu_item_call label="Désélectionner" name="Deselect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_favorites.xml b/indra/newview/skins/minimal/xui/fr/menu_favorites.xml deleted file mode 100644 index 5f1545fde7f..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_favorites.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Téléporter" name="Teleport To Landmark"/> - <menu_item_call label="Voir/Modifier le repère" name="Landmark Open"/> - <menu_item_call label="Copier la SLurl" name="Copy slurl"/> - <menu_item_call label="Voir sur la carte" name="Show On Map"/> - <menu_item_call label="Copier" name="Landmark Copy"/> - <menu_item_call label="Coller" name="Landmark Paste"/> - <menu_item_call label="Supprimer" name="Delete"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_gesture_gear.xml b/indra/newview/skins/minimal/xui/fr/menu_gesture_gear.xml deleted file mode 100644 index 062dd0f0053..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_gesture_gear.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_gesture_gear"> - <menu_item_call label="Ajouter/Supprimer des favoris" name="activate"/> - <menu_item_call label="Copier" name="copy_gesture"/> - <menu_item_call label="Coller" name="paste"/> - <menu_item_call label="Copier l'UUID" name="copy_uuid"/> - <menu_item_call label="Enregistrer dans la tenue actuelle" name="save_to_outfit"/> - <menu_item_call label="Modifier" name="edit_gesture"/> - <menu_item_call label="Inspecter" name="inspect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_group_plus.xml b/indra/newview/skins/minimal/xui/fr/menu_group_plus.xml deleted file mode 100644 index 0db5afedc79..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_group_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Rejoindre des groupes..." name="item_join"/> - <menu_item_call label="Nouveau groupe..." name="item_new"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_hide_navbar.xml b/indra/newview/skins/minimal/xui/fr/menu_hide_navbar.xml deleted file mode 100644 index 20af901ddc6..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_hide_navbar.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_navbar_menu"> - <menu_item_check label="Afficher la barre de navigation" name="ShowNavbarNavigationPanel"/> - <menu_item_check label="Afficher la barre des favoris" name="ShowNavbarFavoritesPanel"/> - <menu_item_check label="Afficher la mini-barre d'emplacement" name="ShowMiniLocationPanel"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_im_well_button.xml b/indra/newview/skins/minimal/xui/fr/menu_im_well_button.xml deleted file mode 100644 index 8ef1529e6b4..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_im_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="IM Well Button Context Menu"> - <menu_item_call label="Tout fermer" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_imchiclet_adhoc.xml b/indra/newview/skins/minimal/xui/fr/menu_imchiclet_adhoc.xml deleted file mode 100644 index 4d9a1030581..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_imchiclet_adhoc.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet AdHoc Menu"> - <menu_item_call label="Mettre fin à la session" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_imchiclet_group.xml b/indra/newview/skins/minimal/xui/fr/menu_imchiclet_group.xml deleted file mode 100644 index 59f97d8b484..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_imchiclet_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet Group Menu"> - <menu_item_call label="Profil du groupe" name="Show Profile"/> - <menu_item_call label="Afficher la session" name="Chat"/> - <menu_item_call label="Mettre fin à la session" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_imchiclet_p2p.xml b/indra/newview/skins/minimal/xui/fr/menu_imchiclet_p2p.xml deleted file mode 100644 index ecc8cee4139..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_imchiclet_p2p.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet P2P Menu"> - <menu_item_call label="Voir le profil" name="Show Profile"/> - <menu_item_call label="Devenir amis" name="Add Friend"/> - <menu_item_call label="Afficher la session" name="Send IM"/> - <menu_item_call label="Mettre fin à la session" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_inspect_avatar_gear.xml b/indra/newview/skins/minimal/xui/fr/menu_inspect_avatar_gear.xml deleted file mode 100644 index c3240fa541d..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Voir le profil" name="view_profile"/> - <menu_item_call label="Devenir amis" name="add_friend"/> - <menu_item_call label="IM" name="im"/> - <menu_item_call label="Appeler" name="call"/> - <menu_item_call label="Téléporter" name="teleport"/> - <menu_item_call label="Ignorer" name="block"/> - <menu_item_call label="Ne plus ignorer" name="unblock"/> - <menu_item_call label="Signaler" name="report"/> - <menu_item_call label="Figer" name="freeze"/> - <menu_item_call label="Expulser" name="eject"/> - <menu_item_call label="Éjecter" name="kick"/> - <menu_item_call label="Représentant de l'Assistance client" name="csr"/> - <menu_item_call label="Déboguer les textures" name="debug"/> - <menu_item_call label="Situer sur la carte" name="find_on_map"/> - <menu_item_call label="Zoomer en avant" name="zoom_in"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_inspect_object_gear.xml b/indra/newview/skins/minimal/xui/fr/menu_inspect_object_gear.xml deleted file mode 100644 index 074bb54cdc5..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_inspect_object_gear.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<menu name="Gear Menu"> - <menu_item_call label="Toucher" name="touch"/> - <menu_item_call label="M'asseoir" name="sit"/> - <menu_item_call label="Payer" name="pay"/> - <menu_item_call label="Acheter" name="buy"/> - <menu_item_call label="Prendre" name="take"/> - <menu_item_call label="Prendre une copie" name="take_copy"/> - <menu_item_call label="Ouvrir" name="open"/> - <menu_item_call label="Modifier" name="edit"/> - <menu_item_call label="Porter" name="wear"/> - <menu_item_call label="Ajouter" name="add"/> - <menu_item_call label="Signaler" name="report"/> - <menu_item_call label="Ignorer" name="block"/> - <menu_item_call label="Zoomer en avant" name="zoom_in"/> - <menu_item_call label="Supprimer" name="remove"/> - <menu_item_call label="En savoir plus" name="more_info"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_inspect_self_gear.xml b/indra/newview/skins/minimal/xui/fr/menu_inspect_self_gear.xml deleted file mode 100644 index fd48aa4f7d7..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_inspect_self_gear.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Self Pie"> - <menu_item_call label="M'asseoir" name="Sit Down Here"/> - <menu_item_call label="Me lever" name="Stand Up"/> - <menu_item_call label="Mes amis" name="Friends..."/> - <menu_item_call label="Mon profil" name="Profile..."/> - <menu_item_call label="Déboguer les textures" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_inv_offer_chiclet.xml b/indra/newview/skins/minimal/xui/fr/menu_inv_offer_chiclet.xml deleted file mode 100644 index a9b2883cca8..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_inv_offer_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="InvOfferChiclet Menu"> - <menu_item_call label="Fermer" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_inventory.xml b/indra/newview/skins/minimal/xui/fr/menu_inventory.xml deleted file mode 100644 index a2279cf0ac4..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_inventory.xml +++ /dev/null @@ -1,86 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Partager" name="Share"/> - <menu_item_call label="Acheter" name="Task Buy"/> - <menu_item_call label="Ouvrir" name="Task Open"/> - <menu_item_call label="Jouer" name="Task Play"/> - <menu_item_call label="Propriétés" name="Task Properties"/> - <menu_item_call label="Renommer" name="Task Rename"/> - <menu_item_call label="Supprimer" name="Task Remove"/> - <menu_item_call label="Vider la corbeille" name="Empty Trash"/> - <menu_item_call label="Vider les objets trouvés" name="Empty Lost And Found"/> - <menu_item_call label="Nouveau dossier" name="New Folder"/> - <menu_item_call label="Nouveau script" name="New Script"/> - <menu_item_call label="Nouvelle note" name="New Note"/> - <menu_item_call label="Nouveau geste" name="New Gesture"/> - <menu label="Nouveaux habits" name="New Clothes"> - <menu_item_call label="Nouvelle chemise" name="New Shirt"/> - <menu_item_call label="Nouveau pantalon" name="New Pants"/> - <menu_item_call label="Nouvelles chaussures" name="New Shoes"/> - <menu_item_call label="Nouvelles chaussettes" name="New Socks"/> - <menu_item_call label="Nouvelle veste" name="New Jacket"/> - <menu_item_call label="Nouvelle jupe" name="New Skirt"/> - <menu_item_call label="Nouveaux gants" name="New Gloves"/> - <menu_item_call label="Nouveau débardeur" name="New Undershirt"/> - <menu_item_call label="Nouveau caleçon" name="New Underpants"/> - <menu_item_call label="Nouveau masque alpha" name="New Alpha Mask"/> - <menu_item_call label="Nouveau tatouage" name="New Tattoo"/> - </menu> - <menu label="Nouvelles parties du corps" name="New Body Parts"> - <menu_item_call label="Nouvelle silhouette" name="New Shape"/> - <menu_item_call label="Nouvelle peau" name="New Skin"/> - <menu_item_call label="Nouveaux cheveux" name="New Hair"/> - <menu_item_call label="Nouveaux yeux" name="New Eyes"/> - </menu> - <menu label="Changer de type" name="Change Type"> - <menu_item_call label="Défaut" name="Default"/> - <menu_item_call label="Gants" name="Gloves"/> - <menu_item_call label="Veste" name="Jacket"/> - <menu_item_call label="Pantalon" name="Pants"/> - <menu_item_call label="Silhouette" name="Shape"/> - <menu_item_call label="Chaussures" name="Shoes"/> - <menu_item_call label="Chemise" name="Shirt"/> - <menu_item_call label="Jupe" name="Skirt"/> - <menu_item_call label="Caleçon" name="Underpants"/> - <menu_item_call label="Débardeur" name="Undershirt"/> - </menu> - <menu_item_call label="Téléporter" name="Landmark Open"/> - <menu_item_call label="Ouvrir" name="Animation Open"/> - <menu_item_call label="Ouvrir" name="Sound Open"/> - <menu_item_call label="Remplacer la tenue actuelle" name="Replace Outfit"/> - <menu_item_call label="Ajouter à la tenue actuelle" name="Add To Outfit"/> - <menu_item_call label="Enlever de la tenue actuelle" name="Remove From Outfit"/> - <menu_item_call label="Trouver l'original" name="Find Original"/> - <menu_item_call label="Purger l'objet" name="Purge Item"/> - <menu_item_call label="Restaurer l'objet" name="Restore Item"/> - <menu_item_call label="Ouvrir" name="Open"/> - <menu_item_call label="Ouvrir l'original" name="Open Original"/> - <menu_item_call label="Propriétés" name="Properties"/> - <menu_item_call label="Renommer" name="Rename"/> - <menu_item_call label="Copier l'UUID (identifiant universel unique)" name="Copy Asset UUID"/> - <menu_item_call label="Copier" name="Copy"/> - <menu_item_call label="Coller" name="Paste"/> - <menu_item_call label="Coller comme lien" name="Paste As Link"/> - <menu_item_call label="Supprimer" name="Remove Link"/> - <menu_item_call label="Supprimer" name="Delete"/> - <menu_item_call label="Supprimer le dossier système" name="Delete System Folder"/> - <menu_item_call label="Démarrer le chat conférence" name="Conference Chat Folder"/> - <menu_item_call label="Jouer" name="Sound Play"/> - <menu_item_call label="À propos du repère" name="About Landmark"/> - <menu_item_call label="Jouer dans Second Life" name="Animation Play"/> - <menu_item_call label="Jouer localement" name="Animation Audition"/> - <menu_item_call label="Envoyer un message instantané" name="Send Instant Message"/> - <menu_item_call label="Offrir de téléporter..." name="Offer Teleport..."/> - <menu_item_call label="Démarrer le chat conférence" name="Conference Chat"/> - <menu_item_call label="Activer" name="Activate"/> - <menu_item_call label="Désactiver" name="Deactivate"/> - <menu_item_call label="Enregistrer sous" name="Save As"/> - <menu_item_call label="Détacher de vous" name="Detach From Yourself"/> - <menu_item_call label="Porter" name="Wearable And Object Wear"/> - <menu label="Attacher à " name="Attach To"/> - <menu label="Attacher au HUD " name="Attach To HUD"/> - <menu_item_call label="Modifier" name="Wearable Edit"/> - <menu_item_call label="Ajouter" name="Wearable Add"/> - <menu_item_call label="Enlever" name="Take Off"/> - <menu_item_call label="--aucune option--" name="--no options--"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_inventory_add.xml b/indra/newview/skins/minimal/xui/fr/menu_inventory_add.xml deleted file mode 100644 index fe096b4a7e1..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_inventory_add.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_inventory_add"> - <menu label="Importer" name="upload"> - <menu_item_call label="Image ([COST] L$)..." name="Upload Image"/> - <menu_item_call label="Son ([COST] L$)..." name="Upload Sound"/> - <menu_item_call label="Animation ([COST] L$)..." name="Upload Animation"/> - <menu_item_call label="Lot ([COST] L$ par fichier)..." name="Bulk Upload"/> - <menu_item_call label="Définir les droits de chargement par défaut" name="perm prefs"/> - </menu> - <menu_item_call label="Nouveau dossier" name="New Folder"/> - <menu_item_call label="Nouveau script" name="New Script"/> - <menu_item_call label="Nouvelle note" name="New Note"/> - <menu_item_call label="Nouveau geste" name="New Gesture"/> - <menu label="Nouveaux habits" name="New Clothes"> - <menu_item_call label="Nouvelle chemise" name="New Shirt"/> - <menu_item_call label="Nouveau pantalon" name="New Pants"/> - <menu_item_call label="Nouvelles chaussures" name="New Shoes"/> - <menu_item_call label="Nouvelles chaussettes" name="New Socks"/> - <menu_item_call label="Nouvelle veste" name="New Jacket"/> - <menu_item_call label="Nouvelle jupe" name="New Skirt"/> - <menu_item_call label="Nouveaux gants" name="New Gloves"/> - <menu_item_call label="Nouveau débardeur" name="New Undershirt"/> - <menu_item_call label="Nouveau caleçon" name="New Underpants"/> - <menu_item_call label="Nouvel alpha" name="New Alpha"/> - <menu_item_call label="Nouveau tatouage" name="New Tattoo"/> - </menu> - <menu label="Nouvelles parties du corps" name="New Body Parts"> - <menu_item_call label="Nouvelle silhouette" name="New Shape"/> - <menu_item_call label="Nouvelle peau" name="New Skin"/> - <menu_item_call label="Nouveaux cheveux" name="New Hair"/> - <menu_item_call label="Nouveaux yeux" name="New Eyes"/> - </menu> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_inventory_gear_default.xml b/indra/newview/skins/minimal/xui/fr/menu_inventory_gear_default.xml deleted file mode 100644 index f28918ae142..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_inventory_gear_default.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_gear_default"> - <menu_item_call label="Nouvelle fenêtre d'inventaire" name="new_window"/> - <menu_item_check label="Trier par nom" name="sort_by_name"/> - <menu_item_check label="Trier en commençant par le plus récent" name="sort_by_recent"/> - <menu_item_check label="Dossiers système en premier" name="sort_system_folders_to_top"/> - <menu_item_call label="Afficher les filtres" name="show_filters"/> - <menu_item_call label="Réinitialiser les filtres" name="reset_filters"/> - <menu_item_call label="Fermer tous les dossiers" name="close_folders"/> - <menu_item_call label="Vider les objets trouvés" name="empty_lostnfound"/> - <menu_item_call label="Enregistrer la texture sous" name="Save Texture As"/> - <menu_item_call label="Partager" name="Share"/> - <menu_item_call label="Trouver l'original" name="Find Original"/> - <menu_item_call label="Trouver tous les liens" name="Find All Links"/> - <menu_item_call label="Vider la corbeille" name="empty_trash"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_land.xml b/indra/newview/skins/minimal/xui/fr/menu_land.xml deleted file mode 100644 index b84daee3ae9..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_land.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Land Pie"> - <menu_item_call label="À propos du terrain" name="Place Information..."/> - <menu_item_call label="M'asseoir ici" name="Sit Here"/> - <menu_item_call label="Acheter ce terrain" name="Land Buy"/> - <menu_item_call label="Acheter un pass" name="Land Buy Pass"/> - <menu_item_call label="Construire" name="Create"/> - <menu_item_call label="Modifier le terrain" name="Edit Terrain"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_landmark.xml b/indra/newview/skins/minimal/xui/fr/menu_landmark.xml deleted file mode 100644 index 73eaa4af7e3..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_landmark.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="landmark_overflow_menu"> - <menu_item_call label="Copier la SLurl" name="copy"/> - <menu_item_call label="Supprimer" name="delete"/> - <menu_item_call label="Créer un favori" name="pick"/> - <menu_item_call label="Ajouter à la barre des favoris" name="add_to_favbar"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_login.xml b/indra/newview/skins/minimal/xui/fr/menu_login.xml deleted file mode 100644 index 400c77e51a5..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_login.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Login Menu"> - <menu label="Moi" name="File"> - <menu_item_call label="Préférences" name="Preferences..."/> - <menu_item_call label="Quitter [APP_NAME]" name="Quit"/> - </menu> - <menu label="Aide" name="Help"> - <menu_item_call label="Aide de [SECOND_LIFE]" name="Second Life Help"/> - <menu_item_call label="À propos de [APP_NAME]" name="About Second Life"/> - </menu> - <menu_item_check label="Afficher le menu de débogage" name="Show Debug Menu"/> - <menu label="Débogage" name="Debug"> - <menu_item_call label="Afficher les paramètres de débogage" name="Debug Settings"/> - <menu_item_call label="Paramètres de couleurs/interface" name="UI/Color Settings"/> - <menu_item_call label="Outil d'aperçu XUI" name="UI Preview Tool"/> - <menu label="Tests de l'interface" name="UI Tests"/> - <menu_item_call label="Définir la taille de la fenêtre..." name="Set Window Size..."/> - <menu_item_call label="Afficher les conditions d'utilisation" name="TOS"/> - <menu_item_call label="Afficher le message critique" name="Critical"/> - <menu_item_call label="Test du navigateur de médias" name="Web Browser Test"/> - <menu_item_call label="Test de la fenêtre flottante du contenu Web" name="Web Content Floater Test"/> - <menu_item_check label="Afficher le sélecteur de grille" name="Show Grid Picker"/> - <menu_item_call label="Afficher la console des notifications" name="Show Notifications Console"/> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/fr/menu_mini_map.xml b/indra/newview/skins/minimal/xui/fr/menu_mini_map.xml deleted file mode 100644 index b9d0a70383e..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_mini_map.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Zoom rapproché" name="Zoom Close"/> - <menu_item_call label="Zoom moyen" name="Zoom Medium"/> - <menu_item_call label="Zoom éloigné" name="Zoom Far"/> - <menu_item_call label="Zoom par défaut" name="Zoom Default"/> - <menu_item_check label="Faire pivoter la carte" name="Rotate Map"/> - <menu_item_check label="Centrage auto" name="Auto Center"/> - <menu_item_call label="Arrêter de suivre" name="Stop Tracking"/> - <menu_item_call label="Carte du monde" name="World Map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_navbar.xml b/indra/newview/skins/minimal/xui/fr/menu_navbar.xml deleted file mode 100644 index 08d810b653c..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_navbar.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Navbar Menu"> - <menu_item_check label="Voir les coordonnées" name="Show Coordinates"/> - <menu_item_check label="Afficher les propriétés de la parcelle" name="Show Parcel Properties"/> - <menu_item_call label="Repère" name="Landmark"/> - <menu_item_call label="Couper" name="Cut"/> - <menu_item_call label="Copier" name="Copy"/> - <menu_item_call label="Coller" name="Paste"/> - <menu_item_call label="Supprimer" name="Delete"/> - <menu_item_call label="Tout sélectionner" name="Select All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_nearby_chat.xml b/indra/newview/skins/minimal/xui/fr/menu_nearby_chat.xml deleted file mode 100644 index 99e22aeff74..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_nearby_chat.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="NearBy Chat Menu"> - <menu_item_call label="Afficher les personnes près de vous..." name="nearby_people"/> - <menu_item_check label="Afficher le texte ignoré" name="muted_text"/> - <menu_item_check label="Afficher les icônes des Buddy" name="show_buddy_icons"/> - <menu_item_check label="Afficher les noms" name="show_names"/> - <menu_item_check label="Afficher les icônes et les noms" name="show_icons_and_names"/> - <menu_item_call label="Taille de la police" name="font_size"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_notification_well_button.xml b/indra/newview/skins/minimal/xui/fr/menu_notification_well_button.xml deleted file mode 100644 index 323bfdbf165..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_notification_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Notification Well Button Context Menu"> - <menu_item_call label="Tout fermer" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_object.xml b/indra/newview/skins/minimal/xui/fr/menu_object.xml deleted file mode 100644 index a50a9df4b10..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_object.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Object Pie"> - <menu_item_call label="Toucher" name="Object Touch"> - <menu_item_call.on_enable name="EnableTouch" parameter="Toucher"/> - </menu_item_call> - <menu_item_call label="Modifier" name="Edit..."/> - <menu_item_call label="Construire" name="Build"/> - <menu_item_call label="Ouvrir" name="Open"/> - <menu_item_call label="M'asseoir ici" name="Object Sit"/> - <menu_item_call label="Me lever" name="Object Stand Up"/> - <menu_item_call label="Profil de l'objet" name="Object Inspect"/> - <menu_item_call label="Zoomer en avant" name="Zoom In"/> - <context_menu label="Porter" name="Put On"> - <menu_item_call label="Porter" name="Wear"/> - <menu_item_call label="Ajouter" name="Add"/> - <context_menu label="Attacher" name="Object Attach"/> - <context_menu label="Attacher HUD" name="Object Attach HUD"/> - </context_menu> - <context_menu label="Supprimer" name="Remove"> - <menu_item_call label="Signaler une infraction" name="Report Abuse..."/> - <menu_item_call label="Ignorer" name="Object Mute"/> - <menu_item_call label="Retour" name="Return..."/> - <menu_item_call label="Supprimer" name="Delete"/> - </context_menu> - <menu_item_call label="Prendre" name="Pie Object Take"/> - <menu_item_call label="Prendre une copie" name="Take Copy"/> - <menu_item_call label="Payer" name="Pay..."/> - <menu_item_call label="Acheter" name="Buy..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_object_icon.xml b/indra/newview/skins/minimal/xui/fr/menu_object_icon.xml deleted file mode 100644 index 69f8e88a0de..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_object_icon.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Object Icon Menu"> - <menu_item_call label="Profil de l'objet..." name="Object Profile"/> - <menu_item_call label="Ignorer..." name="Block"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_outfit_gear.xml b/indra/newview/skins/minimal/xui/fr/menu_outfit_gear.xml deleted file mode 100644 index 5db7f176b54..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_outfit_gear.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Outfit"> - <menu_item_call label="Porter - Remplacer la tenue actuelle" name="wear"/> - <menu_item_call label="Porter - Ajouter à la tenue actuelle" name="wear_add"/> - <menu_item_call label="Enlever - Supprimer de la tenue actuelle" name="take_off"/> - <menu label="Nouveaux habits" name="New Clothes"> - <menu_item_call label="Nouvelle chemise" name="New Shirt"/> - <menu_item_call label="Nouveau pantalon" name="New Pants"/> - <menu_item_call label="Nouvelles chaussures" name="New Shoes"/> - <menu_item_call label="Nouvelles chaussettes" name="New Socks"/> - <menu_item_call label="Nouvelle veste" name="New Jacket"/> - <menu_item_call label="Nouvelle jupe" name="New Skirt"/> - <menu_item_call label="Nouveaux gants" name="New Gloves"/> - <menu_item_call label="Nouveau débardeur" name="New Undershirt"/> - <menu_item_call label="Nouveau caleçon" name="New Underpants"/> - <menu_item_call label="Nouvel alpha" name="New Alpha"/> - <menu_item_call label="Nouveau tatouage" name="New Tattoo"/> - </menu> - <menu label="Nouvelles parties du corps" name="New Body Parts"> - <menu_item_call label="Nouvelle silhouette" name="New Shape"/> - <menu_item_call label="Nouvelle peau" name="New Skin"/> - <menu_item_call label="Nouveaux cheveux" name="New Hair"/> - <menu_item_call label="Nouveaux yeux" name="New Eyes"/> - </menu> - <menu_item_call label="Renommer la tenue" name="rename"/> - <menu_item_call label="Supprimer la tenue" name="delete_outfit"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_outfit_tab.xml b/indra/newview/skins/minimal/xui/fr/menu_outfit_tab.xml deleted file mode 100644 index 2a7f618e077..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_outfit_tab.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit"> - <menu_item_call label="Porter - Remplacer la tenue actuelle" name="wear_replace"/> - <menu_item_call label="Porter - Ajouter à la tenue actuelle" name="wear_add"/> - <menu_item_call label="Enlever - Supprimer de la tenue actuelle" name="take_off"/> - <menu_item_call label="Modifier la tenue" name="edit"/> - <menu_item_call label="Renommer la tenue" name="rename"/> - <menu_item_call label="Supprimer la tenue" name="delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_participant_list.xml b/indra/newview/skins/minimal/xui/fr/menu_participant_list.xml deleted file mode 100644 index f91a30f6bb1..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_participant_list.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Participant List Context Menu"> - <menu_item_check label="Trier par nom" name="SortByName"/> - <menu_item_check label="Trier par intervenants récents" name="SortByRecentSpeakers"/> - <menu_item_call label="Voir le profil" name="View Profile"/> - <menu_item_call label="Devenir amis" name="Add Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="Appeler" name="Call"/> - <menu_item_call label="Partager" name="Share"/> - <menu_item_call label="Payer" name="Pay"/> - <menu_item_check label="Afficher les icônes des résidents" name="View Icons"/> - <menu_item_check label="Bloquer le chat vocal" name="Block/Unblock"/> - <menu_item_check label="Ignorer le texte" name="MuteText"/> - <context_menu label="Options du modérateur" name="Moderator Options"> - <menu_item_check label="Autoriser les chats écrits" name="AllowTextChat"/> - <menu_item_call label="Ignorer ce participant" name="ModerateVoiceMuteSelected"/> - <menu_item_call label="Ne plus ignorer ce participant" name="ModerateVoiceUnMuteSelected"/> - <menu_item_call label="Ignorer les autres" name="ModerateVoiceMute"/> - <menu_item_call label="Ne plus ignorer les autres" name="ModerateVoiceUnmute"/> - </context_menu> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_people_friends_view_sort.xml b/indra/newview/skins/minimal/xui/fr/menu_people_friends_view_sort.xml deleted file mode 100644 index a6170a6c162..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Trier par nom" name="sort_name"/> - <menu_item_check label="Trier par statut" name="sort_status"/> - <menu_item_check label="Afficher les icônes des résidents" name="view_icons"/> - <menu_item_check label="Afficher les droits octroyés" name="view_permissions"/> - <menu_item_call label="Afficher les résidents et les objets ignorés" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_people_groups.xml b/indra/newview/skins/minimal/xui/fr/menu_people_groups.xml deleted file mode 100644 index eb51b4cf7e8..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_people_groups.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Afficher les infos" name="View Info"/> - <menu_item_call label="Chat" name="Chat"/> - <menu_item_call label="Appeler" name="Call"/> - <menu_item_call label="Activer" name="Activate"/> - <menu_item_call label="Quitter" name="Leave"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_people_groups_view_sort.xml b/indra/newview/skins/minimal/xui/fr/menu_people_groups_view_sort.xml deleted file mode 100644 index 34f949cf2ce..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Afficher les icônes des groupes" name="Display Group Icons"/> - <menu_item_call label="Quitter le groupe sélectionné" name="Leave Selected Group"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_people_nearby.xml b/indra/newview/skins/minimal/xui/fr/menu_people_nearby.xml deleted file mode 100644 index f153ed15ae7..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_people_nearby.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Avatar Context Menu"> - <menu_item_call label="Voir le profil" name="View Profile"/> - <menu_item_call label="Devenir amis" name="Add Friend"/> - <menu_item_call label="Supprimer cet ami" name="Remove Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="Appeler" name="Call"/> - <menu_item_call label="Carte" name="Map"/> - <menu_item_call label="Partager" name="Share"/> - <menu_item_call label="Payer" name="Pay"/> - <menu_item_check label="Ignorer/Ne plus ignorer" name="Block/Unblock"/> - <menu_item_call label="Téléporter" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_people_nearby_multiselect.xml b/indra/newview/skins/minimal/xui/fr/menu_people_nearby_multiselect.xml deleted file mode 100644 index 8400ec0a14d..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_people_nearby_multiselect.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Multi-Selected People Context Menu"> - <menu_item_call label="Devenir amis" name="Add Friends"/> - <menu_item_call label="Supprimer des amis" name="Remove Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="Appeler" name="Call"/> - <menu_item_call label="Partager" name="Share"/> - <menu_item_call label="Payer" name="Pay"/> - <menu_item_call label="Proposer une téléportation" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_people_nearby_view_sort.xml b/indra/newview/skins/minimal/xui/fr/menu_people_nearby_view_sort.xml deleted file mode 100644 index 45f97e062e4..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Trier par intervenants récents" name="sort_by_recent_speakers"/> - <menu_item_check label="Trier par nom" name="sort_name"/> - <menu_item_check label="Trier par distance" name="sort_distance"/> - <menu_item_check label="Afficher les icônes des résidents" name="view_icons"/> - <menu_item_call label="Afficher les résidents et les objets interdits" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_people_recent_view_sort.xml b/indra/newview/skins/minimal/xui/fr/menu_people_recent_view_sort.xml deleted file mode 100644 index 93b90ae61cf..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Trier en commençant par le plus récent" name="sort_most"/> - <menu_item_check label="Trier par nom" name="sort_name"/> - <menu_item_check label="Afficher les icônes des résidents" name="view_icons"/> - <menu_item_call label="Afficher les résidents et les objets ignorés" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_picks.xml b/indra/newview/skins/minimal/xui/fr/menu_picks.xml deleted file mode 100644 index 7d7174d43cc..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_picks.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Picks"> - <menu_item_call label="Infos" name="pick_info"/> - <menu_item_call label="Modifier" name="pick_edit"/> - <menu_item_call label="Téléporter" name="pick_teleport"/> - <menu_item_call label="Carte" name="pick_map"/> - <menu_item_call label="Supprimer" name="pick_delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_picks_plus.xml b/indra/newview/skins/minimal/xui/fr/menu_picks_plus.xml deleted file mode 100644 index b6cde6d6e22..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_picks_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="picks_plus_menu"> - <menu_item_call label="Nouveau favori" name="create_pick"/> - <menu_item_call label="Nouvelle petite annonce" name="create_classified"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_place.xml b/indra/newview/skins/minimal/xui/fr/menu_place.xml deleted file mode 100644 index 6b0f4db7526..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_place.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="place_overflow_menu"> - <menu_item_call label="Enregistrer comme repère" name="landmark"/> - <menu_item_call label="Créer un favori" name="pick"/> - <menu_item_call label="Acheter un pass" name="pass"/> - <menu_item_call label="Modifier" name="edit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_place_add_button.xml b/indra/newview/skins/minimal/xui/fr/menu_place_add_button.xml deleted file mode 100644 index 92f9e7719d1..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_place_add_button.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_folder_gear"> - <menu_item_call label="Ajouter un dossier" name="add_folder"/> - <menu_item_call label="Ajouter un repère" name="add_landmark"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_places_gear_folder.xml b/indra/newview/skins/minimal/xui/fr/menu_places_gear_folder.xml deleted file mode 100644 index 3570bdec7f4..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_places_gear_folder.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_folder_gear"> - <menu_item_call label="Ajouter un repère" name="add_landmark"/> - <menu_item_call label="Ajouter un dossier" name="add_folder"/> - <menu_item_call label="Couper" name="cut"/> - <menu_item_call label="Copier" name="copy_folder"/> - <menu_item_call label="Coller" name="paste"/> - <menu_item_call label="Renommer" name="rename"/> - <menu_item_call label="Supprimer" name="delete"/> - <menu_item_call label="Agrandir" name="expand"/> - <menu_item_call label="Réduire" name="collapse"/> - <menu_item_call label="Développer tous les dossiers" name="expand_all"/> - <menu_item_call label="Réduire tous les dossiers" name="collapse_all"/> - <menu_item_check label="Trier par date" name="sort_by_date"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_places_gear_landmark.xml b/indra/newview/skins/minimal/xui/fr/menu_places_gear_landmark.xml deleted file mode 100644 index 5491c1b3fcf..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_places_gear_landmark.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_ladmark_gear"> - <menu_item_call label="Téléporter" name="teleport"/> - <menu_item_call label="Plus d'informations" name="more_info"/> - <menu_item_call label="Voir sur la carte" name="show_on_map"/> - <menu_item_call label="Ajouter un repère" name="add_landmark"/> - <menu_item_call label="Ajouter un dossier" name="add_folder"/> - <menu_item_call label="Couper" name="cut"/> - <menu_item_call label="Copier le repère" name="copy_landmark"/> - <menu_item_call label="Copier la SLurl" name="copy_slurl"/> - <menu_item_call label="Coller" name="paste"/> - <menu_item_call label="Renommer" name="rename"/> - <menu_item_call label="Supprimer" name="delete"/> - <menu_item_call label="Développer tous les dossiers" name="expand_all"/> - <menu_item_call label="Réduire tous les dossiers" name="collapse_all"/> - <menu_item_check label="Trier par date" name="sort_by_date"/> - <menu_item_call label="Créer un favori" name="create_pick"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_profile_overflow.xml b/indra/newview/skins/minimal/xui/fr/menu_profile_overflow.xml deleted file mode 100644 index ddf898b7916..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_profile_overflow.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="profile_overflow_menu"> - <menu_item_call label="Carte" name="show_on_map"/> - <menu_item_call label="Payer" name="pay"/> - <menu_item_call label="Partager" name="share"/> - <menu_item_call label="Ignorer" name="block"/> - <menu_item_call label="Ne plus ignorer" name="unblock"/> - <menu_item_call label="Éjecter" name="kick"/> - <menu_item_call label="Figer" name="freeze"/> - <menu_item_call label="Libérer" name="unfreeze"/> - <menu_item_call label="Représentant du service consommateur" name="csr"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_save_outfit.xml b/indra/newview/skins/minimal/xui/fr/menu_save_outfit.xml deleted file mode 100644 index f78db411b39..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_save_outfit.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="save_outfit_menu"> - <menu_item_call label="Enregistrer" name="save_outfit"/> - <menu_item_call label="Enregistrer sous" name="save_as_new_outfit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_script_chiclet.xml b/indra/newview/skins/minimal/xui/fr/menu_script_chiclet.xml deleted file mode 100644 index 46efa30bd66..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_script_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="ScriptChiclet Menu"> - <menu_item_call label="Fermer" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_slurl.xml b/indra/newview/skins/minimal/xui/fr/menu_slurl.xml deleted file mode 100644 index ddfa5c0849c..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_slurl.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="À propos de l'URL" name="about_url"/> - <menu_item_call label="Téléporter vers l'URL" name="teleport_to_url"/> - <menu_item_call label="Carte" name="show_on_map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_teleport_history_gear.xml b/indra/newview/skins/minimal/xui/fr/menu_teleport_history_gear.xml deleted file mode 100644 index 3dea662cc24..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_teleport_history_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Teleport History Gear Context Menu"> - <menu_item_call label="Développer tous les dossiers" name="Expand all folders"/> - <menu_item_call label="Réduire tous les dossiers" name="Collapse all folders"/> - <menu_item_call label="Effacer l'historique des téléportations" name="Clear Teleport History"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_teleport_history_item.xml b/indra/newview/skins/minimal/xui/fr/menu_teleport_history_item.xml deleted file mode 100644 index fb4582dbce3..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_teleport_history_item.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Téléporter" name="Teleport"/> - <menu_item_call label="Plus d'informations" name="More Information"/> - <menu_item_call label="Copier dans le presse-papiers" name="CopyToClipboard"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_teleport_history_tab.xml b/indra/newview/skins/minimal/xui/fr/menu_teleport_history_tab.xml deleted file mode 100644 index 369680985de..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_teleport_history_tab.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Ouvrir" name="TabOpen"/> - <menu_item_call label="Fermer" name="TabClose"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_text_editor.xml b/indra/newview/skins/minimal/xui/fr/menu_text_editor.xml deleted file mode 100644 index b6f429aec99..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_text_editor.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Text editor context menu"> - <menu_item_call label="Couper" name="Cut"/> - <menu_item_call label="Copier" name="Copy"/> - <menu_item_call label="Coller" name="Paste"/> - <menu_item_call label="Supprimer" name="Delete"/> - <menu_item_call label="Tout sélectionner" name="Select All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_topinfobar.xml b/indra/newview/skins/minimal/xui/fr/menu_topinfobar.xml deleted file mode 100644 index dc68f40fe73..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_topinfobar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_topinfobar"> - <menu_item_check label="Afficher les coordonnées" name="Show Coordinates"/> - <menu_item_check label="Afficher les propriétés de la parcelle" name="Show Parcel Properties"/> - <menu_item_call label="Repère" name="Landmark"/> - <menu_item_call label="Copier" name="Copy"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_url_agent.xml b/indra/newview/skins/minimal/xui/fr/menu_url_agent.xml deleted file mode 100644 index 5ed627fbc33..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_url_agent.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Voir le profil du résident" name="show_agent"/> - <menu_item_call label="Copier le nom dans le presse-papiers" name="url_copy_label"/> - <menu_item_call label="Copier la SLurl dans le presse-papiers" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_url_group.xml b/indra/newview/skins/minimal/xui/fr/menu_url_group.xml deleted file mode 100644 index de90c3ff7e5..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_url_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Voir le profil du groupe" name="show_group"/> - <menu_item_call label="Copier le groupe dans le presse-papiers" name="url_copy_label"/> - <menu_item_call label="Copier la SLurl dans le presse-papiers" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_url_http.xml b/indra/newview/skins/minimal/xui/fr/menu_url_http.xml deleted file mode 100644 index 5e963529998..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_url_http.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Ouvrir la page Web" name="url_open"/> - <menu_item_call label="Ouvrir dans un navigateur interne" name="url_open_internal"/> - <menu_item_call label="Ouvrir dans un navigateur externe" name="url_open_external"/> - <menu_item_call label="Copier l'URL dans le presse-papiers" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_url_inventory.xml b/indra/newview/skins/minimal/xui/fr/menu_url_inventory.xml deleted file mode 100644 index 8ab88b4be7b..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_url_inventory.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Afficher l'article d'inventaire" name="show_item"/> - <menu_item_call label="Copier le nom dans le presse-papiers" name="url_copy_label"/> - <menu_item_call label="Copier la SLurl dans le presse-papiers" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_url_map.xml b/indra/newview/skins/minimal/xui/fr/menu_url_map.xml deleted file mode 100644 index 67e6986f5d9..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_url_map.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Voir sur la carte" name="show_on_map"/> - <menu_item_call label="Me téléporter à cet endroit" name="teleport_to_location"/> - <menu_item_call label="Copier la SLurl dans le presse-papiers" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_url_objectim.xml b/indra/newview/skins/minimal/xui/fr/menu_url_objectim.xml deleted file mode 100644 index f581c3ef9d8..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_url_objectim.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Afficher les informations sur l'objet" name="show_object"/> - <menu_item_call label="Voir sur la carte" name="show_on_map"/> - <menu_item_call label="Me téléporter à l'emplacement de l'objet" name="teleport_to_object"/> - <menu_item_call label="Copier le nom de l'objet dans le presse-papiers" name="url_copy_label"/> - <menu_item_call label="Copier la SLurl dans le presse-papiers" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_url_parcel.xml b/indra/newview/skins/minimal/xui/fr/menu_url_parcel.xml deleted file mode 100644 index 07b0eeca499..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_url_parcel.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Afficher les informations sur la parcelle" name="show_parcel"/> - <menu_item_call label="Voir sur la carte" name="show_on_map"/> - <menu_item_call label="Copier la SLurl dans le presse-papiers" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_url_slapp.xml b/indra/newview/skins/minimal/xui/fr/menu_url_slapp.xml deleted file mode 100644 index f4b7e212caf..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_url_slapp.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Exécuter cette commande" name="run_slapp"/> - <menu_item_call label="Copier la SLurl dans le presse-papiers" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_url_slurl.xml b/indra/newview/skins/minimal/xui/fr/menu_url_slurl.xml deleted file mode 100644 index e44943cf156..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_url_slurl.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Afficher les informations sur ce lieu" name="show_place"/> - <menu_item_call label="Voir sur la carte" name="show_on_map"/> - <menu_item_call label="Me téléporter à cet endroit" name="teleport_to_location"/> - <menu_item_call label="Copier la SLurl dans le presse-papiers" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_url_teleport.xml b/indra/newview/skins/minimal/xui/fr/menu_url_teleport.xml deleted file mode 100644 index a5075a2740d..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_url_teleport.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Me téléporter à cet endroit." name="teleport"/> - <menu_item_call label="Voir sur la carte" name="show_on_map"/> - <menu_item_call label="Copier la SLurl dans le presse-papiers" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_viewer.xml b/indra/newview/skins/minimal/xui/fr/menu_viewer.xml deleted file mode 100644 index bd1c077f529..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_viewer.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Main Menu"> - <menu label="Aide" name="Help"> - <menu_item_call label="Aide de [SECOND_LIFE]" name="Second Life Help"/> - </menu> - <menu label="Avancé" name="Advanced"> - <menu label="Raccourcis" name="Shortcuts"> - <menu_item_check label="Voler" name="Fly"/> - <menu_item_call label="Fermer la fenêtre" name="Close Window"/> - <menu_item_call label="Fermer toutes les fenêtres" name="Close All Windows"/> - <menu_item_call label="Réinitialiser la vue" name="Reset View"/> - </menu> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/fr/menu_wearable_list_item.xml b/indra/newview/skins/minimal/xui/fr/menu_wearable_list_item.xml deleted file mode 100644 index 187cb4bcd2c..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_wearable_list_item.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit Wearable Context Menu"> - <menu_item_call label="Remplacer" name="wear_replace"/> - <menu_item_call label="Porter" name="wear_wear"/> - <menu_item_call label="Ajouter" name="wear_add"/> - <menu_item_call label="Enlever / Détacher" name="take_off_or_detach"/> - <menu_item_call label="Détacher" name="detach"/> - <context_menu label="Attacher à " name="wearable_attach_to"/> - <context_menu label="Attacher au HUD" name="wearable_attach_to_hud"/> - <menu_item_call label="Enlever" name="take_off"/> - <menu_item_call label="Modifier" name="edit"/> - <menu_item_call label="Profil de l'article" name="object_profile"/> - <menu_item_call label="Afficher l'original" name="show_original"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_wearing_gear.xml b/indra/newview/skins/minimal/xui/fr/menu_wearing_gear.xml deleted file mode 100644 index 0ca9fe18791..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_wearing_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Wearing"> - <menu_item_call label="Modifier la tenue" name="edit"/> - <menu_item_call label="Enlever" name="takeoff"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_wearing_tab.xml b/indra/newview/skins/minimal/xui/fr/menu_wearing_tab.xml deleted file mode 100644 index 4d884455069..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_wearing_tab.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Wearing"> - <menu_item_call label="Enlever" name="take_off"/> - <menu_item_call label="Détacher" name="detach"/> - <menu_item_call label="Modifier la tenue" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/notifications.xml b/indra/newview/skins/minimal/xui/fr/notifications.xml deleted file mode 100644 index 05fa03cdc19..00000000000 --- a/indra/newview/skins/minimal/xui/fr/notifications.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<notifications> - <notification name="UserGiveItem"> - [NAME_SLURL] vous offre [ITEM_SLURL]. Pour utiliser cet article, vous devez passer en mode Avancé. L'article se trouve dans votre inventaire. Pour changer de mode, quittez l'application, redémarrez-la, puis sélectionnez un autre mode sur l'écran de connexion. - <form name="form"> - <button name="Show" text="Garder l'article"/> - <button name="Discard" text="Refuser l'article"/> - <button name="Mute" text="Ignorer l'utilisateur"/> - </form> - </notification> - <notification name="ObjectGiveItem"> - Un objet nommé <nolink>[OBJECTFROMNAME]</nolink> appartenant à [NAME_SLURL] vous offre <nolink>[ITEM_SLURL]</nolink>. Pour utiliser cet article, vous devez passer en mode Avancé. L'article se trouve dans votre inventaire. Pour changer de mode, quittez l'application, redémarrez-la, puis sélectionnez un autre mode sur l'écran de connexion. - <form name="form"> - <button name="Keep" text="Garder l'article"/> - <button name="Discard" text="Refuser l'article"/> - <button name="Mute" text="Ignorer l'objet"/> - </form> - </notification> -</notifications> diff --git a/indra/newview/skins/minimal/xui/fr/panel_adhoc_control_panel.xml b/indra/newview/skins/minimal/xui/fr/panel_adhoc_control_panel.xml deleted file mode 100644 index 376a7d2b725..00000000000 --- a/indra/newview/skins/minimal/xui/fr/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="call_btn_panel"> - <button label="Appeler" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Quitter l'appel" name="end_call_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/fr/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/fr/panel_bottomtray.xml deleted file mode 100644 index 094d3e66de7..00000000000 --- a/indra/newview/skins/minimal/xui/fr/panel_bottomtray.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="bottom_tray"> - <string name="DragIndicationImageName" value="Accordion_ArrowOpened_Off"/> - <string name="SpeakBtnToolTip" value="Active/Désactive le micro"/> - <string name="VoiceControlBtnToolTip" value="Affiche/Masque le panneau de contrôle de la voix"/> - <layout_stack name="toolbar_stack"> - <layout_panel name="speak_panel"> - <button label="Parler" name="speak_btn" tool_tip="Activer/désactiver le micro."/> - </layout_panel> - <layout_panel name="speak_flyout_panel"> - <button label="" name="flyout_btn" tool_tip="Modifier les préférences audio."/> - </layout_panel> - <layout_panel name="gesture_panel"> - <gesture_combo_list label="Geste" name="Gesture" tool_tip="Faire faire des gestes à votre avatar."/> - </layout_panel> - <layout_panel name="cam_panel"> - <bottomtray_button label="Affichage" name="camera_btn" tool_tip="Contrôler l'angle de la caméra."/> - </layout_panel> - <layout_panel name="destinations_panel"> - <bottomtray_button label="Destinations" name="destination_btn" tool_tip="Voyager à travers Second Life."/> - </layout_panel> - <layout_panel name="avatar_panel"> - <bottomtray_button label="Mon avatar" name="avatar_btn" tool_tip="Modifier votre apparence."/> - </layout_panel> - <layout_panel name="people_panel"> - <bottomtray_button label="Personnes" name="show_people_button" tool_tip="Trouver des personnes dans Second Life."/> - </layout_panel> - <layout_panel name="profile_panel"> - <bottomtray_button label="Profil" name="show_profile_btn" tool_tip="Afficher et modifier votre profil."/> - </layout_panel> - <layout_panel name="howto_panel"> - <bottomtray_button label="Aide rapide" name="show_help_btn" tool_tip="Afficher des infos d'aide sur Second Life."/> - </layout_panel> - <layout_panel name="im_well_panel"> - <chiclet_im_well name="im_well"> - <button name="Unread IM messages" tool_tip="Conversations"/> - </chiclet_im_well> - </layout_panel> - <layout_panel name="notification_well_panel"> - <chiclet_notification name="notification_well"> - <button name="Unread" tool_tip="Notifications"/> - </chiclet_notification> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/fr/panel_group_control_panel.xml b/indra/newview/skins/minimal/xui/fr/panel_group_control_panel.xml deleted file mode 100644 index 676fa1d2229..00000000000 --- a/indra/newview/skins/minimal/xui/fr/panel_group_control_panel.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="end_call_btn_panel"> - <button label="Quitter l'appel" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Ouvrir contrôles vocaux" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/fr/panel_im_control_panel.xml b/indra/newview/skins/minimal/xui/fr/panel_im_control_panel.xml deleted file mode 100644 index 1643cf3229f..00000000000 --- a/indra/newview/skins/minimal/xui/fr/panel_im_control_panel.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="Profil" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="Devenir amis" name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="Téléporter" name="teleport_btn" tool_tip="Proposer de téléporter cette personne."/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Appeler" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Quitter l'appel" name="end_call_btn"/> - </layout_panel> - <layout_panel name="block_btn_panel"> - <button label="Ignorer" name="block_btn"/> - </layout_panel> - <layout_panel name="unblock_btn_panel"> - <button label="Ne plus ignorer" name="unblock_btn"/> - </layout_panel> - <layout_panel name="volume_ctrl_panel"> - <slider name="volume_slider" tool_tip="Volume de l'appel." value="0,5"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/fr/panel_login.xml b/indra/newview/skins/minimal/xui/fr/panel_login.xml deleted file mode 100644 index 0869778a547..00000000000 --- a/indra/newview/skins/minimal/xui/fr/panel_login.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_login"> - <panel.string name="create_account_url"> - http://fr.secondlife.com/registration/ - </panel.string> - <panel.string name="forgot_password_url"> - http://secondlife.com/account/request.php?lang=fr - </panel.string> - <layout_stack name="login_widgets"> - <layout_panel name="login"> - <text name="username_text"> - Nom d'utilisateur : - </text> - <combo_box name="username_combo" tool_tip="Nom d'utilisateur que vous avez choisi lors de votre inscription (par exemple, bobsmith12 ou Steller Sunshine)."/> - <text name="password_text"> - Mot de passe : - </text> - <check_box label="Enregistrer" name="remember_check"/> - <button label="Connexion" name="connect_btn"/> - <text name="mode_selection_text"> - Mode : - </text> - <combo_box name="mode_combo" tool_tip="Sélectionnez un mode. Pour une exploration facile et rapide avec chat, choisissez Basique. Pour accéder à plus de fonctionnalités, choisissez Avancé."> - <combo_box.item label="Basique" name="Basic"/> - <combo_box.item label="Avancé" name="Advanced"/> - </combo_box> - </layout_panel> - <layout_panel name="links"> - <text name="create_new_account_text"> - S'inscrire - </text> - <text name="forgot_password_text"> - Nom d'utilisateur ou mot de passe oublié ? - </text> - <text name="login_help"> - Besoin d'aide ? - </text> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/fr/panel_navigation_bar.xml b/indra/newview/skins/minimal/xui/fr/panel_navigation_bar.xml deleted file mode 100644 index 45caf2323d2..00000000000 --- a/indra/newview/skins/minimal/xui/fr/panel_navigation_bar.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="navigation_bar"> - <panel name="navigation_panel"> - <pull_button name="back_btn" tool_tip="Revenir à l'emplacement précédent"/> - <pull_button name="forward_btn" tool_tip="Avancer d'un emplacement"/> - <button name="home_btn" tool_tip="Me téléporter jusqu'à mon domicile"/> - <location_input label="Emplacement" name="location_combo"/> - <search_combo_box label="Rechercher" name="search_combo_box" tool_tip="Rechercher"> - <combo_editor label="Rechercher dans [SECOND_LIFE]" name="search_combo_editor"/> - </search_combo_box> - </panel> - <favorites_bar name="favorite" tool_tip="Faites glisser des repères ici pour un accès rapide à vos lieux favoris dans Second Life."> - <label name="favorites_bar_label" tool_tip="Faites glisser des repères ici pour un accès rapide à vos lieux favoris dans Second Life."> - Favoris - </label> - <chevron_button name=">>" tool_tip="Afficher d'avantage de Favoris"/> - </favorites_bar> -</panel> diff --git a/indra/newview/skins/minimal/xui/fr/panel_people.xml b/indra/newview/skins/minimal/xui/fr/panel_people.xml deleted file mode 100644 index 427a420b916..00000000000 --- a/indra/newview/skins/minimal/xui/fr/panel_people.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- Side tray panel --> -<panel label="Résidents" name="people_panel"> - <string name="no_recent_people" value="Personne de récent. Vous recherchez des résidents avec qui passer du temps ? Essayez avec le bouton Destinations ci-dessous."/> - <string name="no_filtered_recent_people" value="Personne de récent portant ce nom."/> - <string name="no_one_near" value="Personne près de vous. Vous recherchez des résidents avec qui passer du temps ? Essayez avec le bouton Destinations ci-dessous."/> - <string name="no_one_filtered_near" value="Personne près de vous portant ce nom."/> - <string name="no_friends_online" value="Pas d'amis connectés"/> - <string name="no_friends" value="Pas d'amis"/> - <string name="no_friends_msg"> - Pour ajouter un résident à votre liste d'amis, cliquez-droit dessus. -Vous recherchez des résidents avec qui passer du temps ? Essayez avec le bouton Destinations ci-dessous. - </string> - <string name="no_filtered_friends_msg"> - Vous n'avez pas trouvé ce que vous cherchiez ? Essayez avec le bouton Destinations ci-dessous. - </string> - <string name="people_filter_label" value="Filtrer les personnes"/> - <string name="groups_filter_label" value="Filtrer les groupes"/> - <string name="no_filtered_groups_msg" value="Vous n'avez pas trouvé ce que vous cherchiez ? Essayez [secondlife:///app/search/groups/[SEARCH_TERM] Rechercher]."/> - <string name="no_groups_msg" value="Vous souhaitez trouver des groupes à rejoindre ? Utilisez [secondlife:///app/search/groups Rechercher]."/> - <string name="MiniMapToolTipMsg" value="[REGION](Carte : double-clic ; Panoramique : Maj + faire glisser)"/> - <string name="AltMiniMapToolTipMsg" value="[REGION](Téléportation : double-clic ; Panoramique : Maj + faire glisser)"/> - <filter_editor label="Filtre" name="filter_input"/> - <tab_container name="tabs"> - <panel label="PRÈS DE VOUS" name="nearby_panel"> - <panel label="bottom_panel" name="bottom_panel"/> - </panel> - <panel label="MES AMIS" name="friends_panel"> - <accordion name="friends_accordion"> - <accordion_tab name="tab_online" title="En ligne"/> - <accordion_tab name="tab_all" title="Tout"/> - </accordion> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel"> - <layout_panel name="trash_btn_panel"> - <dnd_button name="del_btn" tool_tip="Supprimer le résident sélectionné de votre liste d'amis."/> - </layout_panel> - </layout_stack> - </panel> - </panel> - <panel label="RÉCENT" name="recent_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <button name="add_friend_btn" tool_tip="Ajouter le résident sélectionné à votre liste d'amis"/> - </panel> - </panel> - </tab_container> - <panel name="button_bar"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="view_profile_btn_lp"> - <button label="Profil" name="view_profile_btn" tool_tip="Afficher la photo, les groupes et autres infos des résidents"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im_btn" tool_tip="Ouvrir une session IM."/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Appeler" name="call_btn" tool_tip="Appeler ce résident."/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Téléporter" name="teleport_btn" tool_tip="Proposer une téléportation."/> - </layout_panel> - </layout_stack> - <layout_stack name="bottom_bar_ls1"> - <layout_panel name="group_info_btn_lp"> - <button label="Profil du groupe" name="group_info_btn" tool_tip="Afficher les informations sur le groupe"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="Chat de groupe" name="chat_btn" tool_tip="Ouvrir une session de chat"/> - </layout_panel> - <layout_panel name="group_call_btn_lp"> - <button label="Appel de groupe" name="group_call_btn" tool_tip="Appeler ce groupe"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/minimal/xui/fr/panel_side_tray_tab_caption.xml b/indra/newview/skins/minimal/xui/fr/panel_side_tray_tab_caption.xml deleted file mode 100644 index 45efbdc980c..00000000000 --- a/indra/newview/skins/minimal/xui/fr/panel_side_tray_tab_caption.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="sidetray_tab_panel"> - <text name="sidetray_tab_title" value="Panneau latéral"/> - <button name="undock" tool_tip="Détacher"/> - <button name="dock" tool_tip="Attacher"/> - <button name="show_help" tool_tip="Afficher l'aide"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/fr/panel_status_bar.xml b/indra/newview/skins/minimal/xui/fr/panel_status_bar.xml deleted file mode 100644 index 69aec99e1d8..00000000000 --- a/indra/newview/skins/minimal/xui/fr/panel_status_bar.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="status"> - <panel.string name="StatBarDaysOfWeek"> - Sunday:Monday:Tuesday:Wednesday:Thursday:Friday:Saturday - </panel.string> - <panel.string name="StatBarMonthsOfYear"> - January:February:March:April:May:June:July:August:September:October:November:December - </panel.string> - <panel.string name="packet_loss_tooltip"> - Perte de paquets - </panel.string> - <panel.string name="bandwidth_tooltip"> - Bande passante - </panel.string> - <panel.string name="time"> - [hour12, datetime, slt]:[min, datetime, slt] [ampm, datetime, slt] [timezone,datetime, slt] - </panel.string> - <panel.string name="timeTooltip"> - [weekday, datetime, slt] [sday, datetime, slt] [month, datetime, slt] [year, datetime, slt] - </panel.string> - <panel.string name="buycurrencylabel"> - [AMT] L$ - </panel.string> - <panel name="balance_bg"> - <text name="balance" tool_tip="Cliquer sur ce bouton pour actualiser votre solde en L$." value="20 L$"/> - <button label="ACHETER L$" name="buyL" tool_tip="Cliquer pour acheter plus de L$"/> - </panel> - <text name="TimeText" tool_tip="Heure actuelle (Pacifique)"> - 00h00 PST - </text> - <button name="media_toggle_btn" tool_tip="Arrêter tous les médias (musique, vidéo, pages web)"/> - <button name="volume_btn" tool_tip="Contrôle du volume global"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/it/floater_camera.xml b/indra/newview/skins/minimal/xui/it/floater_camera.xml deleted file mode 100644 index 3fdf4f48a22..00000000000 --- a/indra/newview/skins/minimal/xui/it/floater_camera.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="camera_floater" title=""> - <floater.string name="rotate_tooltip"> - Ruota la telecamera Intorno all'Inquadratura - </floater.string> - <floater.string name="zoom_tooltip"> - Avvicina la telecamera nell'inquadratura - </floater.string> - <floater.string name="move_tooltip"> - Muovi la telecamera su e giù e a sinistra e destra - </floater.string> - <floater.string name="camera_modes_title"> - Modalità della fotocamera - </floater.string> - <floater.string name="pan_mode_title"> - Ruota visuale - Ingrandisci - Panoramica - </floater.string> - <floater.string name="presets_mode_title"> - Visuali predefinite - </floater.string> - <floater.string name="free_mode_title"> - Vedi oggetto - </floater.string> - <panel name="controls"> - <panel name="preset_views_list"> - <panel_camera_item name="front_view"> - <panel_camera_item.text name="front_view_text"> - Visuale frontale - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="group_view"> - <panel_camera_item.text name="side_view_text"> - Visuale laterale - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="rear_view"> - <panel_camera_item.text name="rear_view_text"> - Visuale posteriore - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="camera_modes_list"> - <panel_camera_item name="object_view"> - <panel_camera_item.text name="object_view_text"> - Visuale oggetto - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="mouselook_view"> - <panel_camera_item.text name="mouselook_view_text"> - Visuale soggettiva - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="zoom" tool_tip="Avvicina la telecamera nell'inquadratura"> - <joystick_rotate name="cam_rotate_stick" tool_tip="Ruota la visuale intorno al punto focale"/> - <slider_bar name="zoom_slider" tool_tip="Zoom verso il centro focale"/> - <joystick_track name="cam_track_stick" tool_tip="Sposta la visuale in su e in giù, a sinistra e a destra"/> - </panel> - </panel> - <panel name="buttons"> - <button label="" name="presets_btn" tool_tip="Visuali predefinite"/> - <button label="" name="pan_btn" tool_tip="Ruota visuale - Ingrandisci - Panoramica"/> - <button label="" name="avatarview_btn" tool_tip="Modalità della fotocamera"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/it/floater_help_browser.xml b/indra/newview/skins/minimal/xui/it/floater_help_browser.xml deleted file mode 100644 index 18264cdd17c..00000000000 --- a/indra/newview/skins/minimal/xui/it/floater_help_browser.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_help_browser" title="ISTRUZIONI"> - <floater.string name="loading_text"> - Caricamento in corso... - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="external_controls"/> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/it/floater_media_browser.xml b/indra/newview/skins/minimal/xui/it/floater_media_browser.xml deleted file mode 100644 index b1e87290d2f..00000000000 --- a/indra/newview/skins/minimal/xui/it/floater_media_browser.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="BROWSER MULTIMEDIA"> - <floater.string name="home_page_url"> - http://www.secondlife.com - </floater.string> - <floater.string name="support_page_url"> - http://support.secondlife.com - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button label="Indietro" name="back" width="75"/> - <button label="Avanti" left_delta="75" name="forward" width="70"/> - <button label="Ricarica" left_delta="75" name="reload"/> - <combo_box left_delta="75" name="address" width="510"/> - <button label="Vai" left_delta="515" name="go"/> - </layout_panel> - <layout_panel name="time_controls"> - <button label="indietro rapido" name="rewind"/> - <button label="stop" name="stop"/> - <button label="avanti" name="seek"/> - </layout_panel> - <layout_panel name="parcel_owner_controls"> - <button label="Invia la pagina attuale al lotto" name="assign"/> - </layout_panel> - <layout_panel name="external_controls"> - <button label="Apri nel mio browser Web" name="open_browser"/> - <check_box label="Apri sempre nel mio browser Web" name="open_always"/> - <button label="Chiudi" name="close"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/it/floater_nearby_chat.xml b/indra/newview/skins/minimal/xui/it/floater_nearby_chat.xml deleted file mode 100644 index 4c41df8a62c..00000000000 --- a/indra/newview/skins/minimal/xui/it/floater_nearby_chat.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="CHAT NEI DINTORNI"> - <check_box label="Traduci chat (tecnologia Google)" name="translate_chat_checkbox"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/it/floater_web_content.xml b/indra/newview/skins/minimal/xui/it/floater_web_content.xml deleted file mode 100644 index 5603e85417a..00000000000 --- a/indra/newview/skins/minimal/xui/it/floater_web_content.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_web_content" title=""> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button name="back" tool_tip="Naviga indietro"/> - <button name="forward" tool_tip="Naviga avanti"/> - <button name="stop" tool_tip="Interrompi navigazione"/> - <button name="reload" tool_tip="Ricarica pagina"/> - <combo_box name="address" tool_tip="Inserisci URL qui"/> - <icon name="media_secure_lock_flag" tool_tip="Navigazione sicura"/> - <button name="popexternal" tool_tip="Apri URL corrente nel browser del computer"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/it/inspect_avatar.xml b/indra/newview/skins/minimal/xui/it/inspect_avatar.xml deleted file mode 100644 index 6f52aaef741..00000000000 --- a/indra/newview/skins/minimal/xui/it/inspect_avatar.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_avatar"> - <string name="Subtitle"> - [AGE] - </string> - <string name="Details"> - [SL_PROFILE] - </string> - <text name="user_name_small" value="Grumpity ProductEngine con un nome lungo"/> - <text name="user_slid" value="james.linden"/> - <text name="user_details"> - Questa è la mia descrizione in second life e penso che sia perfetta. Ma per qualche motivo la mia descrizione è davvero molto lunga, perché mi piace parlare a lungo - </text> - <slider name="volume_slider" tool_tip="Volume voce" value="0.5"/> - <button label="Aggiungi amico" name="add_friend_btn"/> - <button label="IM" name="im_btn"/> - <button label="Profilo" name="view_profile_btn"/> - <panel name="moderator_panel"> - <button label="Disattiva voce" name="disable_voice"/> - <button label="Attiva voce" name="enable_voice"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/it/inspect_object.xml b/indra/newview/skins/minimal/xui/it/inspect_object.xml deleted file mode 100644 index d8ab10cfda6..00000000000 --- a/indra/newview/skins/minimal/xui/it/inspect_object.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_object"> - <string name="Creator"> - Di [CREATOR] - </string> - <string name="CreatorAndOwner"> - Di [CREATOR] -Proprietario [OWNER] - </string> - <string name="Price"> - L$ [AMOUNT] - </string> - <string name="PriceFree"> - Gratis! - </string> - <string name="Touch"> - Tocca - </string> - <string name="Sit"> - Siediti - </string> - <text name="object_name" value="Nome oggetto di prova che si trova su due righe ed è molto lungo"/> - <text name="price_text"> - L$ 30.000 - </text> - <text name="object_description"> - Questa è una descrizione di un oggetto che è molto lunga ed è di almeno 80 caratteri, ma potrebbe essere di 120 caratteri a questo punto. Chi lo sa veramente? - </text> - <button label="Acquista" name="buy_btn"/> - <button label="Paga" name="pay_btn"/> - <button label="Prendi copia" name="take_free_copy_btn"/> - <button label="Tocca" name="touch_btn"/> - <button label="Siediti" name="sit_btn"/> - <button label="Apri" name="open_btn"/> - <icon name="secure_browsing" tool_tip="Browsing sicuro"/> - <button label="Altro" name="more_info_btn"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/it/menu_add_wearable_gear.xml b/indra/newview/skins/minimal/xui/it/menu_add_wearable_gear.xml deleted file mode 100644 index 46abd7deedd..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_add_wearable_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Add Wearable Gear Menu"> - <menu_item_check label="Mostra prima i più recenti" name="sort_by_most_recent"/> - <menu_item_check label="Ordina in base al nome" name="sort_by_name"/> - <menu_item_check label="Ordina in base al tipo" name="sort_by_type"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_attachment_other.xml b/indra/newview/skins/minimal/xui/it/menu_attachment_other.xml deleted file mode 100644 index d4d6fd68d0b..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_attachment_other.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_avatar_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Vedi profilo" name="Profile..."/> - <menu_item_call label="Aggiungi amico" name="Add Friend"/> - <menu_item_call label="IM" name="Send IM..."/> - <menu_item_call label="Chiama" name="Call"/> - <menu_item_call label="Invita al gruppo" name="Invite..."/> - <menu_item_call label="Blocca" name="Avatar Mute"/> - <menu_item_call label="Segnala" name="abuse"/> - <menu_item_call label="Congela" name="Freeze..."/> - <menu_item_call label="Espelli" name="Eject..."/> - <menu_item_call label="Debug delle texture" name="Debug..."/> - <menu_item_call label="Zoom avanti" name="Zoom In"/> - <menu_item_call label="Paga" name="Pay..."/> - <menu_item_call label="Profilo dell'oggetto" name="Object Inspect"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_attachment_self.xml b/indra/newview/skins/minimal/xui/it/menu_attachment_self.xml deleted file mode 100644 index 0b841d591f2..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_attachment_self.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Attachment Pie"> - <menu_item_call label="Tocca" name="Attachment Object Touch"/> - <menu_item_call label="Modifica" name="Edit..."/> - <menu_item_call label="Stacca" name="Detach"/> - <menu_item_call label="Siedi" name="Sit Down Here"/> - <menu_item_call label="Alzati" name="Stand Up"/> - <menu_item_call label="Il mio aspetto" name="Change Outfit"/> - <menu_item_call label="Modifica il mio vestiario" name="Edit Outfit"/> - <menu_item_call label="Modifica la figura corporea" name="Edit My Shape"/> - <menu_item_call label="I miei amici..." name="Friends..."/> - <menu_item_call label="I miei gruppi" name="Groups..."/> - <menu_item_call label="Il mio profilo" name="Profile..."/> - <menu_item_call label="Debug delle texture" name="Debug..."/> - <menu_item_call label="Lascia" name="Drop"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_avatar_icon.xml b/indra/newview/skins/minimal/xui/it/menu_avatar_icon.xml deleted file mode 100644 index b93b6953008..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_avatar_icon.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Avatar Icon Menu"> - <menu_item_call label="Vedi profilo" name="Show Profile"/> - <menu_item_call label="Manda IM..." name="Send IM"/> - <menu_item_call label="Aggiungi come amico..." name="Add Friend"/> - <menu_item_call label="Togli amicizia..." name="Remove Friend"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_avatar_other.xml b/indra/newview/skins/minimal/xui/it/menu_avatar_other.xml deleted file mode 100644 index c2edc32a49a..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_avatar_other.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_attachment_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Vedi profilo" name="Profile..."/> - <menu_item_call label="Aggiungi amico" name="Add Friend"/> - <menu_item_call label="IM" name="Send IM..."/> - <menu_item_call label="Chiama" name="Call"/> - <menu_item_call label="Invita al gruppo" name="Invite..."/> - <menu_item_call label="Blocca" name="Avatar Mute"/> - <menu_item_call label="Segnala" name="abuse"/> - <menu_item_call label="Congela" name="Freeze..."/> - <menu_item_call label="Espelli" name="Eject..."/> - <menu_item_call label="Debug delle texture" name="Debug..."/> - <menu_item_call label="Zoom avanti" name="Zoom In"/> - <menu_item_call label="Paga" name="Pay..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_avatar_self.xml b/indra/newview/skins/minimal/xui/it/menu_avatar_self.xml deleted file mode 100644 index a4dafd7b5f4..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_avatar_self.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Self Pie"> - <menu_item_call label="Siedi" name="Sit Down Here"/> - <menu_item_call label="Alzati" name="Stand Up"/> - <context_menu label="Togli" name="Take Off >"> - <context_menu label="Abiti" name="Clothes >"> - <menu_item_call label="Camicia" name="Shirt"/> - <menu_item_call label="Pantaloni" name="Pants"/> - <menu_item_call label="Gonna" name="Skirt"/> - <menu_item_call label="Scarpe" name="Shoes"/> - <menu_item_call label="Calzini" name="Socks"/> - <menu_item_call label="Giacca" name="Jacket"/> - <menu_item_call label="Guanti" name="Gloves"/> - <menu_item_call label="Maglietta intima" name="Self Undershirt"/> - <menu_item_call label="Slip" name="Self Underpants"/> - <menu_item_call label="Tatuaggio" name="Self Tattoo"/> - <menu_item_call label="Fisica" name="Self Physics"/> - <menu_item_call label="Alpha (Trasparenza)" name="Self Alpha"/> - <menu_item_call label="Tutti gli abiti" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="Stacca" name="Object Detach"/> - <menu_item_call label="Stacca tutto" name="Detach All"/> - </context_menu> - <menu_item_call label="Il mio aspetto" name="Chenge Outfit"/> - <menu_item_call label="Modifica il mio vestiario" name="Edit Outfit"/> - <menu_item_call label="Modifica la figura corporea" name="Edit My Shape"/> - <menu_item_call label="I miei amici..." name="Friends..."/> - <menu_item_call label="I miei gruppi" name="Groups..."/> - <menu_item_call label="Il mio profilo" name="Profile..."/> - <menu_item_call label="Debug delle texture" name="Debug..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_bottomtray.xml b/indra/newview/skins/minimal/xui/it/menu_bottomtray.xml deleted file mode 100644 index ddd6909136e..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_bottomtray.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_camera_move_controls_menu"> - <menu_item_check label="Pulsante Parla" name="EnableVoiceChat"/> - <menu_item_check label="Tasto Gesture" name="ShowGestureButton"/> - <menu_item_check label="Tasto Movimento" name="ShowMoveButton"/> - <menu_item_check label="Tasto Visuale" name="ShowCameraButton"/> - <menu_item_check label="Tasto Foto" name="ShowSnapshotButton"/> - <menu_item_check label="Pulsante Costruisci" name="ShowBuildButton"/> - <menu_item_check label="Pulsante Cerca" name="ShowSearchButton"/> - <menu_item_check label="Pulsante Mappa" name="ShowWorldMapButton"/> - <menu_item_check label="Pulsante Mini mappa" name="ShowMiniMapButton"/> - <menu_item_call label="Taglia" name="NearbyChatBar_Cut"/> - <menu_item_call label="Copia" name="NearbyChatBar_Copy"/> - <menu_item_call label="Incolla" name="NearbyChatBar_Paste"/> - <menu_item_call label="Elimina" name="NearbyChatBar_Delete"/> - <menu_item_call label="Seleziona tutto" name="NearbyChatBar_Select_All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_cof_attachment.xml b/indra/newview/skins/minimal/xui/it/menu_cof_attachment.xml deleted file mode 100644 index 699490c8f1d..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_cof_attachment.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Attachment"> - <menu_item_call label="Stacca" name="detach"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_cof_body_part.xml b/indra/newview/skins/minimal/xui/it/menu_cof_body_part.xml deleted file mode 100644 index 1e3658ef45d..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_cof_body_part.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Body"> - <menu_item_call label="Sostituisci" name="replace"/> - <menu_item_call label="Modifica" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_cof_clothing.xml b/indra/newview/skins/minimal/xui/it/menu_cof_clothing.xml deleted file mode 100644 index 1e16ce8ed14..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_cof_clothing.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Clothing"> - <menu_item_call label="Togli" name="take_off"/> - <menu_item_call label="Modifica" name="edit"/> - <menu_item_call label="Sostituisci" name="replace"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_cof_gear.xml b/indra/newview/skins/minimal/xui/it/menu_cof_gear.xml deleted file mode 100644 index 10524ba92d0..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_cof_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear COF"> - <menu label="Nuovi abiti" name="COF.Gear.New_Clothes"/> - <menu label="Nuove parti del corpo" name="COF.Geear.New_Body_Parts"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_edit.xml b/indra/newview/skins/minimal/xui/it/menu_edit.xml deleted file mode 100644 index ffb20a02e9a..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_edit.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu label="Modifica" name="Edit"> - <menu_item_call label="Annulla" name="Undo"/> - <menu_item_call label="Ripeti" name="Redo"/> - <menu_item_call label="Taglia" name="Cut"/> - <menu_item_call label="Copia" name="Copy"/> - <menu_item_call label="Incolla" name="Paste"/> - <menu_item_call label="Elimina" name="Delete"/> - <menu_item_call label="Duplica" name="Duplicate"/> - <menu_item_call label="Seleziona tutto" name="Select All"/> - <menu_item_call label="Deseleziona" name="Deselect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_favorites.xml b/indra/newview/skins/minimal/xui/it/menu_favorites.xml deleted file mode 100644 index 7813ef44b52..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_favorites.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Teleport" name="Teleport To Landmark"/> - <menu_item_call label="Vedi/Modifica punto di riferimento" name="Landmark Open"/> - <menu_item_call label="Copia SLurl" name="Copy slurl"/> - <menu_item_call label="Mostra sulla mappa" name="Show On Map"/> - <menu_item_call label="Copia" name="Landmark Copy"/> - <menu_item_call label="Incolla" name="Landmark Paste"/> - <menu_item_call label="Elimina" name="Delete"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_gesture_gear.xml b/indra/newview/skins/minimal/xui/it/menu_gesture_gear.xml deleted file mode 100644 index 7cfcc6287e0..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_gesture_gear.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_gesture_gear"> - <menu_item_call label="Aggiungi/Rimuovi dai preferiti" name="activate"/> - <menu_item_call label="Copia" name="copy_gesture"/> - <menu_item_call label="Incolla" name="paste"/> - <menu_item_call label="Copia UUID" name="copy_uuid"/> - <menu_item_call label="Salva vestiario" name="save_to_outfit"/> - <menu_item_call label="Modifica" name="edit_gesture"/> - <menu_item_call label="Ispeziona" name="inspect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_group_plus.xml b/indra/newview/skins/minimal/xui/it/menu_group_plus.xml deleted file mode 100644 index 3b76fb94a92..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_group_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Aderisci al gruppo..." name="item_join"/> - <menu_item_call label="Nuovo gruppo..." name="item_new"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_hide_navbar.xml b/indra/newview/skins/minimal/xui/it/menu_hide_navbar.xml deleted file mode 100644 index 2c2c6c4bc57..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_hide_navbar.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_navbar_menu"> - <menu_item_check label="Mostra la barra di navigazione" name="ShowNavbarNavigationPanel"/> - <menu_item_check label="Mostra la barra dei Preferiti" name="ShowNavbarFavoritesPanel"/> - <menu_item_check label="Mostra mini barra del luogo" name="ShowMiniLocationPanel"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_im_well_button.xml b/indra/newview/skins/minimal/xui/it/menu_im_well_button.xml deleted file mode 100644 index 9e471b771c7..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_im_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="IM Well Button Context Menu"> - <menu_item_call label="Chiudi tutto" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_imchiclet_adhoc.xml b/indra/newview/skins/minimal/xui/it/menu_imchiclet_adhoc.xml deleted file mode 100644 index f78ed8489fe..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_imchiclet_adhoc.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet AdHoc Menu"> - <menu_item_call label="Fine sessione" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_imchiclet_group.xml b/indra/newview/skins/minimal/xui/it/menu_imchiclet_group.xml deleted file mode 100644 index baa4e671b07..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_imchiclet_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet Group Menu"> - <menu_item_call label="Informazioni sul gruppo" name="Show Profile"/> - <menu_item_call label="Mostra sessione" name="Chat"/> - <menu_item_call label="Fine sessione" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_imchiclet_p2p.xml b/indra/newview/skins/minimal/xui/it/menu_imchiclet_p2p.xml deleted file mode 100644 index 2eacbb09ad7..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_imchiclet_p2p.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet P2P Menu"> - <menu_item_call label="Vedi profilo" name="Show Profile"/> - <menu_item_call label="Aggiungi amico" name="Add Friend"/> - <menu_item_call label="Mostra sessione" name="Send IM"/> - <menu_item_call label="Fine sessione" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_inspect_avatar_gear.xml b/indra/newview/skins/minimal/xui/it/menu_inspect_avatar_gear.xml deleted file mode 100644 index 1f10734c4ac..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Vedi profilo" name="view_profile"/> - <menu_item_call label="Aggiungi amico" name="add_friend"/> - <menu_item_call label="IM" name="im"/> - <menu_item_call label="Chiama" name="call"/> - <menu_item_call label="Teleport" name="teleport"/> - <menu_item_call label="Invita al gruppo" name="invite_to_group"/> - <menu_item_call label="Blocca" name="block"/> - <menu_item_call label="Sblocca" name="unblock"/> - <menu_item_call label="Segnala" name="report"/> - <menu_item_call label="Congela" name="freeze"/> - <menu_item_call label="Espelli" name="eject"/> - <menu_item_call label="Espelli" name="kick"/> - <menu_item_call label="CSR" name="csr"/> - <menu_item_call label="Debug delle texture" name="debug"/> - <menu_item_call label="Trova sulla mappa" name="find_on_map"/> - <menu_item_call label="Zoom avanti" name="zoom_in"/> - <menu_item_call label="Paga" name="pay"/> - <menu_item_call label="Condividi" name="share"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_inspect_object_gear.xml b/indra/newview/skins/minimal/xui/it/menu_inspect_object_gear.xml deleted file mode 100644 index ede4a507c02..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_inspect_object_gear.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<menu name="Gear Menu"> - <menu_item_call label="Tocca" name="touch"/> - <menu_item_call label="Siediti" name="sit"/> - <menu_item_call label="Paga" name="pay"/> - <menu_item_call label="Acquista" name="buy"/> - <menu_item_call label="Prendi" name="take"/> - <menu_item_call label="Prendi copia" name="take_copy"/> - <menu_item_call label="Apri" name="open"/> - <menu_item_call label="Modifica" name="edit"/> - <menu_item_call label="Indossa" name="wear"/> - <menu_item_call label="Aggiungi" name="add"/> - <menu_item_call label="Segnala" name="report"/> - <menu_item_call label="Blocca" name="block"/> - <menu_item_call label="Zoom avanti" name="zoom_in"/> - <menu_item_call label="Rimuovi" name="remove"/> - <menu_item_call label="Maggiori informazioni" name="more_info"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_inspect_self_gear.xml b/indra/newview/skins/minimal/xui/it/menu_inspect_self_gear.xml deleted file mode 100644 index 4f62ccaa9c5..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_inspect_self_gear.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Siedi" name="Sit Down Here"/> - <menu_item_call label="Alzati" name="Stand Up"/> - <context_menu label="Togli" name="Take Off >"> - <context_menu label="Abiti" name="Clothes >"> - <menu_item_call label="Camicia" name="Shirt"/> - <menu_item_call label="Pantaloni" name="Pants"/> - <menu_item_call label="Gonna" name="Skirt"/> - <menu_item_call label="Scarpe" name="Shoes"/> - <menu_item_call label="Calzini" name="Socks"/> - <menu_item_call label="Giacca" name="Jacket"/> - <menu_item_call label="Guanti" name="Gloves"/> - <menu_item_call label="Maglietta intima" name="Self Undershirt"/> - <menu_item_call label="Slip" name="Self Underpants"/> - <menu_item_call label="Tatuaggio" name="Self Tattoo"/> - <menu_item_call label="Alpha (Trasparenza)" name="Self Alpha"/> - <menu_item_call label="Tutti gli abiti" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="Stacca" name="Object Detach"/> - <menu_item_call label="Stacca tutto" name="Detach All"/> - </context_menu> - <menu_item_call label="Cambia vestiario" name="Chenge Outfit"/> - <menu_item_call label="Modifica il mio vestiario" name="Edit Outfit"/> - <menu_item_call label="Modifica la figura corporea" name="Edit My Shape"/> - <menu_item_call label="I miei amici" name="Friends..."/> - <menu_item_call label="I miei gruppi" name="Groups..."/> - <menu_item_call label="Il mio profilo" name="Profile..."/> - <menu_item_call label="Debug delle texture" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_inv_offer_chiclet.xml b/indra/newview/skins/minimal/xui/it/menu_inv_offer_chiclet.xml deleted file mode 100644 index 471640eff50..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_inv_offer_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="InvOfferChiclet Menu"> - <menu_item_call label="Chiudi" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_inventory.xml b/indra/newview/skins/minimal/xui/it/menu_inventory.xml deleted file mode 100644 index f18ddb595ca..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_inventory.xml +++ /dev/null @@ -1,87 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Condividi" name="Share"/> - <menu_item_call label="Compra" name="Task Buy"/> - <menu_item_call label="Apri" name="Task Open"/> - <menu_item_call label="Esegui" name="Task Play"/> - <menu_item_call label="Proprietà " name="Task Properties"/> - <menu_item_call label="Rinomina" name="Task Rename"/> - <menu_item_call label="Elimina" name="Task Remove"/> - <menu_item_call label="Svuota il Cestino" name="Empty Trash"/> - <menu_item_call label="Svuota gli oggetti persi e ritrovati" name="Empty Lost And Found"/> - <menu_item_call label="Nuova cartella" name="New Folder"/> - <menu_item_call label="Nuovo script" name="New Script"/> - <menu_item_call label="Nuovo biglietto" name="New Note"/> - <menu_item_call label="Nuova gesture" name="New Gesture"/> - <menu label="Maglietta intima" name="New Clothes"> - <menu_item_call label="Nuova maglietta" name="New Shirt"/> - <menu_item_call label="Nuovi pantaloni" name="New Pants"/> - <menu_item_call label="Nuove scarpe" name="New Shoes"/> - <menu_item_call label="Nuove calze" name="New Socks"/> - <menu_item_call label="Nuova giacca" name="New Jacket"/> - <menu_item_call label="Nuova gonna" name="New Skirt"/> - <menu_item_call label="Nuovi guanti" name="New Gloves"/> - <menu_item_call label="Nuova canottiera" name="New Undershirt"/> - <menu_item_call label="Nuove mutande" name="New Underpants"/> - <menu_item_call label="Nuovo Alfa Mask" name="New Alpha Mask"/> - <menu_item_call label="Nuovo tatuaggio" name="New Tattoo"/> - <menu_item_call label="Nuova fisica" name="New Physics"/> - </menu> - <menu label="Nuove parti del corpo" name="New Body Parts"> - <menu_item_call label="Nuova forma del corpo" name="New Shape"/> - <menu_item_call label="Nuova pelle" name="New Skin"/> - <menu_item_call label="Nuovi capelli" name="New Hair"/> - <menu_item_call label="Nuovi occhi" name="New Eyes"/> - </menu> - <menu label="Cambia tipo" name="Change Type"> - <menu_item_call label="Predefinito" name="Default"/> - <menu_item_call label="Guanti" name="Gloves"/> - <menu_item_call label="Giacca" name="Jacket"/> - <menu_item_call label="Pantaloni" name="Pants"/> - <menu_item_call label="Figura corporea" name="Shape"/> - <menu_item_call label="Scarpe" name="Shoes"/> - <menu_item_call label="Camicia" name="Shirt"/> - <menu_item_call label="Gonna" name="Skirt"/> - <menu_item_call label="Slip" name="Underpants"/> - <menu_item_call label="Maglietta intima" name="Undershirt"/> - </menu> - <menu_item_call label="Teletrasportati" name="Landmark Open"/> - <menu_item_call label="Apri" name="Animation Open"/> - <menu_item_call label="Apri" name="Sound Open"/> - <menu_item_call label="Sostituisci vestiti" name="Replace Outfit"/> - <menu_item_call label="Aggiungi al vestiario" name="Add To Outfit"/> - <menu_item_call label="Rimuovi dal vestiario attuale" name="Remove From Outfit"/> - <menu_item_call label="Trova originale" name="Find Original"/> - <menu_item_call label="Elimina oggetto" name="Purge Item"/> - <menu_item_call label="Ripristina oggetto" name="Restore Item"/> - <menu_item_call label="Apri" name="Open"/> - <menu_item_call label="Apri originale" name="Open Original"/> - <menu_item_call label="Proprietà " name="Properties"/> - <menu_item_call label="Rinomina" name="Rename"/> - <menu_item_call label="Copia UUID dell'oggetto" name="Copy Asset UUID"/> - <menu_item_call label="Copia" name="Copy"/> - <menu_item_call label="Incolla" name="Paste"/> - <menu_item_call label="Incolla come link" name="Paste As Link"/> - <menu_item_call label="Elimina" name="Remove Link"/> - <menu_item_call label="Cancella" name="Delete"/> - <menu_item_call label="Elimina la cartella di sistema" name="Delete System Folder"/> - <menu_item_call label="Inizia la conferenza chat" name="Conference Chat Folder"/> - <menu_item_call label="Esegui" name="Sound Play"/> - <menu_item_call label="Informazioni sul punto di riferimento" name="About Landmark"/> - <menu_item_call label="Riproduci in Second Life" name="Animation Play"/> - <menu_item_call label="Esegui localmente" name="Animation Audition"/> - <menu_item_call label="Invia un Instant Message" name="Send Instant Message"/> - <menu_item_call label="Offri teletrasporto..." name="Offer Teleport..."/> - <menu_item_call label="Inizia una conferenza chat" name="Conference Chat"/> - <menu_item_call label="Attiva" name="Activate"/> - <menu_item_call label="Disattiva" name="Deactivate"/> - <menu_item_call label="Salva con nome" name="Save As"/> - <menu_item_call label="Stacca da te" name="Detach From Yourself"/> - <menu_item_call label="Indossa" name="Wearable And Object Wear"/> - <menu label="Attacca a" name="Attach To"/> - <menu label="Attacca all'HUD" name="Attach To HUD"/> - <menu_item_call label="Modifica" name="Wearable Edit"/> - <menu_item_call label="Aggiungi" name="Wearable Add"/> - <menu_item_call label="Togli" name="Take Off"/> - <menu_item_call label="--nessuna opzione--" name="--no options--"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_inventory_add.xml b/indra/newview/skins/minimal/xui/it/menu_inventory_add.xml deleted file mode 100644 index a2535ce48de..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_inventory_add.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_inventory_add"> - <menu label="Carica nel server" name="upload"> - <menu_item_call label="Immagine ([COST]L$)..." name="Upload Image"/> - <menu_item_call label="Suono ([COST]L$)..." name="Upload Sound"/> - <menu_item_call label="Animazione ([COST]L$)..." name="Upload Animation"/> - <menu_item_call label="In blocco ([COST]L$ per file)..." name="Bulk Upload"/> - <menu_item_call label="Definisci diritti di caricamento predefiniti" name="perm prefs"/> - </menu> - <menu_item_call label="Nuova cartella" name="New Folder"/> - <menu_item_call label="Nuovo script" name="New Script"/> - <menu_item_call label="Nuovo biglietto" name="New Note"/> - <menu_item_call label="Nuova gesture" name="New Gesture"/> - <menu label="Maglietta intima" name="New Clothes"> - <menu_item_call label="Nuova camicia" name="New Shirt"/> - <menu_item_call label="Nuovi pantaloni" name="New Pants"/> - <menu_item_call label="Nuove scarpe" name="New Shoes"/> - <menu_item_call label="Nuove calze" name="New Socks"/> - <menu_item_call label="Nuova giacca" name="New Jacket"/> - <menu_item_call label="Nuova gonna" name="New Skirt"/> - <menu_item_call label="Nuovi guanti" name="New Gloves"/> - <menu_item_call label="Nuova maglietta intima" name="New Undershirt"/> - <menu_item_call label="Nuovi slip" name="New Underpants"/> - <menu_item_call label="Nuovo Alfa (trasparenza)" name="New Alpha"/> - <menu_item_call label="Nuovo tatuaggio" name="New Tattoo"/> - <menu_item_call label="Nuova fisica" name="New Physics"/> - </menu> - <menu label="Nuove parti del corpo" name="New Body Parts"> - <menu_item_call label="Nuova figura corporea" name="New Shape"/> - <menu_item_call label="Nuova pelle" name="New Skin"/> - <menu_item_call label="Nuovi capelli" name="New Hair"/> - <menu_item_call label="Nuovi occhi" name="New Eyes"/> - </menu> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_inventory_gear_default.xml b/indra/newview/skins/minimal/xui/it/menu_inventory_gear_default.xml deleted file mode 100644 index 3d64e4da4ec..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_inventory_gear_default.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_gear_default"> - <menu_item_call label="Nuova finestra inventario" name="new_window"/> - <menu_item_check label="Ordina in base al nome" name="sort_by_name"/> - <menu_item_check label="Mostra prima i più recenti" name="sort_by_recent"/> - <menu_item_check label="Ordina le cartelle sempre in base al nome" name="sort_folders_by_name"/> - <menu_item_check label="Ordina cartelle di sistema all'inizio" name="sort_system_folders_to_top"/> - <menu_item_call label="Mostra filtri" name="show_filters"/> - <menu_item_call label="Ripristina filtri" name="reset_filters"/> - <menu_item_call label="Chiudi tutte le cartelle" name="close_folders"/> - <menu_item_call label="Svuota oggetti smarriti" name="empty_lostnfound"/> - <menu_item_call label="Salva texture come" name="Save Texture As"/> - <menu_item_call label="Condividi" name="Share"/> - <menu_item_call label="Trova originale" name="Find Original"/> - <menu_item_call label="Trova tutti i link" name="Find All Links"/> - <menu_item_call label="Svuota cestino" name="empty_trash"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_land.xml b/indra/newview/skins/minimal/xui/it/menu_land.xml deleted file mode 100644 index f510078e147..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_land.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Land Pie"> - <menu_item_call label="Informazioni sui terreni" name="Place Information..."/> - <menu_item_call label="Siediti qui" name="Sit Here"/> - <menu_item_call label="Acquista questo terreno" name="Land Buy"/> - <menu_item_call label="Acquista Permesso" name="Land Buy Pass"/> - <menu_item_call label="Costruisci" name="Create"/> - <menu_item_call label="Modifica terreno" name="Edit Terrain"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_landmark.xml b/indra/newview/skins/minimal/xui/it/menu_landmark.xml deleted file mode 100644 index b3cddab783e..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_landmark.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="landmark_overflow_menu"> - <menu_item_call label="Copia SLurl" name="copy"/> - <menu_item_call label="Elimina" name="delete"/> - <menu_item_call label="Crea Luogo consigliato" name="pick"/> - <menu_item_call label="Aggiungi alla barra dei Preferiti" name="add_to_favbar"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_login.xml b/indra/newview/skins/minimal/xui/it/menu_login.xml deleted file mode 100644 index bdf7d2094ff..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_login.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Login Menu"> - <menu label="Io" name="File"> - <menu_item_call label="Preferenze" name="Preferences..."/> - <menu_item_call label="Esci da [APP_NAME]" name="Quit"/> - </menu> - <menu label="Aiuto" name="Help"> - <menu_item_call label="Aiuto di [SECOND_LIFE]" name="Second Life Help"/> - <menu_item_call label="Informazioni su [APP_NAME]" name="About Second Life"/> - </menu> - <menu_item_check label="Mostra menu Debug" name="Show Debug Menu"/> - <menu label="Debug" name="Debug"> - <menu_item_call label="Mostra impostazioni di debug" name="Debug Settings"/> - <menu_item_call label="Impostazioni colori interfaccia" name="UI/Color Settings"/> - <menu label="Test interfaccia utente" name="UI Tests"/> - <menu_item_call label="Imposta dimensioni della finestra..." name="Set Window Size..."/> - <menu_item_call label="Mostra i Termini del servizio (TOS)" name="TOS"/> - <menu_item_call label="Mostra messaggio critico" name="Critical"/> - <menu_item_call label="Test browser multimedia" name="Web Browser Test"/> - <menu_item_call label="Test finestra contenuti Web" name="Web Content Floater Test"/> - <menu_item_check label="Mostra selettore griglia" name="Show Grid Picker"/> - <menu_item_call label="Mostra Console notifiche" name="Show Notifications Console"/> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/it/menu_mini_map.xml b/indra/newview/skins/minimal/xui/it/menu_mini_map.xml deleted file mode 100644 index 561b80e046b..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_mini_map.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Zoom ravvicinato" name="Zoom Close"/> - <menu_item_call label="Zoom Medio" name="Zoom Medium"/> - <menu_item_call label="Zoom Distante" name="Zoom Far"/> - <menu_item_call label="Zoom predefinito" name="Zoom Default"/> - <menu_item_check label="Ruota la mappa" name="Rotate Map"/> - <menu_item_check label="Centra automaticamente" name="Auto Center"/> - <menu_item_call label="Ferma il puntamento" name="Stop Tracking"/> - <menu_item_call label="Mappa del mondo" name="World Map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_navbar.xml b/indra/newview/skins/minimal/xui/it/menu_navbar.xml deleted file mode 100644 index e42d913a6f1..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_navbar.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Navbar Menu"> - <menu_item_check label="Mostra le coordinate" name="Show Coordinates"/> - <menu_item_check label="Mostra proprietà lotto" name="Show Parcel Properties"/> - <menu_item_call label="Punto di riferimento" name="Landmark"/> - <menu_item_call label="Taglia" name="Cut"/> - <menu_item_call label="Copia" name="Copy"/> - <menu_item_call label="Incolla" name="Paste"/> - <menu_item_call label="Elimina" name="Delete"/> - <menu_item_call label="Seleziona tutto" name="Select All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_nearby_chat.xml b/indra/newview/skins/minimal/xui/it/menu_nearby_chat.xml deleted file mode 100644 index 719a6d32618..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_nearby_chat.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="NearBy Chat Menu"> - <menu_item_call label="Mostra le persone vicine..." name="nearby_people"/> - <menu_item_check label="Mostra il testo bloccato" name="muted_text"/> - <menu_item_check label="Mostra icone amici" name="show_buddy_icons"/> - <menu_item_check label="Mostra nomi" name="show_names"/> - <menu_item_check label="Mostra icone e nomi" name="show_icons_and_names"/> - <menu_item_call label="Dimensioni caratteri" name="font_size"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_notification_well_button.xml b/indra/newview/skins/minimal/xui/it/menu_notification_well_button.xml deleted file mode 100644 index 8c82e30f0ed..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_notification_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Notification Well Button Context Menu"> - <menu_item_call label="Chiudi tutto" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_object.xml b/indra/newview/skins/minimal/xui/it/menu_object.xml deleted file mode 100644 index a172cf3b265..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_object.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Object Pie"> - <menu_item_call label="Tocca" name="Object Touch"> - <menu_item_call.on_enable name="EnableTouch" parameter="Tocca"/> - </menu_item_call> - <menu_item_call label="Modifica" name="Edit..."/> - <menu_item_call label="Costruisci" name="Build"/> - <menu_item_call label="Apri" name="Open"/> - <menu_item_call label="Siediti qui" name="Object Sit"/> - <menu_item_call label="Alzati" name="Object Stand Up"/> - <menu_item_call label="Profilo dell'oggetto" name="Object Inspect"/> - <menu_item_call label="Zoom avanti" name="Zoom In"/> - <context_menu label="Metti" name="Put On"> - <menu_item_call label="Indossa" name="Wear"/> - <menu_item_call label="Aggiungi" name="Add"/> - <context_menu label="Attacca" name="Object Attach"/> - <context_menu label="Attacca HUD" name="Object Attach HUD"/> - </context_menu> - <context_menu label="Gestisci" name="Remove"> - <menu_item_call label="Segnala abuso" name="Report Abuse..."/> - <menu_item_call label="Blocca" name="Object Mute"/> - <menu_item_call label="Restituisci" name="Return..."/> - </context_menu> - <menu_item_call label="Prendi" name="Pie Object Take"/> - <menu_item_call label="Prendi copia" name="Take Copy"/> - <menu_item_call label="Paga" name="Pay..."/> - <menu_item_call label="Acquista" name="Buy..."/> - <menu_item_call label="Elimina" name="Delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_object_icon.xml b/indra/newview/skins/minimal/xui/it/menu_object_icon.xml deleted file mode 100644 index 0f347b1a909..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_object_icon.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Object Icon Menu"> - <menu_item_call label="Profilo oggetto..." name="Object Profile"/> - <menu_item_call label="Blocca..." name="Block"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_outfit_gear.xml b/indra/newview/skins/minimal/xui/it/menu_outfit_gear.xml deleted file mode 100644 index 09fc867d7c4..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_outfit_gear.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Gear Outfit"> - <menu_item_call label="Indossa - Sostituisci vestiario attuale" name="wear"/> - <menu_item_call label="Indossa - Aggiungi al vestiario attuale" name="wear_add"/> - <menu_item_call label="Togli - Rimuovi dal vestiario attuale" name="take_off"/> - <menu label="Nuovi abiti" name="New Clothes"> - <menu_item_call label="Nuova camicia" name="New Shirt"/> - <menu_item_call label="Nuovi pantaloni" name="New Pants"/> - <menu_item_call label="Nuove scarpe" name="New Shoes"/> - <menu_item_call label="Nuove calze" name="New Socks"/> - <menu_item_call label="Nuova giacca" name="New Jacket"/> - <menu_item_call label="Nuova gonna" name="New Skirt"/> - <menu_item_call label="Nuovi guanti" name="New Gloves"/> - <menu_item_call label="Nuova maglietta intima" name="New Undershirt"/> - <menu_item_call label="Nuovi slip" name="New Underpants"/> - <menu_item_call label="Nuovo Alpha (trasparenza)" name="New Alpha"/> - <menu_item_call label="Nuova fisica" name="New Physics"/> - <menu_item_call label="Nuovo tatuaggio" name="New Tattoo"/> - </menu> - <menu label="Nuove parti del corpo" name="New Body Parts"> - <menu_item_call label="Nuova figura corporea" name="New Shape"/> - <menu_item_call label="Nuova pelle" name="New Skin"/> - <menu_item_call label="Nuovi capelli" name="New Hair"/> - <menu_item_call label="Nuovi occhi" name="New Eyes"/> - </menu> - <menu_item_call label="Cambia nome del vestiario" name="rename"/> - <menu_item_call label="Elimina vestito" name="delete_outfit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_outfit_tab.xml b/indra/newview/skins/minimal/xui/it/menu_outfit_tab.xml deleted file mode 100644 index 8166cf20edc..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_outfit_tab.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit"> - <menu_item_call label="Indossa - Sostituisci vestiario attuale" name="wear_replace"/> - <menu_item_call label="Indossa - Aggiungi al vestiario attuale" name="wear_add"/> - <menu_item_call label="Togli - Rimuovi dal vestiario attuale" name="take_off"/> - <menu_item_call label="Modifica vestiario" name="edit"/> - <menu_item_call label="Cambia nome del vestiario" name="rename"/> - <menu_item_call label="Elimina vestito" name="delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_participant_list.xml b/indra/newview/skins/minimal/xui/it/menu_participant_list.xml deleted file mode 100644 index 1b057c4077a..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_participant_list.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Participant List Context Menu"> - <menu_item_check label="Ordina in base al nome" name="SortByName"/> - <menu_item_check label="Ordina in base a intervenuti recenti" name="SortByRecentSpeakers"/> - <menu_item_call label="Vedi profilo" name="View Profile"/> - <menu_item_call label="Aggiungi amico" name="Add Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="Chiama" name="Call"/> - <menu_item_call label="Condividi" name="Share"/> - <menu_item_call label="Paga" name="Pay"/> - <menu_item_check label="Icone persone" name="View Icons"/> - <menu_item_check label="Blocca voce" name="Block/Unblock"/> - <menu_item_check label="Blocca testo" name="MuteText"/> - <context_menu label="Opzioni moderatore" name="Moderator Options"> - <menu_item_check label="Consenti chat di testo" name="AllowTextChat"/> - <menu_item_call label="Disattiva audio di questo participante" name="ModerateVoiceMuteSelected"/> - <menu_item_call label="Riattiva audio di questo participante" name="ModerateVoiceUnMuteSelected"/> - <menu_item_call label="Disattiva audio di tutti" name="ModerateVoiceMute"/> - <menu_item_call label="Riattiva audio di tutti" name="ModerateVoiceUnmute"/> - </context_menu> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_people_friends_view_sort.xml b/indra/newview/skins/minimal/xui/it/menu_people_friends_view_sort.xml deleted file mode 100644 index 3a799f44ebb..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Ordina in base al nome" name="sort_name"/> - <menu_item_check label="Ordina in base allo stato" name="sort_status"/> - <menu_item_check label="Icone persone" name="view_icons"/> - <menu_item_check label="Visualizza autorizzazioni concesse" name="view_permissions"/> - <menu_item_call label="Mostra oggetti e residenti bloccati" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_people_groups.xml b/indra/newview/skins/minimal/xui/it/menu_people_groups.xml deleted file mode 100644 index 30a97a1c724..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_people_groups.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Mostra informazioni" name="View Info"/> - <menu_item_call label="Chat" name="Chat"/> - <menu_item_call label="Chiama" name="Call"/> - <menu_item_call label="Attiva" name="Activate"/> - <menu_item_call label="Chiudi" name="Leave"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_people_groups_view_sort.xml b/indra/newview/skins/minimal/xui/it/menu_people_groups_view_sort.xml deleted file mode 100644 index d31ddaf1aa6..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Visualizza le icone di gruppo" name="Display Group Icons"/> - <menu_item_call label="Lascia i gruppi selezionati" name="Leave Selected Group"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_people_nearby.xml b/indra/newview/skins/minimal/xui/it/menu_people_nearby.xml deleted file mode 100644 index ab06d28c36f..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_people_nearby.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Avatar Context Menu"> - <menu_item_call label="Vedi profilo" name="View Profile"/> - <menu_item_call label="Aggiungi come amico" name="Add Friend"/> - <menu_item_call label="Rimuovi amico" name="Remove Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="Chiama" name="Call"/> - <menu_item_call label="Mappa" name="Map"/> - <menu_item_call label="Condividi" name="Share"/> - <menu_item_call label="Paga" name="Pay"/> - <menu_item_check label="Blocca/Sblocca" name="Block/Unblock"/> - <menu_item_call label="Offri Teleport" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_people_nearby_multiselect.xml b/indra/newview/skins/minimal/xui/it/menu_people_nearby_multiselect.xml deleted file mode 100644 index e0b9ceb63d8..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_people_nearby_multiselect.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Multi-Selected People Context Menu"> - <menu_item_call label="Aggiungi amici" name="Add Friends"/> - <menu_item_call label="Rimuovi amici" name="Remove Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="Chiama" name="Call"/> - <menu_item_call label="Condividi" name="Share"/> - <menu_item_call label="Paga" name="Pay"/> - <menu_item_call label="Offri Teleport" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_people_nearby_view_sort.xml b/indra/newview/skins/minimal/xui/it/menu_people_nearby_view_sort.xml deleted file mode 100644 index aae23137028..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Ordina in base a intervenuti recenti" name="sort_by_recent_speakers"/> - <menu_item_check label="Ordina in base al nome" name="sort_name"/> - <menu_item_check label="Ordina in base alla distanza" name="sort_distance"/> - <menu_item_check label="Icone persone" name="view_icons"/> - <menu_item_call label="Mostra oggetti e residenti bloccati" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_people_recent_view_sort.xml b/indra/newview/skins/minimal/xui/it/menu_people_recent_view_sort.xml deleted file mode 100644 index 7fccd1621ad..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Mostra prima i più recenti" name="sort_most"/> - <menu_item_check label="Ordina in base al nome" name="sort_name"/> - <menu_item_check label="Icone persone" name="view_icons"/> - <menu_item_call label="Mostra oggetti e residenti bloccati" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_picks.xml b/indra/newview/skins/minimal/xui/it/menu_picks.xml deleted file mode 100644 index 000d219ed0c..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_picks.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Picks"> - <menu_item_call label="Informazioni" name="pick_info"/> - <menu_item_call label="Modifica" name="pick_edit"/> - <menu_item_call label="Teleport" name="pick_teleport"/> - <menu_item_call label="Mappa" name="pick_map"/> - <menu_item_call label="Elimina" name="pick_delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_picks_plus.xml b/indra/newview/skins/minimal/xui/it/menu_picks_plus.xml deleted file mode 100644 index 7fbd5abd57d..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_picks_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="picks_plus_menu"> - <menu_item_call label="Nuovo luogo preferito" name="create_pick"/> - <menu_item_call label="Nuovo annuncio" name="create_classified"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_place.xml b/indra/newview/skins/minimal/xui/it/menu_place.xml deleted file mode 100644 index 5381a4effa1..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_place.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="place_overflow_menu"> - <menu_item_call label="Salva come punto di riferimento" name="landmark"/> - <menu_item_call label="Crea Luogo consigliato" name="pick"/> - <menu_item_call label="Acquista Permesso" name="pass"/> - <menu_item_call label="Modifica" name="edit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_place_add_button.xml b/indra/newview/skins/minimal/xui/it/menu_place_add_button.xml deleted file mode 100644 index 0e783c0000d..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_place_add_button.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_folder_gear"> - <menu_item_call label="Aggiungi cartella" name="add_folder"/> - <menu_item_call label="Aggiungi punto di riferimento" name="add_landmark"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_places_gear_folder.xml b/indra/newview/skins/minimal/xui/it/menu_places_gear_folder.xml deleted file mode 100644 index 23757d47e06..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_places_gear_folder.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_folder_gear"> - <menu_item_call label="Aggiungi punto di riferimento" name="add_landmark"/> - <menu_item_call label="Aggiungi cartella" name="add_folder"/> - <menu_item_call label="Ripristina oggetto" name="restore_item"/> - <menu_item_call label="Taglia" name="cut"/> - <menu_item_call label="Copia" name="copy_folder"/> - <menu_item_call label="Incolla" name="paste"/> - <menu_item_call label="Modifica nome" name="rename"/> - <menu_item_call label="Elimina" name="delete"/> - <menu_item_call label="Espandi" name="expand"/> - <menu_item_call label="Comprimi" name="collapse"/> - <menu_item_call label="Apri tutte le cartelle" name="expand_all"/> - <menu_item_call label="Chiudi tutte le cartelle" name="collapse_all"/> - <menu_item_check label="Ordina in base alla data" name="sort_by_date"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_places_gear_landmark.xml b/indra/newview/skins/minimal/xui/it/menu_places_gear_landmark.xml deleted file mode 100644 index a458b1a7681..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_places_gear_landmark.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_ladmark_gear"> - <menu_item_call label="Teleport" name="teleport"/> - <menu_item_call label="Maggiori informazioni" name="more_info"/> - <menu_item_call label="Mostra sulla mappa" name="show_on_map"/> - <menu_item_call label="Aggiungi Punto di riferimento" name="add_landmark"/> - <menu_item_call label="Aggiungi cartella" name="add_folder"/> - <menu_item_call label="Ripristina oggetto" name="restore_item"/> - <menu_item_call label="Taglia" name="cut"/> - <menu_item_call label="Copia punto di riferimento" name="copy_landmark"/> - <menu_item_call label="Copia SLurl" name="copy_slurl"/> - <menu_item_call label="Incolla" name="paste"/> - <menu_item_call label="Modifica nome" name="rename"/> - <menu_item_call label="Elimina" name="delete"/> - <menu_item_call label="Apri tutte le cartelle" name="expand_all"/> - <menu_item_call label="Chiudi tutte le cartelle" name="collapse_all"/> - <menu_item_check label="Ordina in base alla data" name="sort_by_date"/> - <menu_item_call label="Crea Luogo consigliato" name="create_pick"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_profile_overflow.xml b/indra/newview/skins/minimal/xui/it/menu_profile_overflow.xml deleted file mode 100644 index 56b695c597e..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_profile_overflow.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="profile_overflow_menu"> - <menu_item_call label="Mappa" name="show_on_map"/> - <menu_item_call label="Paga" name="pay"/> - <menu_item_call label="Condividi" name="share"/> - <menu_item_call label="Blocca" name="block"/> - <menu_item_call label="Sblocca" name="unblock"/> - <menu_item_call label="Espelli" name="kick"/> - <menu_item_call label="Congela" name="freeze"/> - <menu_item_call label="Scongela" name="unfreeze"/> - <menu_item_call label="CSR" name="csr"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_save_outfit.xml b/indra/newview/skins/minimal/xui/it/menu_save_outfit.xml deleted file mode 100644 index 4882a8ac646..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_save_outfit.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="save_outfit_menu"> - <menu_item_call label="Salva" name="save_outfit"/> - <menu_item_call label="Salva con nome" name="save_as_new_outfit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_script_chiclet.xml b/indra/newview/skins/minimal/xui/it/menu_script_chiclet.xml deleted file mode 100644 index 604f754ba8e..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_script_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="ScriptChiclet Menu"> - <menu_item_call label="Chiudi" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_slurl.xml b/indra/newview/skins/minimal/xui/it/menu_slurl.xml deleted file mode 100644 index be83133efc1..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_slurl.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Informazioni sull'indirizzo URL" name="about_url"/> - <menu_item_call label="Teleportati all'indirizzo URL" name="teleport_to_url"/> - <menu_item_call label="Mappa" name="show_on_map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_teleport_history_gear.xml b/indra/newview/skins/minimal/xui/it/menu_teleport_history_gear.xml deleted file mode 100644 index 409a62c31b2..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_teleport_history_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Teleport History Gear Context Menu"> - <menu_item_call label="Apri tutte le cartelle" name="Expand all folders"/> - <menu_item_call label="Chiudi tutte le cartelle" name="Collapse all folders"/> - <menu_item_call label="Cancella la cronologia Teleport" name="Clear Teleport History"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_teleport_history_item.xml b/indra/newview/skins/minimal/xui/it/menu_teleport_history_item.xml deleted file mode 100644 index 81053fbd659..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_teleport_history_item.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Teleport" name="Teleport"/> - <menu_item_call label="Maggiori informazioni" name="More Information"/> - <menu_item_call label="Copia negli appunti" name="CopyToClipboard"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_teleport_history_tab.xml b/indra/newview/skins/minimal/xui/it/menu_teleport_history_tab.xml deleted file mode 100644 index c221f141a68..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_teleport_history_tab.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Apri" name="TabOpen"/> - <menu_item_call label="Chiudi" name="TabClose"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_text_editor.xml b/indra/newview/skins/minimal/xui/it/menu_text_editor.xml deleted file mode 100644 index 4636ce99293..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_text_editor.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Text editor context menu"> - <menu_item_call label="Taglia" name="Cut"/> - <menu_item_call label="Copia" name="Copy"/> - <menu_item_call label="Incolla" name="Paste"/> - <menu_item_call label="Elimina" name="Delete"/> - <menu_item_call label="Seleziona tutto" name="Select All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_topinfobar.xml b/indra/newview/skins/minimal/xui/it/menu_topinfobar.xml deleted file mode 100644 index 0beb9314de6..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_topinfobar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_topinfobar"> - <menu_item_check label="Mostra le coordinate" name="Show Coordinates"/> - <menu_item_check label="Mostra proprietà del lotto" name="Show Parcel Properties"/> - <menu_item_call label="Punto di riferimento" name="Landmark"/> - <menu_item_call label="Copia" name="Copy"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_url_agent.xml b/indra/newview/skins/minimal/xui/it/menu_url_agent.xml deleted file mode 100644 index 37755d5749c..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_url_agent.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostra profilo residente" name="show_agent"/> - <menu_item_call label="Copia nome negli Appunti" name="url_copy_label"/> - <menu_item_call label="Copia SLurl negli Appunti" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_url_group.xml b/indra/newview/skins/minimal/xui/it/menu_url_group.xml deleted file mode 100644 index d9a792ebdfd..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_url_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostra informazioni gruppo" name="show_group"/> - <menu_item_call label="Copia gruppo negli Appunti" name="url_copy_label"/> - <menu_item_call label="Copia SLurl negli Appunti" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_url_http.xml b/indra/newview/skins/minimal/xui/it/menu_url_http.xml deleted file mode 100644 index e0153d9169a..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_url_http.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Apri pagina Web" name="url_open"/> - <menu_item_call label="Apri nel browser interno" name="url_open_internal"/> - <menu_item_call label="Apri nel browser esterno" name="url_open_external"/> - <menu_item_call label="Copia URL negli Appunti" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_url_inventory.xml b/indra/newview/skins/minimal/xui/it/menu_url_inventory.xml deleted file mode 100644 index a45a6bbc107..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_url_inventory.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostra oggetto dell'inventario" name="show_item"/> - <menu_item_call label="Copia nome negli Appunti" name="url_copy_label"/> - <menu_item_call label="Copia SLurl negli Appunti" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_url_map.xml b/indra/newview/skins/minimal/xui/it/menu_url_map.xml deleted file mode 100644 index cb7935b3ed3..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_url_map.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostra sulla mappa" name="show_on_map"/> - <menu_item_call label="Teleport al luogo" name="teleport_to_location"/> - <menu_item_call label="Copia SLurl negli Appunti" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_url_objectim.xml b/indra/newview/skins/minimal/xui/it/menu_url_objectim.xml deleted file mode 100644 index 763e65f17c0..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_url_objectim.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostra informazioni oggetto" name="show_object"/> - <menu_item_call label="Mostra sulla mappa" name="show_on_map"/> - <menu_item_call label="Teleport sul luogo dell'oggetto" name="teleport_to_object"/> - <menu_item_call label="Copia nome oggetto negli Appunti" name="url_copy_label"/> - <menu_item_call label="Copia SLurl negli Appunti" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_url_parcel.xml b/indra/newview/skins/minimal/xui/it/menu_url_parcel.xml deleted file mode 100644 index a032c33585b..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_url_parcel.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostra informazioni lotto" name="show_parcel"/> - <menu_item_call label="Mostra sulla mappa" name="show_on_map"/> - <menu_item_call label="Copia SLurl negli Appunti" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_url_slapp.xml b/indra/newview/skins/minimal/xui/it/menu_url_slapp.xml deleted file mode 100644 index b368aa91410..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_url_slapp.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Esegui questo comando" name="run_slapp"/> - <menu_item_call label="Copia SLurl negli Appunti" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_url_slurl.xml b/indra/newview/skins/minimal/xui/it/menu_url_slurl.xml deleted file mode 100644 index 355c7dbed9d..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_url_slurl.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostra informazioni del luogo" name="show_place"/> - <menu_item_call label="Mostra sulla mappa" name="show_on_map"/> - <menu_item_call label="Teleport al luogo" name="teleport_to_location"/> - <menu_item_call label="Copia SLurl negli Appunti" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_url_teleport.xml b/indra/newview/skins/minimal/xui/it/menu_url_teleport.xml deleted file mode 100644 index c129e61f25b..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_url_teleport.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Teleport a questa destinazione" name="teleport"/> - <menu_item_call label="Mostra sulla mappa" name="show_on_map"/> - <menu_item_call label="Copia SLurl negli Appunti" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_viewer.xml b/indra/newview/skins/minimal/xui/it/menu_viewer.xml deleted file mode 100644 index 8353044f37b..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_viewer.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Main Menu"> - <menu label="Aiuto" name="Help"> - <menu_item_call label="Aiuto di [SECOND_LIFE]" name="Second Life Help"/> - </menu> - <menu label="Avanzate" name="Advanced"> - <menu label="Scorciatoie" name="Shortcuts"> - <menu_item_check label="Vola" name="Fly"/> - <menu_item_call label="Chiudi finestra" name="Close Window"/> - <menu_item_call label="Chiudi tutte le finestre" name="Close All Windows"/> - <menu_item_call label="Reimposta vista" name="Reset View"/> - </menu> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/it/menu_wearable_list_item.xml b/indra/newview/skins/minimal/xui/it/menu_wearable_list_item.xml deleted file mode 100644 index c9a02d8a86f..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_wearable_list_item.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit Wearable Context Menu"> - <menu_item_call label="Sostituisci" name="wear_replace"/> - <menu_item_call label="Indossa" name="wear_wear"/> - <menu_item_call label="Aggiungi" name="wear_add"/> - <menu_item_call label="Togli / Stacca" name="take_off_or_detach"/> - <menu_item_call label="Stacca" name="detach"/> - <context_menu label="Attacca a" name="wearable_attach_to"/> - <context_menu label="Attacca a HUD" name="wearable_attach_to_hud"/> - <menu_item_call label="Togli" name="take_off"/> - <menu_item_call label="Modifica" name="edit"/> - <menu_item_call label="Profilo articolo" name="object_profile"/> - <menu_item_call label="Mostra originale" name="show_original"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_wearing_gear.xml b/indra/newview/skins/minimal/xui/it/menu_wearing_gear.xml deleted file mode 100644 index 7c8eef64e5d..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_wearing_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Wearing"> - <menu_item_call label="Modifica vestiario" name="edit"/> - <menu_item_call label="Togli" name="takeoff"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_wearing_tab.xml b/indra/newview/skins/minimal/xui/it/menu_wearing_tab.xml deleted file mode 100644 index 4a5366091f1..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_wearing_tab.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Wearing"> - <menu_item_call label="Togli" name="take_off"/> - <menu_item_call label="Stacca" name="detach"/> - <menu_item_call label="Modifica vestiario" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/notifications.xml b/indra/newview/skins/minimal/xui/it/notifications.xml deleted file mode 100644 index 998e38ff5ac..00000000000 --- a/indra/newview/skins/minimal/xui/it/notifications.xml +++ /dev/null @@ -1,2951 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<notifications> - <global name="skipnexttime"> - Non mostrare più la prossima volta - </global> - <global name="alwayschoose"> - Scegli sempre questa opzione - </global> - <global name="implicitclosebutton"> - Chiudi - </global> - <template name="okbutton"> - <form> - <button name="OK_okbutton" text="$yestext"/> - </form> - </template> - <template name="okignore"> - <form> - <button name="OK_okignore" text="$yestext"/> - </form> - </template> - <template name="okcancelbuttons"> - <form> - <button name="OK_okcancelbuttons" text="$yestext"/> - <button name="Cancel_okcancelbuttons" text="$notext"/> - </form> - </template> - <template name="okcancelignore"> - <form> - <button name="OK_okcancelignore" text="$yestext"/> - <button name="Cancel_okcancelignore" text="$notext"/> - </form> - </template> - <template name="okhelpbuttons"> - <form> - <button name="OK_okhelpbuttons" text="$yestext"/> - <button name="Help" text="$helptext"/> - </form> - </template> - <template name="yesnocancelbuttons"> - <form> - <button name="Yes" text="$yestext"/> - <button name="No" text="$notext"/> - <button name="Cancel_yesnocancelbuttons" text="$canceltext"/> - </form> - </template> - <notification functor="GenericAcknowledge" label="Messaggio di notifica sconosciuto" name="MissingAlert"> - La versione di [APP_NAME] non riesce a visualizzare la notifica appena ricevuta. Verifica di avere l'ultima versione del Viewer installata. - -Dettagli errore: La notifica denominata '[_NAME]' non è stata trovata in notifications.xml. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FloaterNotFound"> - Errore visualizzazione finestra: Non trovati i seguenti controlli: - -[CONTROLS] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TutorialNotFound"> - Nessun tutorial disponibile al momento. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GenericAlert"> - [MESSAGE] - </notification> - <notification name="GenericAlertYesCancel"> - [MESSAGE] - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Si"/> - </notification> - <notification name="BadInstallation"> - Il programma [APP_NAME] ha riscontrato un'errore durante il tentativo di aggiornamento. [http://get.secondlife.com Scarica l'ultima versione] del Viewer. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="LoginFailedNoNetwork"> - Non è possibile collegarsi alla [SECOND_LIFE_GRID]. - '[DIAGNOSTIC]' -Accertati che la tua connessione Internet stia funzionando correttamente. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="MessageTemplateNotFound"> - Il modello di messaggio [PATH] non è stato trovato. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="WearableSave"> - Salva i cambiamenti all'attuale parte del corpo/abito? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Non salvare" yestext="Salva"/> - </notification> - <notification name="CompileQueueSaveText"> - C'è stato un problema importando il testo di uno script per la seguente ragione: [REASON]. Riprova più tardi. - </notification> - <notification name="CompileQueueSaveBytecode"> - C'è stato un problema importando lo script compilato per la seguente ragione: [REASON]. Riprova più tardi. - </notification> - <notification name="WriteAnimationFail"> - C'è stato un problema di scrittura dati dell'animazione. Riprova più tardi. - </notification> - <notification name="UploadAuctionSnapshotFail"> - C'è stato un problema importando la fotografia dell'asta per la seguente ragione: [REASON] - </notification> - <notification name="UnableToViewContentsMoreThanOne"> - Non è possibile vedere il contenuto di più di un elemento per volta. -Scegli solo un oggetto e riprova. - </notification> - <notification name="SaveClothingBodyChanges"> - Salva tutte le modifiche alle parti del corpo/abiti? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Non Salvare" yestext="Salva Tutto"/> - </notification> - <notification name="FriendsAndGroupsOnly"> - Chi non è tuo amico non saprà che hai scelto di ignorare le loro chiamate e IM. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FavoritesOnLogin"> - Nota: Se attivi questa opzione, chiunque usa questo computer può vedere l'elenco di luoghi preferiti. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GrantModifyRights"> - Quando concedi i diritti di modifica ad un altro residente, gli permetti di modificare, eliminare o prendere QUALSIASI oggetto che possiedi in Second Life. Pertanto ti consigliamo di essere ben sicuro quando concedi questo diritto. -Vuoi concedere i diritti di modifica a [NAME]? - <usetemplate name="okcancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification name="GrantModifyRightsMultiple"> - Quando concedi i diritti di modifica ad un altro residente, gli permetti di modificare QUALSIASI oggetto che possiedi in Second Life. Pertanto ti consigliamo di essere ben sicuro quando concedi questo diritto. -Vuoi concedere i diritti di modifica ai residenti selezionati? - <usetemplate name="okcancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification name="RevokeModifyRights"> - Vuoi revocare i diritti di modifica di [NAME]? - <usetemplate name="okcancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification name="RevokeModifyRightsMultiple"> - Vuoi revocare i permessi di modifica dati ai residenti selezionati? - <usetemplate name="okcancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification name="UnableToCreateGroup"> - Non è possibile creare il gruppo. -[MESSAGE] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="PanelGroupApply"> - [NEEDS_APPLY_MESSAGE] -[WANT_APPLY_MESSAGE] - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Ignora le modifiche" yestext="Applica le modifiche"/> - </notification> - <notification name="MustSpecifyGroupNoticeSubject"> - Devi specificare un oggetto per mandare una notice al gruppo. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AddGroupOwnerWarning"> - Stai per aggiungere dei membri al ruolo [ROLE_NAME]. -Non si possono rimuovere membri da quel ruolo. -I membri devono dimettersi volontariamente dal ruolo. -Confermi l'operazione? - <usetemplate ignoretext="Conferma prima di aggiungere un nuovo proprietario del gruppo" name="okcancelignore" notext="No" yestext="Si"/> - </notification> - <notification name="AssignDangerousActionWarning"> - Stai per aggiungere il potere '[ACTION_NAME]' al ruolo '[ROLE_NAME]'. - - *ATTENZIONE* - Ogni membro di un ruolo con questo potere può assegnare a sè stesso -- e a qualunque altro membro -- ruoli che hanno più poteri di quelli che hanno correntemente, potenzialmente consentendogli di avere quasi i poteri del proprietario. Accertati di sapere quello che stai facendo prima di assegnare questo potere. - -Aggiungi questo potere a '[ROLE_NAME]'? - <usetemplate name="okcancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification name="AssignDangerousAbilityWarning"> - Stai per aggiungere il potere '[ACTION_NAME]' al ruolo '[ROLE_NAME]'. - - *ATTENZIONE* - Ogni membro di un ruolo con questo potere può assegnare a sè stesso -- e a qualunque altro membro -- tutti i poteri, elevandosi al livello di quasi proprietario. - -Aggiungi questo potere a '[ROLE_NAME]'? - <usetemplate name="okcancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification name="AttachmentDrop"> - Stai per abbandonare il tuo accessorio. - Vuoi continuare? - <usetemplate ignoretext="Conferma prima di distaccare gli accessori" name="okcancelignore" notext="No" yestext="Sì"/> - </notification> - <notification name="JoinGroupCanAfford"> - Iscriversi a questo gruppo costa [COST]L$. -Vuoi proseguire? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Iscriviti"/> - </notification> - <notification name="JoinGroupNoCost"> - Aderisci al gruppo [NAME]. -Continuare? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Iscriviti"/> - </notification> - <notification name="JoinGroupCannotAfford"> - Iscriversi a questo gruppo costa [COST]L$. -Non hai abbastanza L$ per iscriverti a questo gruppo. - </notification> - <notification name="CreateGroupCost"> - La creazione di questo gruppo costerà L$ 100. -I gruppi devono avere più di un partecipante, o saranno eliminati definitivamente. -Invita altri partecipanti entro le prossime 48 ore. - <usetemplate canceltext="Annulla" name="okcancelbuttons" notext="Annulla" yestext="Crea un gruppo per L$ 100"/> - </notification> - <notification name="LandBuyPass"> - Pagando [COST]L$ puoi entrare in questa terra ('[PARCEL_NAME]') per [TIME] ore. Compri un pass? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="SalePriceRestriction"> - Il prezzo di vendita deve essere superiore a 0L$ se vendi a tutti. -Seleziona una vendita individuale per vendere a 0L$. - </notification> - <notification name="ConfirmLandSaleChange"> - Il terreno selezionato di [LAND_SIZE] m² sta per essere messo in vendita. -Il tuo prezzo di vendità è [SALE_PRICE]L$ ed è autorizzato alla vendita a [NAME]. - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmLandSaleToAnyoneChange"> - ATTENZIONE: Quando selezioni 'vendi a tutti', rendi questo terreno disponibile all'intera comunità di [SECOND_LIFE], anche alle persone che non si trovano in questa regione. - -Il terrendo selezionato di [LAND_SIZE] m² sta per essere messo in vendita. -Il prezzo di vendità sarà [SALE_PRICE]L$ e [NAME] viene autorizzato alla vendita. - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ReturnObjectsDeededToGroup"> - Confermi di volere restituire tutti gli oggetti condivisi con il gruppo '[NAME]' di questo terreno agli inventari dei proprietari precedenti? - -*ATTENZIONE* Questo cancellerà gli oggetti non trasferibili ceduti al gruppo! - -Oggetti: [N] - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ReturnObjectsOwnedByUser"> - Confermi di volere restituire tutti gli oggetti posseduti dal residente '[NAME]' in questo terreno al suo inventario? - -Oggetti: [N] - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ReturnObjectsOwnedBySelf"> - Confermi di volere restituire tutti gli oggetti posseduti da te in questo terreno, di nuovo nel tuo inventario? - -Oggetti: [N] - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ReturnObjectsNotOwnedBySelf"> - Confermi di volere restituire tutti gli oggetti di cui NON sei proprietario in questo terreno all'inventario dei rispettivi proprietari? -Gli oggetti trasferibili ceduti al gruppo verranno restituiti ai loro proprietari precedenti. - -*ATTENZIONE* Questo cancellerà gli oggetti non trasferibili ceduti al gruppo! - -Oggetti: [N] - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ReturnObjectsNotOwnedByUser"> - Confermi di volere restituire tutti gli oggetti NON posseduti da [NAME] in questo terreno nell'inventario dei loro proprietari? -Gli oggetti trasferibili ceduti al gruppo verranno restituiti ai loro proprietari precedenti. - -*ATTENZIONE* Questo cancellerà gli oggetti non trasferibili ceduti al gruppo! - -Oggetti: [N] - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ReturnAllTopObjects"> - Confermi di volere restituire tutti gli oggetti elencati nell'inventario dei loro proprietari? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="DisableAllTopObjects"> - Confermi di volere disabilitare tutti gli oggetti in questa regione? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ReturnObjectsNotOwnedByGroup"> - Restituisci gli oggetti in questo terreno che NON sono condivisi con il gruppo [NAME] ai loro proprietari? - -Oggetti: [N] - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="UnableToDisableOutsideScripts"> - Non è possibile disabilitare gli script. -L'intera regione ha l'abilitazione danni. -Gli script devono essere autorizzati all'esecuzione affinchè le armi funzionino. - </notification> - <notification name="MultipleFacesSelected"> - Sono state selezionate più facce. -Se prosegui con questa azione, sulle diverse facce dell'oggetto verranno definite sessioni multimediali distinte. -Per collocare il media su una sola faccia, scegli Seleziona faccia, clicca su una faccia e clicca su Aggiungi. - <usetemplate ignoretext="Il canale multimediale sarà impostato su più facce selezionate" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="MustBeInParcel"> - Devi essere dentro il terreno per impostare il suo Punto di Atterraggio. - </notification> - <notification name="PromptRecipientEmail"> - Introduci un indirizzo email per il destinatario/i. - </notification> - <notification name="PromptSelfEmail"> - Introduci il tuo indirizzo email. - </notification> - <notification name="PromptMissingSubjMsg"> - Invia la foto via email con soggetto o messaggio predefinito? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ErrorProcessingSnapshot"> - Errore nell'elaborazione della fotografia. - </notification> - <notification name="ErrorEncodingSnapshot"> - Errore nella codifica della fotografia. - </notification> - <notification name="ErrorUploadingPostcard"> - C'è stato un problema inviando la fotografia per il seguente motivo: [REASON] - </notification> - <notification name="ErrorUploadingReportScreenshot"> - C'è stato un problema importando la foto del rapporto per il seguente motivo: [REASON] - </notification> - <notification name="MustAgreeToLogIn"> - Devi accettare i Termini di Servizio prima di proseguire il collegamento con [SECOND_LIFE]. - </notification> - <notification name="CouldNotPutOnOutfit"> - Non è stato possibile indossare un equipaggiamento. -La cartella equipaggiamento non contiene abbigliamento, parti del corpo o attachment. - </notification> - <notification name="CannotWearTrash"> - Non puoi indossare abiti e parti del corpo che sono nel cestino - </notification> - <notification name="MaxAttachmentsOnOutfit"> - L'oggetto non può essere collegato. -Superato il limite di oggetti collegati [MAX_ATTACHMENTS]. Per favore prima stacca un altro oggetto. - </notification> - <notification name="CannotWearInfoNotComplete"> - Non puoi indossare quell'elemento perchè non è ancora stato caricato. Riprova fra un minuto. - </notification> - <notification name="MustHaveAccountToLogIn"> - Spiacenti. Un campo è vuoto. -Inserisci il Nome utente del tuo avatar. - -Devi avere un account per entrare in [SECOND_LIFE]. Vuoi crearne uno adesso? - <url name="url"> - https://join.secondlife.com/index.php?lang=it-IT - </url> - <usetemplate name="okcancelbuttons" notext="Riprova" yestext="Crea un nuovo account"/> - </notification> - <notification name="InvalidCredentialFormat"> - Immetti il nome utente oppure sia il nome che il cognome del tuo avatar nel campo del nome utente, quindi effettua nuovamente l'accesso. - </notification> - <notification name="DeleteClassified"> - Cancella annuncio '[NAME]'? -Non ci sono rimborsi per la tariffa pagata. - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="DeleteMedia"> - Hai selezionato la cancellazione del media associato a questa faccia. -Vuoi continuare? - <usetemplate ignoretext="Conferma prima di eliminare elementi multimediali dall'oggetto" name="okcancelignore" notext="No" yestext="Sì"/> - </notification> - <notification name="ClassifiedSave"> - Salva le modifiche all'annuncio [NAME]? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Non salvare" yestext="Salva"/> - </notification> - <notification name="ClassifiedInsufficientFunds"> - Denaro insufficiente per creare un'inserzione. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="DeleteAvatarPick"> - Elimina preferito <nolink>[PICK]</nolink>? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="DeleteOutfits"> - Elimina il vestiario selezionato? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="PromptGoToEventsPage"> - Vai alla pagina degli eventi di [SECOND_LIFE]? - <url name="url"> - http://secondlife.com/events/?lang=it-IT - </url> - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="SelectProposalToView"> - Scegli una proposta da vedere. - </notification> - <notification name="SelectHistoryItemToView"> - Scegli un item storico da vedere. - </notification> - <notification name="CacheWillClear"> - La cache verrà cancellata dopo il riavvio di [APP_NAME]. - </notification> - <notification name="CacheWillBeMoved"> - La cache verrà spostata dopo il riavvio di [APP_NAME]. -Nota: questa operazione cancellerà la cache. - </notification> - <notification name="ChangeConnectionPort"> - Le impostazioni della porta avranno effetto dopo il riavvio di [APP_NAME]. - </notification> - <notification name="ChangeSkin"> - La nuova pelle comparirà dopo il riavvio di [APP_NAME]. - </notification> - <notification name="ChangeLanguage"> - La modifica della lingua avrà effetto dopo il riavvio di [APP_NAME]. - </notification> - <notification name="GoToAuctionPage"> - Vai alla pagina web [SECOND_LIFE] per vedere i dettagli dell'asta oppure fai un'offerta? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="SaveChanges"> - Salva le modifiche? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Non salvare" yestext="Salva"/> - </notification> - <notification name="GestureSaveFailedTooManySteps"> - Il salvataggio della Gesture è fallito. -La gesture ha troppi passi. -Prova a togliere qualche passo e quindi risalva. - </notification> - <notification name="GestureSaveFailedTryAgain"> - Il salvataggio della gesture è fallito. Riprova fra un minuto. - </notification> - <notification name="GestureSaveFailedObjectNotFound"> - Non è possibile salvare la gesture perchè non è stato trovato l'oggetto o l'inventario associato. -L'oggetto potrebbe essere troppo lontano oppure essere stato cancellato. - </notification> - <notification name="GestureSaveFailedReason"> - C'è stato un problema salvando la gesture a causa del seguente motivo: [REASON]. Riprova a salvare la gesture più tardi. - </notification> - <notification name="SaveNotecardFailObjectNotFound"> - Non è possibile salvare la notecard perchè non è stato trovato l'oggetto o l'inventario associato. -L'oggetto potrebbe essere troppo lontano oppure essere stato cancellato. - </notification> - <notification name="SaveNotecardFailReason"> - C'è stato un problema salvando la notecard a causa del seguente motivo: [REASON]. Riprova a salvare la notecard più tardi. - </notification> - <notification name="ScriptCannotUndo"> - Non è stato possibile annullare tutti i cambiamenti nella tua versione dello script. -Vuoi ripristinare l'ultima versione salvata sul server? -(**Attenzione** Questa operazione non è reversibile) - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="SaveScriptFailReason"> - C'è stato un problema salvando lo script a causa del seguente motivo : [REASON]. Riprova a salvare lo script più tardi. - </notification> - <notification name="SaveScriptFailObjectNotFound"> - Non è stato possibile salvare lo script perchè l'oggetto che lo contiene non è stato trovato. -L'oggetto potrebbe essere troppo lontano oppure essere stato cancellato. - </notification> - <notification name="SaveBytecodeFailReason"> - C'è stato un problema salvando lo script compilato a causa del seguente motivo: [REASON]. Riprova a salvare lo script più tardi. - </notification> - <notification name="StartRegionEmpty"> - La tua Regione di inizio non è stata definita. -Per scegliere il luogo dove vuoi trovarti all'accesso, digita il nome della regione nel campo del luogo di partenza oppure scegli La mia ultima Ubicazione o Casa mia. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CouldNotStartStopScript"> - Non è stato possibile lanciare o fermare lo script perchè l'oggetto che lo contiene non è stato trovato. -L'oggetto potrebbe essere troppo lontano oppure essere stato cancellato. - </notification> - <notification name="CannotDownloadFile"> - Non è stato possibile scaricare il file - </notification> - <notification name="CannotWriteFile"> - Non è stato possibile scrivere il file [[FILE]] - </notification> - <notification name="UnsupportedHardware"> - Ti informiamo che il tuo computer non dispone dei requisiti minimi di sistema per [APP_NAME]. Il funzionamento può pertanto risultare ridotto. Purtroppo la pagina [SUPPORT_SITE] non può fornire assistenza tecnica in caso di problemi dovuti a configurazioni di sistema non compatibili. - -Visitare [_URL] per ulteriori informazioni? - <url name="url" option="0"> - http://secondlife.com/support/sysreqs.php?lang=it - </url> - <usetemplate ignoretext="L'hardware di questo computer non è compatibile" name="okcancelignore" notext="No" yestext="Si"/> - </notification> - <notification name="UnknownGPU"> - Il tuo sistema utilizza una scheda grafica che [APP_NAME] non riconosce. -Questo succede spesso con un nuovo hardware che non è stato ancora testato con [APP_NAME]. Probabilmente tutto andrà bene, ma devi riconfigurare le tue impostazioni grafiche. -(Io > Preferenze > Grafica). - <form name="form"> - <ignore name="ignore" text="La tua scheda grafica non è stata riconosciuta"/> - </form> - </notification> - <notification name="DisplaySettingsNoShaders"> - L'esecuzione di [APP_NAME] si è interrotta durante l'inizializzazione dei driver grafici. -La qualità grafica verrà impostata a livello basso per evitare alcuni errori comuni di driver. Alcune funzionalità grafiche saranno disattivate. -Si consiglia di aggiornare i driver della scheda grafica. -La qualità grafica può essere aumentata in Preferenze > Grafica. - </notification> - <notification name="RegionNoTerraforming"> - La regione [REGION] non consente di terraformare. - </notification> - <notification name="CannotCopyWarning"> - Non hai l'autorizzazione a copiare i seguenti oggetti: -[ITEMS] -e se li dai via, verranno eliminati dal tuo inventario. Sicuro di volere offrire questi oggetti? - <usetemplate name="okcancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification name="CannotGiveItem"> - Impossibile consegnare l'elemento dell'inventario. - </notification> - <notification name="TransactionCancelled"> - La transazione è stata annullata. - </notification> - <notification name="TooManyItems"> - Non è possibile dare più di 42 elementi in un singolo trasferimento di inventario. - </notification> - <notification name="NoItems"> - Non hai i permessi di trasferimento per gli elementi selezionati. - </notification> - <notification name="CannotCopyCountItems"> - Non hai i permessi di copia per copiare [COUNT] -degli elementi selezionati. Perderai questi elementi dal tuo inventario. -Vuoi veramente perdere questi elementi? - <usetemplate name="okcancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification name="CannotGiveCategory"> - Non hai i permessi per trasferire la cartella selezionata. - </notification> - <notification name="FreezeAvatar"> - Immobilizza questo avatar? -Non potrà temporaneamente muoversi, chiacchierare in chat, o interagire con il mondo. - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Smobilizza" yestext="Immobilizza"/> - </notification> - <notification name="FreezeAvatarFullname"> - Immobilizza [AVATAR_NAME]? -Non potrà temporaneamente muoversi, chiacchierare in chat, o interagire con il mondo. - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Smobilizza" yestext="Immobilizza"/> - </notification> - <notification name="EjectAvatarFullname"> - Espelli [AVATAR_NAME] dal tuo terreno? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Espelli e blocca" yestext="Espelli"/> - </notification> - <notification name="EjectAvatarNoBan"> - Espelli questo avatar dal tuo terreno? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Espelli"/> - </notification> - <notification name="EjectAvatarFullnameNoBan"> - Espelli [AVATAR_NAME] dal tuo terreno? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Espelli"/> - </notification> - <notification name="EjectAvatarFromGroup"> - Hai espulso [AVATAR_NAME] dal gruppo [GROUP_NAME] - </notification> - <notification name="AcquireErrorTooManyObjects"> - ERRORE DI ACQUISIZIONE: hai selezionato troppi oggetti. - </notification> - <notification name="AcquireErrorObjectSpan"> - ERRORE DI ACQUISIZIONE: Gli oggetti sono a cavallo di più di una regione. -Sposta tutti gli oggetti che vuoi acquisire su una sola regione. - </notification> - <notification name="PromptGoToCurrencyPage"> - [EXTRA] - -Vai su [_URL] per informazioni sull'acquisto di L$? - <url name="url"> - http://secondlife.com/app/currency/?lang=it-IT - </url> - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="UnableToLinkObjects"> - Impossibile unire questi [COUNT] oggetti. -Puoi unire al massimo [MAX] oggetti. - </notification> - <notification name="CannotLinkIncompleteSet"> - Puoi unire soltanto un insieme completo di oggetti, e devi selezionare più di un oggetto. - </notification> - <notification name="CannotLinkModify"> - Impossibile unire perchè non hai il diritto di modifica su tutti gli oggetti. - -Accertati che nessuno sia bloccato e che li possiedi tutti. - </notification> - <notification name="CannotLinkDifferentOwners"> - Impossibile unire perche non tutti gli oggetti hanno lo stesso proprietario. - -Accertati di possedere tutti gli oggetti selezionati. - </notification> - <notification name="NoFileExtension"> - Manca l'estensione per il file: '[FILE]' - -Accertati che il file abbia una estensione corretta. - </notification> - <notification name="InvalidFileExtension"> - L'estensione [EXTENSION] del file non è valida -Attese [VALIDS] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CannotUploadSoundFile"> - Impossibile aprire in lettura il file di suono importato: -[FILE] - </notification> - <notification name="SoundFileNotRIFF"> - Il file audio non sembra essere di tipo RIFF WAVE: -[FILE] - </notification> - <notification name="SoundFileNotPCM"> - Il file audio non sembra essere di tipo PCM WAVE: -[FILE] - </notification> - <notification name="SoundFileInvalidChannelCount"> - Il file ha un numero sbagliato di canali (deve essere mono oppure stereo): -[FILE] - </notification> - <notification name="SoundFileInvalidSampleRate"> - Il file non sembra essere della frequenza di campionamento supportata (deve essere 44.1k): -[FILE] - </notification> - <notification name="SoundFileInvalidWordSize"> - Il file non sembra avere una dimensione della parola supportata (deve essere a 8 o a 16 bit): -[FILE] - </notification> - <notification name="SoundFileInvalidHeader"> - Impossibile trovare il frammento 'data' nell'intestazione WAV: -[FILE] - </notification> - <notification name="SoundFileInvalidChunkSize"> - Dimensione chunk nel file WAV: -[FILE] - </notification> - <notification name="SoundFileInvalidTooLong"> - Il file audio è troppo lungo (deve essere al massimo 10 secondi): -[FILE] - </notification> - <notification name="ProblemWithFile"> - Problemi con il file [FILE]: - -[ERROR] - </notification> - <notification name="CannotOpenTemporarySoundFile"> - Impossibile aprire in scrittura il file temporaneamente compresso: [FILE] - </notification> - <notification name="UnknownVorbisEncodeFailure"> - Errore di codifica Vorbis sconosciuta per: [FILE] - </notification> - <notification name="CannotEncodeFile"> - Impossibile codificare il file: [FILE] - </notification> - <notification name="CorruptedProtectedDataStore"> - Impossibile inserire nome utente e password. Ciò può succedere alla modifica delle impostazioni di rete. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CorruptResourceFile"> - File risorsa corrotto: [FILE] - </notification> - <notification name="UnknownResourceFileVersion"> - Versione di risorsa Linden sconosciuta nel file: [FILE] - </notification> - <notification name="UnableToCreateOutputFile"> - Impossibile creare il file in uscita: [FILE] - </notification> - <notification name="DoNotSupportBulkAnimationUpload"> - [APP_NAME] non supporta ancora il caricamento in blocco di file di animazione. - </notification> - <notification name="CannotUploadReason"> - Impossibile importare il file [FILE] a causa del seguente motivo: [REASON] -Riprova più tardi. - </notification> - <notification name="LandmarkCreated"> - Hai aggiunto "[LANDMARK_NAME]" alla tua cartella [FOLDER_NAME]. - </notification> - <notification name="LandmarkAlreadyExists"> - Hai già il punto di riferimento di questo luogo. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CannotCreateLandmarkNotOwner"> - Non puoi creare qui un landmark perchè il proprietario di questo terreno non lo consente. - </notification> - <notification name="CannotRecompileSelectObjectsNoScripts"> - Impossibile fare la 'ricompilazione'. -Seleziona un oggetto con uno script. - </notification> - <notification name="CannotRecompileSelectObjectsNoPermission"> - Impossibile fare la 'ricompilazione'. - -Seleziona oggetti con script su cui hai i permessi di modifica. - </notification> - <notification name="CannotResetSelectObjectsNoScripts"> - Impossibile fare 'ripristino'. - -Seleziona oggetti con degli script. - </notification> - <notification name="CannotResetSelectObjectsNoPermission"> - Impossibile fare 'ripristino'. - -Seleziona oggetti con script su cui hai i permessi di modifica. - </notification> - <notification name="CannotOpenScriptObjectNoMod"> - Impossibile aprire la script dell'oggetto senza i diritti di modifica. - </notification> - <notification name="CannotSetRunningSelectObjectsNoScripts"> - Impossibile mettere 'in esecuzione' gli script. - -Seleziona oggetti con script. - </notification> - <notification name="CannotSetRunningNotSelectObjectsNoScripts"> - Impossibile impostare script a 'non in esecuzione'. - -Seleziona oggetti con script. - </notification> - <notification name="NoFrontmostFloater"> - Non c'è nessuna finestra in evidenza (in primo piano) da salvare. - </notification> - <notification name="SeachFilteredOnShortWords"> - La tua ricerca è stata modificata. -Le parole troppo corte sono state rimosse. - -Ho cercato: [FINALQUERY] - </notification> - <notification name="SeachFilteredOnShortWordsEmpty"> - Le parole che hai usato per la ricerca sono troppo corte e non è stato possibile iniziare la ricerca. - </notification> - <notification name="CouldNotTeleportReason"> - Teleport non riuscito. -[REASON] - </notification> - <notification name="invalid_tport"> - C'è stato un problema nell'elaborare la tua richiesta di teleport. Potresti dover effettuare nuovamente l'accesso prima di poter usare il teleport. -Se si continua a visualizzare questo messaggio, consulta la pagina [SUPPORT_SITE]. - </notification> - <notification name="invalid_region_handoff"> - Si è verificato un problema nel tentativo di attraversare regioni. È possibile che per potere attraversare le regioni, tu debba effettuare nuovamente l'accesso. -Se si continua a visualizzare questo messaggio, consulta la pagina [SUPPORT_SITE]. - </notification> - <notification name="blocked_tport"> - Spiacenti, il teletrasporto è bloccato al momento. Prova di nuovo tra pochi istanti. Se ancora non potrai teletrasportarti, per favore scollegati e ricollegati per risolvere il problema. - </notification> - <notification name="nolandmark_tport"> - Spiacenti, ma il sistema non riesce a localizzare la destinazione del landmark - </notification> - <notification name="timeout_tport"> - Spiacenti, il sistema non riesce a completare il teletrasporto. Riprova tra un attimo. - </notification> - <notification name="noaccess_tport"> - Spiacenti, ma non hai accesso nel luogo di destinazione richiesto. - </notification> - <notification name="missing_attach_tport"> - Gli oggetti da te indossati non sono ancoa arrivati. Attendi ancora qualche secondo o scollegati e ricollegati prima di provare a teleportarti. - </notification> - <notification name="too_many_uploads_tport"> - Il server della regione è al momento occupato e la tua richiesta di teletrasporto non può essere soddisfatta entro breve tempo. Per favore prova di nuovo tra qualche minuto o spostati in un'area meno affollata. - </notification> - <notification name="expired_tport"> - Spiacenti, il sistema non riesce a soddisfare la tua richiesta di teletrasporto entro un tempo ragionevole. Riprova tra qualche minuto. - </notification> - <notification name="expired_region_handoff"> - Spiacenti, il sistema non riesce a completare il cambio di regione entro un tempo ragionevole. Riprova tra qualche minuto. - </notification> - <notification name="no_host"> - Impossibile trovare la destinazione del teletrasporto; potrebbe essere temporaneamente non accessibile o non esistere più. Riprovaci tra qualche minuto. - </notification> - <notification name="no_inventory_host"> - L'inventario è temporaneamente inaccessibile. - </notification> - <notification name="CannotSetLandOwnerNothingSelected"> - Impossibile impostare il proprietario del terreno: -Nessun terreno selezionato. - </notification> - <notification name="CannotSetLandOwnerMultipleRegions"> - Impossibile forzare la proprietà del terreno perchè la selezione si estende su diverse regioni. Seleziona una area più piccola e riprova. - </notification> - <notification name="ForceOwnerAuctionWarning"> - Questo lotto è all'asta. La designazione di un proprietario determinerà l'annullamento automatico dell'asta e probabilmente può scontentare qualche residente se l'asta è già iniziata. -Vuoi designare un proprietario? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="CannotContentifyNothingSelected"> - Impossibile fare la contentificazione: -Nessun terreno selezionato. - </notification> - <notification name="CannotContentifyNoRegion"> - Impossibile fare la contentificazione: -Nessuna regione selezionata. - </notification> - <notification name="CannotReleaseLandNothingSelected"> - Impossibile abbandonare il terreno: -Nessun terreno selezionato. - </notification> - <notification name="CannotReleaseLandNoRegion"> - Impossibile abbandonare il terreno: -Non riesco a trovare la regione. - </notification> - <notification name="CannotBuyLandNothingSelected"> - Impossibile comprare il terreno: -Nessun terreno selezionato. - </notification> - <notification name="CannotBuyLandNoRegion"> - Impossibile comprare il terreno: -Non riesco a trovare la regione dove è situato il terreno. - </notification> - <notification name="CannotCloseFloaterBuyLand"> - Non puoi chiudere la finestra Acquista terreno finché [APP_NAME] non finisce di stimare il prezzo di questa transazione. - </notification> - <notification name="CannotDeedLandNothingSelected"> - Impossibile cedere il terreno: -Nessun terreno selezionato. - </notification> - <notification name="CannotDeedLandNoGroup"> - Impossibile cedere il terreno: -Nessun gruppo selezionato. - </notification> - <notification name="CannotDeedLandNoRegion"> - Non è possibile effettuare la cessione del terreno: -Impossibile trovare la regione in cui si trova il terreno. - </notification> - <notification name="CannotDeedLandMultipleSelected"> - Impossibile cedere il terreno: -Hai selezionato più di un terreno. - -Prova a selezionare un solo terreno. - </notification> - <notification name="CannotDeedLandWaitingForServer"> - Impossibile cedere il terreno: -Sto aspettando il server per segnalare la proprietà . - -Riprova di nuovo. - </notification> - <notification name="CannotDeedLandNoTransfer"> - Impossibile cedere il terreno: -La regione [REGION] non consente il trasferimento di terreni. - </notification> - <notification name="CannotReleaseLandWatingForServer"> - Impossibile abbandonare il terreno: -Sto aspettando il server per aggiornare le informazioni del terreno. - -Riprova fra poco. - </notification> - <notification name="CannotReleaseLandSelected"> - Impossibile abbandonare il terreno: -Non possiedi tutti i terreni selezionati. - -Seleziona un solo terreno. - </notification> - <notification name="CannotReleaseLandDontOwn"> - Impossibile abbandonare il terreno: -Non hai i permessi per rilasciare questo terreno. -I terreni di tua proprietà vengono visualizzati in verde. - </notification> - <notification name="CannotReleaseLandRegionNotFound"> - Non è possibile abbandonare il terreno: -Impossibile trovare la regione in cui si trova il terreno. - </notification> - <notification name="CannotReleaseLandNoTransfer"> - Impossibile abbandonare il terreno: -La regione [REGION] non consente il trasferimento di terreni. - </notification> - <notification name="CannotReleaseLandPartialSelection"> - Impossibile abbandonare il terreno: -Devi selezionare un terreno intero per rilasciarla. - -Seleziona un terreno intero, oppure dividi prima il tuo terreno. - </notification> - <notification name="ReleaseLandWarning"> - Stai per rilasciare [AREA] m² di terreno. -Rilasciare questo appezzamento di terreno lo toglierà dalle tue proprietà , ma non ti verranno dati L$. - -Rilasciare questo terreno? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="CannotDivideLandNothingSelected"> - Impossibile dividere il terreno: - -Non sono stati selezionati terreni. - </notification> - <notification name="CannotDivideLandPartialSelection"> - Impossibile dividere il terreno: - -Hai selezionato unintero terreno. -Prova a selezionare unappezzamento di terreno. - </notification> - <notification name="LandDivideWarning"> - La suddivisione di questo terreno lo dividerà in due parti ed ognuna potrà avere le sue impostazioni. Alcune impostazioni verranno reimpostate ai valori iniziali dopo l'operazione. - -Dividi il terreno? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="CannotDivideLandNoRegion"> - Non è possibile suddividere il terreno: -Impossibile trovare la regione in cui si trova il terreno. - </notification> - <notification name="CannotJoinLandNoRegion"> - Non è possibile unire il terreno: -Impossibile trovare la regione in cui si trova il terreno. - </notification> - <notification name="CannotJoinLandNothingSelected"> - Impossibile unire il terreno: -Non hai selezionato terreno. - </notification> - <notification name="CannotJoinLandEntireParcelSelected"> - Impossibile unire il terreno: -Hai selezionato un solo terreno. - -Devi selezionare il terreno comprendendo entrambi gli appezzamenti. - </notification> - <notification name="CannotJoinLandSelection"> - Impossibile unire il terreno: -Devi selezionare più di un terreno. - -Devi selezionare il terreno comprendendo entrambi gli appezzamenti. - </notification> - <notification name="JoinLandWarning"> - Unire questi appezzamenti creerà un terreno più grande a partire da tutti gli appezzamenti che si intersecano nel rettangolo selezionato. -Dovrai reimpostare il nome e le opzioni del nuovo terreno. - -Unisci il terreno? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmNotecardSave"> - Questa notecard deve essere salvata prima che l'elemento possa essere copiato o visualizzato. Salva la notecard? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmItemCopy"> - Copia questo elemento nel tuo inventario? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Copia"/> - </notification> - <notification name="ResolutionSwitchFail"> - Non sono riuscito a cambiare la risoluzione al valore [RESX] x [RESY] - </notification> - <notification name="ErrorUndefinedGrasses"> - Errore: Erba sconosciuta: [SPECIES] - </notification> - <notification name="ErrorUndefinedTrees"> - Errore: Alberi sconosciuti: [SPECIES] - </notification> - <notification name="CannotSaveWearableOutOfSpace"> - Impossibile salvare '[NAME]' nel file di oggetti indossabili. Dovrai liberare dello spazio sul tuo computer e salvare di nuovo. - </notification> - <notification name="CannotSaveToAssetStore"> - Non è possibile salvare [NAME] nel database centrale degli asset. -In genere si tratta di un problema temporaneo. Attendi alcuni minuti per modificare e salvare nuovamente gli elementi indossabili. - </notification> - <notification name="YouHaveBeenLoggedOut"> - Sei stato scollegato da [SECOND_LIFE]. - [MESSAGE] - <usetemplate name="okcancelbuttons" notext="Esci" yestext="Vedi IM & Chat"/> - </notification> - <notification name="OnlyOfficerCanBuyLand"> - Impossibile comprare terreno per il gruppo: -Non hai i permessi per comprare il terreno per il tuo gruppo attivo. - </notification> - <notification label="Aggiungi Amico" name="AddFriendWithMessage"> - Gli amici possono autorizzarsi a vedersi l'un l'altro sulla mappa e sapere quando sono collegati. - -Offri l'amicizia a [NAME]? - <form name="form"> - <input name="message"> - Vorresti essere mio amico? - </input> - <button name="Offer" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification label="Salva vestiario" name="SaveOutfitAs"> - Salva gli abiti che indosso come nuovo vestiario: - <form name="form"> - <input name="message"> - [DESC] (nuovo) - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification label="Salva capo da indossare" name="SaveWearableAs"> - Salva oggetto nel mio inventario come: - <form name="form"> - <input name="message"> - [DESC] (nuovo) - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification label="Cambia nome del vestiario" name="RenameOutfit"> - Nuovo nome per il vestiario: - <form name="form"> - <input name="new_name"> - [NAME] - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification name="RemoveFromFriends"> - Vuoi rimuovere [NAME] dalla lista dei tuoi amici? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="RemoveMultipleFromFriends"> - Vuoi rimuovere gli amici selezionati dalla lista dei tuoi amici? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="GodDeleteAllScriptedPublicObjectsByUser"> - Confermi di volere cancellare tutti gli oggetti scriptati della proprietà di -** [AVATAR_NAME] ** -su tutti gli altri terreni di questa sim? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="GodDeleteAllScriptedObjectsByUser"> - Confermi la CANCELLAZIONE di TUTTI gli oggetti scriptati posseduti da -** [AVATAR_NAME] ** -su TUTTI I TERRENI di questa sim? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="GodDeleteAllObjectsByUser"> - Confermi la CANCELLAZIONE di TUTTI gli oggetti (scriptati o no) posseduti da -** [AVATAR_NAME] ** -su TUTTI I TERRENI di questa sim? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="BlankClassifiedName"> - Devi specificare un nome per il tuo annuncio. - </notification> - <notification name="MinClassifiedPrice"> - Il prezzo da pagare per essere messo in lista deve essere almeno [MIN_PRICE]L$. - -Introduci un prezzo più alto. - </notification> - <notification name="ConfirmItemDeleteHasLinks"> - Almeno uno degli oggetti selezionati è collegato tramite link ad altri oggetti. Se elimini l'oggetto, i relativi link non funzioneranno più. Pertanto si consiglia vivamente di eliminare prima i link. - -Sei sicuro di volere eliminare gli oggetti? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLock"> - Almeno uno degli elementi selezionati è bloccato. - -Confermi di voler cancellare questi elementi? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteNoCopy"> - Almeno uno degli elementi selezionati non è copiabile. - -Confermi di voler cancellare questi elementi? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteNoOwn"> - Non possiedi neanche uno degli oggetti selezionati. - -Confermi di voler cancellare questi elementi? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLockNoCopy"> - Almeno un oggetto è bloccato. -Almeno un oggetto è non copiabile. - -Confermi di voler cancellare questi elementi? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLockNoOwn"> - Almeno un oggetto è bloccato. -Non possiedi neanche un oggetto. - -Confermi di voler cancellare questi elementi? - <usetemplate name="okcancelbuttons" notext="Cancella" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteNoCopyNoOwn"> - Almeno un oggetto non è copiabile. -Non possiedi neanche un oggetto. - -Confermi di voler cancellare questi elementi? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLockNoCopyNoOwn"> - Almeno un oggetto è bloccato. -Almeno un oggetto è non copiabile. -Non possiedi neanche un oggetto. - -Confermi di voler cancellare questi elementi? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmObjectTakeLock"> - Almeno un oggetto è bloccato. - -Confermi di voler prendere questi elementi? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmObjectTakeNoOwn"> - Non possiedi tutti gli oggetti che stai prendendo. -Se continui, verranno applicate i permessi per il prossimo proprietario e di conseguenza potrebbero venire ristrette le tue possibilità di modificarli o di copiarli. - -Confermi di voler prendere questi elementi? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmObjectTakeLockNoOwn"> - Almeno un oggetto è bloccato. -Non possiedi tutti gli oggetti che stai prendendo. -Se continui, verranno applicate i permessi per il prossimo proprietario e di conseguenza potrebbero venire ristrette le tue possibilità di modificarli o di copiarli. -Puoi comunque prendere gli oggetti selezionati. - -Confermi di voler prendere questi elementi? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="CantBuyLandAcrossMultipleRegions"> - Impossibile comprare il terreno perchè la selezione comprende più regioni. - -Seleziona un'area più piccola e riprova. - </notification> - <notification name="DeedLandToGroup"> - Cedendo questo terreno al gruppo sara richiesto ai componenti di avere e di mantenere il terreno con un credito sufficiente. -Il prezzo di acquisto del terreno non è rifondibile al proprietario. -Se una terreno ceduto al gruppo viene venduto, il prezzo di vendita verrà diviso in parti uguali fra i membri del gruppo. - -Cedi questo terreno di [AREA] m² al gruppo '[GROUP_NAME]'? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="DeedLandToGroupWithContribution"> - Completando la cessione del lotto, il gruppo dovrà avere e mantenere crediti sufficienti per l'uso del terreno. -La cessione includerà un contributo contemporaneo di terreno al gruppo da '[NAME]'. -Il prezzo di acquisto del terreno non viene rimborsato al proprietario. Se un lotto ceduto viene venduto, il prezzo di vendita viene distribuito in maniera paritetica tra i membri del gruppo. - -Cedere questi [AREA] m² di terreno al gruppo '[GROUP_NAME]'? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="DisplaySetToSafe"> - Le impostazioni dello schermo sono state impostate a valori di sicurezza perchè hai specificato l'opzione -safe. - </notification> - <notification name="DisplaySetToRecommended"> - Le impostazioni dello schermo sono state impostate a valori ottimali basati sulla tua configurazione di sistema. - </notification> - <notification name="ErrorMessage"> - [ERROR_MESSAGE] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AvatarMovedDesired"> - L'ubicazione prescelta non è attualmente disponibile. -Sei stato trasferito in una regione vicina. - </notification> - <notification name="AvatarMovedLast"> - La tua ultima posizione non è al momento disponibile. -Sei stato trasferito in una regione vicina. - </notification> - <notification name="AvatarMovedHome"> - L'ubicazione di casa tua non è al momento disponibile. -Sei stato trasferito in una regione vicina. -Ti consigliamo di impostare una nuova posizione iniziale. - </notification> - <notification name="ClothingLoading"> - Gli abiti sono in corso di scaricamento. -Puoi comunque usare [SECOND_LIFE] normalmente e gli altri residenti ti vedranno correttamente. - <form name="form"> - <ignore name="ignore" text="Lo scaricamento sta richiedendo parecchio tempo"/> - </form> - </notification> - <notification name="FirstRun"> - L'installazione di [APP_NAME] è terminata. - -Se questa è la prima volta che usi [SECOND_LIFE], devi creare un account prima che tu possa effettuare l'accesso. -Vuoi tornare a [http://join.secondlife.com secondlife.com] per creare un nuovo account? - <usetemplate name="okcancelbuttons" notext="Continua" yestext="Nuovo Account..."/> - </notification> - <notification name="LoginPacketNeverReceived"> - Ci sono problemi di connessione. È possibile che ci siano problemi con la tua connessione Internet oppure sulla [SECOND_LIFE_GRID]. - -Controlla la tua connessione Internet e riprova fra qualche minuto, oppure clicca su Aiuto per visualizzare la pagina [SUPPORT_SITE], oppure clicca su Teleport per tentare il teleport a casa tua. - <url name="url"> - http://it.secondlife.com/support/ - </url> - <form name="form"> - <button name="OK" text="OK"/> - <button name="Help" text="Aiuto"/> - <button name="Teleport" text="Teleportati"/> - </form> - </notification> - <notification name="WelcomeChooseSex"> - Il tuo avatar apparirà fra un attimo. - -Usa le frecce per muoverti. -Premi F1 in qualunque momento per la guida o per apprendere altre cose di [SECOND_LIFE]. -Scegli un avatar maschile o femminile. Puoi sempre cambiare idea più tardi. - <usetemplate name="okcancelbuttons" notext="Femminile" yestext="Maschile"/> - </notification> - <notification name="CantTeleportToGrid"> - Impossibile effettuare il teleport su [SLURL], in quanto si trova su una griglia ([GRID]) diversa da quella attuale ([CURRENT_GRID]). Chiudi il viewer e prova nuovamente. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GeneralCertificateError"> - Impossibile collegarsi al server. -[REASON] - -Nome oggetto: [SUBJECT_NAME_STRING] -Nome emittente: [ISSUER_NAME_STRING] -Valido da: [VALID_FROM] -Valido fino a: [VALID_TO] -Impronta MD5: [SHA1_DIGEST] -Impronta SHA1: [MD5_DIGEST] -Uso chiave: [KEYUSAGE] -Uso chiave estesa: [EXTENDEDKEYUSAGE] -Identificatore chiave oggetto: [SUBJECTKEYIDENTIFIER] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TrustCertificateError"> - Autorità di certificazione di questo server sconosciuta. - -Informazioni sul certificato: -Nome oggetto: [SUBJECT_NAME_STRING] -Nome emittente: [ISSUER_NAME_STRING] -Valido da: [VALID_FROM] -Valido fino a: [VALID_TO] -Impronta MD5: [SHA1_DIGEST] -Impronta SHA1: [MD5_DIGEST] -Uso chiave: [KEYUSAGE] -Uso chiave estesa: [EXTENDEDKEYUSAGE] -Identificatore chiave oggetto: [SUBJECTKEYIDENTIFIER] - -Accettare questa autorità ? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Accetta"/> - </notification> - <notification name="NotEnoughCurrency"> - [NAME] [PRICE]L$ Non hai abbastanza L$ per farlo. - </notification> - <notification name="GrantedModifyRights"> - [NAME] ti ha dato il permesso di modificare i suoi oggetti. - </notification> - <notification name="RevokedModifyRights"> - Non sei più autorizzato a modificare gli oggetti di [NAME] - </notification> - <notification name="FlushMapVisibilityCaches"> - Questo reinizializzerà la cache della mappa di questa regione. -Funzione usata solo per il debug. -(Per la produzione, attendere 5 minuti, dopo di che tutte le mappe di ognuno si aggiorneranno dopo la loro riconnessione) - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="BuyOneObjectOnly"> - Non è possibile acquistare più di un oggetto alla volta. Riprova selezionando un solo oggetto. - </notification> - <notification name="OnlyCopyContentsOfSingleItem"> - Impossibile copiare il contenuto di più di un elemento alla volta. -Scegli solo un oggetto e riprova. - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="KickUsersFromRegion"> - Teleporta a casa tutti i residenti in questa regione? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="EstateObjectReturn"> - Confermi di voler restituire gli oggetti di proprietà di [USER_NAME] ? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="InvalidTerrainBitDepth"> - Impossibile impostare le texture della regione: -La texture del terreno [TEXTURE_NUM] ha una profondità di bit pari a [TEXTURE_BIT_DEPTH] non corretta. - -Sostituisci la texture [TEXTURE_NUM] con una a 24-bit 512x512 o una immagine più piccola e quindi clicca nuovamente su 'Applica'. - </notification> - <notification name="InvalidTerrainSize"> - Impossibile impostare le texture di regione: -La texture del terreno [TEXTURE_NUM] è troppo grande se a [TEXTURE_SIZE_X]x[TEXTURE_SIZE_Y]. - -Sostituisci la texture [TEXTURE_NUM] con una a 24-bit 512x512 oppure con una immagine più piccola e quindi clicca di nuovo 'Applica'. - </notification> - <notification name="RawUploadStarted"> - Importazione iniziata. Può impiegare fino a due minuti, a seconda della velocità della tua connessione. - </notification> - <notification name="ConfirmBakeTerrain"> - Vuoi veramente impostare come base il terreno corrente, impostarlo come riferimento per i limiti dei rialzi/abbassamenti di tutto il territorio ed il suo valore impostato come base per lo strumento 'Ripristina'? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="MaxAllowedAgentOnRegion"> - Puoi avere al massimo [MAX_AGENTS] residenti consentiti. - </notification> - <notification name="MaxBannedAgentsOnRegion"> - Puoi avere al massimo [MAX_BANNED] residenti bloccati. - </notification> - <notification name="MaxAgentOnRegionBatch"> - E' fallito il tentativo di aggiungere [NUM_ADDED] avatar: -Eccede il [MAX_AGENTS] [LIST_TYPE] limite di [NUM_EXCESS]. - </notification> - <notification name="MaxAllowedGroupsOnRegion"> - Puoi avere al massimo [MAX_GROUPS] gruppi. - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Imposta come predefinito"/> - </notification> - <notification name="MaxManagersOnRegion"> - Puoi avere al massimo [MAX_MANAGER] manager della proprietà immobiliare. - </notification> - <notification name="OwnerCanNotBeDenied"> - Impossibile aggiungere i proprietari della proprietà immobiliare alla lista dei residenti bloccati. - </notification> - <notification name="CanNotChangeAppearanceUntilLoaded"> - Impossibile cambiare l'aspetto fisico finchè gli abiti e i vestiti non sono caricati. - </notification> - <notification name="ClassifiedMustBeAlphanumeric"> - Il nome del tuo annuncio deve iniziare con una lettera da A a Z oppure con un numero. -Non sono consentiti caratteri di punteggiatura. - </notification> - <notification name="CantSetBuyObject"> - Impossibile impostare 'Compra l'oggetto', perchè l'oggetto non è in vendita. -Imposta l'oggetto per la vendita e riprova. - </notification> - <notification name="FinishedRawDownload"> - Hai terminato di scaricare il file del terreno nella cartella: -[DOWNLOAD_PATH]. - </notification> - <notification name="DownloadWindowsMandatory"> - È disponibile una nuova versione di [APP_NAME]. -[MESSAGE] -Devi scaricare questo aggiornamento per utilizzare [APP_NAME]. - <usetemplate name="okcancelbuttons" notext="Esci" yestext="Scarica l'aggiornamento"/> - </notification> - <notification name="DownloadWindows"> - È disponibile una versione aggiornata di [APP_NAME]. -[MESSAGE] -Questo aggiornamento non è necessario, ma ti consigliamo di installarlo per migliorare il rendimento e la stabilità . - <usetemplate name="okcancelbuttons" notext="Continua" yestext="Scarica l'aggiornamento"/> - </notification> - <notification name="DownloadWindowsReleaseForDownload"> - È disponibile una versione aggiornata di [APP_NAME]. -[MESSAGE] -Questo aggiornamento non è necessario, ma ti consigliamo di installarlo per migliorare il rendimento e la stabilità . - <usetemplate name="okcancelbuttons" notext="Continua" yestext="Scarica l'aggiornamento"/> - </notification> - <notification name="DownloadLinuxMandatory"> - È disponibile una nuova versione di [APP_NAME]. -[MESSAGE] -Devi scaricare questo aggiornamento per utilizzare [APP_NAME]. - <usetemplate name="okcancelbuttons" notext="Esci" yestext="Scarica"/> - </notification> - <notification name="DownloadLinux"> - È disponibile una versione aggiornata di [APP_NAME]. -[MESSAGE] -Questo aggiornamento non è necessario, ma ti consigliamo di installarlo per migliorare il rendimento e la stabilità . - <usetemplate name="okcancelbuttons" notext="Continua" yestext="Scarica"/> - </notification> - <notification name="DownloadLinuxReleaseForDownload"> - È disponibile una versione aggiornata di [APP_NAME]. -[MESSAGE] -Questo aggiornamento non è necessario, ma ti consigliamo di installarlo per migliorare il rendimento e la stabilità . - <usetemplate name="okcancelbuttons" notext="Continua" yestext="Scarica"/> - </notification> - <notification name="DownloadMacMandatory"> - È disponibile una nuova versione di [APP_NAME]. -[MESSAGE] -Devi scaricare questo aggiornamento per utilizzare [APP_NAME]. - -Scaricare nella cartella Applicazioni? - <usetemplate name="okcancelbuttons" notext="Esci" yestext="Scarica l'aggiornamento"/> - </notification> - <notification name="DownloadMac"> - È disponibile una versione aggiornata di [APP_NAME]. -[MESSAGE] -Questo aggiornamento non è necessario, ma ti consigliamo di installarlo per migliorare il rendimento e la stabilità . - -Scaricare nella cartella Applicazioni? - <usetemplate name="okcancelbuttons" notext="Continua" yestext="Scarica l'aggiornamento"/> - </notification> - <notification name="DownloadMacReleaseForDownload"> - È disponibile una versione aggiornata di [APP_NAME]. -[MESSAGE] -Questo aggiornamento non è necessario, ma ti consigliamo di installarlo per migliorare il rendimento e la stabilità . - -Scaricare nella cartella Applicazioni? - <usetemplate name="okcancelbuttons" notext="Continua" yestext="Scarica l'aggiornamento"/> - </notification> - <notification name="FailedUpdateInstall"> - Si è verificato un errore durante l'aggiornamento del viewer. -Scarica e installa la versione più recente del viewer da -http://secondlife.com/download. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FailedRequiredUpdateInstall"> - Non è stato possibile installare un aggiornamento richiesto. -Non potrai accedere fino a quando non verrà aggiornato [APP_NAME]. - -Scarica e installa la versione più recente del viewer da -http://secondlife.com/download. - <usetemplate name="okbutton" yestext="Esci"/> - </notification> - <notification name="UpdaterServiceNotRunning"> - È disponibile un aggiornamento obbligatorio per l'installazione di Second Life. - -Puoi scaricare questo aggiornamento da http://www.secondlife.com/downloads -oppure puoi installarlo adesso. - <usetemplate name="okcancelbuttons" notext="Esci da Second Life" yestext="Scarica e aggiorna adesso"/> - </notification> - <notification name="DownloadBackgroundTip"> - È stato scaricato un aggiornamento dell'installazione di [APP_NAME]. -Versione [VERSION] [[RELEASE_NOTES_FULL_URL] Informazioni su questo aggiornamento] - <usetemplate name="okcancelbuttons" notext="Più tardi..." yestext="Installa ora e riavvia [APP_NAME]"/> - </notification> - <notification name="DownloadBackgroundDialog"> - È stato scaricato un aggiornamento dell'installazione di [APP_NAME]. -Versione [VERSION] [[RELEASE_NOTES_FULL_URL] Informazioni su questo aggiornamento] - <usetemplate name="okcancelbuttons" notext="Più tardi..." yestext="Installa ora e riavvia [APP_NAME]"/> - </notification> - <notification name="RequiredUpdateDownloadedVerboseDialog"> - È stato scaricato un aggiornamento obbligatorio del software. -Versione [VERSION] - -Per installare l'aggiornamento è necessario riavviare [APP_NAME]. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="RequiredUpdateDownloadedDialog"> - Per installare l'aggiornamento è necessario riavviare [APP_NAME]. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="DeedObjectToGroup"> - La cessione di questo oggetto farà in modo che il gruppo: -* Riceva i L$ pagati all'oggetto - <usetemplate ignoretext="Conferma la cessione di un oggetto al gruppo" name="okcancelignore" notext="Annulla" yestext="Cedi"/> - </notification> - <notification name="WebLaunchExternalTarget"> - Vuoi aprire il browser per vedere questi contenuti? - <usetemplate ignoretext="Lancia il browser per consultare una pagina web" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="WebLaunchJoinNow"> - Vuoi andare su [http://secondlife.com/account/ Dashboard] per gestire il tuo account? - <usetemplate ignoretext="Lancia il browser per gestire il mio account" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="WebLaunchSecurityIssues"> - Visita la Wiki di [SECOND_LIFE] per i dettagli su come segnalare un problema di sicurezza. - <usetemplate ignoretext="Lancia il browser per imparare a segnalare un problema di sicurezza" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="WebLaunchQAWiki"> - Visita il controllo di qualità Wiki [SECOND_LIFE]. - <usetemplate ignoretext="Lancia il browser per vedere la pagina Wiki sul controllo di qualità " name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="WebLaunchPublicIssue"> - Visita il registro pubblico dei problemi di [SECOND_LIFE], dove puoi segnalare bug ed altri problemi. - <usetemplate ignoretext="Lancia il browser per vedere il registro pubblico di monitoraggio dei problemi" name="okcancelignore" notext="Annulla" yestext="Vai alla pagina"/> - </notification> - <notification name="WebLaunchSupportWiki"> - Vai al blog ufficiale Linden, per le ultime notizie ed informazioni. - <usetemplate ignoretext="Lancia il browser per vedere il blog" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="WebLaunchLSLGuide"> - Vuoi aprire la Guida per lo scripting per avere aiuto con lo scripting? - <usetemplate ignoretext="Lancia il browser per vedere la Guida per lo scripting" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="WebLaunchLSLWiki"> - Vuoi visitare il Portale LSL per avere aiuto con lo scripting? - <usetemplate ignoretext="Lancia il browser per vedere il Portale LSL" name="okcancelignore" notext="Annulla" yestext="Vai alla pagina"/> - </notification> - <notification name="ReturnToOwner"> - Confermi di voler restituire gli oggetti selezionati ai loro proprietari? Gli oggetti trasferibili ceduti al gruppo, verranno restituiti ai proprietari precedenti. - -*ATTENZIONE* Gli oggetti ceduti non trasferibili verranno cancellati! - <usetemplate ignoretext="Conferma prima di restituire gli oggetti ai relativi proprietari" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="GroupLeaveConfirmMember"> - Sei attualmente un membro del gruppo [GROUP]. -Vuoi lasciare il gruppo? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmKick"> - Vuoi veramente espellere tutti i residenti dalla griglia? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Espelli tutti i residenti"/> - </notification> - <notification name="MuteLinden"> - Spiacenti, non puoi bloccare un Linden. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CannotStartAuctionAlreadyForSale"> - Non è possibile mettere in vendita all'asta un terreno che è già impostato per la vendita. Disabilita la vendita del terreno, se sei certo di voler avviare una vendita all'asta. - </notification> - <notification label="Il blocco dell'oggetto in base al nome non è riuscito," name="MuteByNameFailed"> - hai già bloccato questo nome. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="RemoveItemWarn"> - Sebbene consentita, la cancellazione di contenuti può danneggiare l'oggetto. -Vuoi cancellare quell'elemento? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="CantOfferCallingCard"> - Impossibile offrire un biglietto da visita in questo momento. Riprova fra poco. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CantOfferFriendship"> - Impossibile offrire l'amicizia in questo momento. Riprova fra poco. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="BusyModeSet"> - È stata impostata la modalità Non disponibile. -La chat e gli IM verranno nascosti. Gli IM riceveranno la tua risposta di Non disponibile. Tutte le offerte di teleport verranno rifiutate. Tutte le offerte di Inventario andranno nel Cestino. - <usetemplate ignoretext="Cambio il mio stato sulla modalità Non disponibile" name="okignore" yestext="OK"/> - </notification> - <notification name="JoinedTooManyGroupsMember"> - Hai raggiunto il numero massimo di gruppi. Per favore abbandona almeno un gruppo prima di aderire a questo, oppure declina l'offerta. -[NAME] ti invita ad aderire ad un gruppo. - <usetemplate name="okcancelbuttons" notext="Declino" yestext="Unisciti"/> - </notification> - <notification name="JoinedTooManyGroups"> - Hai raggiunto il numero massimo di gruppi. Per favore abbandona almeno un gruppo prima di aderire o crearne uno nuovo. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="KickUser"> - Espelli questo residente con quale messaggio? - <form name="form"> - <input name="message"> - Un amministratore ti ha disconnesso. - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification name="KickAllUsers"> - Espelli tutti quelli che sono sulla griglia con quale messaggio? - <form name="form"> - <input name="message"> - Un amministratore ti ha disconnesso. - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification name="FreezeUser"> - Congela questo residente con quale messaggio? - <form name="form"> - <input name="message"> - Sei stato immobilizzato. Non puoi muoverti o usare la chat. Un amministratore ti contatterà con un messaggio (IM). - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification name="UnFreezeUser"> - Scongela questo residente con quale messaggio? - <form name="form"> - <input name="message"> - Non sei più immobilizzato. - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification name="SetDisplayNameSuccess"> - Ciao [DISPLAY_NAME]! - -Come nel modo reale, prima che tutti conoscano il tuo nuovo nome ci vorrà del tempo. Saranno necessari alcuni giorni per [http://wiki.secondlife.com/wiki/Setting_your_display_name l'aggiornamento del nome] in oggetti, script, ricerca, ecc. - </notification> - <notification name="SetDisplayNameBlocked"> - Non puoi cambiare il tuo nome visualizzato. Se ritieni che si tratta di un errore, contatta l'assistenza. - </notification> - <notification name="SetDisplayNameFailedLength"> - Il nome è troppo lungo. La lunghezza massima dei nomi visualizzati è di [LENGTH] caratteri. - -Riprova con un nome più corto. - </notification> - <notification name="SetDisplayNameFailedGeneric"> - Non è possibile impostare il tuo nome visualizzato. Riprova più tardi. - </notification> - <notification name="SetDisplayNameMismatch"> - I nomi visualizzati inseriti non corrispondono. Inseriscili nuovamente. - </notification> - <notification name="AgentDisplayNameUpdateThresholdExceeded"> - Devi aspettare prima di cambiare il nome visualizzato. - -Vedi http://wiki.secondlife.com/wiki/Setting_your_display_name - -Riprova più tardi. - </notification> - <notification name="AgentDisplayNameSetBlocked"> - Non è possibile impostare il nome richiesto perché contiene una parola vietata. - - Riprova con un altro nome. - </notification> - <notification name="AgentDisplayNameSetInvalidUnicode"> - Il nome visualizzato scelto contiene caratteri non validi. - </notification> - <notification name="AgentDisplayNameSetOnlyPunctuation"> - Il nome visualizzato deve contenere lettere, non solo segni di punteggiatura. - </notification> - <notification name="DisplayNameUpdate"> - [OLD_NAME] ([SLID]) ha il nuovo nome [NEW_NAME]. - </notification> - <notification name="OfferTeleport"> - Offri un teleport nel posto dove sei con il seguente messaggio? - <form name="form"> - <input name="message"> - Raggiungimi a [REGION] - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification name="OfferTeleportFromGod"> - Chiedere, in qualità di Admin, al residente di raggiungerti? - <form name="form"> - <input name="message"> - Raggiungimi in [REGION] - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification name="TeleportFromLandmark"> - Sei sicuro di volere il teleport a <nolink>[LOCATION]</nolink>? - <usetemplate ignoretext="Conferma il teleport verso un punto di riferimento" name="okcancelignore" notext="Annulla" yestext="Teleportati"/> - </notification> - <notification name="TeleportToPick"> - Teleport a [PICK]? - <usetemplate ignoretext="Conferma che voglio il teleport verso l'ubicazione nei Luoghi preferiti" name="okcancelignore" notext="Annulla" yestext="Teleport"/> - </notification> - <notification name="TeleportToClassified"> - Teleport a [CLASSIFIED]? - <usetemplate ignoretext="Conferma il teleport verso questa posizione negli annunci" name="okcancelignore" notext="Annulla" yestext="Teleport"/> - </notification> - <notification name="TeleportToHistoryEntry"> - Teleport a [HISTORY_ENTRY]? - <usetemplate ignoretext="Conferma il teleport verso un luogo che compare nella cronologia" name="okcancelignore" notext="Annulla" yestext="Teleport"/> - </notification> - <notification label="Manda un messaggio a tutti nella tua proprietà " name="MessageEstate"> - Scrivi un annuncio breve che verrà mandato a tutti quelli che sono in questo momento nella tua proprietà . - <form name="form"> - <input name="message"/> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification label="Cambia la tipologia della proprietà Linden" name="ChangeLindenEstate"> - Stai per apportare modifiche ad una proprietà che appartiene a Linden (continente, teen grid, orientamento e così via). - -Questa è un'operazione da effettuare con molta cautela, in quanto può incidere profondamente sulla vita dei residenti in Second Life. Sul continente, l'azione modificherà migliaia di regioni e creerà un grosso carico sul server. - -Vuoi procedere? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification label="Cambia la tipologia Linden di accesso alla proprietà " name="ChangeLindenAccess"> - Stai per cambiare la lista di accesso per una proprietà Linden (mainland, griglia minorenni, orientamento, ecc.). - -Questo è PERICOLOSO e dovrebbe essere fatto soltanto per poter lanciare il programma che consente agli oggetti/L$ di essere trasferiti fra griglie diverse. -Cambierà migliaia di regioni e produrrà seri problemi ai vari server. - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification label="Seleziona la proprietà " name="EstateAllowedAgentAdd"> - Aggiungi alla lista di accesso solo per questa proprietà oppure per [ALL_ESTATES]? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Tutte le proprietà " yestext="Questa proprietà "/> - </notification> - <notification label="Seleziona la proprietà " name="EstateAllowedAgentRemove"> - Rimuovi dalla lista di accesso solo per questa proprietà oppure per [ALL_ESTATES]? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Tutte le proprietà " yestext="Questa proprietà "/> - </notification> - <notification label="Seleziona la proprietà " name="EstateAllowedGroupAdd"> - Aggiungi al gruppo di accesso solo per questa proprietà oppure per [ALL_ESTATES]? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Tutte le proprietà " yestext="Questa proprietà "/> - </notification> - <notification label="Seleziona la proprietà " name="EstateAllowedGroupRemove"> - Rimuovi dal gruppo di accesso solo per questa proprietà oppure per [ALL_ESTATES]? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Tutte le proprietà " yestext="Questa proprietà "/> - </notification> - <notification label="Seleziona la proprietà " name="EstateBannedAgentAdd"> - Rifiuta l'accesso solo a questa proprietà oppure per [ALL_ESTATES]? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Tutte le proprietà " yestext="Questa proprietà "/> - </notification> - <notification label="Seleziona la proprietà " name="EstateBannedAgentRemove"> - Rimuovi questo residente dalla lista dei residenti bloccati nell'accesso solo a questa proprietà oppure per [ALL_ESTATES]? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Tutte le proprietà " yestext="Questa proprietà "/> - </notification> - <notification label="Seleziona la proprietà " name="EstateManagerAdd"> - Aggiungi come gestore della proprietà solo a questa proprietà oppure per [ALL_ESTATES]? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Tutte le proprietà " yestext="Questa proprietà "/> - </notification> - <notification label="Seleziona la proprietà " name="EstateManagerRemove"> - Rimuovi come gestore della proprietà solo per questa proprietà oppure per [ALL_ESTATES]? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Tutte le proprietà " yestext="Questa proprietà "/> - </notification> - <notification label="Conferma espulsione" name="EstateKickUser"> - Espelli [EVIL_USER] da questa proprietà ? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="EstateChangeCovenant"> - Confermi di voler cambiare il Regolamento della proprietà ? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="RegionEntryAccessBlocked"> - Non sei ammesso in questa regione a causa della tua categoria di accesso. Questo può risultare da una mancanza di informazioni necessarie per convalidare la tua età . - -Verifica di avere installato l'ultima versione del programma e vai alla Knowledge Base per ulteriori informazioni su come accedere nelle zone con tale categoria di accesso. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="RegionEntryAccessBlocked_KB"> - Non sei ammesso in questa regione a causa della tua categoria d'accesso. - -Vuoi andare alla Knowledge Base per ulteriori informazioni sulle categorie di accesso? - <url name="url"> - http://wiki.secondlife.com/wiki/Linden_Lab_Official:Maturity_ratings:_an_overview/it - </url> - <usetemplate ignoretext="Non posso entrare in questa regione a causa delle restrizioni della categoria di accesso" name="okcancelignore" notext="Chiudi" yestext="Vai alla Knowledge Base"/> - </notification> - <notification name="RegionEntryAccessBlocked_Notify"> - Non sei ammesso in questa regione a causa della tua categoria d'accesso. - </notification> - <notification name="RegionEntryAccessBlocked_Change"> - Non ti è consentito entrare in quella regione a causa della categoria di accesso impostata nelle preferenze. - -Per entrare nella regione, dovrai modificare la tua categoria di accesso. Ciò ti consentirà inoltre di effettuare ricerche di contenuti di categoria [REGIONMATURITY]. Per annullare le modifiche in un secondo momento, vai a Io > Preferenze > Generali. - <form name="form"> - <button name="OK" text="Cambia preferenza"/> - <button default="true" name="Cancel" text="Chiudi"/> - <ignore name="ignore" text="La categoria di accesso impostata mi impedisce di entrare in una regione"/> - </form> - </notification> - <notification name="PreferredMaturityChanged"> - La tua categoria di accesso attuale è [RATING]. - </notification> - <notification name="LandClaimAccessBlocked"> - Non puoi prendere possesso di questo terreno a causa della tua categoria di accesso. Questo può essere dovuto ad una mancanza di informazioni valide che confermino la tua età . - -Verifica di avere installato l'ultima versione del programma e vai alla Knowledge Base per informazioni sull'accesso ad aree con queste categorie di accesso. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="LandClaimAccessBlocked_KB"> - Non puoi prendere possesso di questa terra a causa delle preferenze sulle categorie di accesso. - -Vuoi andare alla Knowledge Base per maggiori informazioni sulle categorie di accesso? - <url name="url"> - http://wiki.secondlife.com/wiki/Linden_Lab_Official:Maturity_ratings:_an_overview/it - </url> - <usetemplate ignoretext="Non posso richiedere questo terreno a causa delle restrizioni della categoria di accesso" name="okcancelignore" notext="Chiudi" yestext="Vai alla Knowledge Base"/> - </notification> - <notification name="LandClaimAccessBlocked_Notify"> - Non puoi prendere possesso di questa terra a causa della tua categoria di accesso. - </notification> - <notification name="LandClaimAccessBlocked_Change"> - Non puoi richiedere questo terreno a causa della tua categoria di accesso. - -Puoi cliccare su Cambia preferenze per modificare la categoria di accesso e quindi riuscire ad entrare. Da adesso potrai accedere ai contenuti [REGIONMATURITY] ed effettuare ricerche in questa categoria. Se in seguito tu volessi cambiare di nuovo le tue impostazioni, apri la finestra di dialogo da Io > Preferenze > Generale. - <usetemplate ignoretext="Le mie preferenze di categoria di accesso mi impediscono di richiedere terreno" name="okcancelignore" notext="Chiudi" yestext="Cambia le preferenze"/> - </notification> - <notification name="LandBuyAccessBlocked"> - Non puoi acquistare questo terreno a causa della tua categoria di accesso. Questo può essere dovuto ad una mancanza di informazioni valide che confermino la tua età . - -Verifica di avere installato l'ultima versione del programma e vai alla Knowledge Base per informazioni sull'accesso ad aree con queste categorie di accesso. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="LandBuyAccessBlocked_KB"> - Non puoi acquistare questo terreno a causa della tua categoria di accesso. - -Vuoi andare alla Knowledge Base per maggiori informazioni sulle categorie di accesso? - <url name="url"> - http://wiki.secondlife.com/wiki/Linden_Lab_Official:Maturity_ratings:_an_overview/it - </url> - <usetemplate ignoretext="Non posso acquistare questo terreno a causa delle restrizioni della categoria di accesso" name="okcancelignore" notext="Chiudi" yestext="Vai alla Knowledge Base"/> - </notification> - <notification name="LandBuyAccessBlocked_Notify"> - Non puoi acquistare questa land a causa della tua categoria di accesso. - </notification> - <notification name="LandBuyAccessBlocked_Change"> - Non puoi acquistare questo terreno a causa della tua categoria di accesso. - -Puoi cliccare su Cambia preferenze per modificare la categoria di accesso e quindi riuscire ad entrare. Da adesso potrai accedere ai contenuti [REGIONMATURITY] ed effettuare ricerche in questa categoria. Se in seguito tu volessi cambiare di nuovo le tue impostazioni, apri la finestra di dialogo da Io > Preferenze > Generale. - <usetemplate ignoretext="Le mie Preferenze di accesso mi impediscono di acquistare terreno" name="okcancelignore" notext="Chiudi" yestext="Cambia le preferenze"/> - </notification> - <notification name="TooManyPrimsSelected"> - Hai selezionato troppi prim. Seleziona non più di [MAX_PRIM_COUNT] prim e riprova - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ProblemImportingEstateCovenant"> - Problemi nell'importazione del regolamento della proprietà . - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ProblemAddingEstateManager"> - Si sono riscontrati problemi nell'aggiungere un nuovo manager della proprietà . Una o più proprietà potrebbero avere la lista dei manager piena. - </notification> - <notification name="ProblemAddingEstateGeneric"> - Si sono riscontrati problemi nell'aggiunta a questo elenco della proprietà . Una o più proprietà potrebbe avere una lista piena. - </notification> - <notification name="UnableToLoadNotecardAsset"> - Impossibile caricare la risorsa della notecard in questo momento. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="NotAllowedToViewNotecard"> - Permessi insufficienti per vedere la notecard associata con l'asset ID richiesto. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="MissingNotecardAssetID"> - L'asset ID della notecard è mancante dal database. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="PublishClassified"> - Ricorda: le tariffe per gli annunci non sono rimborsabili. - -Pubblica questo annuncio adesso per [AMOUNT]L$? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="SetClassifiedMature"> - Queste inserzioni includono contenuti di tipo Moderato? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification name="SetGroupMature"> - Questo gruppo include contenuti di tipo Moderato? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification label="Conferma il riavvio" name="ConfirmRestart"> - Vuoi veramente far ripartire la regione in 2 minuti? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification label="Manda un messaggio a tutti in questa regione" name="MessageRegion"> - Scrivi un breve annuncio che verrà mandato a tutti in questa regione. - <form name="form"> - <input name="message"/> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification label="Cambiato il contenuto Moderato" name="RegionMaturityChange"> - La classificazione di questa regione è stata aggiornata. -Un periodo di tempo è necessario prima che la modifica venga integrata nella mappa. - -Per accedere a regioni per adulti, i residenti devono avere un Account verificato, mediante verifica dell'età oppure mediante verifica della modalità di pagamento. - </notification> - <notification label="Versione voice non compatibile" name="VoiceVersionMismatch"> - Questa versione di [APP_NAME] non è compatibile con la funzionalità di chat vocale in questa regione. Affinché la chat vocale funzioni correttamente, dovrai aggiornare [APP_NAME]. - </notification> - <notification label="Impossibile comprare oggetti" name="BuyObjectOneOwner"> - Impossibile comprare oggetti da proprietari diversi nello stesso momento. -Seleziona solo un oggetto e riprova. - </notification> - <notification label="Impossibile comprare il contenuto" name="BuyContentsOneOnly"> - Impossibile comprare il contenuto di più di un oggetto per volta. -Seleziona solo un oggetto e riprova. - </notification> - <notification label="Impossibile comprare il contenuto" name="BuyContentsOneOwner"> - Impossibile comprare oggetti da proprietari differenti nello stesso momento. -Scegli un solo oggetto e riprova. - </notification> - <notification name="BuyOriginal"> - Compra l'oggetto originale da [OWNER] per [PRICE]L$? -Diventerai proprietario di questo oggetto. -Sarai in grado di: - Modificare: [MODIFYPERM] - Copiare: [COPYPERM] - Rivendere o regalare: [RESELLPERM] - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="BuyOriginalNoOwner"> - Compra l'oggetto originale per [PRICE]L$? -Diventerai proprietario di questo oggetto. -Sarai in grado di: - Modificare: [MODIFYPERM] - Copiare: [COPYPERM] - Rivendere o regalare: [RESELLPERM] - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="BuyCopy"> - Compra una copia da [OWNER] per [PRICE]L$? -L'oggetto verrà copiato nel tuo inventario. -Sarai in grado di: - Modificare: [MODIFYPERM] - Copiare: [COPYPERM] - Rivendere o regalare: [RESELLPERM] - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="BuyCopyNoOwner"> - Compra una copia per [PRICE]L$? -L'oggetto verrà copiato nel tuo inventario. -Sarai in grado di: - Modificare: [MODIFYPERM] - Copiare: [COPYPERM] - Rivendere o regalare: [RESELLPERM] - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="BuyContents"> - Compra il contenuto da [OWNER] per [PRICE]L$? -Il contenuto verrà copiato nel tuo inventario. - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="BuyContentsNoOwner"> - Compra il contenuto per [PRICE]L$? -Il contenuto verrà copiato nel tuo inventario. - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmPurchase"> - Questa transazione ti permetterà di: -[ACTION] - -Confermi di voler procedere all'acquisto? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmPurchasePassword"> - Questa transazione farà : -[ACTION] - -Confermi di voler procedere all'acquisto? -Ridigita la tua password e premi OK. - <form name="form"> - <input name="message"/> - <button name="ConfirmPurchase" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification name="SetPickLocation"> - Nota: -Hai aggiornato l'ubicazione di questo preferito ma gli altri dettagli conserveranno il loro valore originale. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="MoveInventoryFromObject"> - Hai selezionato elementi dall'inventario 'non copiabili'. -Questi elementi verranno trasferiti nel tuo inventario, ma non copiati. - -Trasferisci gli elementi nell'inventario? - <usetemplate ignoretext="Avvertimi quando tento di rimuovore elementi per i quali non è consentita la copia da un oggetto" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="MoveInventoryFromScriptedObject"> - Hai selezionato elementi dell'inventario non copiabili. Questi elementi verranno trasferiti nel tuo inventario, non verranno copiati. -Dato che questo oggetto è scriptato, il trasferimento di questi elementi nel tuo inventario potrebbe causare un malfunzionamento degli script. - -Trasferisci gli elementi nell'inventario? - <usetemplate ignoretext="Avvertimi se tento di rimuovore di elementi per i quali non è consentita la copia e che potrebbero danneggiare un oggetto scriptato" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ClickActionNotPayable"> - Attenzione: l'azione Paga oggetto è stata impostata, ma funzionerà soltanto se inserisci uno script con un evento money(). - <form name="form"> - <ignore name="ignore" text="Ho impostato l'azione Paga oggetto costruendo un oggetto senza uno script money()"/> - </form> - </notification> - <notification name="OpenObjectCannotCopy"> - Non ci sono elementi in questo oggetto che tu possa copiare. - </notification> - <notification name="WebLaunchAccountHistory"> - Vai al [http://secondlife.com/account/ Dashboard] per vedere la cronologia del tuo account? - <usetemplate ignoretext="Lancia il browser per vedere la cronologia del mio account" name="okcancelignore" notext="Annulla" yestext="Vai alla pagina"/> - </notification> - <notification name="ConfirmQuit"> - Confermi di voler uscire? - <usetemplate ignoretext="Conferma prima di uscire" name="okcancelignore" notext="Non uscire" yestext="Esci"/> - </notification> - <notification name="DeleteItems"> - [QUESTION] - <usetemplate ignoretext="Conferma prima di cancellare gli elementi" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="HelpReportAbuseEmailLL"> - Usa questo strumento per segnalare violazioni a [http://secondlife.com/corporate/tos.php Terms of Service] e [http://secondlife.com/corporate/cs.php Community Standards]. - -Ogni abuso segnalato verrà esaminato e risolto. - </notification> - <notification name="HelpReportAbuseSelectCategory"> - Scegli una categoria per questa segnalazione di abuso. -Scegliere una categoria, ci aiuta a gestire ed elaborare le segnalazioni di abuso. - </notification> - <notification name="HelpReportAbuseAbuserNameEmpty"> - Introduci il nome di chi abusa. -Introducendo un valore accurato, ci aiuti a gestire ed elaborare le segnalazioni di abuso. - </notification> - <notification name="HelpReportAbuseAbuserLocationEmpty"> - Inserisci il luogo dove l'abuso è avvenuto. -Introducendo un valore accurato, ci aiuti a gestire ed elaborare le segnalazioni di abuso. - </notification> - <notification name="HelpReportAbuseSummaryEmpty"> - Inserisci un yiyolo descrittivo dell'abuso che è avvenuto. -Introducendo un titolo descrittivo accurato, ci aiuti a gestire ed elaborare le segnalazioni di abuso. - </notification> - <notification name="HelpReportAbuseDetailsEmpty"> - Inserisci una descrizione dettagliata dell'abuso che è avvenuto. -Devi essere il più specifico possibile, includendo i nomi e i dettagli dell'incidente che stai segnalando. -Inserendo una descrizione accurata ci aiuti a gestire ed elaborare le segnalazioni di abuso. - </notification> - <notification name="HelpReportAbuseContainsCopyright"> - Gentile residente, - -Ci risulta che tu stia segnalando una violazione di proprietà intellettuale. Per segnalare correttamente la violazione: - -(1) Definizione di abuso. Puoi inviare una segnalazione di abuso se ritieni che un residente stia sfruttando il sistema di permessi di [SECOND_LIFE], per esempio usando CopyBot o simili strumenti di copia, per rubare i diritti di proprietà intellettuale. L'Ufficio abusi investigherà e deciderà adeguate azioni disciplinari per comportamenti che violano i [http://secondlife.com/corporate/tos.php Termini del servizio] di [SECOND_LIFE] oppure gli [http://secondlife.com/corporate/cs.php Standard della comunità ]. Tieni comunque presente che l'Ufficio abusi non gestisce e non risponde alle richieste di rimozione di contenuti da [SECOND_LIFE]. - -(2) DMCA o rimozione di contenuti. Per richiedere la rimozione di contenuti da [SECOND_LIFE], devi compilare una denuncia valida di violazione come definito nelle nostra [http://secondlife.com/corporate/dmca.php Regole DMCA] (leggi sul copyright). - -Per continuare con il procedimento di abuso, chiudi questa finestra e completa la compilazione della segnalazione. È possibile che dovrai specificare la categoria CopyBot o Sfruttamento dei diritti. - -Grazie, - -Linden Lab - </notification> - <notification name="FailedRequirementsCheck"> - I seguenti componenti obbligatori sono mancanti da [FLOATER]: -[COMPONENTS] - </notification> - <notification label="Sostituisci gli oggetti indossati" name="ReplaceAttachment"> - C'è già un oggetto indossato in questo punto del corpo. -Vuoi sostituirlo con l'oggetto selezionato? - <form name="form"> - <ignore name="ignore" save_option="true" text="Sostituisci un pezzo collegato con l'elemento selezionato"/> - <button ignore="Replace Automatically" name="Yes" text="OK"/> - <button ignore="Never Replace" name="No" text="Annulla"/> - </form> - </notification> - <notification label="Avviso di 'Occupato'" name="BusyModePay"> - Sei in modalità 'Occupato', ciò significa che non riceverai ciò che attendi per questo pagamento. - -Desideri abbandonare la modalità 'Occupato' prima di completare questa transazione? - <form name="form"> - <ignore name="ignore" save_option="true" text="Sto per pagare una persona o un oggetto mentro sono in modalià Non disponibile"/> - <button ignore="Always leave Busy Mode" name="Yes" text="OK"/> - <button ignore="Never leave Busy Mode" name="No" text="Abbandona"/> - </form> - </notification> - <notification name="ConfirmDeleteProtectedCategory"> - La cartella '[FOLDERNAME]' è una cartella di sistema. L'eliminazione di cartelle di sistema può creare instabilità . Sei sicuro di volerla eliminare? - <usetemplate ignoretext="Chiedi conferma prima di eliminare una cartella di sistema" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmEmptyTrash"> - Vuoi veramente eliminare in modo permanente il contenuto del tuo Cestino? - <usetemplate ignoretext="Conferma prima di svuotare la cartella del Cestino inventario" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmClearBrowserCache"> - Vuoi veramente eliminare la cronologia viaggi, web e ricerche fatte? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmClearCookies"> - Confermi di volere cancellare i tuoi cookie? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Si"/> - </notification> - <notification name="ConfirmClearMediaUrlList"> - Confermi di voler cancellare la lista degli URL salvati? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Si"/> - </notification> - <notification name="ConfirmEmptyLostAndFound"> - Vuoi veramente eliminare in modo definitivo il contenuto dei tuoi Oggetti smarriti? - <usetemplate ignoretext="Conferma prima di svuotare della cartella Oggetti smarriti" name="okcancelignore" notext="No" yestext="Si"/> - </notification> - <notification name="CopySLURL"> - Lo SLurl seguente è stato copiato negli Appunti: - [SLURL] - -Inseriscilo in una pagina web per dare ad altri un accesso facile a questa ubicazione, o provala incollandola nella barra degli indirizzi di un browser web. - <form name="form"> - <ignore name="ignore" text="Lo SLurl è stato copiato negli Appunti"/> - </form> - </notification> - <notification name="WLSavePresetAlert"> - Vuoi sovrascrivere le preimpostazioni salvate? - <usetemplate name="okcancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification name="WLDeletePresetAlert"> - Vuoi cancellare [SKY]? - <usetemplate name="okcancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification name="WLNoEditDefault"> - Non puoi modificare o cancellare una preimpostazione di fabbrica. - </notification> - <notification name="WLMissingSky"> - Questo file di ciclo giornaliero fa riferimento ad un file di cielo mancante: [SKY]. - </notification> - <notification name="PPSaveEffectAlert"> - Effetto di post elaborazione già presente. Vuoi sovrascrivere? - <usetemplate name="okcancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification name="NewSkyPreset"> - Fornisci il nome per il nuovo cielo. - <form name="form"> - <input name="message"> - Nuova preimpostazione - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification name="ExistsSkyPresetAlert"> - La preimpostazione esiste già ! - </notification> - <notification name="NewWaterPreset"> - Fornisci il nome per la nuova preregolazione del livello dell'acqua. - <form name="form"> - <input name="message"> - Nuova preimpostazione - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification name="ExistsWaterPresetAlert"> - La preimpostazione esiste già ! - </notification> - <notification name="WaterNoEditDefault"> - Non puoi modificare o cancellare una preimpostazione. - </notification> - <notification name="ChatterBoxSessionStartError"> - Impossibile iniziare una nuova sessione di chat con [RECIPIENT]. -[REASON] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ChatterBoxSessionEventError"> - [EVENT] -[REASON] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ForceCloseChatterBoxSession"> - La sessione chat con [NAME] deve chiudere. -[REASON] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="Cannot_Purchase_an_Attachment"> - Non puoi comprare un oggetto mentre è unito. - </notification> - <notification label="Informazioni sulle richieste per il permesso di addebito" name="DebitPermissionDetails"> - Accettare questa richiesta da allo script il permesso continuativo di prendere Linden dollar (L$) dal tuo account. Per revocare questo permesso, il proprietario dell'oggetto deve cancellare l'oggetto oppure reimpostare gli script nell'oggetto. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AutoWearNewClothing"> - Vuoi indossare automaticamente gli indumenti che stai per creare? - <usetemplate ignoretext="Indossare gli abiti che creo mentre modifico il mio aspetto" name="okcancelignore" notext="No" yestext="Si"/> - </notification> - <notification name="NotAgeVerified"> - Per entrare in questa zona, devi avere eseguito la verifica dell'età . Vuoi andare sul sito di [SECOND_LIFE] per verificare la tua età ? - -[_URL] - <url name="url" option="0"> - https://secondlife.com/account/verification.php?lang=it - </url> - <usetemplate ignoretext="Non ho verificato la mia età " name="okcancelignore" notext="No" yestext="Si"/> - </notification> - <notification name="Cannot enter parcel: no payment info on file"> - Per poter visitare questa zona devi avere devi aver fornito informazioni di pagamento a Linden Lab. Vuoi andare sul sito di [SECOND_LIFE] ed impostarle? - -[_URL] - <url name="url" option="0"> - https://secondlife.com/account/index.php?lang=it - </url> - <usetemplate ignoretext="Manca la registrazione delle informazioni di pagamento" name="okcancelignore" notext="No" yestext="Si"/> - </notification> - <notification name="MissingString"> - La stringa [STRING_NAME] non è presente in strings.xml - </notification> - <notification name="SystemMessageTip"> - [MESSAGE] - </notification> - <notification name="IMSystemMessageTip"> - [MESSAGE] - </notification> - <notification name="Cancelled"> - Annullato - </notification> - <notification name="CancelledSit"> - Seduta annullata - </notification> - <notification name="CancelledAttach"> - Attaccamento annullato - </notification> - <notification name="ReplacedMissingWearable"> - Gli abiti/parti del corpo mancanti sono stati sostituiti con quelli di default . - </notification> - <notification name="GroupNotice"> - Oggetto: [SUBJECT], Messaggio: [MESSAGE] - </notification> - <notification name="FriendOnline"> - [NAME] è Online - </notification> - <notification name="FriendOffline"> - [NAME] è Offline - </notification> - <notification name="AddSelfFriend"> - Anche se sei molto simpatico, non puoi aggiungere te stesso all'elenco degli amici. - </notification> - <notification name="UploadingAuctionSnapshot"> - Sto importando le fotografie per l'uso inworld e per il web... -(Durata circa 5 minuti.) - </notification> - <notification name="UploadPayment"> - Hai pagato [AMOUNT]L$ per il caricamento. - </notification> - <notification name="UploadWebSnapshotDone"> - Il caricamento della fotografia nel sito web è andato a buon fine. - </notification> - <notification name="UploadSnapshotDone"> - Il caricamento della fotografia inworld è andato a buon fine. - </notification> - <notification name="TerrainDownloaded"> - Terrain.raw caricato - </notification> - <notification name="GestureMissing"> - Manca la gesture [NAME] dal database. - </notification> - <notification name="UnableToLoadGesture"> - Impossibile caricare la gesture [NAME]. - </notification> - <notification name="LandmarkMissing"> - Landmark non trovato nel database. - </notification> - <notification name="UnableToLoadLandmark"> - Impossibile caricare il Landmark di riferimento. Riprova. - </notification> - <notification name="CapsKeyOn"> - Hai il blocco delle maiuscole attivato. -Questo potrebbe incidere sulla tua password. - </notification> - <notification name="NotecardMissing"> - Notecard non trovata nel database. - </notification> - <notification name="NotecardNoPermissions"> - Non hai il permesso di vedere questo biglietto. - </notification> - <notification name="RezItemNoPermissions"> - Permessi insufficienti per creare un oggetto. - </notification> - <notification name="UnableToLoadNotecard"> - Impossibile caricare la notecard in questo momento. - </notification> - <notification name="ScriptMissing"> - Script non trovato nel database. - </notification> - <notification name="ScriptNoPermissions"> - Permessi insufficenti per visualizzare lo script. - </notification> - <notification name="UnableToLoadScript"> - Impossibile caricare lo script. Riprova. - </notification> - <notification name="IncompleteInventory"> - Il contenuto che stai offrendo per il momento non è localmente disponibile. Prova a rioffrire gli oggetti fra un minuto. - </notification> - <notification name="CannotModifyProtectedCategories"> - Non è possibile modificare le categorie protette. - </notification> - <notification name="CannotRemoveProtectedCategories"> - Non è possibile rimuovere le categorie protette. - </notification> - <notification name="UnableToBuyWhileDownloading"> - Impossibile acquistare l'oggetto durante il download dei dati. -Riprova. - </notification> - <notification name="UnableToLinkWhileDownloading"> - Impossibile collegare l'oggetto durante il download dei dati. -Riprova. - </notification> - <notification name="CannotBuyObjectsFromDifferentOwners"> - Puoi acquistare oggetti soltanto da un proprietario per volta. -Seleziona solo un oggetto. - </notification> - <notification name="ObjectNotForSale"> - Questo oggetto non è in vendita. - </notification> - <notification name="EnteringGodMode"> - Entra in modalità divina, livello [LEVEL] - </notification> - <notification name="LeavingGodMode"> - Esci dalla modalità divina, livello [LEVEL] - </notification> - <notification name="CopyFailed"> - Non hai l'autorizzazione a copiare. - </notification> - <notification name="InventoryAccepted"> - [NAME] ha ricevuto la tua offerta di inventario. - </notification> - <notification name="InventoryDeclined"> - [NAME] non ha accettato la tua offerta dall'inventario. - </notification> - <notification name="ObjectMessage"> - [NAME]: [MESSAGE] - </notification> - <notification name="CallingCardAccepted"> - Il tuo biglietto da visita è stato accettato. - </notification> - <notification name="CallingCardDeclined"> - Il tuo biglietto da visita non è stato accettato. - </notification> - <notification name="TeleportToLandmark"> - Puoi teleportarti alle ubicazioni come '[NAME]' aprendo il pannello Luoghi sul lato destro dello schermo, quindi selezionare la scheda Punti di riferimento. -Clicca su un punto di riferimento per selezionarlo, quindi clicca su Teleport sul lato inferiore del pannello. -(Puoi anche fare doppio clic sul punto di riferimento oppure cliccare su di esso con il tasto destro del mouse e scegliere Teleport.) - </notification> - <notification name="TeleportToPerson"> - Puoi contattare il residente '[NAME]' aprendo il pannello Persone nel lato destro del tuo schermo. -Seleziona il residente dall'elenco, clicca su 'IM' in basso nel pannello. -(Puoi anche fare doppio clic sul nome nell'elenco oppure fare clic con il pulsante destro del mouse e selezionare 'IM'). - </notification> - <notification name="CantSelectLandFromMultipleRegions"> - Non è possibile selezionare il terreno attraverso i confini del server. -Prova a selezionare una parte di terreno più piccola. - </notification> - <notification name="SearchWordBanned"> - Alcuni termini della ricerca sono stati esclusi a causa delle restrizioni di contenuto come esposto negli Standard della comunità . - </notification> - <notification name="NoContentToSearch"> - Seleziona almeno un tipo di contenuto per la ricerca (Generale, Moderato o Adulti). - </notification> - <notification name="SystemMessage"> - [MESSAGE] - </notification> - <notification name="PaymentReceived"> - [MESSAGE] - </notification> - <notification name="PaymentSent"> - [MESSAGE] - </notification> - <notification name="EventNotification"> - Notifica eventi: - -[NAME] -[DATE] - <form name="form"> - <button name="Details" text="Dettagli"/> - <button name="Cancel" text="Cancella"/> - </form> - </notification> - <notification name="TransferObjectsHighlighted"> - Tutti gli oggetti presenti sul terreno, che saranno trasferiti al compratore di questa terra, saranno ora evidenziati. - -* Gli alberi e l'erba che cederai non saranno evidenziati. - <form name="form"> - <button name="Done" text="Fatto"/> - </form> - </notification> - <notification name="DeactivatedGesturesTrigger"> - Usa lo stesso tasto per disattivare la gesture: -[NAMES] - </notification> - <notification name="NoQuickTime"> - Il software QuickTime di Apple sembra non essere installato sul tuo computer. -Se vuoi vedere contenuto multimediale in streaming sui lotti che lo supportano, vai alla pagina [http://www.apple.com/quicktime QuickTime] e installa il Player QuickTime. - </notification> - <notification name="NoPlugin"> - Non è stato trovato alcun plugin multimediale per gestire il tipo mime [MIME_TYPE]. Il media di questo tipo non è disponibile. - </notification> - <notification name="MediaPluginFailed"> - Questo plugin multimediale non funziona: - [PLUGIN] - -Reinstalla il plugin o contatta il venditore se continui ad avere questi problemi. - <form name="form"> - <ignore name="ignore" text="Mancato funzionamento del plugin multimediale"/> - </form> - </notification> - <notification name="OwnedObjectsReturned"> - Gli oggetti che possiedi sul terreno selezionato ti sono stati restituiti nell'inventario. - </notification> - <notification name="OtherObjectsReturned"> - Sono stati restituiti all'inventario di '[NAME]' gli oggetti sul lotto di terreno selezionato di sua proprietà . - </notification> - <notification name="OtherObjectsReturned2"> - Sono stati restituiti al proprietario gli oggetti selezionati sul lotto nella terra di proprietà del residente '[NAME]'. - </notification> - <notification name="GroupObjectsReturned"> - Gli oggetti selezionati sul terreno e condivisi con il gruppo [GROUPNAME] sono stati restituiti nell'inventario dei propietari. -Gli oggetti trasferibili ceduti sono stati restituiti ai proprietari precedenti. -Gli oggetti non trasferibili che erano stati ceduti al gruppo sono stati cancellati. - </notification> - <notification name="UnOwnedObjectsReturned"> - Gli oggetti selezionati sul terreno che non sono di tua proprietà sono stati restituiti ai loro proprietari. - </notification> - <notification name="ServerObjectMessage"> - Messaggio da [NAME]: -<nolink>[MSG]</nolink> - </notification> - <notification name="NotSafe"> - Su questo terreno sono abilitati i danni. -Qui potresti essere ferito. Se dovessi morire verrai teleportato a casa tua. - </notification> - <notification name="NoFly"> - In questa zona è proibito il volo. -Qui non puoi volare. - </notification> - <notification name="PushRestricted"> - Questa zona non consente le spinte. Non puoi spingere gli altri a meno che tu non sia il proprietario del terreno. - </notification> - <notification name="NoVoice"> - Questa zona ha la chat vocale disattivata. Non puoi sentire nessuno parlare. - </notification> - <notification name="NoBuild"> - In questa zona è proibita la costruzione. Qui non puoi costruire né rezzare oggetti. - </notification> - <notification name="ScriptsStopped"> - Un amministratore ha temporaneamente disabilitato gli script in questa regione. - </notification> - <notification name="ScriptsNotRunning"> - In questa terra nessuno script è attivo. - </notification> - <notification name="NoOutsideScripts"> - Questo terreno non consente script esterni. - -Qui funzionano soltanto gli script del proprietario del terreno. - </notification> - <notification name="ClaimPublicLand"> - Puoi solo richiedere terreni pubblici nella regione in cui sei posizionato. - </notification> - <notification name="RegionTPAccessBlocked"> - Non puoi entrare in quella regione a causa della tua categoria di accesso. Può essere necessario validare l'età e/o installare l'ultima versione del programma. - -Visita la Knowledge Base per informazioni sull'accesso alle aree con queste categorie di accesso. - </notification> - <notification name="URBannedFromRegion"> - Tu hai l'accesso bloccato a questa regione. - </notification> - <notification name="NoTeenGridAccess"> - Il tuo account non può connettersi a questa regione della griglia per Teenager. - </notification> - <notification name="ImproperPaymentStatus"> - Non hai una impostazioni di pagamento corrette per entrare in questa regione. - </notification> - <notification name="MustGetAgeParcel"> - Devi essere di età verificata per entrare in questa terra. - </notification> - <notification name="NoDestRegion"> - Non è stata trovata nessuna regione di destinazione. - </notification> - <notification name="NotAllowedInDest"> - Non hai il permesso di accedere alla regione di destinazione. - </notification> - <notification name="RegionParcelBan"> - Non puoi attraversare la regione passando su un terreno ad accesso interdetto. Prova in un altro modo. - </notification> - <notification name="TelehubRedirect"> - Sei stato rediretto ad un punto di snodo di teletrasporto. - </notification> - <notification name="CouldntTPCloser"> - Non è stato possibile teleportarti più vicino al luogo di destinazione. - </notification> - <notification name="TPCancelled"> - Teletrasporto annullato. - </notification> - <notification name="FullRegionTryAgain"> - La regione in cui stai tentando di accedere è attualmente piena. -Riprova tra qualche istante. - </notification> - <notification name="GeneralFailure"> - Fallimento generale. - </notification> - <notification name="RoutedWrongRegion"> - Sei stato instradato verso la regione sbagliata. Riprova. - </notification> - <notification name="NoValidAgentID"> - Nessun ID valido. - </notification> - <notification name="NoValidSession"> - Nessun ID valido. - </notification> - <notification name="NoValidCircuit"> - Nessun codice circuito valido. - </notification> - <notification name="NoValidTimestamp"> - Nessuna data/timestamp valido. - </notification> - <notification name="NoPendingConnection"> - Impossibile creare la connessione in sospeso. - </notification> - <notification name="InternalUsherError"> - Si è verificato un errore interno durante il tentativo di trasportarti alla destinazione. Potrebbero esserci problemi in [SECOND_LIFE] al momento. - </notification> - <notification name="NoGoodTPDestination"> - Impossibile trovare una buona destinazione per il teletrasporto in questa regione. - </notification> - <notification name="InternalErrorRegionResolver"> - Si è verificato un errore interno durante il tentativo di risolvere le coordinate per la richiesta di teletrasporto. Può darsi che ci siano problemi in [SECOND_LIFE] al momento. - </notification> - <notification name="NoValidLanding"> - Non è stato trovato un punto di atterraggio valido. - </notification> - <notification name="NoValidParcel"> - Non è stato trovato nessun territorio valido. - </notification> - <notification name="ObjectGiveItem"> - Un oggetto denominato <nolink>[OBJECTFROMNAME]</nolink> di proprietà di <nolink>[ITEM_SLURL]</nolink> ti ha offerto [ITEM_SLURL]: Per usare questo oggetto è necessario passare alla modalità Avanzata e cercarlo nell'Inventario. Per passare alla modalità Avanzata, esci e riavvia l'applicazione e cambia le impostazioni della modalità nella schermata di accesso. - <form name="form"> - <button name="Keep" text="Mantieni oggetto"/> - <button name="Discard" text="Rifiuta oggetto"/> - <button name="Mute" text="Blocca oggetto"/> - </form> - </notification> - <notification name="UserGiveItem"> - [NAME_SLURL] ti ha offerto [ITEM_SLURL]. Per usare questo oggetto è necessario passare alla modalità Avanzata e cercarlo nell'Inventario. Per passare alla modalità Avanzata, esci e riavvia l'applicazione e cambia le impostazioni della modalità nella schermata di accesso. - <form name="form"> - <button name="Show" text="Mantieni oggetto"/> - <button name="Discard" text="Rifiuta oggetto"/> - <button name="Mute" text="Blocca utente"/> - </form> - </notification> - <notification name="GodMessage"> - [NAME] - -[MESSAGE] - </notification> - <notification name="JoinGroup"> - [MESSAGE] - <form name="form"> - <button name="Join" text="Iscriviti"/> - <button name="Decline" text="Rifiuta"/> - <button name="Info" text="Info"/> - </form> - </notification> - <notification name="TeleportOffered"> - [NAME_SLURL] ti ha offerto il teleport alla sua ubicazione: - -[MESSAGE] - [MATURITY_STR] <icon>[MATURITY_ICON]</icon> - <form name="form"> - <button name="Teleport" text="Teleport"/> - <button name="Cancel" text="Cancella"/> - </form> - </notification> - <notification name="TeleportOfferSent"> - Offerta di Teleport inviata a [TO_NAME] - </notification> - <notification name="GotoURL"> - [MESSAGE] -[URL] - <form name="form"> - <button name="Later" text="Successivo"/> - <button name="GoNow..." text="Vai ora..."/> - </form> - </notification> - <notification name="OfferFriendship"> - [NAME_SLURL] ti ha offerto di diventare amici. - -[MESSAGE] - -(L'impostazione predefinita consente a ciascuno di vedere se l'altro è online.) - <form name="form"> - <button name="Accept" text="Accetta"/> - <button name="Decline" text="Rifiuta"/> - </form> - </notification> - <notification name="FriendshipOffered"> - Hai offerto l'amicizia a [TO_NAME] - </notification> - <notification name="OfferFriendshipNoMessage"> - [NAME_SLURL] ti ha offerto di diventare amici. - -(L'impostazione predefinita consente a ciascuno di vedere se l'altro è online.) - <form name="form"> - <button name="Accept" text="Accetta"/> - <button name="Decline" text="Rifiuta"/> - </form> - </notification> - <notification name="FriendshipAccepted"> - [NAME] ha accettato la tua offerta di amicizia. - </notification> - <notification name="FriendshipDeclined"> - [NAME] ha rifiutato la tua offerta di amicizia. - </notification> - <notification name="FriendshipAcceptedByMe"> - Offerta di amicizia accettata. - </notification> - <notification name="FriendshipDeclinedByMe"> - Offerta di amicizia rifiutata. - </notification> - <notification name="OfferCallingCard"> - [NOME] ti offre il suo biglietto da visita. -Questo sarà aggiunto nel tuo inventario come segnalibro per consentirti di inviare rapidamente messaggi IM a questo residente. - <form name="form"> - <button name="Accept" text="Accetta"/> - <button name="Decline" text="Rifiuta"/> - </form> - </notification> - <notification name="RegionRestartMinutes"> - Questa regione verrà riavviata fra [MINUTES] minuti. -Se rimani qui verrai scollegato da Second Life. - </notification> - <notification name="RegionRestartSeconds"> - Questa regione verrà riavviata fra [SECONDS] secondi. -Se rimani qui verrai scollegato da Second Life. - </notification> - <notification name="LoadWebPage"> - Caricare la pagina Web [URL]? - -[MESSAGE] - -Dall'oggetto: <nolink>[OBJECTNAME]</nolink>, proprietario: [NAME]? - <form name="form"> - <button name="Gotopage" text="Caricare"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification name="FailedToFindWearableUnnamed"> - Impossibile trovare [TYPE] nel database. - </notification> - <notification name="FailedToFindWearable"> - Impossibile trovare [TYPE] chiamato [DESC] nel database. - </notification> - <notification name="InvalidWearable"> - L'elemento che stai tentando di indossare usa delle caratteristiche che il tuo viewer non può leggere. Aggiorna la versione di [APP_NAME] per poterlo indossare. - </notification> - <notification name="ScriptQuestion"> - '<nolink>[OBJECTNAME]</nolink>', un oggetto posseduto da '[NAME]' vorrebbe: - -[QUESTIONS] -OK? - <form name="form"> - <button name="Yes" text="Si"/> - <button name="No" text="No"/> - <button name="Mute" text="Blocca"/> - </form> - </notification> - <notification name="ScriptQuestionCaution"> - Un oggetto di nome '<nolink>[OBJECTNAME]</nolink>', posseduto da '[NAME]' vorrebbe: - -[QUESTIONS] -Se non ti fidi di questo oggetto e del suo ideatore, dovresti rifiutare la richiesta. - -Concedi questa richiesta? - <form name="form"> - <button name="Grant" text="Accetta"/> - <button name="Deny" text="Nega"/> - <button name="Details" text="Dettagli..."/> - </form> - </notification> - <notification name="ScriptDialog"> - '<nolink>[TITLE]</nolink>' di [NAME] -[MESSAGE] - <form name="form"> - <button name="Ignore" text="Ignora"/> - </form> - </notification> - <notification name="ScriptDialogGroup"> - '<nolink>[TITLE]</nolink>' di [GROUPNAME] -[MESSAGE] - <form name="form"> - <button name="Ignore" text="Ignora"/> - </form> - </notification> - <notification name="BuyLindenDollarSuccess"> - Grazie per aver inviato il pagamento. - -Il tuo saldo in L$ sarà aggiornato al termine dell'elaborazione. Se l'elaborazione dovesse impiegare più di 20 minuti, la transazione verrà annullata. In quel caso l'ammontare dell'acquisto verrà accreditato sul tuo saldo in US$. - -Potrai controllare lo stato del pagamento nella pagina della cronologia delle transazioni nel tuo [http://secondlife.com/account/ Dashboard] - </notification> - <notification name="FirstOverrideKeys"> - I tuoi movimenti della tastiera vengono ora gestiti da un oggetto. -Prova i tasti freccia o AWSD per vedere quello che fanno. -Alcuni oggetti (come pistole) richiedono di andare in mouselook per il loro utilizzo. -Premi 'M' per farlo. - </notification> - <notification name="FirstSandbox"> - Questa è una Sandbox, serve ai residenti per imparare a costruire. - -Gli oggetti che costruisci qui verranno eliminati dopo che te ne sei andato, perciò non dimenticare di cliccare sulle tue creazioni col tasto destro del mouse e scegliere Prendi per trasferirle nel tuo Inventario. - </notification> - <notification name="MaxListSelectMessage"> - È possibile selezionare solo fino a [MAX_SELECT] oggetti da questa lista. - </notification> - <notification name="VoiceInviteP2P"> - [NAME] ti sta invitando ad una chiamata in chat vocale. -Clicca su Accetta per unirti alla chiamata oppure su Declina to declinare l'invito. Clicca su Blocca per bloccare questo chiamante. - <form name="form"> - <button name="Accept" text="Accetta"/> - <button name="Decline" text="Rifiuta"/> - <button name="Mute" text="Blocca"/> - </form> - </notification> - <notification name="AutoUnmuteByIM"> - [NAME] ha ricevuto un IM ed è stato automaticamente sbloccato. - </notification> - <notification name="AutoUnmuteByMoney"> - [NAME] ha ricevuto del denaro ed è stato automaticamente sbloccato. - </notification> - <notification name="AutoUnmuteByInventory"> - [NAME] ha ricevuto un'offerta di inventario ed è stato automaticamente sbloccato. - </notification> - <notification name="VoiceInviteGroup"> - [NAME] si è aggiunto alla chiamata in chat vocale con il gruppo [GROUP]. -Clicca su Accetta per unirti alla chiamata oppure su Declina to declinare l'invito. Clicca su Blocca per bloccare questo chiamante. - <form name="form"> - <button name="Accept" text="Accetta"/> - <button name="Decline" text="Rifiuta"/> - <button name="Mute" text="Blocca"/> - </form> - </notification> - <notification name="VoiceInviteAdHoc"> - [NAME] si è aggiunto alla chiamata in chat vocale con una conferenza. -Clicca su Accetta per unirti alla chiamata oppure su Declina to declinare l'invito. Clicca su Blocca per bloccare questo chiamante. - <form name="form"> - <button name="Accept" text="Accetta"/> - <button name="Decline" text="Rifiuta"/> - <button name="Mute" text="Blocca"/> - </form> - </notification> - <notification name="InviteAdHoc"> - [NAME] ti sta invitando ad una conferenza in chat. -Clicca su Accetta per unirti alla chat oppure su Declina per declinare l'invito. Clicca su Blocca per bloccare questo chiamante. - <form name="form"> - <button name="Accept" text="Accetta"/> - <button name="Decline" text="Rifiuta"/> - <button name="Mute" text="Blocca"/> - </form> - </notification> - <notification name="VoiceChannelFull"> - La chiamata vocale a cui si sta cercando di unirsi, [VOICE_CHANNEL_NAME], ha raggiunto la capacità massima. Si prega di riprovare più tardi. - </notification> - <notification name="ProximalVoiceChannelFull"> - Siamo spiacenti. Questa area ha raggiunto la capacità massima per le chiamate voice. Si prega di provare ad usare il voice in un'altra area. - </notification> - <notification name="VoiceChannelDisconnected"> - Sei stato scollegato da [VOICE_CHANNEL_NAME]. Verrai ora ricollegato alla chat vocale nei dintorni. - </notification> - <notification name="VoiceChannelDisconnectedP2P"> - [VOICE_CHANNEL_NAME] ha chiuso la chiamata. Verrai ora ricollegato alla chat vocale nei dintorni. - </notification> - <notification name="P2PCallDeclined"> - [VOICE_CHANNEL_NAME] ha declinato la tua chiamata. Verrai ora ricollegato alla chat vocale nei dintorni. - </notification> - <notification name="P2PCallNoAnswer"> - [VOICE_CHANNEL_NAME] non è disponibile per la tua chiamata. Verrai ora ricollegato alla chat vocale nei dintorni. - </notification> - <notification name="VoiceChannelJoinFailed"> - Collegamento a [VOICE_CHANNEL_NAME] non riuscito, riprova più tardi. Verrai ora ricollegato alla chat vocale nei dintorni. - </notification> - <notification name="VoiceLoginRetry"> - Stiamo creando una canale voice per te. Questo può richiedere fino a un minuto. - </notification> - <notification name="VoiceEffectsExpired"> - Almeno una delle manipolazioni vocali alle quali sei iscritto è scaduta. -[[URL] Fai clic qui] per rinnovare l'abbonamento. - </notification> - <notification name="VoiceEffectsExpiredInUse"> - Poiché la manipolazione vocale attiva è scaduta, sono state applicate le tue impostazioni normali. -[[URL] Fai clic qui] per rinnovare l'abbonamento. - </notification> - <notification name="VoiceEffectsWillExpire"> - Almeno una delle tue manipolazioni vocali scadrà tra meno di [INTERVAL] giorni. -[[URL] Fai clic qui] per rinnovare l'abbonamento. - </notification> - <notification name="VoiceEffectsNew"> - Sono disponibili nuove manipolazioni vocali. - </notification> - <notification name="Cannot enter parcel: not a group member"> - Soltanto i membri di un determinato gruppo possono visitare questa zona. - </notification> - <notification name="Cannot enter parcel: banned"> - Non puoi entrare nel terreno, sei stato bloccato. - </notification> - <notification name="Cannot enter parcel: not on access list"> - Non puoi entrare nel terreno, non fai parte della lista di accesso. - </notification> - <notification name="VoiceNotAllowed"> - Non hai il permesso di collegarti ad una voice chat con [VOICE_CHANNEL_NAME]. - </notification> - <notification name="VoiceCallGenericError"> - Si è verificato un errore durante il tentativo di collegarti a una voice chat con [VOICE_CHANNEL_NAME]. Riprova più tardi. - </notification> - <notification name="UnsupportedCommandSLURL"> - Lo SLurl su cui hai cliccato non è valido. - </notification> - <notification name="BlockedSLURL"> - Uno SLurl è stato ricevuto da un browser sconosciuto o non sicuro e, per sicurezza, è stato bloccato. - </notification> - <notification name="ThrottledSLURL"> - Sono stati ricevuti più SLurl da un browser sconosciuto o non sicuro in un breve periodo di tempo. -Per sicurezza, verranno bloccati per alcuni secondi. - </notification> - <notification name="IMToast"> - [MESSAGE] - <form name="form"> - <button name="respondbutton" text="Rispondi"/> - </form> - </notification> - <notification name="ConfirmCloseAll"> - Sicuro di voler chiudere tutti gli IM? - <usetemplate ignoretext="Conferma prima della chiusura di tutti gli IM" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="AttachmentSaved"> - L'elemento da collegare è stato salvato. - </notification> - <notification name="UnableToFindHelpTopic"> - Impossibile trovare l'argomento nell'aiuto per questo elemento. - </notification> - <notification name="ObjectMediaFailure"> - Errore del server: mancato aggiornamento o ottenimento del media. -'[ERROR]' - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TextChatIsMutedByModerator"> - La tua chat di testo è stata interrotta dal moderatore. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="VoiceIsMutedByModerator"> - La tua voce è stata interrotta dal moderatore. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ConfirmClearTeleportHistory"> - Sei sicuro di volere cancellare la cronologia dei tuoi teleport? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="BottomTrayButtonCanNotBeShown"> - Il pulsante selezionato non può essere visualizzato in questo momento. -Il pulsante verrà visualizzato quando lo spazio sarà sufficiente. - </notification> - <notification name="ShareNotification"> - Scegli i residenti con i quali condividere. - </notification> - <notification name="ShareItemsConfirmation"> - Sei sicuro di volere condividere gli oggetti - -<nolink>[MSG]</nolink> - -Con i seguenti residenti? - -[RESIDENTS] - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Ok"/> - </notification> - <notification name="ItemsShared"> - Gli oggetti sono stati condivisi. - </notification> - <notification name="DeedToGroupFail"> - Cessione al gruppo non riuscita. - </notification> - <notification name="AvatarRezNotification"> - ( in esistenza da [EXISTENCE] secondi ) -Nuvola avatar '[NAME]' dileguata dopo [TIME] secondi. - </notification> - <notification name="AvatarRezSelfBakedDoneNotification"> - ( in esistenza da [EXISTENCE] secondi ) -Baking dei vestiti terminato dopo [TIME] secondi. - </notification> - <notification name="AvatarRezSelfBakedUpdateNotification"> - ( in esistenza da [EXISTENCE] secondi ) -Hai inviato un aggiornamento al tuo aspetto dopo [TIME] secondi. -[STATUS] - </notification> - <notification name="AvatarRezCloudNotification"> - ( presente da [EXISTENCE] secondi ) -Avatar '[NAME]' trasformato in nuvola. - </notification> - <notification name="AvatarRezArrivedNotification"> - ( presente da [EXISTENCE] secondi ) -È comparso l'avatar '[NAME]'. - </notification> - <notification name="AvatarRezLeftCloudNotification"> - ( presente da [EXISTENCE] secondi ) -Avatar '[NAME]' partito dopo [TIME] secondi sotto forma di nuvola. - </notification> - <notification name="AvatarRezEnteredAppearanceNotification"> - ( presente da [EXISTENCE] secondi ) -Avatar '[NAME]' è entrato nella modalità aspetto. - </notification> - <notification name="AvatarRezLeftAppearanceNotification"> - ( presente da [EXISTENCE] secondi ) -Avatar '[NAME]' ha lasciato la modalità aspetto. - </notification> - <notification name="NoConnect"> - Ci sono problemi di connessione tramite [PROTOCOL] [HOSTID]. -Ti consigliamo di controllare le tue impostazioni di rete e della firewall. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="NoVoiceConnect"> - A causa di problemi di connessione al server vocale - -[HOSTID] - -le comunicazioni tramite voce non saranno disponibili. -Ti consigliamo di controllare le tue impostazioni di rete e della firewall. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AvatarRezLeftNotification"> - ( presente da [EXISTENCE] secondi ) -Avatar '[NAME]' è partito completamente caricato. - </notification> - <notification name="AvatarRezSelfBakedTextureUploadNotification"> - ( In esistenza da [EXISTENCE] secondi) -Hai caricato una texture [RESOLUTION] completata per '[BODYREGION]' dopo [TIME] secondi. - </notification> - <notification name="AvatarRezSelfBakedTextureUpdateNotification"> - ( In esistenza da [EXISTENCE] secondi) -Hai aggiornato localmente una texture [RESOLUTION] completata per '[BODYREGION]' dopo [TIME] secondi. - </notification> - <notification name="ConfirmLeaveCall"> - Sei sicuro di volere uscire dalla chiamata? - <usetemplate ignoretext="Conferma prima di uscire dalla chiamata" name="okcancelignore" notext="No" yestext="Sì"/> - </notification> - <notification name="ConfirmMuteAll"> - Hai scelto di disattivare l'audio di tutti i partecipanti alla chiamata di gruppo. -In questo modo verrà disattivato l'audio anche di tutti i residenti che si -uniscono alla chiamata in un secondo momento, anche dopo che tu ti fossi scollegato. - -Disattiva audio di tutti? - <usetemplate ignoretext="Conferma prima di disattivare l'audio di tutti i partecipanti alla chiamata di gruppo" name="okcancelignore" notext="Annulla" yestext="Ok"/> - </notification> - <notification label="Chat" name="HintChat"> - Per partecipare alla conversazione, digita nel campo chat in basso. - </notification> - <notification label="Alzati" name="HintSit"> - Per alzarti ed uscire dalla posizione seduta, clicca sul pulsante Alzati. - </notification> - <notification label="Parla" name="HintSpeak"> - Clicca sul pulsante Parla per attivare o disattivare il microfono. - -Clicca sul tasto freccia su per visualizzare il pannello di controllo voce. - -Se nascondi il tasto Parla viene disattivata la funzione voce. - </notification> - <notification label="Esplora il mondo" name="HintDestinationGuide"> - La Guida alle destinazioni contiene migliaia di nuovi luoghi da scoprire. Seleziona una destinazione e scegli Teleport per iniziare a esplorare. - </notification> - <notification label="Pannello laterale" name="HintSidePanel"> - Nel pannello laterale puoi acccedere rapidamente all'inventario, ai vestiti, ai profili e ad altro ancora. - </notification> - <notification label="Movimento" name="HintMove"> - Per camminare o correre, apri il pannello Sposta e usa le frecce direzionali per spostarti. Puoi anche usare le frecce direzionali sulla tastiera del computer. - </notification> - <notification label="" name="HintMoveClick"> - 1. Clicca per camminare -Clicca dovunque sul terreno per camminare verso quella posizione. - -2. Clicca e trascina per ruotare la visuale -Clicca e trascina dovunque nel mondo per ruotare la visuale - </notification> - <notification label="Nome visualizzato" name="HintDisplayName"> - Imposta qui il tuo nome visualizzato personalizzabile. È in aggiunta al tuo nome utente, che non può essere cambiato. Nelle preferenze puoi anche cambiare il modo in cui vedi i nomi degli altri. - </notification> - <notification label="Visuale" name="HintView"> - Per cambiare la visuale della fotocamera, usa i controlli Ruota visuale e Panoramica. Ripristina la visuale premendo il tasto Esc o camminando. - </notification> - <notification label="Inventario" name="HintInventory"> - Trova oggetti nel tuo inventario. I più recenti si trovano nella scheda Elementi recenti. - </notification> - <notification label="Hai dollari Linden!" name="HintLindenDollar"> - Ecco il saldo attuale in L$. Clicca su Acquista L$ per acquistare altri dollari Linden. - </notification> - <notification name="PopupAttempt"> - Non è stato possibile aprire una finestra pop-up. - <form name="form"> - <ignore name="ignore" text="Attiva tutti i pop-up"/> - <button name="open" text="Apri finestra pop-up"/> - </form> - </notification> - <notification name="AuthRequest"> - Il sito '<nolink>[HOST_NAME]</nolink>' nel reame '[REALM]' richiede un nome utente e una password. - <form name="form"> - <input name="username" text="Nome utente"/> - <input name="password" text="Password"/> - <button name="ok" text="Invia"/> - <button name="cancel" text="Annulla"/> - </form> - </notification> - <notification label="" name="ModeChange"> - Per cambiare la modalità è necessario uscire e riavviare. - <usetemplate name="okcancelbuttons" notext="Non uscire" yestext="Esci"/> - </notification> - <notification label="" name="NoClassifieds"> - La creazione e la modifica degli annunci sono disponibili solo in modalità Avanzata. Uscire e cambiare la modalità ? Sulla schermata di accesso si può selezionare la modalità . - <usetemplate name="okcancelbuttons" notext="Non uscire" yestext="Esci"/> - </notification> - <notification label="" name="NoGroupInfo"> - La creazione e la modifica dei gruppi sono disponibili solo in modalità Avanzata. Uscire e cambiare la modalità ? Sulla schermata di accesso si può selezionare la modalità . - <usetemplate name="okcancelbuttons" notext="Non uscire" yestext="Esci"/> - </notification> - <notification label="" name="NoPicks"> - La creazione e la modifica dei luoghi preferiti sono disponibili solo in modalità Avanzata. Uscire e cambiare la modalità ? Sulla schermata di accesso si può selezionare la modalità . - <usetemplate name="okcancelbuttons" notext="Non uscire" yestext="Esci"/> - </notification> - <notification label="" name="NoWorldMap"> - La visualizzazione della mappa del mondo è disponibile solo in modalità Avanzata. Uscire e cambiare la modalità ? Sulla schermata di accesso si può selezionare la modalità . - <usetemplate name="okcancelbuttons" notext="Non uscire" yestext="Esci"/> - </notification> - <notification label="" name="NoVoiceCall"> - Le chiamate Voce sono disponibili solo in modalità Avanzata. Eseguire il logout e cambiare la modalità ? - <usetemplate name="okcancelbuttons" notext="Non uscire" yestext="Esci"/> - </notification> - <notification label="" name="NoAvatarShare"> - La condivisione è disponibile solo in modalità Avanzata. Eseguire il logout e cambiare la modalità ? - <usetemplate name="okcancelbuttons" notext="Non uscire" yestext="Esci"/> - </notification> - <notification label="" name="NoAvatarPay"> - Il pagamento ad altri residenti è disponibile solo in modalità Avanzata. Eseguire il logout e cambiare la modalità ? - <usetemplate name="okcancelbuttons" notext="Non uscire" yestext="Esci"/> - </notification> - <global name="UnsupportedCPU"> - - La velocità della tua CPU non soddisfa i requisiti minimi. - </global> - <global name="UnsupportedGLRequirements"> - Non sembra che tu abbia i requisiti hardware adeguati per [APP_NAME]. [APP_NAME] richiede una scheda grafica OpenGL con supporto multitexture. Se ne hai una in dotazione, accertati di avere i driver, i service pack e i patch più recenti per la scheda grafica e per il sistema operativo. - -Se continui ad avere problemi, visita la pagina [SUPPORT_SITE]. - </global> - <global name="UnsupportedCPUAmount"> - 796 - </global> - <global name="UnsupportedRAMAmount"> - 510 - </global> - <global name="UnsupportedGPU"> - - La tua scheda grafica non soddisfa i requisiti minimi. - </global> - <global name="UnsupportedRAM"> - - La memoria del tuo sistema non soddisfa i requisiti minimi. - </global> - <global name="You can only set your 'Home Location' on your land or at a mainland Infohub."> - Se sei proprietario di un appezzamento di terreno, puoi definirlo come la tua posizione iniziale. -In alternativa, puoi guardare sulla mappa e trovare luoghi segnalati come "Infohub". - </global> - <global name="You died and have been teleported to your home location"> - Sei deceduto e sei stato teleportato a casa tua. - </global> -</notifications> diff --git a/indra/newview/skins/minimal/xui/it/panel_adhoc_control_panel.xml b/indra/newview/skins/minimal/xui/it/panel_adhoc_control_panel.xml deleted file mode 100644 index be001d09f8e..00000000000 --- a/indra/newview/skins/minimal/xui/it/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="call_btn_panel"> - <button label="Chiama" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Abbandona chiamata" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Regolazione voce" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/it/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/it/panel_bottomtray.xml deleted file mode 100644 index ab9b175f16b..00000000000 --- a/indra/newview/skins/minimal/xui/it/panel_bottomtray.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="bottom_tray"> - <string name="DragIndicationImageName" value="Accordion_ArrowOpened_Off"/> - <string name="SpeakBtnToolTip" value="Accende o spegne il microfono"/> - <string name="VoiceControlBtnToolTip" value="Mostra o nasconde il pannello di regolazione voce"/> - <layout_stack name="toolbar_stack"> - <layout_panel name="speak_panel"> - <button label="Parla" name="speak_btn" tool_tip="Accendi e spegni il microfono"/> - </layout_panel> - <layout_panel name="speak_flyout_panel"> - <button label="" name="flyout_btn" tool_tip="Cambia le preferenze per i suoni"/> - </layout_panel> - <layout_panel name="gesture_panel"> - <gesture_combo_list label="Gesture" name="Gesture" tool_tip="Fai fare qualcosa al tuo avatar"/> - </layout_panel> - <layout_panel name="cam_panel"> - <bottomtray_button label="Visuale" name="camera_btn" tool_tip="Controlla l'angolo di visualizzazione"/> - </layout_panel> - <layout_panel name="destinations_panel"> - <bottomtray_button label="Destinazioni" name="destination_btn" tool_tip="Viaggia in Second Life"/> - </layout_panel> - <layout_panel name="avatar_panel"> - <bottomtray_button label="Il mio avatar" name="avatar_btn" tool_tip="Cambia il tuo aspetto"/> - </layout_panel> - <layout_panel name="people_panel"> - <bottomtray_button label="Persone" name="show_people_button" tool_tip="Trova persone in Second Life"/> - </layout_panel> - <layout_panel name="profile_panel"> - <bottomtray_button label="Profilo" name="show_profile_btn" tool_tip="Visualizza e modifica il tuo profilo"/> - </layout_panel> - <layout_panel name="howto_panel"> - <bottomtray_button label="Istruzioni" name="show_help_btn" tool_tip="Visualizza le informazioni della guida di Second Life"/> - </layout_panel> - <layout_panel name="im_well_panel"> - <chiclet_im_well name="im_well"> - <button name="Unread IM messages" tool_tip="Conversazioni"/> - </chiclet_im_well> - </layout_panel> - <layout_panel name="notification_well_panel"> - <chiclet_notification name="notification_well"> - <button name="Unread" tool_tip="Notifiche"/> - </chiclet_notification> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/it/panel_group_control_panel.xml b/indra/newview/skins/minimal/xui/it/panel_group_control_panel.xml deleted file mode 100644 index 2d17e4a0cdf..00000000000 --- a/indra/newview/skins/minimal/xui/it/panel_group_control_panel.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="group_info_btn_panel"> - <button label="Profilo del gruppo" name="group_info_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Chiama il gruppo" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Abbandona chiamata" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Apri la regolazione voce" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/it/panel_im_control_panel.xml b/indra/newview/skins/minimal/xui/it/panel_im_control_panel.xml deleted file mode 100644 index 269931a1a42..00000000000 --- a/indra/newview/skins/minimal/xui/it/panel_im_control_panel.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="Profilo" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="Aggiungi come amico" name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="Teleport" name="teleport_btn" tool_tip="Offri teleport a questa persona"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Chiama" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Chiudi chiamata" name="end_call_btn"/> - </layout_panel> - <layout_panel name="block_btn_panel"> - <button label="Blocca" name="block_btn"/> - </layout_panel> - <layout_panel name="unblock_btn_panel"> - <button label="Sblocca" name="unblock_btn"/> - </layout_panel> - <layout_panel name="volume_ctrl_panel"> - <slider name="volume_slider" tool_tip="Volume chiamata" value="0.5"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/it/panel_login.xml b/indra/newview/skins/minimal/xui/it/panel_login.xml deleted file mode 100644 index f88230ed11d..00000000000 --- a/indra/newview/skins/minimal/xui/it/panel_login.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_login"> - <panel.string name="create_account_url"> - http://join.secondlife.com/ - </panel.string> - <panel.string name="forgot_password_url"> - http://secondlife.com/account/request.php?lang=it - </panel.string> - <layout_stack name="login_widgets"> - <layout_panel name="login"> - <text name="username_text"> - Nome utente: - </text> - <combo_box name="username_combo" tool_tip="Il nome utente che hai scelto durante la registrazione, come robby12 o Stella Soleggiato"/> - <text name="password_text"> - Password: - </text> - <check_box label="Ricorda password" name="remember_check"/> - <button label="Accedi" name="connect_btn"/> - <text name="mode_selection_text"> - Modalità : - </text> - <combo_box name="mode_combo" tool_tip="Seleziona la modalità . Seleziona Di base per esplorare facilmente e rapidamente e per la chat. Seleziona Avanzata per accedere ad altre funzionalità ."> - <combo_box.item label="Di base" name="Basic"/> - <combo_box.item label="Avanzate" name="Advanced"/> - </combo_box> - <text name="start_location_text"> - Inizia da: - </text> - <combo_box name="start_location_combo"> - <combo_box.item label="La mia ultima ubicazione" name="MyLastLocation"/> - <combo_box.item label="Casa mia" name="MyHome"/> - <combo_box.item label="<Scrivi nome regione>" name="Typeregionname"/> - </combo_box> - </layout_panel> - <layout_panel name="links"> - <text name="create_new_account_text"> - Iscriviti - </text> - <text name="forgot_password_text"> - Hai dimenticato il nome utente o la password? - </text> - <text name="login_help"> - Ti serve aiuto con la fase di accesso? - </text> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/it/panel_navigation_bar.xml b/indra/newview/skins/minimal/xui/it/panel_navigation_bar.xml deleted file mode 100644 index 8e721677591..00000000000 --- a/indra/newview/skins/minimal/xui/it/panel_navigation_bar.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="navigation_bar"> - <panel name="navigation_panel"> - <pull_button name="back_btn" tool_tip="Torna al luogo precedente"/> - <pull_button name="forward_btn" tool_tip="Procedi un luogo in avanti"/> - <button name="home_btn" tool_tip="Teleport a casa"/> - <location_input label="Posizione" name="location_combo"/> - <search_combo_box label="Cerca" name="search_combo_box" tool_tip="Cerca"> - <combo_editor label="Cerca [SECOND_LIFE]" name="search_combo_editor"/> - </search_combo_box> - </panel> - <favorites_bar name="favorite" tool_tip="Trascina qui i punti di riferimento per un accesso rapido ai tuoi posti preferiti in Second Life."> - <label name="favorites_bar_label" tool_tip="Trascina qui i punti di riferimento per un accesso rapido ai tuoi posti preferiti in Second Life."> - Barra dei Preferiti - </label> - <chevron_button name=">>" tool_tip="Mostra altri Preferiti"/> - </favorites_bar> -</panel> diff --git a/indra/newview/skins/minimal/xui/it/panel_people.xml b/indra/newview/skins/minimal/xui/it/panel_people.xml deleted file mode 100644 index 81e886acf0d..00000000000 --- a/indra/newview/skins/minimal/xui/it/panel_people.xml +++ /dev/null @@ -1,94 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- Side tray panel --> -<panel label="Persone" name="people_panel"> - <string name="no_recent_people" value="Nessuna persona recente. Stai cercando persone da frequentare? Prova il pulsante Destinazioni in basso."/> - <string name="no_filtered_recent_people" value="Nessuna persona recente con quel nome."/> - <string name="no_one_near" value="Nessuno vicino. Stai cercando persone da frequentare? Prova il pulsante Destinazioni in basso."/> - <string name="no_one_filtered_near" value="Nessuno vicino con quel nome."/> - <string name="no_friends_online" value="Nessun amico online"/> - <string name="no_friends" value="Nessun amico"/> - <string name="no_friends_msg"> - Clicca con il pulsante destro su un Residente per aggiungerlo come amico. -Stai cercando persone da frequentare? Prova il pulsante Destinazioni in basso. - </string> - <string name="no_filtered_friends_msg"> - Non riesci a trovare quello che cerchi? Prova il pulsante Destinazioni in basso. - </string> - <string name="people_filter_label" value="Filtro persone"/> - <string name="groups_filter_label" value="Filtro gruppi"/> - <string name="no_filtered_groups_msg" value="Non riesci a trovare quello che cerchi? Prova [secondlife:///app/search/groups/[SEARCH_TERM] Cerca]."/> - <string name="no_groups_msg" value="Stai cercando gruppi di cui far parte? Prova [secondlife:///app/search/groups Cerca]."/> - <string name="MiniMapToolTipMsg" value="[REGION](Fai doppio clic per aprire la Mappa, premi il tasto Maiusc e trascina per la panoramica)"/> - <string name="AltMiniMapToolTipMsg" value="[REGION](Fai doppio clic per teleportarti, premi il tasto Maiusc e trascina per la panoramica)"/> - <filter_editor label="Filtro" name="filter_input"/> - <tab_container name="tabs"> - <panel label="NELLE VICINANZE" name="nearby_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <menu_button name="nearby_view_sort_btn" tool_tip="Opzioni"/> - <button name="add_friend_btn" tool_tip="Aggiungi il residente selezionato alla tua lista degli amici"/> - </panel> - </panel> - <panel label="I MIEI AMICI" name="friends_panel"> - <accordion name="friends_accordion"> - <accordion_tab name="tab_online" title="Online"/> - <accordion_tab name="tab_all" title="Tutto"/> - </accordion> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel"> - <layout_panel name="options_gear_btn_panel"> - <menu_button name="friends_viewsort_btn" tool_tip="Mostra ulteriori opzioni"/> - </layout_panel> - <layout_panel name="add_btn_panel"> - <button name="add_btn" tool_tip="Offri amicizia a un residente"/> - </layout_panel> - <layout_panel name="trash_btn_panel"> - <dnd_button name="del_btn" tool_tip="Rimuovi la persona selezionata dalla lista degli amici"/> - </layout_panel> - </layout_stack> - </panel> - </panel> - <panel label="I MIEI GRUPPI" name="groups_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <menu_button name="groups_viewsort_btn" tool_tip="Opzioni"/> - <button name="plus_btn" tool_tip="Aderisci al gruppo/Crea nuovo gruppo"/> - <button name="activate_btn" tool_tip="Attiva il gruppo selezionato"/> - </panel> - </panel> - <panel label="RECENTE" name="recent_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <menu_button name="recent_viewsort_btn" tool_tip="Opzioni"/> - <button name="add_friend_btn" tool_tip="Aggiungi il residente selezionato alla tua lista degli amici"/> - </panel> - </panel> - </tab_container> - <panel name="button_bar"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="view_profile_btn_lp"> - <button label="Profilo" name="view_profile_btn" tool_tip="Mostra immagine, gruppi e altre informazioni del residente"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im_btn" tool_tip="Apri una sessione messaggio istantaneo"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Chiama" name="call_btn" tool_tip="Chiama questo residente"/> - </layout_panel> - <layout_panel name="share_btn_lp"> - <button label="Condividi" name="share_btn" tool_tip="Condividi un oggetto dell'inventario"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleport" name="teleport_btn" tool_tip="Offri teleport"/> - </layout_panel> - </layout_stack> - <layout_stack name="bottom_bar_ls1"> - <layout_panel name="group_info_btn_lp"> - <button label="Profilo del gruppo" name="group_info_btn" tool_tip="Mostra informazioni gruppo"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="Chat di gruppo" name="chat_btn" tool_tip="Apri sessione chat"/> - </layout_panel> - <layout_panel name="group_call_btn_lp"> - <button label="Chiamata al gruppo" name="group_call_btn" tool_tip="Chiama questo gruppo"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/minimal/xui/it/panel_side_tray_tab_caption.xml b/indra/newview/skins/minimal/xui/it/panel_side_tray_tab_caption.xml deleted file mode 100644 index 3c7874e0939..00000000000 --- a/indra/newview/skins/minimal/xui/it/panel_side_tray_tab_caption.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="sidetray_tab_panel"> - <text name="sidetray_tab_title" value="Pannello laterale"/> - <button name="undock" tool_tip="Disà ncora"/> - <button name="dock" tool_tip="Àncora"/> - <button name="show_help" tool_tip="Mostra Aiuto"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/it/panel_status_bar.xml b/indra/newview/skins/minimal/xui/it/panel_status_bar.xml deleted file mode 100644 index 4353eb9d508..00000000000 --- a/indra/newview/skins/minimal/xui/it/panel_status_bar.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="status"> - <panel.string name="StatBarDaysOfWeek"> - Domenica:Lunedì:Martedì:Mercoledì:Giovedì:Venerdì:Sabato - </panel.string> - <panel.string name="StatBarMonthsOfYear"> - Gennaio:Febbraio:Marzo:Aprile:Maggio:Giugno:Luglio:Agosto:Settembre:Ottobre:Novembre:Dicembre - </panel.string> - <panel.string name="packet_loss_tooltip"> - Perdita di pacchetti - </panel.string> - <panel.string name="bandwidth_tooltip"> - Larghezza di banda - </panel.string> - <panel.string name="time"> - [hour12, datetime, slt]:[min, datetime, slt] [ampm, datetime, slt] [timezone,datetime, slt] - </panel.string> - <panel.string name="timeTooltip"> - [weekday, datetime, slt], [day, datetime, slt] [month, datetime, slt] [year, datetime, slt] - </panel.string> - <panel.string name="buycurrencylabel"> - L$ [AMT] - </panel.string> - <panel name="balance_bg"> - <text name="balance" tool_tip="Clicca per aggiornare il tuo saldo in L$" value="L$ 20"/> - <button label="ACQUISTA L$" name="buyL" tool_tip="Clicca per acquistare più L$"/> - </panel> - <text name="TimeText" tool_tip="Orario attuale (Pacifico)"> - 24:00, ora del Pacifico - </text> - <button name="media_toggle_btn" tool_tip="Attiva/ferma tutti i media (musica, video, pagine Web)"/> - <button name="volume_btn" tool_tip="Regolazione del volume globale"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/ja/floater_camera.xml b/indra/newview/skins/minimal/xui/ja/floater_camera.xml deleted file mode 100644 index 71a20c8e187..00000000000 --- a/indra/newview/skins/minimal/xui/ja/floater_camera.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="camera_floater"> - <floater.string name="rotate_tooltip"> - フォーカスをä¸å¿ƒã«ã‚«ãƒ¡ãƒ©ã‚’回転 - </floater.string> - <floater.string name="zoom_tooltip"> - フォーカスã«å‘ã‘ã¦ã‚«ãƒ¡ãƒ©ã‚’ズーム- </floater.string> - <floater.string name="move_tooltip"> - カメラを上下左å³ã«ç§»å‹• - </floater.string> - <floater.string name="camera_modes_title"> - カメラモード - </floater.string> - <floater.string name="pan_mode_title"> - 旋回 - ズーム- 水平・垂直移動 - </floater.string> - <floater.string name="presets_mode_title"> - 事å‰è¨å®šã®è¦–野 - </floater.string> - <floater.string name="free_mode_title"> - オブジェクトを見る - </floater.string> - <panel name="controls"> - <panel name="preset_views_list"> - <panel_camera_item name="front_view"> - <panel_camera_item.text name="front_view_text"> - å‰æ–¹è¦–ç•Œ - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="group_view"> - <panel_camera_item.text name="side_view_text"> - グループ視界 - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="rear_view"> - <panel_camera_item.text name="rear_view_text"> - 後方視界 - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="camera_modes_list"> - <panel_camera_item name="object_view"> - <panel_camera_item.text name="object_view_text"> - オブジェクト視点 - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="mouselook_view"> - <panel_camera_item.text name="mouselook_view_text"> - 一人称視点 - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="zoom" tool_tip="å‘ã„ã¦ã„る方法ã«ã‚«ãƒ¡ãƒ©ã‚’ズーム"> - <joystick_rotate name="cam_rotate_stick" tool_tip="自分を軸ã«ã‚«ãƒ¡ãƒ©ã‚’回ã™"/> - <slider_bar name="zoom_slider" tool_tip="å‘ã„ã¦ã„ã‚‹æ–¹å‘ã«ã‚«ãƒ¡ãƒ©ã‚’ズーム"/> - <joystick_track name="cam_track_stick" tool_tip="カメラを上下左å³ã«å‹•ã‹ã—ã¾ã™"/> - </panel> - </panel> - <panel name="buttons"> - <button label="" name="presets_btn" tool_tip="事å‰è¨å®šã®è¦–野"/> - <button label="" name="pan_btn" tool_tip="旋回 - ズーム- 水平・垂直移動"/> - <button label="" name="avatarview_btn" tool_tip="カメラモード"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/ja/floater_help_browser.xml b/indra/newview/skins/minimal/xui/ja/floater_help_browser.xml deleted file mode 100644 index 1322343903b..00000000000 --- a/indra/newview/skins/minimal/xui/ja/floater_help_browser.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_help_browser" title="ãƒã‚¦ãƒ„ー"> - <floater.string name="loading_text"> - ãƒãƒ¼ãƒ‡ã‚£ãƒ³ã‚°... - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="external_controls"/> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/ja/floater_media_browser.xml b/indra/newview/skins/minimal/xui/ja/floater_media_browser.xml deleted file mode 100644 index 439c36dbe9b..00000000000 --- a/indra/newview/skins/minimal/xui/ja/floater_media_browser.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="メディアブラウザ"> - <floater.string name="home_page_url"> - http://jp.secondlife.com - </floater.string> - <floater.string name="support_page_url"> - http://jp.secondlife.com/support - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button label="戻る" name="back"/> - <button label="å‰" name="forward"/> - <button label="æ›´æ–°" name="reload"/> - <button label="検索" name="go"/> - </layout_panel> - <layout_panel name="time_controls"> - <button label="å·»ã戻ã—" name="rewind"/> - <button label="åœæ¢" name="stop"/> - <button label="æ—©é€ã‚Š" name="seek"/> - </layout_panel> - <layout_panel name="parcel_owner_controls"> - <button label="ç¾åœ¨ã®ãƒšãƒ¼ã‚¸ã‚’区画ã«é€ã‚‹" name="assign"/> - </layout_panel> - <layout_panel name="external_controls"> - <button label="Web ブラウザã§é–‹ã" name="open_browser"/> - <check_box label="常㫠Web ブラウザã§é–‹ã" name="open_always"/> - <button label="é–‰ã˜ã‚‹" name="close"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/ja/floater_nearby_chat.xml b/indra/newview/skins/minimal/xui/ja/floater_nearby_chat.xml deleted file mode 100644 index a29c6a06304..00000000000 --- a/indra/newview/skins/minimal/xui/ja/floater_nearby_chat.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="è¿‘ãã®ãƒãƒ£ãƒƒãƒˆ"> - <check_box label="ãƒãƒ£ãƒƒãƒˆã‚’翻訳(Google翻訳)" name="translate_chat_checkbox"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/ja/floater_web_content.xml b/indra/newview/skins/minimal/xui/ja/floater_web_content.xml deleted file mode 100644 index 48fe8aee78d..00000000000 --- a/indra/newview/skins/minimal/xui/ja/floater_web_content.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_web_content" title=""> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button name="back" tool_tip="å‰ã¸"/> - <button name="forward" tool_tip="次ã¸"/> - <button name="stop" tool_tip="ナビゲーションをåœæ¢"/> - <button name="reload" tool_tip="ページを更新"/> - <combo_box name="address" tool_tip="ã“ã“ã« URL を入力"/> - <icon name="media_secure_lock_flag" tool_tip="安全ãªé–²è¦§"/> - <button name="popexternal" tool_tip="ã“ã® URL をブラウザã§é–‹ã"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/ja/inspect_avatar.xml b/indra/newview/skins/minimal/xui/ja/inspect_avatar.xml deleted file mode 100644 index 42b67cd3331..00000000000 --- a/indra/newview/skins/minimal/xui/ja/inspect_avatar.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_avatar"> - <string name="Subtitle"> - [AGE] - </string> - <string name="Details"> - [SL_PROFILE] - </string> - <text name="user_name_small" value="Grumpity ProductEngine with a long name"/> - <text name="user_slid" value="james.linden"/> - <text name="user_subtitle" value="11 Months, 3 days old"/> - <text name="user_details"> - This is my second life description and I really think it is great.But for some reason my description is super extra long because I like to talk a whole lot - </text> - <slider name="volume_slider" tool_tip="ボイス音é‡" value="0.5"/> - <button label="フレンド登録" name="add_friend_btn"/> - <button label="IM" name="im_btn"/> - <button label="プãƒãƒ•ã‚£ãƒ¼ãƒ«" name="view_profile_btn"/> - <panel name="moderator_panel"> - <button label="ボイスを無効" name="disable_voice"/> - <button label="ボイスを有効" name="enable_voice"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/ja/inspect_object.xml b/indra/newview/skins/minimal/xui/ja/inspect_object.xml deleted file mode 100644 index e6999ac9b15..00000000000 --- a/indra/newview/skins/minimal/xui/ja/inspect_object.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_object"> - <string name="Creator"> - 制作者: [CREATOR] - </string> - <string name="CreatorAndOwner"> - [CREATOR]ã«ã‚ˆã‚‹ãƒã‚§ãƒƒã‚¯ -[OWNER]ã«ã‚ˆã‚‹ãƒã‚§ãƒƒã‚¯ - </string> - <string name="Price"> - L$[AMOUNT] - </string> - <string name="PriceFree"> - ç„¡æ–™ã§ã™ï¼ - </string> - <string name="Touch"> - 触る - </string> - <string name="Sit"> - 座る - </string> - <text name="object_name" value="二行ã«ã‚ãŸã‚‹é•·ã„オブジェクトåをテスト"/> - <text name="object_creator"> - by secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/about -owner secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/about - </text> - <text name="price_text"> - L$30,000 - </text> - <text name="object_description"> - This is a really long description for an object being as how it is at least 80 characters in length and so but maybe more like 120 at this point. Who knows, really? - </text> - <text name="object_media_url"> - http://www.superdupertest.com - </text> - <button label="è²·ã†" name="buy_btn"/> - <button label="支払ã†" name="pay_btn"/> - <button label="コピーをå–ã‚‹" name="take_free_copy_btn"/> - <button label="触る" name="touch_btn"/> - <button label="座る" name="sit_btn"/> - <button label="é–‹ã" name="open_btn"/> - <icon name="secure_browsing" tool_tip="安全ãªé–²è¦§"/> - <button label="詳細" name="more_info_btn"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/ja/menu_add_wearable_gear.xml b/indra/newview/skins/minimal/xui/ja/menu_add_wearable_gear.xml deleted file mode 100644 index 982a03c6a8f..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_add_wearable_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Add Wearable Gear Menu"> - <menu_item_check label="æ–°ã—ã„é †ã«ä¸¦ã¹æ›¿ãˆ" name="sort_by_most_recent"/> - <menu_item_check label="åå‰ã§ä¸¦ã¹æ›¿ãˆ" name="sort_by_name"/> - <menu_item_check label="タイプã«ã‚ˆã‚‹ä¸¦ã¹æ›¿ãˆ" name="sort_by_type"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_attachment_other.xml b/indra/newview/skins/minimal/xui/ja/menu_attachment_other.xml deleted file mode 100644 index 5adf0b3745f..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_attachment_other.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_avatar_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="プãƒãƒ•ã‚£ãƒ¼ãƒ«ã®è¡¨ç¤º" name="Profile..."/> - <menu_item_call label="フレンド登録" name="Add Friend"/> - <menu_item_call label="IM" name="Send IM..."/> - <menu_item_call label="コール" name="Call"/> - <menu_item_call label="グループã«æ‹›å¾…" name="Invite..."/> - <menu_item_call label="ブãƒãƒƒã‚¯" name="Avatar Mute"/> - <menu_item_call label="å ±å‘Š" name="abuse"/> - <menu_item_call label="フリーズ" name="Freeze..."/> - <menu_item_call label="追放" name="Eject..."/> - <menu_item_call label="テクスãƒãƒ£ã®ãƒ‡ãƒãƒƒã‚°" name="Debug..."/> - <menu_item_call label="ズームイン" name="Zoom In"/> - <menu_item_call label="支払ã†" name="Pay..."/> - <menu_item_call label="オブジェクトã®ãƒ—ãƒãƒ•ã‚£ãƒ¼ãƒ«" name="Object Inspect"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_attachment_self.xml b/indra/newview/skins/minimal/xui/ja/menu_attachment_self.xml deleted file mode 100644 index 830ddc9f636..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_attachment_self.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Attachment Pie"> - <menu_item_call label="タッãƒ" name="Attachment Object Touch"/> - <menu_item_call label="編集" name="Edit..."/> - <menu_item_call label="å–り外ã™" name="Detach"/> - <menu_item_call label="座る" name="Sit Down Here"/> - <menu_item_call label="ç«‹ã¡ä¸ŠãŒã‚‹" name="Stand Up"/> - <menu_item_call label="容姿" name="Change Outfit"/> - <menu_item_call label="アウトフィットã®ç·¨é›†" name="Edit Outfit"/> - <menu_item_call label="シェイプã®ç·¨é›†" name="Edit My Shape"/> - <menu_item_call label="フレンド" name="Friends..."/> - <menu_item_call label="グループ" name="Groups..."/> - <menu_item_call label="プãƒãƒ•ã‚£ãƒ¼ãƒ«" name="Profile..."/> - <menu_item_call label="テクスãƒãƒ£ã®ãƒ‡ãƒãƒƒã‚°" name="Debug..."/> - <menu_item_call label="下ã«è½ã¨ã™" name="Drop"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_avatar_icon.xml b/indra/newview/skins/minimal/xui/ja/menu_avatar_icon.xml deleted file mode 100644 index b04f602134d..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_avatar_icon.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Avatar Icon Menu"> - <menu_item_call label="プãƒãƒ•ã‚£ãƒ¼ãƒ«ã®è¡¨ç¤º" name="Show Profile"/> - <menu_item_call label="IMã‚’é€ä¿¡..." name="Send IM"/> - <menu_item_call label="ãƒ•ãƒ¬ãƒ³ãƒ‰ã‚’è¿½åŠ ..." name="Add Friend"/> - <menu_item_call label="フレンドを削除..." name="Remove Friend"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_avatar_other.xml b/indra/newview/skins/minimal/xui/ja/menu_avatar_other.xml deleted file mode 100644 index 54dd96f5eff..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_avatar_other.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_attachment_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="プãƒãƒ•ã‚£ãƒ¼ãƒ«ã®è¡¨ç¤º" name="Profile..."/> - <menu_item_call label="フレンド登録" name="Add Friend"/> - <menu_item_call label="IM" name="Send IM..."/> - <menu_item_call label="コール" name="Call"/> - <menu_item_call label="グループã«æ‹›å¾…" name="Invite..."/> - <menu_item_call label="ブãƒãƒƒã‚¯" name="Avatar Mute"/> - <menu_item_call label="å ±å‘Š" name="abuse"/> - <menu_item_call label="フリーズ" name="Freeze..."/> - <menu_item_call label="追放" name="Eject..."/> - <menu_item_call label="テクスãƒãƒ£ã®ãƒ‡ãƒãƒƒã‚°" name="Debug..."/> - <menu_item_call label="ズームイン" name="Zoom In"/> - <menu_item_call label="支払ã†" name="Pay..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_avatar_self.xml b/indra/newview/skins/minimal/xui/ja/menu_avatar_self.xml deleted file mode 100644 index 4709522665b..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_avatar_self.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Self Pie"> - <menu_item_call label="座る" name="Sit Down Here"/> - <menu_item_call label="ç«‹ã¡ä¸ŠãŒã‚‹" name="Stand Up"/> - <context_menu label="å–り外ã™" name="Take Off >"> - <context_menu label="衣類" name="Clothes >"> - <menu_item_call label="シャツ" name="Shirt"/> - <menu_item_call label="パンツ" name="Pants"/> - <menu_item_call label="スカート" name="Skirt"/> - <menu_item_call label="é´" name="Shoes"/> - <menu_item_call label="é´ä¸‹" name="Socks"/> - <menu_item_call label="ジャケット" name="Jacket"/> - <menu_item_call label="手袋" name="Gloves"/> - <menu_item_call label="下ç€ã‚·ãƒ£ãƒ„" name="Self Undershirt"/> - <menu_item_call label="下ç€ãƒ‘ンツ" name="Self Underpants"/> - <menu_item_call label="タトゥ" name="Self Tattoo"/> - <menu_item_call label="物ç†ä½œç”¨" name="Self Physics"/> - <menu_item_call label="アルファ" name="Self Alpha"/> - <menu_item_call label="ã™ã¹ã¦ã®è¡£é¡ž" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="å–り外ã™" name="Object Detach"/> - <menu_item_call label="ã™ã¹ã¦å–り外ã™" name="Detach All"/> - </context_menu> - <menu_item_call label="容姿" name="Chenge Outfit"/> - <menu_item_call label="アウトフィットを編集" name="Edit Outfit"/> - <menu_item_call label="シェイプを編集" name="Edit My Shape"/> - <menu_item_call label="フレンド" name="Friends..."/> - <menu_item_call label="グループ" name="Groups..."/> - <menu_item_call label="プãƒãƒ•ã‚£ãƒ¼ãƒ«" name="Profile..."/> - <menu_item_call label="テクスãƒãƒ£ã®ãƒ‡ãƒãƒƒã‚°" name="Debug..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_bottomtray.xml b/indra/newview/skins/minimal/xui/ja/menu_bottomtray.xml deleted file mode 100644 index 7f106c1ab52..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_bottomtray.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_camera_move_controls_menu"> - <menu_item_check label="スピーカーボタン" name="EnableVoiceChat"/> - <menu_item_check label="ジェスãƒãƒ£ãƒ¼ãƒœã‚¿ãƒ³" name="ShowGestureButton"/> - <menu_item_check label="移動ボタン" name="ShowMoveButton"/> - <menu_item_check label="視界ボタン" name="ShowCameraButton"/> - <menu_item_check label="スナップショットボタン" name="ShowSnapshotButton"/> - <menu_item_check label="制作ボタン" name="ShowBuildButton"/> - <menu_item_check label="検索ボタン" name="ShowSearchButton"/> - <menu_item_check label="地図ボタン" name="ShowWorldMapButton"/> - <menu_item_check label="ミニマップボタン" name="ShowMiniMapButton"/> - <menu_item_call label="切りå–ã‚Š" name="NearbyChatBar_Cut"/> - <menu_item_call label="コピー" name="NearbyChatBar_Copy"/> - <menu_item_call label="貼り付ã‘" name="NearbyChatBar_Paste"/> - <menu_item_call label="削除" name="NearbyChatBar_Delete"/> - <menu_item_call label="ã™ã¹ã¦é¸æŠž" name="NearbyChatBar_Select_All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_cof_attachment.xml b/indra/newview/skins/minimal/xui/ja/menu_cof_attachment.xml deleted file mode 100644 index e786d02e40a..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_cof_attachment.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Attachment"> - <menu_item_call label="å–り外ã™" name="detach"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_cof_body_part.xml b/indra/newview/skins/minimal/xui/ja/menu_cof_body_part.xml deleted file mode 100644 index eb5faa25453..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_cof_body_part.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Body"> - <menu_item_call label="交æ›" name="replace"/> - <menu_item_call label="編集" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_cof_clothing.xml b/indra/newview/skins/minimal/xui/ja/menu_cof_clothing.xml deleted file mode 100644 index d984342896e..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_cof_clothing.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Clothing"> - <menu_item_call label="å–り外ã™" name="take_off"/> - <menu_item_call label="編集" name="edit"/> - <menu_item_call label="交æ›" name="replace"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_cof_gear.xml b/indra/newview/skins/minimal/xui/ja/menu_cof_gear.xml deleted file mode 100644 index a071abbd2e8..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_cof_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear COF"> - <menu label="衣類" name="COF.Gear.New_Clothes"/> - <menu label="æ–°ã—ã„身体部ä½" name="COF.Geear.New_Body_Parts"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_edit.xml b/indra/newview/skins/minimal/xui/ja/menu_edit.xml deleted file mode 100644 index c2ef0179b23..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_edit.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu label="編集" name="Edit"> - <menu_item_call label="å…ƒã«æˆ»ã™" name="Undo"/> - <menu_item_call label="ã‚„ã‚Šç›´ã—" name="Redo"/> - <menu_item_call label="切りå–ã‚Š" name="Cut"/> - <menu_item_call label="コピー" name="Copy"/> - <menu_item_call label="貼り付ã‘" name="Paste"/> - <menu_item_call label="削除" name="Delete"/> - <menu_item_call label="複製" name="Duplicate"/> - <menu_item_call label="ã™ã¹ã¦é¸æŠž" name="Select All"/> - <menu_item_call label="é¸æŠžè§£é™¤" name="Deselect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_favorites.xml b/indra/newview/skins/minimal/xui/ja/menu_favorites.xml deleted file mode 100644 index 4708b1446c7..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_favorites.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="テレãƒãƒ¼ãƒˆ" name="Teleport To Landmark"/> - <menu_item_call label="ランドマークを表示・編集" name="Landmark Open"/> - <menu_item_call label="SLurl をコピー" name="Copy slurl"/> - <menu_item_call label="地図ã«è¡¨ç¤º" name="Show On Map"/> - <menu_item_call label="コピー" name="Landmark Copy"/> - <menu_item_call label="貼り付ã‘" name="Landmark Paste"/> - <menu_item_call label="削除" name="Delete"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_gesture_gear.xml b/indra/newview/skins/minimal/xui/ja/menu_gesture_gear.xml deleted file mode 100644 index abf490a2479..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_gesture_gear.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_gesture_gear"> - <menu_item_call label="ãŠæ°—ã«å…¥ã‚Šã‹ã‚‰ã®è¿½åŠ ・削除" name="activate"/> - <menu_item_call label="コピー" name="copy_gesture"/> - <menu_item_call label="貼り付ã‘" name="paste"/> - <menu_item_call label="UUID をコピー" name="copy_uuid"/> - <menu_item_call label="ç¾åœ¨ã®ã‚¢ã‚¦ãƒˆãƒ•ã‚£ãƒƒãƒˆã«ä¿å˜" name="save_to_outfit"/> - <menu_item_call label="編集" name="edit_gesture"/> - <menu_item_call label="調ã¹ã‚‹" name="inspect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_group_plus.xml b/indra/newview/skins/minimal/xui/ja/menu_group_plus.xml deleted file mode 100644 index 3787f7d6450..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_group_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="グループã«å‚åŠ ..." name="item_join"/> - <menu_item_call label="æ–°ã—ã„グループ..." name="item_new"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_hide_navbar.xml b/indra/newview/skins/minimal/xui/ja/menu_hide_navbar.xml deleted file mode 100644 index 3a1ae49700a..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_hide_navbar.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_navbar_menu"> - <menu_item_check label="ナビゲーションãƒãƒ¼ã‚’表示" name="ShowNavbarNavigationPanel"/> - <menu_item_check label="ãŠæ°—ã«å…¥ã‚Šãƒãƒ¼ã‚’表示" name="ShowNavbarFavoritesPanel"/> - <menu_item_check label="ã€Œå ´æ‰€ã€ã®ãƒŸãƒ‹ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’表示" name="ShowMiniLocationPanel"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_im_well_button.xml b/indra/newview/skins/minimal/xui/ja/menu_im_well_button.xml deleted file mode 100644 index 3397004bd70..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_im_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="IM Well Button Context Menu"> - <menu_item_call label="ã™ã¹ã¦é–‰ã˜ã‚‹" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_imchiclet_adhoc.xml b/indra/newview/skins/minimal/xui/ja/menu_imchiclet_adhoc.xml deleted file mode 100644 index 8cd6fa4a27d..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_imchiclet_adhoc.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet AdHoc Menu"> - <menu_item_call label="セッション終了" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_imchiclet_group.xml b/indra/newview/skins/minimal/xui/ja/menu_imchiclet_group.xml deleted file mode 100644 index 5bcb96f0837..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_imchiclet_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet Group Menu"> - <menu_item_call label="ã‚°ãƒ«ãƒ¼ãƒ—æƒ…å ±" name="Show Profile"/> - <menu_item_call label="セッションを表示" name="Chat"/> - <menu_item_call label="セッション終了" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_imchiclet_p2p.xml b/indra/newview/skins/minimal/xui/ja/menu_imchiclet_p2p.xml deleted file mode 100644 index 5453f998fa0..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_imchiclet_p2p.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet P2P Menu"> - <menu_item_call label="プãƒãƒ•ã‚£ãƒ¼ãƒ«ã®è¡¨ç¤º" name="Show Profile"/> - <menu_item_call label="フレンド登録" name="Add Friend"/> - <menu_item_call label="セッションを表示" name="Send IM"/> - <menu_item_call label="セッション終了" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_inspect_avatar_gear.xml b/indra/newview/skins/minimal/xui/ja/menu_inspect_avatar_gear.xml deleted file mode 100644 index 9d0d0f10a63..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="プãƒãƒ•ã‚£ãƒ¼ãƒ«ã®è¡¨ç¤º" name="view_profile"/> - <menu_item_call label="フレンド登録" name="add_friend"/> - <menu_item_call label="IM" name="im"/> - <menu_item_call label="コール" name="call"/> - <menu_item_call label="テレãƒãƒ¼ãƒˆ" name="teleport"/> - <menu_item_call label="グループã«æ‹›å¾…" name="invite_to_group"/> - <menu_item_call label="ブãƒãƒƒã‚¯" name="block"/> - <menu_item_call label="ブãƒãƒƒã‚¯è§£é™¤" name="unblock"/> - <menu_item_call label="å ±å‘Š" name="report"/> - <menu_item_call label="フリーズ" name="freeze"/> - <menu_item_call label="追放" name="eject"/> - <menu_item_call label="追放" name="kick"/> - <menu_item_call label="CSR" name="csr"/> - <menu_item_call label="テクスãƒãƒ£ã®ãƒ‡ãƒãƒƒã‚°" name="debug"/> - <menu_item_call label="地図ã§æŽ¢ã™" name="find_on_map"/> - <menu_item_call label="ズームイン" name="zoom_in"/> - <menu_item_call label="支払ã†" name="pay"/> - <menu_item_call label="共有" name="share"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_inspect_object_gear.xml b/indra/newview/skins/minimal/xui/ja/menu_inspect_object_gear.xml deleted file mode 100644 index 2edade70bfc..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_inspect_object_gear.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<menu name="Gear Menu"> - <menu_item_call label="触る" name="touch"/> - <menu_item_call label="座る" name="sit"/> - <menu_item_call label="支払ã†" name="pay"/> - <menu_item_call label="è²·ã†" name="buy"/> - <menu_item_call label="å–ã‚‹" name="take"/> - <menu_item_call label="コピーをå–ã‚‹" name="take_copy"/> - <menu_item_call label="é–‹ã" name="open"/> - <menu_item_call label="編集" name="edit"/> - <menu_item_call label="装ç€" name="wear"/> - <menu_item_call label="è¿½åŠ " name="add"/> - <menu_item_call label="å ±å‘Š" name="report"/> - <menu_item_call label="ブãƒãƒƒã‚¯" name="block"/> - <menu_item_call label="ズームイン" name="zoom_in"/> - <menu_item_call label="削除" name="remove"/> - <menu_item_call label="詳細" name="more_info"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_inspect_self_gear.xml b/indra/newview/skins/minimal/xui/ja/menu_inspect_self_gear.xml deleted file mode 100644 index e3e206f3aa5..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_inspect_self_gear.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="座る" name="Sit Down Here"/> - <menu_item_call label="ç«‹ã¡ä¸ŠãŒã‚‹" name="Stand Up"/> - <context_menu label="å–り外ã™" name="Take Off >"> - <context_menu label="衣類" name="Clothes >"> - <menu_item_call label="シャツ" name="Shirt"/> - <menu_item_call label="パンツ" name="Pants"/> - <menu_item_call label="スカート" name="Skirt"/> - <menu_item_call label="é´" name="Shoes"/> - <menu_item_call label="é´ä¸‹" name="Socks"/> - <menu_item_call label="ジャケット" name="Jacket"/> - <menu_item_call label="手袋" name="Gloves"/> - <menu_item_call label="下ç€ã‚·ãƒ£ãƒ„" name="Self Undershirt"/> - <menu_item_call label="下ç€ãƒ‘ンツ" name="Self Underpants"/> - <menu_item_call label="タトゥ" name="Self Tattoo"/> - <menu_item_call label="アルファ" name="Self Alpha"/> - <menu_item_call label="ã™ã¹ã¦ã®è¡£é¡ž" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="å–り外ã™" name="Object Detach"/> - <menu_item_call label="ã™ã¹ã¦å–り外ã™" name="Detach All"/> - </context_menu> - <menu_item_call label="アウトフィットã®å¤‰æ›´" name="Chenge Outfit"/> - <menu_item_call label="アウトフィットã®ç·¨é›†" name="Edit Outfit"/> - <menu_item_call label="シェイプã®ç·¨é›†" name="Edit My Shape"/> - <menu_item_call label="フレンド" name="Friends..."/> - <menu_item_call label="グループ" name="Groups..."/> - <menu_item_call label="プãƒãƒ•ã‚£ãƒ¼ãƒ«" name="Profile..."/> - <menu_item_call label="テクスãƒãƒ£ã®ãƒ‡ãƒãƒƒã‚°" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_inv_offer_chiclet.xml b/indra/newview/skins/minimal/xui/ja/menu_inv_offer_chiclet.xml deleted file mode 100644 index 9a4a8138f51..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_inv_offer_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="InvOfferChiclet Menu"> - <menu_item_call label="é–‰ã˜ã‚‹" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_inventory.xml b/indra/newview/skins/minimal/xui/ja/menu_inventory.xml deleted file mode 100644 index f78ec09e5e0..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_inventory.xml +++ /dev/null @@ -1,87 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="共有" name="Share"/> - <menu_item_call label="購入" name="Task Buy"/> - <menu_item_call label="é–‹ã" name="Task Open"/> - <menu_item_call label="å†ç”Ÿ" name="Task Play"/> - <menu_item_call label="プãƒãƒ‘ティ" name="Task Properties"/> - <menu_item_call label="åå‰ã®å¤‰æ›´" name="Task Rename"/> - <menu_item_call label="削除" name="Task Remove"/> - <menu_item_call label="ã”ã¿ç®±ã‚’空ã«ã™ã‚‹" name="Empty Trash"/> - <menu_item_call label="紛失物フォルダを空ã«ã™ã‚‹" name="Empty Lost And Found"/> - <menu_item_call label="æ–°ã—ã„フォルダ" name="New Folder"/> - <menu_item_call label="æ–°ã—ã„スクリプト" name="New Script"/> - <menu_item_call label="æ–°ã—ã„ノートカード" name="New Note"/> - <menu_item_call label="æ–°ã—ã„ジェスãƒãƒ£ãƒ¼" name="New Gesture"/> - <menu label="æ–°ã—ã„衣類" name="New Clothes"> - <menu_item_call label="æ–°ã—ã„シャツ" name="New Shirt"/> - <menu_item_call label="æ–°ã—ã„ズボン" name="New Pants"/> - <menu_item_call label="æ–°ã—ã„é´" name="New Shoes"/> - <menu_item_call label="æ–°ã—ã„é´ä¸‹" name="New Socks"/> - <menu_item_call label="æ–°ã—ã„ジャケット" name="New Jacket"/> - <menu_item_call label="æ–°ã—ã„スカート" name="New Skirt"/> - <menu_item_call label="æ–°ã—ã„手袋" name="New Gloves"/> - <menu_item_call label="æ–°ã—ã„下ç€" name="New Undershirt"/> - <menu_item_call label="æ–°ã—ã„パンツ" name="New Underpants"/> - <menu_item_call label="æ–°ã—ã„アルファマスク" name="New Alpha Mask"/> - <menu_item_call label="æ–°ã—ã„タトゥ" name="New Tattoo"/> - <menu_item_call label="æ–°è¦ã®ç‰©ç†ä½œç”¨" name="New Physics"/> - </menu> - <menu label="æ–°ã—ã„身体部ä½" name="New Body Parts"> - <menu_item_call label="æ–°ã—ã„シェイプ(体型)" name="New Shape"/> - <menu_item_call label="æ–°ã—ã„スã‚ン" name="New Skin"/> - <menu_item_call label="æ–°ã—ã„髪" name="New Hair"/> - <menu_item_call label="æ–°ã—ã„眼" name="New Eyes"/> - </menu> - <menu label="種類を変更" name="Change Type"> - <menu_item_call label="デフォルト" name="Default"/> - <menu_item_call label="手袋" name="Gloves"/> - <menu_item_call label="ジャケット" name="Jacket"/> - <menu_item_call label="パンツ" name="Pants"/> - <menu_item_call label="シェイプ" name="Shape"/> - <menu_item_call label="é´" name="Shoes"/> - <menu_item_call label="シャツ" name="Shirt"/> - <menu_item_call label="スカート" name="Skirt"/> - <menu_item_call label="下ç€ãƒ‘ンツ" name="Underpants"/> - <menu_item_call label="下ç€ã‚·ãƒ£ãƒ„" name="Undershirt"/> - </menu> - <menu_item_call label="テレãƒãƒ¼ãƒˆ" name="Landmark Open"/> - <menu_item_call label="é–‹ã" name="Animation Open"/> - <menu_item_call label="é–‹ã" name="Sound Open"/> - <menu_item_call label="ç€ç”¨ä¸ã®ã‚¢ã‚¦ãƒˆãƒ•ã‚£ãƒƒãƒˆã‚’入れ替ãˆã‚‹" name="Replace Outfit"/> - <menu_item_call label="ç€ç”¨ä¸ã®ã‚¢ã‚¦ãƒˆãƒ•ã‚£ãƒƒãƒˆã«è¿½åŠ ã™ã‚‹" name="Add To Outfit"/> - <menu_item_call label="ç€ç”¨ä¸ã®ã‚¢ã‚¦ãƒˆãƒ•ã‚£ãƒƒãƒˆã‹ã‚‰å–り除ã" name="Remove From Outfit"/> - <menu_item_call label="オリジナルを探ã™" name="Find Original"/> - <menu_item_call label="アイテムを除外ã™ã‚‹" name="Purge Item"/> - <menu_item_call label="アイテムを復元ã™ã‚‹" name="Restore Item"/> - <menu_item_call label="é–‹ã" name="Open"/> - <menu_item_call label="オリジナルを開ãã¾ã™" name="Open Original"/> - <menu_item_call label="プãƒãƒ‘ティ" name="Properties"/> - <menu_item_call label="åå‰ã‚’変更ã™ã‚‹" name="Rename"/> - <menu_item_call label="UUID をコピーã™ã‚‹" name="Copy Asset UUID"/> - <menu_item_call label="コピー" name="Copy"/> - <menu_item_call label="貼り付ã‘" name="Paste"/> - <menu_item_call label="リンクを貼り付ã‘ã‚‹" name="Paste As Link"/> - <menu_item_call label="削除" name="Remove Link"/> - <menu_item_call label="削除" name="Delete"/> - <menu_item_call label="システムフォルダを削除ã™ã‚‹" name="Delete System Folder"/> - <menu_item_call label="コンファレンスãƒãƒ£ãƒƒãƒˆã‚’開始ã™ã‚‹" name="Conference Chat Folder"/> - <menu_item_call label="å†ç”Ÿã™ã‚‹" name="Sound Play"/> - <menu_item_call label="ランドマークã®æƒ…å ±" name="About Landmark"/> - <menu_item_call label="インワールドã§å†ç”Ÿã™ã‚‹" name="Animation Play"/> - <menu_item_call label="ãƒãƒ¼ã‚«ãƒ«ã§å†ç”Ÿã™ã‚‹" name="Animation Audition"/> - <menu_item_call label="インスタントメッセージをé€ä¿¡ã™ã‚‹" name="Send Instant Message"/> - <menu_item_call label="テレãƒãƒ¼ãƒˆã‚’é€ã‚‹..." name="Offer Teleport..."/> - <menu_item_call label="コンファレンスãƒãƒ£ãƒƒãƒˆã‚’開始ã™ã‚‹" name="Conference Chat"/> - <menu_item_call label="アクティブ" name="Activate"/> - <menu_item_call label="éžã‚¢ã‚¯ãƒ†ã‚£ãƒ–" name="Deactivate"/> - <menu_item_call label="別åã§ä¿å˜ã™ã‚‹" name="Save As"/> - <menu_item_call label="自分ã‹ã‚‰å–り外ã™" name="Detach From Yourself"/> - <menu_item_call label="装ç€" name="Wearable And Object Wear"/> - <menu label="装ç€å…ˆ" name="Attach To"/> - <menu label="HUD 装ç€å…ˆ" name="Attach To HUD"/> - <menu_item_call label="編集" name="Wearable Edit"/> - <menu_item_call label="è¿½åŠ " name="Wearable Add"/> - <menu_item_call label="å–り外ã™" name="Take Off"/> - <menu_item_call label="ï¼ï¼ã‚ªãƒ—ションãªã—ï¼ï¼" name="--no options--"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_inventory_add.xml b/indra/newview/skins/minimal/xui/ja/menu_inventory_add.xml deleted file mode 100644 index 6c754e5d087..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_inventory_add.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_inventory_add"> - <menu label="アップãƒãƒ¼ãƒ‰" name="upload"> - <menu_item_call label="ç”»åƒ ï¼ˆL$ [COST] )..." name="Upload Image"/> - <menu_item_call label="サウンド (L$[COST] )..." name="Upload Sound"/> - <menu_item_call label="アニメーション (L$ [COST] )..." name="Upload Animation"/> - <menu_item_call label="一括 (ファイルã«ã¤ã L$[COST] )..." name="Bulk Upload"/> - <menu_item_call label="デフォルトã®ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰æ¨©é™ã‚’è¨å®š" name="perm prefs"/> - </menu> - <menu_item_call label="æ–°è¦ãƒ•ã‚©ãƒ«ãƒ€" name="New Folder"/> - <menu_item_call label="æ–°è¦ã‚¹ã‚¯ãƒªãƒ—ト" name="New Script"/> - <menu_item_call label="æ–°ã—ã„ノートカード" name="New Note"/> - <menu_item_call label="æ–°è¦ã‚¸ã‚§ã‚¹ãƒãƒ£ãƒ¼" name="New Gesture"/> - <menu label="æ–°ã—ã„衣類" name="New Clothes"> - <menu_item_call label="æ–°ã—ã„シャツ" name="New Shirt"/> - <menu_item_call label="æ–°ã—ã„パンツ" name="New Pants"/> - <menu_item_call label="æ–°ã—ã„é´" name="New Shoes"/> - <menu_item_call label="æ–°ã—ã„é´ä¸‹" name="New Socks"/> - <menu_item_call label="æ–°ã—ã„ジャケット" name="New Jacket"/> - <menu_item_call label="æ–°ã—ã„スカート" name="New Skirt"/> - <menu_item_call label="æ–°ã—ã„手袋" name="New Gloves"/> - <menu_item_call label="æ–°ã—ã„下ç€ï¼ˆä¸Šï¼‰" name="New Undershirt"/> - <menu_item_call label="æ–°ã—ã„下ç€ï¼ˆä¸‹ï¼‰" name="New Underpants"/> - <menu_item_call label="æ–°ã—ã„アルファ" name="New Alpha"/> - <menu_item_call label="æ–°ã—ã„タトゥー" name="New Tattoo"/> - <menu_item_call label="æ–°è¦ã®ç‰©ç†ä½œç”¨" name="New Physics"/> - </menu> - <menu label="æ–°ã—ã„身体部ä½" name="New Body Parts"> - <menu_item_call label="æ–°ã—ã„シェイプ(体型)" name="New Shape"/> - <menu_item_call label="æ–°ã—ã„スã‚ン" name="New Skin"/> - <menu_item_call label="æ–°ã—ã„髪" name="New Hair"/> - <menu_item_call label="æ–°ã—ã„ç›®" name="New Eyes"/> - </menu> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_inventory_gear_default.xml b/indra/newview/skins/minimal/xui/ja/menu_inventory_gear_default.xml deleted file mode 100644 index 1f425df83c0..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_inventory_gear_default.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_gear_default"> - <menu_item_call label="æ–°ã—ã„æŒã¡ç‰©ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦" name="new_window"/> - <menu_item_check label="åå‰ã§ä¸¦ã¹æ›¿ãˆ" name="sort_by_name"/> - <menu_item_check label="æ–°ã—ã„é †ã«ä¸¦ã¹æ›¿ãˆ" name="sort_by_recent"/> - <menu_item_check label="フォルダを常ã«åå‰é †ã«ä¸¦ã¹ã‚‹" name="sort_folders_by_name"/> - <menu_item_check label="システムフォルダを上ã«ã‚½ãƒ¼ãƒˆã™ã‚‹" name="sort_system_folders_to_top"/> - <menu_item_call label="フィルターを表示" name="show_filters"/> - <menu_item_call label="フィルターをリセット" name="reset_filters"/> - <menu_item_call label="ã™ã¹ã¦ã®ãƒ•ã‚©ãƒ«ãƒ€ã‚’é–‰ã˜ã‚‹" name="close_folders"/> - <menu_item_call label="紛失物を空ã«ã™ã‚‹" name="empty_lostnfound"/> - <menu_item_call label="別åã§ãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚’ä¿å˜" name="Save Texture As"/> - <menu_item_call label="共有" name="Share"/> - <menu_item_call label="オリジナルを表示" name="Find Original"/> - <menu_item_call label="ã™ã¹ã¦ã®ãƒªãƒ³ã‚¯ã‚’表示" name="Find All Links"/> - <menu_item_call label="ã”ã¿ç®±ã‚’空ã«ã™ã‚‹" name="empty_trash"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_land.xml b/indra/newview/skins/minimal/xui/ja/menu_land.xml deleted file mode 100644 index 89c122f14fd..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_land.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Land Pie"> - <menu_item_call label="åœŸåœ°æƒ…å ±" name="Place Information..."/> - <menu_item_call label="ã“ã“ã«åº§ã‚‹" name="Sit Here"/> - <menu_item_call label="ã“ã®åœŸåœ°ã‚’購入" name="Land Buy"/> - <menu_item_call label="å…¥å ´è¨±å¯ã‚’購入" name="Land Buy Pass"/> - <menu_item_call label="制作" name="Create"/> - <menu_item_call label="地形を編集" name="Edit Terrain"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_landmark.xml b/indra/newview/skins/minimal/xui/ja/menu_landmark.xml deleted file mode 100644 index c134422955d..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_landmark.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="landmark_overflow_menu"> - <menu_item_call label="SLurl をコピー" name="copy"/> - <menu_item_call label="削除" name="delete"/> - <menu_item_call label="ピックを作æˆ" name="pick"/> - <menu_item_call label="ãŠæ°—ã«å…¥ã‚Šãƒãƒ¼ã«è¿½åŠ " name="add_to_favbar"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_login.xml b/indra/newview/skins/minimal/xui/ja/menu_login.xml deleted file mode 100644 index 265f3ebcd0d..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_login.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Login Menu"> - <menu label="ミー" name="File"> - <menu_item_call label="環境è¨å®š" name="Preferences..."/> - <menu_item_call label="[APP_NAME] を終了" name="Quit"/> - </menu> - <menu label="ヘルプ" name="Help"> - <menu_item_call label="[SECOND_LIFE] ヘルプ" name="Second Life Help"/> - <menu_item_call label="[APP_NAME] ã«ã¤ã„ã¦" name="About Second Life"/> - </menu> - <menu_item_check label="デãƒãƒƒã‚°ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‚’表示ã™ã‚‹" name="Show Debug Menu"/> - <menu label="デãƒãƒƒã‚°" name="Debug"> - <menu_item_call label="デãƒãƒƒã‚°è¨å®šã‚’表示" name="Debug Settings"/> - <menu_item_call label="UI/色ã®è¨å®š" name="UI/Color Settings"/> - <menu_item_call label="XUI プレビューツール" name="UI Preview Tool"/> - <menu label="UI テスト" name="UI Tests"/> - <menu_item_call label="ウィンドウã®ã‚µã‚¤ã‚ºã‚’è¨å®š..." name="Set Window Size..."/> - <menu_item_call label="利用è¦ç´„を表示" name="TOS"/> - <menu_item_call label="クリティカルメッセージを表示" name="Critical"/> - <menu_item_call label="メディアブラウザã®ãƒ†ã‚¹ãƒˆ" name="Web Browser Test"/> - <menu_item_call label="Web コンテンツフãƒãƒ¼ã‚¿ãƒ¼ã®ãƒ†ã‚¹ãƒˆ" name="Web Content Floater Test"/> - <menu_item_check label="グリッドピッカーを表示ã™ã‚‹" name="Show Grid Picker"/> - <menu_item_call label="通知コンソールを表示ã™ã‚‹" name="Show Notifications Console"/> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/ja/menu_mini_map.xml b/indra/newview/skins/minimal/xui/ja/menu_mini_map.xml deleted file mode 100644 index 2e733ee24b5..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_mini_map.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="ズーム(近)" name="Zoom Close"/> - <menu_item_call label="ズーム(ä¸ï¼‰" name="Zoom Medium"/> - <menu_item_call label="ズーム(é )" name="Zoom Far"/> - <menu_item_call label="ズーム(デフォルト)" name="Zoom Default"/> - <menu_item_check label="地図を回転" name="Rotate Map"/> - <menu_item_check label="ä¸å¤®ã¸è‡ªå‹•ç§»å‹•" name="Auto Center"/> - <menu_item_call label="追跡をやã‚ã‚‹" name="Stop Tracking"/> - <menu_item_call label="世界地図" name="World Map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_navbar.xml b/indra/newview/skins/minimal/xui/ja/menu_navbar.xml deleted file mode 100644 index 9ae2e581984..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_navbar.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Navbar Menu"> - <menu_item_check label="座標を表示" name="Show Coordinates"/> - <menu_item_check label="区画ã®ãƒ—ãƒãƒ‘ティを表示" name="Show Parcel Properties"/> - <menu_item_call label="ランドマーク" name="Landmark"/> - <menu_item_call label="切りå–ã‚Š" name="Cut"/> - <menu_item_call label="コピー" name="Copy"/> - <menu_item_call label="貼り付ã‘" name="Paste"/> - <menu_item_call label="削除" name="Delete"/> - <menu_item_call label="ã™ã¹ã¦é¸æŠž" name="Select All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_nearby_chat.xml b/indra/newview/skins/minimal/xui/ja/menu_nearby_chat.xml deleted file mode 100644 index c2e4a276861..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_nearby_chat.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="NearBy Chat Menu"> - <menu_item_call label="è¿‘ãã®äººã‚’表示ã™ã‚‹..." name="nearby_people"/> - <menu_item_check label="ブãƒãƒƒã‚¯ã•ã‚ŒãŸæ–‡å—を表示" name="muted_text"/> - <menu_item_check label="ãƒãƒ‡ã‚£ã‚¢ã‚¤ã‚³ãƒ³ã‚’表示" name="show_buddy_icons"/> - <menu_item_check label="åå‰ã‚’表示" name="show_names"/> - <menu_item_check label="アイコンã¨åå‰ã‚’表示" name="show_icons_and_names"/> - <menu_item_call label="æ–‡å—ã®å¤§ãã•" name="font_size"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_notification_well_button.xml b/indra/newview/skins/minimal/xui/ja/menu_notification_well_button.xml deleted file mode 100644 index 913bae89586..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_notification_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Notification Well Button Context Menu"> - <menu_item_call label="ã™ã¹ã¦é–‰ã˜ã‚‹" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_object.xml b/indra/newview/skins/minimal/xui/ja/menu_object.xml deleted file mode 100644 index 4cee8089ee5..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_object.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Object Pie"> - <menu_item_call label="触る" name="Object Touch"> - <menu_item_call.on_enable name="EnableTouch" parameter="触る"/> - </menu_item_call> - <menu_item_call label="編集" name="Edit..."/> - <menu_item_call label="制作" name="Build"/> - <menu_item_call label="é–‹ã" name="Open"/> - <menu_item_call label="ã“ã“ã«åº§ã‚‹" name="Object Sit"/> - <menu_item_call label="ç«‹ã¡ä¸ŠãŒã‚‹" name="Object Stand Up"/> - <menu_item_call label="オブジェクトã®ãƒ—ãƒãƒ•ã‚£ãƒ¼ãƒ«" name="Object Inspect"/> - <menu_item_call label="ズームイン" name="Zoom In"/> - <context_menu label="装ç€" name="Put On"> - <menu_item_call label="装ç€" name="Wear"/> - <menu_item_call label="è¿½åŠ " name="Add"/> - <context_menu label="å–り付ã‘ã‚‹" name="Object Attach"/> - <context_menu label="HUD ã‚’å–り付ã‘ã‚‹" name="Object Attach HUD"/> - </context_menu> - <context_menu label="管ç†" name="Remove"> - <menu_item_call label="å«ŒãŒã‚‰ã›ã®å ±å‘Š" name="Report Abuse..."/> - <menu_item_call label="ブãƒãƒƒã‚¯" name="Object Mute"/> - <menu_item_call label="è¿”å´" name="Return..."/> - </context_menu> - <menu_item_call label="å–ã‚‹" name="Pie Object Take"/> - <menu_item_call label="コピーをå–ã‚‹" name="Take Copy"/> - <menu_item_call label="支払ã†" name="Pay..."/> - <menu_item_call label="è²·ã†" name="Buy..."/> - <menu_item_call label="削除" name="Delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_object_icon.xml b/indra/newview/skins/minimal/xui/ja/menu_object_icon.xml deleted file mode 100644 index 8c4f3286618..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_object_icon.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Object Icon Menu"> - <menu_item_call label="オブジェクトã®ãƒ—ãƒãƒ•ã‚£ãƒ¼ãƒ«..." name="Object Profile"/> - <menu_item_call label="ブãƒãƒƒã‚¯..." name="Block"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_outfit_gear.xml b/indra/newview/skins/minimal/xui/ja/menu_outfit_gear.xml deleted file mode 100644 index 2bcbe1915b4..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_outfit_gear.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Gear Outfit"> - <menu_item_call label="ç€ã‚‹ - ç€ç”¨ä¸ã®ã‚¢ã‚¦ãƒˆãƒ•ã‚£ãƒƒãƒˆã‚’入れ替ãˆã‚‹" name="wear"/> - <menu_item_call label="ç€ã‚‹ - ç€ç”¨ä¸ã®ã‚¢ã‚¦ãƒˆãƒ•ã‚£ãƒƒãƒˆã«è¿½åŠ ã™ã‚‹" name="wear_add"/> - <menu_item_call label="å–り外㙠- ç€ç”¨ä¸ã®ã‚¢ã‚¦ãƒˆãƒ•ã‚£ãƒƒãƒˆã‹ã‚‰å–り除ã" name="take_off"/> - <menu label="衣類" name="New Clothes"> - <menu_item_call label="シャツ" name="New Shirt"/> - <menu_item_call label="パンツ" name="New Pants"/> - <menu_item_call label="é´" name="New Shoes"/> - <menu_item_call label="é´ä¸‹" name="New Socks"/> - <menu_item_call label="ジャケット" name="New Jacket"/> - <menu_item_call label="スカート" name="New Skirt"/> - <menu_item_call label="手袋" name="New Gloves"/> - <menu_item_call label="下ç€ï¼ˆä¸Šï¼‰" name="New Undershirt"/> - <menu_item_call label="下ç€ï¼ˆä¸‹ï¼‰" name="New Underpants"/> - <menu_item_call label="アルファ" name="New Alpha"/> - <menu_item_call label="æ–°è¦ã®ç‰©ç†ä½œç”¨" name="New Physics"/> - <menu_item_call label="æ–°ã—ã„タトゥ" name="New Tattoo"/> - </menu> - <menu label="æ–°ã—ã„身体部ä½" name="New Body Parts"> - <menu_item_call label="æ–°ã—ã„シェイプ" name="New Shape"/> - <menu_item_call label="スã‚ン" name="New Skin"/> - <menu_item_call label="髪" name="New Hair"/> - <menu_item_call label="ç›®" name="New Eyes"/> - </menu> - <menu_item_call label="アウトフィットã®åå‰ã‚’変更ã™ã‚‹" name="rename"/> - <menu_item_call label="アウトフィットを削除ã™ã‚‹" name="delete_outfit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_outfit_tab.xml b/indra/newview/skins/minimal/xui/ja/menu_outfit_tab.xml deleted file mode 100644 index 9491c22f31b..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_outfit_tab.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit"> - <menu_item_call label="ç€ã‚‹ - ç€ç”¨ä¸ã®ã‚¢ã‚¦ãƒˆãƒ•ã‚£ãƒƒãƒˆã‚’入れ替ãˆã‚‹" name="wear_replace"/> - <menu_item_call label="ç€ã‚‹ - ç€ç”¨ä¸ã®ã‚¢ã‚¦ãƒˆãƒ•ã‚£ãƒƒãƒˆã«è¿½åŠ ã™ã‚‹" name="wear_add"/> - <menu_item_call label="å–り外㙠- ç€ç”¨ä¸ã®ã‚¢ã‚¦ãƒˆãƒ•ã‚£ãƒƒãƒˆã‹ã‚‰å–り除ã" name="take_off"/> - <menu_item_call label="アウトフィットã®ç·¨é›†" name="edit"/> - <menu_item_call label="アウトフィットã®åå‰ã‚’変更ã™ã‚‹" name="rename"/> - <menu_item_call label="アウトフィットを削除ã™ã‚‹" name="delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_participant_list.xml b/indra/newview/skins/minimal/xui/ja/menu_participant_list.xml deleted file mode 100644 index 64d8ded722b..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_participant_list.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Participant List Context Menu"> - <menu_item_check label="åå‰ã§ä¸¦ã¹æ›¿ãˆ" name="SortByName"/> - <menu_item_check label="最近ã®ç™ºè¨€è€…ã§ä¸¦ã¹æ›¿ãˆ" name="SortByRecentSpeakers"/> - <menu_item_call label="プãƒãƒ•ã‚£ãƒ¼ãƒ«ã®è¡¨ç¤º" name="View Profile"/> - <menu_item_call label="フレンド登録" name="Add Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="コール" name="Call"/> - <menu_item_call label="共有" name="Share"/> - <menu_item_call label="支払ã†" name="Pay"/> - <menu_item_check label="人ã®ã‚¢ã‚¤ã‚³ãƒ³è¡¨ç¤º" name="View Icons"/> - <menu_item_check label="ボイスをブãƒãƒƒã‚¯" name="Block/Unblock"/> - <menu_item_check label="æ–‡å—をブãƒãƒƒã‚¯" name="MuteText"/> - <context_menu label="モデレーターã®ã‚ªãƒ—ション" name="Moderator Options"> - <menu_item_check label="æ–‡å—ãƒãƒ£ãƒƒãƒˆã‚’許å¯" name="AllowTextChat"/> - <menu_item_call label="ã“ã®å‚åŠ è€…ã‚’ãƒŸãƒ¥ãƒ¼ãƒˆã™ã‚‹" name="ModerateVoiceMuteSelected"/> - <menu_item_call label="ã“ã®å‚åŠ è€…ã®ãƒŸãƒ¥ãƒ¼ãƒˆã‚’解除ã™ã‚‹" name="ModerateVoiceUnMuteSelected"/> - <menu_item_call label="全員をミュート" name="ModerateVoiceMute"/> - <menu_item_call label="全員ã®ãƒŸãƒ¥ãƒ¼ãƒˆè§£é™¤" name="ModerateVoiceUnmute"/> - </context_menu> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_people_friends_view_sort.xml b/indra/newview/skins/minimal/xui/ja/menu_people_friends_view_sort.xml deleted file mode 100644 index 76340e4d768..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="åå‰ã§ä¸¦ã¹æ›¿ãˆ" name="sort_name"/> - <menu_item_check label="オンライン状態ã§ä¸¦ã¹æ›¿ãˆ" name="sort_status"/> - <menu_item_check label="人ã®ã‚¢ã‚¤ã‚³ãƒ³è¡¨ç¤º" name="view_icons"/> - <menu_item_check label="与ãˆã‚‰ã‚ŒãŸæ¨©é™ã‚’表示" name="view_permissions"/> - <menu_item_call label="ブãƒãƒƒã‚¯ã•ã‚ŒãŸä½äººã¨ã‚ªãƒ–ジェクトを表示" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_people_groups.xml b/indra/newview/skins/minimal/xui/ja/menu_people_groups.xml deleted file mode 100644 index 842d79dc4be..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_people_groups.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="æƒ…å ±ã‚’è¡¨ç¤º" name="View Info"/> - <menu_item_call label="ãƒãƒ£ãƒƒãƒˆ" name="Chat"/> - <menu_item_call label="コール" name="Call"/> - <menu_item_call label="アクティブ" name="Activate"/> - <menu_item_call label="脱退" name="Leave"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_people_groups_view_sort.xml b/indra/newview/skins/minimal/xui/ja/menu_people_groups_view_sort.xml deleted file mode 100644 index bfc7d150176..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="グループアイコンを表示" name="Display Group Icons"/> - <menu_item_call label="é¸æŠžã—ãŸã‚°ãƒ«ãƒ¼ãƒ—ã‹ã‚‰è„±é€€" name="Leave Selected Group"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_people_nearby.xml b/indra/newview/skins/minimal/xui/ja/menu_people_nearby.xml deleted file mode 100644 index 8d84b0e521c..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_people_nearby.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Avatar Context Menu"> - <menu_item_call label="プãƒãƒ•ã‚£ãƒ¼ãƒ«ã®è¡¨ç¤º" name="View Profile"/> - <menu_item_call label="フレンド登録" name="Add Friend"/> - <menu_item_call label="フレンドを削除" name="Remove Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="コール" name="Call"/> - <menu_item_call label="地図" name="Map"/> - <menu_item_call label="共有" name="Share"/> - <menu_item_call label="支払ã†" name="Pay"/> - <menu_item_check label="ブãƒãƒƒã‚¯ãƒ»ãƒ–ãƒãƒƒã‚¯è§£é™¤" name="Block/Unblock"/> - <menu_item_call label="テレãƒãƒ¼ãƒˆã‚’é€ã‚‹" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_people_nearby_multiselect.xml b/indra/newview/skins/minimal/xui/ja/menu_people_nearby_multiselect.xml deleted file mode 100644 index 3f20e5d3ab1..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_people_nearby_multiselect.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Multi-Selected People Context Menu"> - <menu_item_call label="フレンド登録" name="Add Friends"/> - <menu_item_call label="フレンドを削除" name="Remove Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="コール" name="Call"/> - <menu_item_call label="共有" name="Share"/> - <menu_item_call label="支払ã†" name="Pay"/> - <menu_item_call label="テレãƒãƒ¼ãƒˆã‚’é€ã‚‹" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_people_nearby_view_sort.xml b/indra/newview/skins/minimal/xui/ja/menu_people_nearby_view_sort.xml deleted file mode 100644 index a31480158a8..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="最近ã®ç™ºè¨€è€…ã§ä¸¦ã¹æ›¿ãˆ" name="sort_by_recent_speakers"/> - <menu_item_check label="åå‰ã§ä¸¦ã¹æ›¿ãˆ" name="sort_name"/> - <menu_item_check label="è·é›¢ã§ä¸¦ã¹æ›¿ãˆ" name="sort_distance"/> - <menu_item_check label="人ã®ã‚¢ã‚¤ã‚³ãƒ³è¡¨ç¤º" name="view_icons"/> - <menu_item_call label="ブãƒãƒƒã‚¯ã•ã‚ŒãŸä½äººã¨ã‚ªãƒ–ジェクトを表示" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_people_recent_view_sort.xml b/indra/newview/skins/minimal/xui/ja/menu_people_recent_view_sort.xml deleted file mode 100644 index b4f177a0688..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="æ–°ã—ã„é †ã«ä¸¦ã¹æ›¿ãˆ" name="sort_most"/> - <menu_item_check label="åå‰ã§ä¸¦ã¹æ›¿ãˆ" name="sort_name"/> - <menu_item_check label="人ã®ã‚¢ã‚¤ã‚³ãƒ³è¡¨ç¤º" name="view_icons"/> - <menu_item_call label="ブãƒãƒƒã‚¯ã•ã‚ŒãŸä½äººã¨ã‚ªãƒ–ジェクトを表示" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_picks.xml b/indra/newview/skins/minimal/xui/ja/menu_picks.xml deleted file mode 100644 index 011d3d25268..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_picks.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Picks"> - <menu_item_call label="æƒ…å ±" name="pick_info"/> - <menu_item_call label="編集" name="pick_edit"/> - <menu_item_call label="テレãƒãƒ¼ãƒˆ" name="pick_teleport"/> - <menu_item_call label="地図" name="pick_map"/> - <menu_item_call label="削除" name="pick_delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_picks_plus.xml b/indra/newview/skins/minimal/xui/ja/menu_picks_plus.xml deleted file mode 100644 index 84bf90fea05..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_picks_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="picks_plus_menu"> - <menu_item_call label="æ–°ã—ã„ピック" name="create_pick"/> - <menu_item_call label="æ–°ã—ã„クラシファイド広告" name="create_classified"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_place.xml b/indra/newview/skins/minimal/xui/ja/menu_place.xml deleted file mode 100644 index a9f05e126d1..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_place.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="place_overflow_menu"> - <menu_item_call label="ランドマークを作æˆ" name="landmark"/> - <menu_item_call label="ピックを作æˆ" name="pick"/> - <menu_item_call label="å…¥å ´è¨±å¯ã‚’購入" name="pass"/> - <menu_item_call label="編集" name="edit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_place_add_button.xml b/indra/newview/skins/minimal/xui/ja/menu_place_add_button.xml deleted file mode 100644 index d5ce88b0557..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_place_add_button.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_folder_gear"> - <menu_item_call label="ãƒ•ã‚©ãƒ«ãƒ€ã‚’è¿½åŠ " name="add_folder"/> - <menu_item_call label="ãƒ©ãƒ³ãƒ‰ãƒžãƒ¼ã‚¯ã‚’è¿½åŠ " name="add_landmark"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_places_gear_folder.xml b/indra/newview/skins/minimal/xui/ja/menu_places_gear_folder.xml deleted file mode 100644 index e64f97fda54..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_places_gear_folder.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_folder_gear"> - <menu_item_call label="ãƒ©ãƒ³ãƒ‰ãƒžãƒ¼ã‚¯ã‚’è¿½åŠ " name="add_landmark"/> - <menu_item_call label="ãƒ•ã‚©ãƒ«ãƒ€ã‚’è¿½åŠ " name="add_folder"/> - <menu_item_call label="商å“を復元" name="restore_item"/> - <menu_item_call label="切りå–ã‚Š" name="cut"/> - <menu_item_call label="コピー" name="copy_folder"/> - <menu_item_call label="貼り付ã‘" name="paste"/> - <menu_item_call label="åå‰ã®å¤‰æ›´" name="rename"/> - <menu_item_call label="削除" name="delete"/> - <menu_item_call label="拡大" name="expand"/> - <menu_item_call label="戻ã™" name="collapse"/> - <menu_item_call label="フォルダをã™ã¹ã¦é–‹ã" name="expand_all"/> - <menu_item_call label="フォルダをã™ã¹ã¦é–‰ã˜ã‚‹" name="collapse_all"/> - <menu_item_check label="日付ã§ä¸¦ã¹æ›¿ãˆ" name="sort_by_date"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_places_gear_landmark.xml b/indra/newview/skins/minimal/xui/ja/menu_places_gear_landmark.xml deleted file mode 100644 index f416b5b1f66..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_places_gear_landmark.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_ladmark_gear"> - <menu_item_call label="テレãƒãƒ¼ãƒˆ" name="teleport"/> - <menu_item_call label="ã‚‚ã£ã¨è©³ã—ã" name="more_info"/> - <menu_item_call label="地図ã«è¡¨ç¤º" name="show_on_map"/> - <menu_item_call label="ãƒ©ãƒ³ãƒ‰ãƒžãƒ¼ã‚¯ã‚’è¿½åŠ " name="add_landmark"/> - <menu_item_call label="ãƒ•ã‚©ãƒ«ãƒ€ã‚’è¿½åŠ " name="add_folder"/> - <menu_item_call label="商å“を復元" name="restore_item"/> - <menu_item_call label="切りå–ã‚Š" name="cut"/> - <menu_item_call label="ランドマークをコピー" name="copy_landmark"/> - <menu_item_call label="SLurl をコピー" name="copy_slurl"/> - <menu_item_call label="貼り付ã‘" name="paste"/> - <menu_item_call label="åå‰ã®å¤‰æ›´" name="rename"/> - <menu_item_call label="削除" name="delete"/> - <menu_item_call label="フォルダをã™ã¹ã¦é–‹ã" name="expand_all"/> - <menu_item_call label="フォルダをã™ã¹ã¦é–‰ã˜ã‚‹" name="collapse_all"/> - <menu_item_check label="日付ã§ä¸¦ã¹æ›¿ãˆ" name="sort_by_date"/> - <menu_item_call label="ピックを作æˆ" name="create_pick"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_profile_overflow.xml b/indra/newview/skins/minimal/xui/ja/menu_profile_overflow.xml deleted file mode 100644 index 9d3a5dda1c7..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_profile_overflow.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="profile_overflow_menu"> - <menu_item_call label="地図" name="show_on_map"/> - <menu_item_call label="支払ã†" name="pay"/> - <menu_item_call label="共有" name="share"/> - <menu_item_call label="ブãƒãƒƒã‚¯" name="block"/> - <menu_item_call label="ブãƒãƒƒã‚¯è§£é™¤" name="unblock"/> - <menu_item_call label="追放" name="kick"/> - <menu_item_call label="フリーズ" name="freeze"/> - <menu_item_call label="フリーズ解除" name="unfreeze"/> - <menu_item_call label="CSR" name="csr"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_save_outfit.xml b/indra/newview/skins/minimal/xui/ja/menu_save_outfit.xml deleted file mode 100644 index 6513d9264a4..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_save_outfit.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="save_outfit_menu"> - <menu_item_call label="ä¿å˜" name="save_outfit"/> - <menu_item_call label="別åã§ä¿å˜" name="save_as_new_outfit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_script_chiclet.xml b/indra/newview/skins/minimal/xui/ja/menu_script_chiclet.xml deleted file mode 100644 index a89dd0bcbe5..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_script_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="ScriptChiclet Menu"> - <menu_item_call label="é–‰ã˜ã‚‹" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_slurl.xml b/indra/newview/skins/minimal/xui/ja/menu_slurl.xml deleted file mode 100644 index 61ba3085d9e..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_slurl.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="URL ã«ã¤ã„ã¦" name="about_url"/> - <menu_item_call label="URL ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã™ã‚‹" name="teleport_to_url"/> - <menu_item_call label="地図" name="show_on_map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_teleport_history_gear.xml b/indra/newview/skins/minimal/xui/ja/menu_teleport_history_gear.xml deleted file mode 100644 index 901eab91661..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_teleport_history_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Teleport History Gear Context Menu"> - <menu_item_call label="フォルダをã™ã¹ã¦é–‹ã" name="Expand all folders"/> - <menu_item_call label="フォルダをã™ã¹ã¦é–‰ã˜ã‚‹" name="Collapse all folders"/> - <menu_item_call label="テレãƒãƒ¼ãƒˆã®å±¥æ´ã‚’クリア" name="Clear Teleport History"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_teleport_history_item.xml b/indra/newview/skins/minimal/xui/ja/menu_teleport_history_item.xml deleted file mode 100644 index 66bc32214fa..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_teleport_history_item.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="テレãƒãƒ¼ãƒˆ" name="Teleport"/> - <menu_item_call label="ã‚‚ã£ã¨è©³ã—ã" name="More Information"/> - <menu_item_call label="クリップボードã«ã‚³ãƒ”ー" name="CopyToClipboard"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_teleport_history_tab.xml b/indra/newview/skins/minimal/xui/ja/menu_teleport_history_tab.xml deleted file mode 100644 index 4dd44d2ec84..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_teleport_history_tab.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="é–‹ã" name="TabOpen"/> - <menu_item_call label="é–‰ã˜ã‚‹" name="TabClose"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_text_editor.xml b/indra/newview/skins/minimal/xui/ja/menu_text_editor.xml deleted file mode 100644 index fcb1038a6a5..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_text_editor.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Text editor context menu"> - <menu_item_call label="切りå–ã‚Š" name="Cut"/> - <menu_item_call label="コピー" name="Copy"/> - <menu_item_call label="貼り付ã‘" name="Paste"/> - <menu_item_call label="削除" name="Delete"/> - <menu_item_call label="ã™ã¹ã¦é¸æŠž" name="Select All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_topinfobar.xml b/indra/newview/skins/minimal/xui/ja/menu_topinfobar.xml deleted file mode 100644 index 1a67a2a8f7b..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_topinfobar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_topinfobar"> - <menu_item_check label="座標を表示" name="Show Coordinates"/> - <menu_item_check label="区画ã®ãƒ—ãƒãƒ‘ティを表示" name="Show Parcel Properties"/> - <menu_item_call label="ランドマーク" name="Landmark"/> - <menu_item_call label="コピー" name="Copy"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_url_agent.xml b/indra/newview/skins/minimal/xui/ja/menu_url_agent.xml deleted file mode 100644 index 92d118a5aec..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_url_agent.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="ä½äººã®ãƒ—ãƒãƒ•ã‚£ãƒ¼ãƒ«ã‚’表示" name="show_agent"/> - <menu_item_call label="åå‰ã‚’クリップボードã«ã‚³ãƒ”ー" name="url_copy_label"/> - <menu_item_call label="SLurl をクリップボードã«ã‚³ãƒ”ー" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_url_group.xml b/indra/newview/skins/minimal/xui/ja/menu_url_group.xml deleted file mode 100644 index 1dd3d794389..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_url_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="ã‚°ãƒ«ãƒ¼ãƒ—æƒ…å ±ã‚’è¡¨ç¤º" name="show_group"/> - <menu_item_call label="グループをクリップボードã«ã‚³ãƒ”ー" name="url_copy_label"/> - <menu_item_call label="SLurl をクリップボードã«ã‚³ãƒ”ー" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_url_http.xml b/indra/newview/skins/minimal/xui/ja/menu_url_http.xml deleted file mode 100644 index c3da8a8686c..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_url_http.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Web ページを開ã" name="url_open"/> - <menu_item_call label="内蔵ブラウザã§é–‹ã" name="url_open_internal"/> - <menu_item_call label="外部ブラウザã§é–‹ã" name="url_open_external"/> - <menu_item_call label="URLをクリップボードã«ã‚³ãƒ”ー" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_url_inventory.xml b/indra/newview/skins/minimal/xui/ja/menu_url_inventory.xml deleted file mode 100644 index 7af2f9e2cd8..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_url_inventory.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="æŒã¡ç‰©ã‚¢ã‚¤ãƒ†ãƒ を表示" name="show_item"/> - <menu_item_call label="åå‰ã‚’クリップボードã«ã‚³ãƒ”ー" name="url_copy_label"/> - <menu_item_call label="SLurl をクリップボードã«ã‚³ãƒ”ー" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_url_map.xml b/indra/newview/skins/minimal/xui/ja/menu_url_map.xml deleted file mode 100644 index 8d41e1a5712..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_url_map.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="地図ã«è¡¨ç¤º" name="show_on_map"/> - <menu_item_call label="ç¾åœ°ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆ" name="teleport_to_location"/> - <menu_item_call label="SLurl をクリップボードã«ã‚³ãƒ”ー" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_url_objectim.xml b/indra/newview/skins/minimal/xui/ja/menu_url_objectim.xml deleted file mode 100644 index d6a048dcfcc..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_url_objectim.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="オブジェクトã®æƒ…å ±ã‚’è¡¨ç¤º" name="show_object"/> - <menu_item_call label="地図ã«è¡¨ç¤º" name="show_on_map"/> - <menu_item_call label="オブジェクトã®å ´æ‰€ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆ" name="teleport_to_object"/> - <menu_item_call label="オブジェクトåをクリップボードã«ã‚³ãƒ”ー" name="url_copy_label"/> - <menu_item_call label="SLurl をクリップボードã«ã‚³ãƒ”ー" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_url_parcel.xml b/indra/newview/skins/minimal/xui/ja/menu_url_parcel.xml deleted file mode 100644 index 8d264059d3c..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_url_parcel.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="åŒºç”»æƒ…å ±ã‚’è¡¨ç¤º" name="show_parcel"/> - <menu_item_call label="地図ã«è¡¨ç¤º" name="show_on_map"/> - <menu_item_call label="SLurl をクリップボードã«ã‚³ãƒ”ー" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_url_slapp.xml b/indra/newview/skins/minimal/xui/ja/menu_url_slapp.xml deleted file mode 100644 index a516c5a075f..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_url_slapp.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’実行" name="run_slapp"/> - <menu_item_call label="SLurl をクリップボードã«ã‚³ãƒ”ー" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_url_slurl.xml b/indra/newview/skins/minimal/xui/ja/menu_url_slurl.xml deleted file mode 100644 index 2c857ec9152..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_url_slurl.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="å ´æ‰€ã®æƒ…å ±ã‚’è¡¨ç¤º" name="show_place"/> - <menu_item_call label="地図ã«è¡¨ç¤º" name="show_on_map"/> - <menu_item_call label="ç¾åœ°ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆ" name="teleport_to_location"/> - <menu_item_call label="SLurl をクリップボードã«ã‚³ãƒ”ー" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_url_teleport.xml b/indra/newview/skins/minimal/xui/ja/menu_url_teleport.xml deleted file mode 100644 index c3507a9a334..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_url_teleport.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="ã“ã®å ´æ‰€ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆ" name="teleport"/> - <menu_item_call label="地図ã«è¡¨ç¤º" name="show_on_map"/> - <menu_item_call label="SLurl をクリップボードã«ã‚³ãƒ”ー" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_viewer.xml b/indra/newview/skins/minimal/xui/ja/menu_viewer.xml deleted file mode 100644 index 52dec2b282a..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_viewer.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Main Menu"> - <menu label="ヘルプ" name="Help"> - <menu_item_call label="[SECOND_LIFE] ヘルプ" name="Second Life Help"/> - </menu> - <menu label="アドãƒãƒ³ã‚¹" name="Advanced"> - <menu label="ショートカット" name="Shortcuts"> - <menu_item_check label="飛ã¶" name="Fly"/> - <menu_item_call label="ウィンドウを閉ã˜ã‚‹" name="Close Window"/> - <menu_item_call label="å…¨ã¦ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’é–‰ã˜ã‚‹" name="Close All Windows"/> - <menu_item_call label="表示をリセットã™ã‚‹" name="Reset View"/> - </menu> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/ja/menu_wearable_list_item.xml b/indra/newview/skins/minimal/xui/ja/menu_wearable_list_item.xml deleted file mode 100644 index c402fa0b6d2..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_wearable_list_item.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit Wearable Context Menu"> - <menu_item_call label="交æ›" name="wear_replace"/> - <menu_item_call label="装ç€" name="wear_wear"/> - <menu_item_call label="è¿½åŠ " name="wear_add"/> - <menu_item_call label="å–り外ã™" name="take_off_or_detach"/> - <menu_item_call label="å–り外ã™" name="detach"/> - <context_menu label="装ç€ï¼š" name="wearable_attach_to"/> - <context_menu label="HUD ã«è£…ç€" name="wearable_attach_to_hud"/> - <menu_item_call label="å–り外ã™" name="take_off"/> - <menu_item_call label="編集" name="edit"/> - <menu_item_call label="アイテムã®ãƒ—ãƒãƒ•ã‚£ãƒ¼ãƒ«" name="object_profile"/> - <menu_item_call label="オリジナルを表示" name="show_original"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_wearing_gear.xml b/indra/newview/skins/minimal/xui/ja/menu_wearing_gear.xml deleted file mode 100644 index 7a975381173..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_wearing_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Wearing"> - <menu_item_call label="アウトフットã®ç·¨é›†" name="edit"/> - <menu_item_call label="å–り外ã™" name="takeoff"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_wearing_tab.xml b/indra/newview/skins/minimal/xui/ja/menu_wearing_tab.xml deleted file mode 100644 index 9effed1f42b..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_wearing_tab.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Wearing"> - <menu_item_call label="å–り外ã™" name="take_off"/> - <menu_item_call label="å–り外ã™" name="detach"/> - <menu_item_call label="アウトフットã®ç·¨é›†" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/notifications.xml b/indra/newview/skins/minimal/xui/ja/notifications.xml deleted file mode 100644 index 43934c9317f..00000000000 --- a/indra/newview/skins/minimal/xui/ja/notifications.xml +++ /dev/null @@ -1,2995 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<notifications> - <global name="skipnexttime"> - 今後ã¯è¡¨ç¤ºã—ãªã„ - </global> - <global name="alwayschoose"> - 常ã«ã“ã®ã‚ªãƒ—ションをé¸æŠž - </global> - <global name="implicitclosebutton"> - é–‰ã˜ã‚‹ - </global> - <template name="okbutton"> - <form> - <button name="OK_okbutton" text="$yestext"/> - </form> - </template> - <template name="okignore"> - <form> - <button name="OK_okignore" text="$yestext"/> - </form> - </template> - <template name="okcancelbuttons"> - <form> - <button name="OK_okcancelbuttons" text="$yestext"/> - <button name="Cancel_okcancelbuttons" text="$notext"/> - </form> - </template> - <template name="okcancelignore"> - <form> - <button name="OK_okcancelignore" text="$yestext"/> - <button name="Cancel_okcancelignore" text="$notext"/> - </form> - </template> - <template name="okhelpbuttons"> - <form> - <button name="OK_okhelpbuttons" text="$yestext"/> - <button name="Help" text="$helptext"/> - </form> - </template> - <template name="yesnocancelbuttons"> - <form> - <button name="Yes" text="$yestext"/> - <button name="No" text="$notext"/> - <button name="Cancel_yesnocancelbuttons" text="$canceltext"/> - </form> - </template> - <notification functor="GenericAcknowledge" label="ä¸æ˜Žã®é€šçŸ¥ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸" name="MissingAlert"> - ã‚ãªãŸã® [APP_NAME] ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ä»Šå—ã‘å–ã£ãŸé€šçŸ¥ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 最新ビューワãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã‚‹ã‹ã”確èªãã ã•ã„。 - -エラー詳細: 「 [_NAME] ã€ã¨ã„ã†é€šçŸ¥ã¯ notifications.xml ã«ã‚ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FloaterNotFound"> - フãƒãƒ¼ã‚¿ã‚¨ãƒ©ãƒ¼ï¼šä¸‹è¨˜ã®ã‚³ãƒ³ãƒˆãƒãƒ¼ãƒ«ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸï¼š -[CONTROLS] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TutorialNotFound"> - ç¾åœ¨åˆ©ç”¨å¯èƒ½ãªãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã¯ã‚ã‚Šã¾ã›ã‚“。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GenericAlert"> - [MESSAGE] - </notification> - <notification name="GenericAlertYesCancel"> - [MESSAGE] - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="ã¯ã„"/> - </notification> - <notification name="BadInstallation"> - [APP_NAME] をアップデートä¸ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ ビューワ㮠[http://get.secondlife.com 最新ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ダウンãƒãƒ¼ãƒ‰] ã—ã¦ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="LoginFailedNoNetwork"> - [SECOND_LIFE_GRID] ã«æŽ¥ç¶šã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ -「[DIAGNOSTIC]〠-インターãƒãƒƒãƒˆæŽ¥ç¶šãŒæ£å¸¸ã‹ã”確èªãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="MessageTemplateNotFound"> - メッセージテンプレート [PATH] ãŒã‚ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="WearableSave"> - ç¾åœ¨ã®è¡£é¡žã€èº«ä½“部ä½ã®å¤‰æ›´ã‚’ä¿å˜ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="ã‚ャンセル" name="yesnocancelbuttons" notext="ä¿å˜ã—ãªã„" yestext="ä¿å˜"/> - </notification> - <notification name="CompileQueueSaveText"> - 次ã®ç†ç”±ã§ã€ã‚¹ã‚¯ãƒªãƒ—ト用テã‚ストã®ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰æ™‚ã«å•é¡ŒãŒèµ·ã“ã‚Šã¾ã—ãŸã€‚ -[REASON] -後ã§ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="CompileQueueSaveBytecode"> - 次ã®ç†ç”±ã§ã€ã‚³ãƒ³ãƒ‘イルã—ãŸã‚¹ã‚¯ãƒªãƒ—トã®ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰æ™‚ã«å•é¡ŒãŒèµ·ã“ã‚Šã¾ã—ãŸã€‚ -[REASON] -後ã§ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="WriteAnimationFail"> - アニメーションデータã®æ›¸ãè¾¼ã¿ã«å•é¡ŒãŒã‚ã‚Šã¾ã™ã€‚後ã§ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="UploadAuctionSnapshotFail"> - 次ã®ç†ç”±ã§ã€ã‚ªãƒ¼ã‚¯ã‚·ãƒ§ãƒ³ã®ã‚¹ãƒŠãƒƒãƒ—ショットã®ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰æ™‚ã«å•é¡ŒãŒèµ·ã“ã‚Šã¾ã—ãŸã€‚ -[REASON] - </notification> - <notification name="UnableToViewContentsMoreThanOne"> - 一度ã«è¤‡æ•°ã®ã‚¢ã‚¤ãƒ†ãƒ ã®ä¸èº«ã‚’表示ã§ãã¾ã›ã‚“。 -アイテムを 1 ã¤ã ã‘é¸æŠžã—ã¦ã€ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="SaveClothingBodyChanges"> - è¡£æœã€èº«ä½“部ä½ã«å¯¾ã™ã‚‹å¤‰æ›´ã‚’ã™ã¹ã¦ä¿å˜ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="å–り消ã—" name="yesnocancelbuttons" notext="ä¿å˜ã—ãªã„" yestext="ã™ã¹ã¦ä¿å˜"/> - </notification> - <notification name="FriendsAndGroupsOnly"> - フレンド以外ã‹ã‚‰ã®ã‚³ãƒ¼ãƒ«ã‚„インスタントメッセージを無視ã™ã‚‹è¨å®šã«ã—ãŸã“ã¨ã‚’ã€ç›¸æ‰‹ã«çŸ¥ã‚‰ã‚Œã‚‹ã“ã¨ã¯ã‚ã‚Šã¾ã›ã‚“。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FavoritesOnLogin"> - 注æ„:ã“ã®ã‚ªãƒ—ションを有効ã«ã™ã‚‹ã¨ã€ã“ã®ãƒ‘ソコンを使ã†ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯èª°ã§ã‚‚ã€ã‚ãªãŸã®ãŠæ°—ã«å…¥ã‚Šã®å ´æ‰€ã‚’見るã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GrantModifyRights"> - 他人ã«ä¿®æ£æ¨©é™ã‚’与ãˆã‚‹ã¨ã€æ¨©é™ã‚’与ãˆã‚‰ã‚ŒãŸäººã¯ã‚ãªãŸãŒæ‰€æœ‰ã™ã‚‹ã‚¤ãƒ³ãƒ¯ãƒ¼ãƒ«ãƒ‰ã®ã‚ªãƒ–ジェクトを変更ã€å‰Šé™¤ã€æŒã¡å¸°ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®æ¨©é™ã‚’与ãˆã‚‹éš›ã«ã¯å分ã«æ³¨æ„ã—ã¦ãã ã•ã„。 -[NAME] ã«ä¿®æ£æ¨©é™ã‚’与ãˆã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="GrantModifyRightsMultiple"> - 他人ã«ä¿®æ£æ¨©é™ã‚’与ãˆã‚‹ã¨ã€æ¨©é™ã‚’与ãˆã‚‰ã‚ŒãŸäººã¯ã‚ãªãŸãŒæ‰€æœ‰ã™ã‚‹ã‚¤ãƒ³ãƒ¯ãƒ¼ãƒ«ãƒ‰ã®ã‚ªãƒ–ジェクトを変更ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ ã“ã®æ¨©é™ã‚’与ãˆã‚‹éš›ã«ã¯å分ã«æ³¨æ„ã—ã¦ãã ã•ã„。 -é¸æŠžã—ãŸä½äººã«ä¿®æ£æ¨©é™ã‚’与ãˆã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="RevokeModifyRights"> - [NAME] ã®ä¿®æ£æ¨©é™ã‚’解約ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="RevokeModifyRightsMultiple"> - é¸æŠžã—ãŸä½äººã‹ã‚‰å¤‰æ›´æ¨©é™ã‚’å–り下ã’ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="UnableToCreateGroup"> - グループを作æˆã§ãã¾ã›ã‚“。 -[MESSAGE] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="PanelGroupApply"> - [NEEDS_APPLY_MESSAGE] -[WANT_APPLY_MESSAGE] - <usetemplate canceltext="å–り消ã—" name="yesnocancelbuttons" notext="変更を無視" yestext="変更をé©ç”¨"/> - </notification> - <notification name="MustSpecifyGroupNoticeSubject"> - グループ通知ã®é€ä¿¡ã«ã¯ã€ä»¶åã®è¨˜å…¥ãŒå¿…è¦ã§ã™ã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AddGroupOwnerWarning"> - ã‚ãªãŸã¯ [ROLE_NAME] ã®å½¹å‰²ã«ãƒ¡ãƒ³ãƒãƒ¼ã‚’与ãˆã‚ˆã†ã¨ã—ã¦ã„ã¾ã™ã€‚ -任命ã•ã‚ŒãŸãƒ¡ãƒ³ãƒãƒ¼ãŒè‡ªã‚‰é€€ä»»ã—ãªã„é™ã‚Šã€ -役柄ã‹ã‚‰å‰Šé™¤ã§ãã¾ã›ã‚“。 -æ“作を続行ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="グループオーナーを新ã—ãè¿½åŠ ã™ã‚‹å‰ã®ç¢ºèª" name="okcancelignore" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="AssignDangerousActionWarning"> - ã‚ãªãŸã¯ [ROLE_NAME] ã« [ACTION_NAME] ã®èƒ½åŠ›ã‚’ -与ãˆã‚ˆã†ã¨ã—ã¦ã„ã¾ã™ã€‚ - - *è¦å‘Š* -ã“ã®èƒ½åŠ›ã‚’æŒã¤å½¹å‰²ã®ãƒ¡ãƒ³ãƒãƒ¼ã¯ã€ -自分ã¨ä»–ã®ãƒ¡ãƒ³ãƒãƒ¼ã«ç¾åœ¨ã‚ˆã‚Šå¼·åŠ›ãªæ¨©é™ã‚’割り当ã¦ã€ -自分をオーナーã¨ã»ã¼åŒæ§˜ã®ç«‹å ´ã«ä»»å‘½ã™ã‚‹ã“ã¨ã‚‚ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ -ã“ã®è¡Œç‚ºã®æ„味をよãç†è§£ã—ã¦ã‹ã‚‰å®Ÿè¡Œã—ã¦ãã ã•ã„。 - -ã“ã®èƒ½åŠ›ã‚’ [ROLE_NAME] ã«å‰²ã‚Šå½“ã¦ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="AssignDangerousAbilityWarning"> - ã‚ãªãŸã¯ [ROLE_NAME] ã« [ACTION_NAME] ã®èƒ½åŠ›ã‚’ -与ãˆã‚ˆã†ã¨ã—ã¦ã„ã¾ã™ã€‚ - - *è¦å‘Š* -ã“ã®èƒ½åŠ›ã‚’ã‚‚ã¤å½¹å‰²ã®ãƒ¡ãƒ³ãƒãƒ¼ã¯ã€ -自分ã¨ä»–ã®ãƒ¡ãƒ³ãƒãƒ¼ã«ã™ã¹ã¦ã®èƒ½åŠ›ã‚’割り当ã¦ã€ -自分をオーナーã¨ã»ã¼åŒæ§˜ã®ç«‹å ´ã«ä»»å‘½ã§ãã¾ã™ã€‚ - -ã“ã®èƒ½åŠ›ã‚’ [ROLE_NAME] ã«å‰²ã‚Šå½“ã¦ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="AttachmentDrop"> - アタッãƒãƒ¡ãƒ³ãƒˆã‚’下ã«ç½®ã“ã†ã¨ã—ã¦ã„ã¾ã™ã€‚ -続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="アタッãƒãƒ¡ãƒ³ãƒˆã‚’下ã«è½ã¨ã™å‰ã®ç¢ºèª" name="okcancelignore" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="JoinGroupCanAfford"> - ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã«å‚åŠ ã™ã‚‹ã«ã¯ã€L$ [COST] ã‹ã‹ã‚Šã¾ã™ã€‚ -続行ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="å‚åŠ "/> - </notification> - <notification name="JoinGroupNoCost"> - [NAME] ã¨ã„ã†ã‚°ãƒ«ãƒ¼ãƒ—ã«å…¥ã‚ã†ã¨ã—ã¦ã„ã¾ã™ã€‚ -続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="å‚åŠ "/> - </notification> - <notification name="JoinGroupCannotAfford"> - ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã«åŠ å…¥ã™ã‚‹ã«ã¯ã€L$ [COST] å¿…è¦ã§ã™ã€‚ -L$ ãŒä¸è¶³ã—ã¦ã„ã‚‹ã®ã§ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã«å‚åŠ ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 - </notification> - <notification name="CreateGroupCost"> - ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—を作るã«ã¯ L$ 100 ã‹ã‹ã‚Šã¾ã™ã€‚ -一人ã§ã¯ã‚°ãƒ«ãƒ¼ãƒ—ã«ãªã‚‰ãªã„ã®ã§ã€æ°¸ä¹…ã«å‰Šé™¤ã•ã‚Œã¦ã—ã¾ã„ã¾ã™ã€‚ -48 時間以内ã«ãƒ¡ãƒ³ãƒãƒ¼ã‚’勧誘ã—ã€å…¥ä¼šã—ã¦ã‚‚らã£ã¦ãã ã•ã„。 - <usetemplate canceltext="ã‚ャンセル" name="okcancelbuttons" notext="ã‚ャンセル" yestext="L$100 ã§ã‚°ãƒ«ãƒ¼ãƒ—を作æˆ"/> - </notification> - <notification name="LandBuyPass"> - L$ [COST] 㧠[TIME] 時間 [PARCEL_NAME] ã«å…¥ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ -å…¥å ´è¨±å¯ã‚’購入ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="SalePriceRestriction"> - ä¸ç‰¹å®šã®äººã«å£²å´ã™ã‚‹å ´åˆã«ã¯ã€ -売å´ä¾¡æ ¼ã¯L$ 0 以上ã«è¨å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ -売å´ä¾¡æ ¼ã‚’L$ 0 ã«è¨å®šã™ã‚‹å ´åˆã¯ã€ -売å´ã™ã‚‹å€‹äººã‚’é¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="ConfirmLandSaleChange"> - é¸æŠžã—㟠[LAND_SIZE] 平方メートルã®åœŸåœ°ã¯ã€å£²ã‚Šå‡ºã—ä¸ã«è¨å®šã•ã‚Œã¦ã„ã¾ã™ã€‚ -売å´ä¾¡æ ¼ L$ [SALE_PRICE] ã§ã€[NAME] ã«å£²å´ã‚’èªå¯ã—ã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ConfirmLandSaleToAnyoneChange"> - 注æ„: 「誰ã«ã§ã‚‚販売ã€ã‚’クリックã™ã‚‹ã“ã¨ã§ã€ã‚ãªãŸã®åœŸåœ°ã¯ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«ã„る人ã«é™ã‚‰ãš [SECOND_LIFE] コミュニティ全体ã§åˆ©ç”¨å¯èƒ½ã¨ãªã‚Šã¾ã™ã€‚ - -é¸æŠžã—㟠[LAND_SIZE] 平方メートルã®åœŸåœ°ã¯ã€è²©å£²å¯¾è±¡ã«è¨å®šã•ã‚Œã¾ã—ãŸã€‚ -è²©å£²ä¾¡æ ¼ L$ [SALE_PRICE] ã§ã€[NAME] ãŒè²©å£²å¯¾è±¡è€…ã¨ãªã‚Šã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ReturnObjectsDeededToGroup"> - ã“ã®åŒºç”»ã®ã‚°ãƒ«ãƒ¼ãƒ— [NAME] 共有ã®ã™ã¹ã¦ã®ã‚ªãƒ–ジェクトをã€ä»¥å‰ã®æ‰€æœ‰è€…ã®ã€ŒæŒã¡ç‰©ã€ã«æˆ»ãã†ã¨ã—ã¦ã„ã¾ã™ã€‚ -æ“作を続行ã—ã¾ã™ã‹ï¼Ÿ - -*è¦å‘Š* ã“ã‚Œã«ã‚ˆã‚Šã€ -グループã«è²æ¸¡ã•ã‚ŒãŸã€Œå†è²©ãƒ»ãƒ—レゼントä¸å¯ã€ã®ã‚ªãƒ–ジェクトã¯å‰Šé™¤ã•ã‚Œã¾ã™ï¼ -オブジェクト: [N] - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ReturnObjectsOwnedByUser"> - ã“ã®åŒºç”»ã§ã€ -ä½äºº [NAME] ãŒæ‰€æœ‰ã™ã‚‹å…¨ã¦ã®ã‚ªãƒ–ジェクトを -本人ã®ã€ŒæŒã¡ç‰©ã€ã«æœ¬å½“ã«è¿”å´ã—ã¦ã‚‚よã„ã§ã™ã‹ï¼Ÿ - -オブジェクト: [N] - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ReturnObjectsOwnedBySelf"> - ã“ã®åœŸåœ°åŒºç”»å†…ã«ã‚ã‚‹ã€ã‚ãªãŸãŒæ‰€æœ‰ã™ã‚‹ã™ã¹ã¦ã®ã‚ªãƒ–ジェクトを〠-ã‚ãªãŸã®ã€ŒæŒã¡ç‰©ã€ã«æˆ»ãã†ã¨ã—ã¦ã„ã¾ã™ã€‚続ã‘ã¾ã™ã‹ï¼Ÿ - -オブジェクト: [N] - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ReturnObjectsNotOwnedBySelf"> - ã“ã®åœŸåœ°åŒºç”»å†…ã«ã‚ã‚‹ã€ã‚ãªãŸä»¥å¤–ãŒæ‰€æœ‰ã™ã‚‹ã™ã¹ã¦ã®ã‚ªãƒ–ジェクトを〠-ãã‚Œãžã‚Œã®æ‰€æœ‰è€…ã®ã€ŒæŒã¡ç‰©ã€ã«æˆ»ãã†ã¨ã—ã¦ã„ã¾ã™ã€‚ -æ“作を続行ã—ã¾ã™ã‹ï¼Ÿ -グループã«è²æ¸¡ã•ã‚ŒãŸã€Œå†è²©ãƒ»ãƒ—レゼントå¯ã€ã®ã‚ªãƒ–ジェクトã¯ã€ä»¥å‰ã®æ‰€æœ‰è€…ã«è¿”å´ã•ã‚Œã¾ã™ã€‚ - -*è¦å‘Š* ã“ã‚Œã«ã‚ˆã‚Šã€ -グループã«è²æ¸¡ã•ã‚ŒãŸã€Œå†è²©ãƒ»ãƒ—レゼントä¸å¯ã€ã®ã‚ªãƒ–ジェクトã¯å‰Šé™¤ã•ã‚Œã¾ã™ï¼ -オブジェクト: [N] - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ReturnObjectsNotOwnedByUser"> - ã“ã®åœŸåœ°åŒºç”»å†…ã«ã‚る〠-[NAME]以外ã«ã‚ˆã‚‹æ‰€æœ‰ã®ã‚ªãƒ–ジェクトをã™ã¹ã¦ãã‚Œãžã‚Œã®æ‰€æœ‰è€…ã®ã€ŒæŒã¡ç‰©ã€ã«è¿”å´ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚ -æ“作を続行ã—ã¾ã™ã‹ï¼Ÿã‚°ãƒ«ãƒ¼ãƒ—ã«è²æ¸¡ã•ã‚ŒãŸã€Œå†è²©ãƒ»ãƒ—レゼントå¯ã€ã®ã‚ªãƒ–ジェクトã¯ã€ä»¥å‰ã®æ‰€æœ‰è€…ã«è¿”å´ã•ã‚Œã¾ã™ã€‚ - -*è¦å‘Š* ã“ã‚Œã«ã‚ˆã‚Šã€ -グループã«è²æ¸¡ã•ã‚ŒãŸã€Œå†è²©ãƒ»ãƒ—レゼントä¸å¯ã€ã®ã‚ªãƒ–ジェクトã¯å‰Šé™¤ã•ã‚Œã¾ã™ï¼ -オブジェクト: [N] - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ReturnAllTopObjects"> - å…¨ã¦ã®ãƒªã‚¹ãƒˆã•ã‚ŒãŸã‚ªãƒ–ジェクトを所有者ã«æœ¬å½“ã«è¿”å´ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="DisableAllTopObjects"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ï¼ˆåœ°åŸŸï¼‰å†…ã®ã™ã¹ã¦ã®ã‚ªãƒ–ジェクトを無効ã«ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚æ“作を続行ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ReturnObjectsNotOwnedByGroup"> - ã“ã®åœŸåœ°ã®åŒºç”»ä¸Šã®ã‚ªãƒ–ジェクトã®ã†ã¡ã€ã‚°ãƒ«ãƒ¼ãƒ— [NAME] ã¨ã®é–“ã§å…±æœ‰ã—ã¦ã„ãªã„オブジェクトを所有者ã«è¿”å´ã—ã¾ã™ã‹ï¼Ÿ - -オブジェクト: [N] - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="UnableToDisableOutsideScripts"> - スクリプトを無効ã«ã§ãã¾ã›ã‚“。 -ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ï¼ˆåœ°åŸŸï¼‰å…¨ä½“ãŒã€Œãƒ€ãƒ¡ãƒ¼ã‚¸æœ‰åŠ¹ã€ã«è¨å®šã•ã‚Œã¦ã„ã¾ã™ã€‚ -æ¦å™¨ã‚’使用ã™ã‚‹ã«ã¯ã‚¹ã‚¯ãƒªãƒ—トã®å®Ÿè¡Œã‚’許å¯ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ - </notification> - <notification name="MultipleFacesSelected"> - ç¾åœ¨è¤‡æ•°ã®é¢ãŒé¸æŠžã•ã‚Œã¦ã„ã¾ã™ã€‚ -ã“ã®ã¾ã¾ç¶šã‘ãŸå ´åˆã€ãƒ¡ãƒ‡ã‚£ã‚¢ã®åˆ¥ã€…ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ãŒã‚ªãƒ–ジェクトã®è¤‡æ•°ã®é¢ã«è¨å®šã•ã‚Œã¾ã™ã€‚ -メディアを 1 ã¤ã®é¢ã ã‘ã«å–り付ã‘ã‚‹ã«ã¯ã€ã€Œé¢ã‚’é¸æŠžã€ã‚’é¸ã‚“ã§ã‚ªãƒ–ジェクトã®å¸Œæœ›ã™ã‚‹é¢ã‚’クリックã€ãã‚Œã‹ã‚‰ã€Œè¿½åŠ ã€ã‚’クリックã—ã¦ãã ã•ã„。 - <usetemplate ignoretext="メディアãŒé¸æŠžã—ãŸè¤‡æ•°ã®é¢ã«ã‚»ãƒƒãƒˆã•ã‚Œã‚‹ã¨ã" name="okcancelignore" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="MustBeInParcel"> - ç€åœ°ç‚¹ã‚’è¨å®šã™ã‚‹ã«ã¯ã€ã“ã®åŒºç”»ã®å†…å´ã« -ç«‹ã£ã¦ãã ã•ã„。 - </notification> - <notification name="PromptRecipientEmail"> - å—信者ã®æœ‰åŠ¹ãªãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’入力ã—ã¦ãã ã•ã„。 - </notification> - <notification name="PromptSelfEmail"> - ã‚ãªãŸã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’入力ã—ã¦ãã ã•ã„。 - </notification> - <notification name="PromptMissingSubjMsg"> - デフォルトã®ä»¶åã¾ãŸã¯ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’付ã‘ã¦ã€ã‚¹ãƒŠãƒƒãƒ—ショットをé€ä¿¡ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ErrorProcessingSnapshot"> - スナップショットデータã®å‡¦ç†ã‚¨ãƒ©ãƒ¼ - </notification> - <notification name="ErrorEncodingSnapshot"> - スナップショットã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰åŒ–ã§ã‚¨ãƒ©ãƒ¼ãŒå‡ºã¾ã—ãŸï¼ - </notification> - <notification name="ErrorUploadingPostcard"> - 次ã®ç†ç”±ã§ã€ã‚¹ãƒŠãƒƒãƒ—ショットã®é€ä¿¡æ™‚ã«å•é¡ŒãŒèµ·ã“ã‚Šã¾ã—ãŸï¼š [REASON] - </notification> - <notification name="ErrorUploadingReportScreenshot"> - 次ã®ç†ç”±ã§ã€ãƒ¬ãƒãƒ¼ãƒˆã®ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚·ãƒ§ãƒƒãƒˆã®ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰æ™‚ã«å•é¡ŒãŒèµ·ã“ã‚Šã¾ã—ãŸã€‚ [REASON] - </notification> - <notification name="MustAgreeToLogIn"> - [SECOND_LIFE] ã¸ã®ãƒã‚°ã‚¤ãƒ³ã‚’続ã‘ã‚‹ã«ã¯ã€åˆ©ç”¨è¦ç´„ã«åŒæ„ã—ã¦ãã ã•ã„。 - </notification> - <notification name="CouldNotPutOnOutfit"> - アウトフィットを装ç€ã§ãã¾ã›ã‚“。 -アウトフィットフォルダã«è¡£é¡žã€èº«ä½“部ä½ã€ã‚¢ã‚¿ãƒƒãƒãƒ¡ãƒ³ãƒˆãŒã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="CannotWearTrash"> - ã”ã¿ç®±ã«ã‚る衣類や身体部ä½ã®ç€ç”¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="MaxAttachmentsOnOutfit"> - オブジェクトを付ã‘られã¾ã›ã‚“ã§ã—ãŸã€‚ -最大数㮠[MAX_ATTACHMENTS] 個を越ãˆã¦ã„ã¾ã™ã€‚ ã©ã‚Œã‹å–り外ã—ã¦ã‹ã‚‰ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="CannotWearInfoNotComplete"> - ã¾ã èªã¿è¾¼ã¾ã‚Œã¦ã„ãªã„ãŸã‚ã€ãã®ã‚¢ã‚¤ãƒ†ãƒ を装ç€ã§ãã¾ã›ã‚“。後ã§ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。 - </notification> - <notification name="MustHaveAccountToLogIn"> - 注æ„:記入æ¼ã‚Œã®ç®‡æ‰€ãŒã‚ã‚Šã¾ã™ã€‚ -ã‚¢ãƒã‚¿ãƒ¼ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼åを入力ã—ã¦ãã ã•ã„。 - -[SECOND_LIFE] ã«å…¥ã‚‹ã«ã¯ã‚¢ã‚«ã‚¦ãƒ³ãƒˆãŒå¿…è¦ã§ã™ã€‚今ã™ãアカウントを作æˆã—ã¾ã™ã‹ï¼Ÿ - <url name="url"> - https://join.secondlife.com/index.php?lang=ja-JP - </url> - <usetemplate name="okcancelbuttons" notext="ã‚‚ã†ä¸€åº¦è©¦ã™" yestext="æ–°ã—ã„アカウントを作æˆ"/> - </notification> - <notification name="InvalidCredentialFormat"> - ユーザーåã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã«ã‚¢ãƒã‚¿ãƒ¼ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼åã‚‚ã—ãã¯æ°åを入力ã—ã¦ã‹ã‚‰ã€å†åº¦ãƒã‚°ã‚¤ãƒ³ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ - </notification> - <notification name="DeleteClassified"> - クラシファイド広告 [NAME] を削除ã—ã¾ã™ã‹ï¼Ÿ -支払ã„済ã¿ã®æ–™é‡‘ã¯è¿”金ã•ã‚Œã¾ã›ã‚“。 - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="DeleteMedia"> - ã“ã®é¢ã«ã‚るメディアを削除ã™ã‚‹é¸æŠžã‚’ã—ã¾ã—ãŸã€‚ -続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="オブジェクトã‹ã‚‰ãƒ¡ãƒ‡ã‚£ã‚¢ã‚’削除ã™ã‚‹å‰ã®ç¢ºèª" name="okcancelignore" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="ClassifiedSave"> - クラシファイド広告 [NAME] ã¸ã®å¤‰æ›´ã‚’ä¿å˜ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="ã‚ャンセル" name="yesnocancelbuttons" notext="ä¿å˜ã—ãªã„" yestext="ä¿å˜"/> - </notification> - <notification name="ClassifiedInsufficientFunds"> - クラシファイド広告を出ã™ã«ã¯ã€è³‡é‡‘ãŒè¶³ã‚Šã¾ã›ã‚“。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="DeleteAvatarPick"> - <nolink>[PICK]</nolink> を削除ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="DeleteOutfits"> - é¸æŠžã—ãŸã‚¢ã‚¦ãƒˆãƒ•ã‚£ãƒƒãƒˆã‚’削除ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="PromptGoToEventsPage"> - [SECOND_LIFE] イベント Web ページã«ç§»å‹•ã—ã¾ã™ã‹ï¼Ÿ - <url name="url"> - http://secondlife.com/events/?lang=ja-JP - </url> - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="SelectProposalToView"> - 表示ã™ã‚‹æ案をé¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="SelectHistoryItemToView"> - 表示ã™ã‚‹å±¥æ´ã‚¢ã‚¤ãƒ†ãƒ ã‚’é¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="CacheWillClear"> - [APP_NAME] ã‚’å†èµ·å‹•å¾Œã«ã‚ャッシュãŒã‚¯ãƒªã‚¢ã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="CacheWillBeMoved"> - [APP_NAME] ã‚’å†èµ·å‹•å¾Œã«ã‚ャッシュãŒç§»å‹•ã•ã‚Œã¾ã™ã€‚ -ã”注æ„: ã‚ャッシュãŒã‚¯ãƒªã‚¢ã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="ChangeConnectionPort"> - ãƒãƒ¼ãƒˆã®è¨å®šã¯ [APP_NAME] ã‚’å†èµ·å‹•å¾Œã«åæ˜ ã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="ChangeSkin"> - æ–°ã—ã„スã‚ン㯠[APP_NAME] ã‚’å†èµ·å‹•å¾Œã«è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="ChangeLanguage"> - 言語ã®å¤‰æ›´ã¯ [APP_NAME] ã‚’å†èµ·å‹•å¾Œã«åæ˜ ã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="GoToAuctionPage"> - [SECOND_LIFE]ã® Web ページã«ç§»å‹•ã—ã€å…¥æœã‚ã‚‹ã„ã¯ã‚ªãƒ¼ã‚¯ã‚·ãƒ§ãƒ³ã®è©³ç´°ã‚’確èªã—ã¾ã™ã‹ï¼Ÿ - <url name="url"> - http://secondlife.com/auctions/auction-detail.php?id=[AUCTION_ID] - </url> - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="SaveChanges"> - 変更をä¿å˜ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="å–り消ã—" name="yesnocancelbuttons" notext="ä¿å˜ã—ãªã„" yestext="ä¿å˜"/> - </notification> - <notification name="GestureSaveFailedTooManySteps"> - ジェスãƒãƒ£ãƒ¼ã®ä¿å˜ã«å¤±æ•—ã—ã¾ã—ãŸã€‚ -ステップãŒå¤šã™ãŽã¾ã™ã€‚ -ステップをã„ãã¤ã‹å‰Šé™¤ã—ã¦ã‹ã‚‰å†ä¿å˜ã—ã¦ãã ã•ã„ - </notification> - <notification name="GestureSaveFailedTryAgain"> - ジェスãƒãƒ£ãƒ¼ã®ä¿å˜ã«å¤±æ•—ã—ã¾ã—ãŸã€‚å°‘ã—å¾…ã£ã¦ã‹ã‚‰ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 - </notification> - <notification name="GestureSaveFailedObjectNotFound"> - ジェスãƒãƒ£ãƒ¼ã®ä¿å˜ã«å¤±æ•—ã—ã¾ã—ãŸã€‚オブジェクトã€ã¾ãŸã¯é–¢é€£ã™ã‚‹ã‚ªãƒ–ジェクトæŒã¡ç‰©ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。 -オブジェクトãŒç¯„囲内ã«å˜åœ¨ã—ãªã„ã‹ã€ã¾ãŸã¯å‰Šé™¤ã•ã‚ŒãŸå¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ - </notification> - <notification name="GestureSaveFailedReason"> - 次ã®ç†ç”±ã§ã€ã‚¸ã‚§ã‚¹ãƒãƒ£ãƒ¼ã®ä¿å˜æ™‚ã«å•é¡ŒãŒèµ·ã“ã‚Šã¾ã—ãŸã€‚ [REASON]。 後ã§ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 - </notification> - <notification name="SaveNotecardFailObjectNotFound"> - ノートカードã®ä¿å˜ã«å¤±æ•—ã—ã¾ã—ãŸã€‚オブジェクトã€ã¾ãŸã¯é–¢é€£ã™ã‚‹ã‚ªãƒ–ジェクトæŒã¡ç‰©ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。 -オブジェクトãŒç¯„囲内ã«å˜åœ¨ã—ãªã„ã‹ã€ã¾ãŸã¯å‰Šé™¤ã•ã‚ŒãŸå¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ - </notification> - <notification name="SaveNotecardFailReason"> - 次ã®ç†ç”±ã§ã€ãƒŽãƒ¼ãƒˆã‚«ãƒ¼ãƒ‰ã®ä¿å˜æ™‚ã«å•é¡ŒãŒèµ·ã“ã‚Šã¾ã—ãŸã€‚ [REASON]。 後ã§ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 - </notification> - <notification name="ScriptCannotUndo"> - ã‚ãªãŸã®ã‚¹ã‚¯ãƒªãƒ—トã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ã€å¤‰æ›´ã‚’å…ƒã«æˆ»ã™ã“ã¨ã¯ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ -サーãƒãƒ¼ã®æœ€æ–°ä¿å˜ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ãƒãƒ¼ãƒ‰ã—ã¾ã™ã‹ï¼Ÿ -(**è¦å‘Š**:ã“ã®æ“作後元ã«æˆ»ã™ã“ã¨ã¯ã§ãã¾ã›ã‚“) - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="SaveScriptFailReason"> - 次ã®ç†ç”±ã§ã€ã‚¹ã‚¯ãƒªãƒ—トã®ä¿å˜ã«å•é¡ŒãŒèµ·ã“ã‚Šã¾ã—ãŸã€‚ [REASON]。 後ã§ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 - </notification> - <notification name="SaveScriptFailObjectNotFound"> - スクリプトã®ä¿å˜ã«å¤±æ•—ã—ã¾ã—ãŸã€‚スクリプトãŒå…¥ã£ãŸã‚ªãƒ–ジェクトãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。 -オブジェクトã¯ç¯„囲外ã‹ã€ã¾ãŸã¯å‰Šé™¤ã•ã‚Œã¦ã„ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 - </notification> - <notification name="SaveBytecodeFailReason"> - 次ã®ç†ç”±ã§ã€ã‚³ãƒ³ãƒ‘イルã—ãŸã‚¹ã‚¯ãƒªãƒ—トã®ä¿å˜æ™‚ã«å•é¡ŒãŒèµ·ã“ã‚Šã¾ã—ãŸã€‚ [REASON]。 後ã§ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 - </notification> - <notification name="StartRegionEmpty"> - ãƒã‚°ã‚¤ãƒ³ä½ç½®ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。 -ãƒã‚°ã‚¤ãƒ³ä½ç½®ã®æ¬„ã«ãƒªãƒ¼ã‚¸ãƒ§ãƒ³åを入力ã™ã‚‹ã‹ã€ã€Œæœ€å¾Œã«ãƒã‚°ã‚¢ã‚¦ãƒˆã—ãŸå ´æ‰€ã€ã‹ã€Œãƒ›ãƒ¼ãƒ ã€ã‚’é¸æŠžã—ã¦ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CouldNotStartStopScript"> - スクリプトã®èµ·å‹•ã¾ãŸã¯åœæ¢ã«å¤±æ•—ã—ã¾ã—ãŸã€‚スクリプトãŒæ ¼ç´ã•ã‚Œã¦ã„るオブジェクトãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。 -オブジェクトãŒç¯„囲内ã«å˜åœ¨ã—ãªã„ã‹ã€ã¾ãŸã¯å‰Šé™¤ã•ã‚ŒãŸå¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ - </notification> - <notification name="CannotDownloadFile"> - ファイルをダウンãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“。 - </notification> - <notification name="CannotWriteFile"> - ファイル [[FILE]] を書ãè¾¼ã‚ã¾ã›ã‚“。 - </notification> - <notification name="UnsupportedHardware"> - ãŠä½¿ã„ã®ã‚³ãƒ³ãƒ”ューター㯠[APP_NAME] ã®å¿…è¦æœ€ä½Žé™ã®å‹•ä½œç’°å¢ƒã‚’満ãŸã—ã¦ã„ã¾ã›ã‚“。 パフォーマンスã®ä½Žä¸‹ã‚’æ„Ÿã˜ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 æれ入りã¾ã™ãŒ [SUPPORT_SITE] ã§ã¯ã‚µãƒãƒ¼ãƒˆå¯¾è±¡å¤–ã®ã‚·ã‚¹ãƒ†ãƒ ã«é–¢ã™ã‚‹æŠ€è¡“的サãƒãƒ¼ãƒˆã¯è¡Œã£ã¦ãŠã‚Šã¾ã›ã‚“。 - -[_URL] ã«ç§»å‹•ã—ã¦ç¢ºèªã‚’ã—ã¾ã™ã‹ï¼Ÿ - <url name="url" option="0"> - http://secondlife.com/support/sysreqs.php?lang=ja - </url> - <usetemplate ignoretext="使用ä¸ã®ã‚³ãƒ³ãƒ”ューターã®ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ãªã„ã¨ã" name="okcancelignore" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="UnknownGPU"> - ãŠä½¿ã„ã®ã‚·ã‚¹ãƒ†ãƒ ã«ã¯ã€[APP_NAME] ãŒèªè˜ã§ããªã„グラフィックカードãŒæ載ã•ã‚Œã¦ã„ã¾ã™ã€‚ -[APP_NAME] ã§ã¾ã テストã•ã‚Œã¦ã„ãªã„最新ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã®ãŸã‚ã ã¨è€ƒãˆã‚‰ã‚Œã¾ã™ã€‚ å•é¡Œãªã„ã¨ã¯æ€ã„ã¾ã™ãŒã€ã‚°ãƒ©ãƒ•ã‚£ãƒƒã‚¯ã®è¨å®šã‚’調整ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 -(ミー > 環境è¨å®š > グラフィック) - <form name="form"> - <ignore name="ignore" text="使用ä¸ã®ã‚°ãƒ©ãƒ•ãƒƒã‚¯ã‚«ãƒ¼ãƒ‰ãŒèªè˜ã•ã‚Œãªã„ã¨ã"/> - </form> - </notification> - <notification name="DisplaySettingsNoShaders"> - グラフィックドライãƒã‚’åˆæœŸåŒ–ä¸ã« [APP_NAME] ãŒã‚¯ãƒ©ãƒƒã‚·ãƒ¥ã—ã¾ã—ãŸã€‚ -ドライãƒã®ä¸€èˆ¬çš„ãªã‚¨ãƒ©ãƒ¼ã‚’防ããŸã‚ã«ã€ç”»è³ªãŒä½Žã«è¨å®šã•ã‚Œã¾ã™ã€‚ ãã®ãŸã‚ã€ä¸€éƒ¨ã®ã‚°ãƒ©ãƒ•ã‚£ãƒƒã‚¯ç‰¹æ€§ã«åˆ¶é™ãŒå‡ºã¾ã™ã€‚ -ãŠä½¿ã„ã®ã‚°ãƒ©ãƒ•ã‚£ãƒƒã‚¯ã‚«ãƒ¼ãƒ‰ã®ãƒ‰ãƒ©ã‚¤ãƒã‚’アップデートã™ã‚‹ã‚ˆã†ãŠã™ã™ã‚ã—ã¾ã™ã€‚ -画質ã¯ã€ç’°å¢ƒè¨å®š > グラフィック ã§è¨å®šã§ãã¾ã™ã€‚ - </notification> - <notification name="RegionNoTerraforming"> - [REGION] ã§ã¯ã€åœ°å½¢ã®å¤‰æ›´ãŒã§ãã¾ã›ã‚“。 - </notification> - <notification name="CannotCopyWarning"> - ã‚ãªãŸã«ã¯[ITEMS]ã¨ã„ã†ã‚¢ã‚¤ãƒ†ãƒ をコピーã™ã‚‹è¨±å¯ãŒã‚ã‚Šã¾ã›ã‚“。他ã®ä½äººã«æä¾›ã™ã‚‹ã¨ã€ãã®ã‚¢ã‚¤ãƒ†ãƒ ã¯ã‚ãªãŸã®ã€ŒæŒã¡ç‰©ã€ã‹ã‚‰å‰Šé™¤ã•ã‚Œã¾ã™ã€‚本当ã«ã“れらã®ã‚¢ã‚¤ãƒ†ãƒ ã‚’è²ã‚Šã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="CannotGiveItem"> - æŒã¡ç‰©ã®ã‚¢ã‚¤ãƒ†ãƒ を渡ã›ã¾ã›ã‚“。 - </notification> - <notification name="TransactionCancelled"> - å–引ãŒã‚ャンセルã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="TooManyItems"> - 一度㫠42 個以上ã®ã‚¢ã‚¤ãƒ†ãƒ ã¯æ¸¡ã›ã¾ã›ã‚“。 - </notification> - <notification name="NoItems"> - é¸æŠžã—ãŸã‚¢ã‚¤ãƒ†ãƒ を渡ã™æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="CannotCopyCountItems"> - ã‚ãªãŸã¯é¸æŠžã—㟠[COUNT] 個ã®ã‚¢ã‚¤ãƒ†ãƒ ã®ã®ã‚³ãƒ”ーを許ã•ã‚Œã¦ã„ã¾ã›ã‚“。 -ã“れらã®ã‚¢ã‚¤ãƒ†ãƒ ã¯ã‚ãªãŸã®ã€ŒæŒã¡ç‰©ã€ã‹ã‚‰å¤±ã‚ã‚Œã¾ã™ã€‚ -本当ã«ã‚¢ã‚¤ãƒ†ãƒ を渡ã—ãŸã„ã§ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="CannotGiveCategory"> - é¸æŠžã—ãŸãƒ•ã‚©ãƒ«ãƒ€ã‚’渡ã™æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“ - </notification> - <notification name="FreezeAvatar"> - ã“ã®ã‚¢ãƒã‚¿ãƒ¼ã‚’フリーズã—ã¾ã™ã‹ï¼Ÿ -ã‚¢ãƒã‚¿ãƒ¼ã¯ä¸€æ™‚çš„ã«å‹•ã‘ãªããªã‚Šã€ãƒãƒ£ãƒƒãƒˆã‚’å«ã‚インワールドã§ä½•ã‚‚ã§ããªããªã‚Šã¾ã™ã€‚ - <usetemplate canceltext="å–り消ã—" name="yesnocancelbuttons" notext="解除" yestext="フリーズ"/> - </notification> - <notification name="FreezeAvatarFullname"> - [AVATAR_NAME]をフリーズã—ã¾ã™ã‹ï¼Ÿ -フリーズã•ã‚ŒãŸäººã¯ä¸€æ™‚çš„ã«å‹•ã‘ãªããªã‚Šã€ãƒãƒ£ãƒƒãƒˆãªã©ã€ã“ã®ä¸–ç•Œã«å¯¾ã™ã‚‹é–¢ã‚ã‚Šã‚’æŒã¤ã“ã¨ãŒã§ããªããªã‚Šã¾ã™ã€‚ - <usetemplate canceltext="ã‚ャンセル" name="yesnocancelbuttons" notext="解除" yestext="フリーズ"/> - </notification> - <notification name="EjectAvatarFullname"> - ã‚ãªãŸã®åœŸåœ°ã‹ã‚‰ [AVATAR_NAME] を追放ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="ã‚ャンセル" name="yesnocancelbuttons" notext="追放ã¨ç¦æ¢" yestext="追放"/> - </notification> - <notification name="EjectAvatarNoBan"> - ã“ã®ã‚¢ãƒã‚¿ãƒ¼ã‚’ã‚ãªãŸã®åœŸåœ°ã‹ã‚‰è¿½æ”¾ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="追放"/> - </notification> - <notification name="EjectAvatarFullnameNoBan"> - [AVATAR_NAME] ã‚’ã‚ãªãŸã®åœŸåœ°ã‹ã‚‰è¿½æ”¾ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="追放"/> - </notification> - <notification name="EjectAvatarFromGroup"> - [GROUP_NAME] ã‹ã‚‰ [AVATAR_NAME] を追放ã—ã¾ã—㟠- </notification> - <notification name="AcquireErrorTooManyObjects"> - å–得エラー:é¸æŠžã—ãŸã‚ªãƒ–ジェクトã®æ•°ãŒå¤šã™ãŽã¾ã™ã€‚ - </notification> - <notification name="AcquireErrorObjectSpan"> - å–得エラー: -オブジェクトãŒè¤‡æ•°ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ï¼ˆåœ°åŸŸï¼‰ã«ã¾ãŸãŒã£ã¦å˜åœ¨ã—ã¦ã„ã¾ã™ã€‚ -ã™ã¹ã¦åŒã˜ãƒªãƒ¼ã‚¸ãƒ§ãƒ³å†…ã«ç§»å‹•ã•ã›ã¦ã‹ã‚‰å–å¾—ã—ã¦ãã ã•ã„。 - </notification> - <notification name="PromptGoToCurrencyPage"> - [EXTRA] - -[_URL] ã«ç§»å‹•ã—ã¦ãƒªãƒ³ãƒ‡ãƒ³ãƒ‰ãƒ«è³¼å…¥ã«é–¢ã™ã‚‹æƒ…å ±ã‚’ç¢ºèªã—ã¾ã™ã‹ï¼Ÿ - <url name="url"> - http://secondlife.com/app/currency/?lang=ja-JP - </url> - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="UnableToLinkObjects"> - [COUNT] 個ã®ã‚ªãƒ–ジェクトをリンクã§ãã¾ã›ã‚“。 -リンクã§ãã‚‹ã®ã¯æœ€å¤§ [MAX] 個ã§ã™ã€‚ - </notification> - <notification name="CannotLinkIncompleteSet"> - セットã§æƒã£ã¦ã„るオブジェクトã®ã¿ãƒªãƒ³ã‚¯ã§ãã¾ã™ã€‚ -複数ã®ã‚ªãƒ–ジェクトをé¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="CannotLinkModify"> - ã™ã¹ã¦ã®ã‚ªãƒ–ジェクトã®ä¿®æ£è¨±å¯ãŒãªã„ãŸã‚リンクã§ãã¾ã›ã‚“。 - -ã©ã®ã‚ªãƒ–ジェクトもãƒãƒƒã‚¯ã•ã‚Œã¦ãŠã‚‰ãšã€ã‚ãªãŸã®ã‚‚ã®ã§ã‚ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。 - </notification> - <notification name="CannotLinkDifferentOwners"> - 所有者ãŒç•°ãªã‚‹ãŸã‚ã€ã‚ªãƒ–ジェクトをリンクã§ãã¾ã›ã‚“。 - -自分ãŒæ‰€æœ‰ã—ã¦ã„るオブジェクトã ã‘ã‚’é¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="NoFileExtension"> - 「 [FILE] ã€ã®æ‹¡å¼µåãŒç„¡åŠ¹ã§ã™ã€‚ - -ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®æ‹¡å¼µåãŒæ£ã—ã„ã‹ã©ã†ã‹ã‚’確èªã—ã¦ãã ã•ã„。 - </notification> - <notification name="InvalidFileExtension"> - [EXTENSION] ã¯ç„¡åŠ¹ã§ã™ã€‚ -æ£ã—ã„æ‹¡å¼µå:[VALIDS] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CannotUploadSoundFile"> - èªã¿è¾¼ã¿ã®ãŸã‚ã«ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰ã•ã‚ŒãŸã‚µã‚¦ãƒ³ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é–‹ã‘ã¾ã›ã‚“: -[FILE] - </notification> - <notification name="SoundFileNotRIFF"> - RIFF WAVE ファイルã¨ã—ã¦èªè˜ã•ã‚Œã¾ã›ã‚“: -[FILE] - </notification> - <notification name="SoundFileNotPCM"> - PCM WAVE オーディオファイルã¨ã—ã¦èªè˜ã•ã‚Œã¾ã›ã‚“: -[FILE] - </notification> - <notification name="SoundFileInvalidChannelCount"> - ファイルã®ãƒãƒ£ãƒ³ãƒãƒ«æ•°ãŒç„¡åŠ¹ã§ã™ï¼ˆãƒ¢ãƒŽãƒ©ãƒ«ã¾ãŸã¯ã‚¹ãƒ†ãƒ¬ã‚ªã‚’使用ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ï¼‰ï¼š -[FILE] - </notification> - <notification name="SoundFileInvalidSampleRate"> - ファイルã®ã‚µãƒ³ãƒ—ルレートãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“(44.1k ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ï¼‰ï¼š -[FILE] - </notification> - <notification name="SoundFileInvalidWordSize"> - ファイルã®ãƒ¯ãƒ¼ãƒ‰ã‚µã‚¤ã‚ºãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“(8 ã¾ãŸã¯ 16 ビットã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ï¼‰ï¼š -[FILE] - </notification> - <notification name="SoundFileInvalidHeader"> - WAV ヘッダーã«ãƒ‡ãƒ¼ã‚¿ãƒãƒ£ãƒ³ã‚¯ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“: -[FILE] - </notification> - <notification name="SoundFileInvalidChunkSize"> - WAV ファイルã®ãƒãƒ£ãƒ³ã‚¯ã‚µã‚¤ã‚ºãŒé–“é•ã£ã¦ã„ã¾ã™ï¼š -[FILE] - </notification> - <notification name="SoundFileInvalidTooLong"> - オーディオファイルãŒé•·ã™ãŽã¾ã™ã€‚(最大 10 秒): -[FILE] - </notification> - <notification name="ProblemWithFile"> - 「 [FILE] ã€ã«å•é¡ŒãŒã‚ã‚Šã¾ã™ã€‚ - -[ERROR] - </notification> - <notification name="CannotOpenTemporarySoundFile"> - 書ãè¾¼ã¿ç”¨ã®ä¸€æ™‚圧縮サウンドファイルを開ãã“ã¨ãŒã§ãã¾ã›ã‚“:[FILE] - </notification> - <notification name="UnknownVorbisEncodeFailure"> - ä¸æ˜Žã® Vorbis ã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã«å¤±æ•—: [FILE] - </notification> - <notification name="CannotEncodeFile"> - 次ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ãŒã§ãã¾ã›ã‚“: [FILE] - </notification> - <notification name="CorruptedProtectedDataStore"> - ユーザーåã¨ãƒ‘スワードを自動入力ã§ãã¾ã›ã‚“。ã“ã‚Œã¯ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯è¨å®šãŒå¤‰æ›´ã•ã‚ŒãŸå ´åˆã«èµ·ã“ã‚Šã¾ã™ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CorruptResourceFile"> - ç ´æã—ãŸãƒªã‚½ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ï¼š [FILE] - </notification> - <notification name="UnknownResourceFileVersion"> - ä¸æ˜Žã®ãƒªãƒ³ãƒ‡ãƒ³ãƒªã‚½ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ï¼š [FILE] - </notification> - <notification name="UnableToCreateOutputFile"> - 出力ファイルを作æˆã§ãã¾ã›ã‚“: [FILE] - </notification> - <notification name="DoNotSupportBulkAnimationUpload"> - ç¾åœ¨ [APP_NAME] ã§ã¯ã€ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã®ä¸€æ‹¬ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="CannotUploadReason"> - 次ã®ç†ç”±ã§ã€ã€Œ [FILE] ã€ã‚’アップãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“: [REASON] -ã‚ã¨ã§ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 - </notification> - <notification name="LandmarkCreated"> - 「 [LANDMARK_NAME] ã€ã‚’「 [FOLDER_NAME] ã€ãƒ•ã‚©ãƒ«ãƒ€ã«è¿½åŠ ã—ã¾ã—ãŸã€‚ - </notification> - <notification name="LandmarkAlreadyExists"> - ç¾åœ¨åœ°ã®ãƒ©ãƒ³ãƒ‰ãƒžãƒ¼ã‚¯ã‚’æ—¢ã«æŒã£ã¦ã„ã¾ã™ã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CannotCreateLandmarkNotOwner"> - 土地ã®æ‰€æœ‰è€…ãŒè¨±å¯ã—ã¦ã„ãªã„ãŸã‚ã€ãƒ©ãƒ³ãƒ‰ãƒžãƒ¼ã‚¯ã‚’作æˆã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="CannotRecompileSelectObjectsNoScripts"> - 「リコンパイルã€ã§ãã¾ã›ã‚“。 -スクリプトã®ã‚ªãƒ–ジェクトをé¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="CannotRecompileSelectObjectsNoPermission"> - 「リコンパイルã€ã§ãã¾ã›ã‚“。 - -ä¿®æ£ä¿®æ£æ¨©é™ã®ã‚るスクリプトã®ã‚ªãƒ–ジェクトをé¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="CannotResetSelectObjectsNoScripts"> - 「å†è¨å®šã€ãŒã§ãã¾ã›ã‚“。 - -スクリプトã®ã‚ªãƒ–ジェクトをé¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="CannotResetSelectObjectsNoPermission"> - 「å†è¨å®šã€ãŒã§ãã¾ã›ã‚“。 - -ä¿®æ£æ¨©é™ã®ã‚るスクリプトã®ã‚ªãƒ–ジェクトをé¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="CannotOpenScriptObjectNoMod"> - ä¿®æ£æ¨©é™ã®ãªã„オブジェクトã®ã‚¹ã‚¯ãƒªãƒ—トã¯é–‹ãã“ã¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="CannotSetRunningSelectObjectsNoScripts"> - スクリプトã®ã€Œå®Ÿè¡Œã€ãŒã§ãã¾ã›ã‚“。 - -スクリプトã®ã‚ªãƒ–ジェクトをé¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="CannotSetRunningNotSelectObjectsNoScripts"> - スクリプトを「実行ã—ãªã„ã€è¨å®šã«ã§ãã¾ã›ã‚“。 - -スクリプトã®ã‚ªãƒ–ジェクトをé¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="NoFrontmostFloater"> - ä¿å˜ã™ã‚‹ frontmost フãƒãƒ¼ã‚¿ãŒã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="SeachFilteredOnShortWords"> - 指定ã—ãŸæ¤œç´¢ã‚¯ã‚¨ãƒªã¯å¤‰æ›´ã•ã‚Œã€çŸã™ãŽã‚‹èªžå¥ã¯å–り除ã‹ã‚Œã¦ã„ã¾ã™ã€‚ - -検索語å¥ï¼š [FINALQUERY] - </notification> - <notification name="SeachFilteredOnShortWordsEmpty"> - 指定ã—ãŸæ¤œç´¢èªžå¥ãŒçŸã™ãŽãŸãŸã‚ã€æ¤œç´¢ã¯è¡Œã‚ã‚Œã¾ã›ã‚“ã§ã—ãŸã€‚ - </notification> - <notification name="CouldNotTeleportReason"> - テレãƒãƒ¼ãƒˆã«å¤±æ•—ã—ã¾ã—ãŸã€‚ -[REASON] - </notification> - <notification name="invalid_tport"> - テレãƒãƒ¼ãƒˆå‡¦ç†ä¸ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ ãƒã‚°ã‚¤ãƒ³ã—ç›´ã™å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 -ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒä½•åº¦ã‚‚å‡ºã‚‹å ´åˆã¯ã€[SUPPORT_SITE] ã‚’ã”確èªãã ã•ã„。 - </notification> - <notification name="invalid_region_handoff"> - リージョン間ã®ç§»å‹•ä¸ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ ãƒã‚°ã‚¤ãƒ³ã—ç›´ã™å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 -ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒä½•åº¦ã‚‚å‡ºã‚‹å ´åˆã¯ã€[SUPPORT_SITE] ã‚’ã”確èªãã ã•ã„。 - </notification> - <notification name="blocked_tport"> - 申ã—訳ã”ã–ã„ã¾ã›ã‚“。テレãƒãƒ¼ãƒˆã¯ç¾åœ¨ã€ãƒ–ãƒãƒƒã‚¯ã•ã‚Œã¦ã„ã¾ã™ã€‚ã—ã°ã‚‰ãã—ã¦ã‹ã‚‰å†åº¦ãŠè©¦ã—ãã ã•ã„。 -ãã‚Œã§ã‚‚テレãƒãƒ¼ãƒˆã§ããªã„å ´åˆã¯ã€ãƒã‚°ã‚¢ã‚¦ãƒˆã—ã€ãƒã‚°ã‚¤ãƒ³ã—ç›´ã—ã¦å•é¡Œã‚’解決ã—ã¦ãã ã•ã„。 - </notification> - <notification name="nolandmark_tport"> - 申ã—訳ã”ã–ã„ã¾ã›ã‚“。ランドマークã®ç›®çš„地ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚ - </notification> - <notification name="timeout_tport"> - 申ã—訳ã”ã–ã„ã¾ã›ã‚“。システムã«ã‚ˆã‚‹ãƒ†ãƒ¬ãƒãƒ¼ãƒˆæŽ¥ç¶šãŒå®Œäº†ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ -ã—ã°ã‚‰ãã—ã¦ã‹ã‚‰å†åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="noaccess_tport"> - 残念ãªãŒã‚‰ã€ç›®çš„地ã¸ã‚¢ã‚¯ã‚»ã‚¹ãŒè¨±å¯ã•ã‚Œã¦ã„ãªã„ãŸã‚ã€ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã§ãã¾ã›ã‚“。 - </notification> - <notification name="missing_attach_tport"> - 添付物ãŒã¾ã 届ã„ã¦ã„ã¾ã›ã‚“。テレãƒãƒ¼ãƒˆã‚’ã™ã‚‹å‰ã«ã‚ã¨æ•°ç§’é–“ãŠå¾…ã¡ã„ãŸã ãã‹ã€ã„ã£ãŸã‚“ãƒã‚°ã‚¢ã‚¦ãƒˆã—ã€å†åº¦ãƒã‚°ã‚¤ãƒ³ã—ã¦ãã ã•ã„。 - </notification> - <notification name="too_many_uploads_tport"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã®ã‚¢ã‚»ãƒƒãƒˆã‚ューãŒç¾åœ¨æ··ã¿åˆã£ã¦ã„ã‚‹ãŸã‚ã€ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ã™ãã«å‡¦ç†ã™ã‚‹ã“ã¨ãŒé›£ã—ã„状æ³ã§ã™ã€‚ -数分後ã«ã‚„ã‚Šç›´ã™ã‹ã€æ··é›‘ã—ã¦ã„ãªã„ä»–ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã§ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="expired_tport"> - 申ã—訳ã”ã–ã„ã¾ã›ã‚“。システムã¯ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’時間ã©ãŠã‚Šã«å®Œäº†ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚数分後ã«ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。 - </notification> - <notification name="expired_region_handoff"> - 申ã—訳ã”ã–ã„ã¾ã›ã‚“。システムã¯ãƒªãƒ¼ã‚¸ãƒ§ãƒ³é–“ã®ç§»å‹•ã‚’時間ã©ãŠã‚Šã«å®Œäº†ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ -数分後ã«ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。 - </notification> - <notification name="no_host"> - テレãƒãƒ¼ãƒˆç›®çš„地を見ã¤ã‘られã¾ã›ã‚“。目的地ãŒä¸€æ™‚çš„ã«åˆ©ç”¨ã§ããªã„状態ã‹ã€ã™ã§ã«æ¶ˆæ»…ã—ã¦ã„ã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚数分後ã«ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。 - </notification> - <notification name="no_inventory_host"> - æŒã¡ç‰©ã‚·ã‚¹ãƒ†ãƒ ã¯ç¾åœ¨åˆ©ç”¨ã§ãã¾ã›ã‚“。 - </notification> - <notification name="CannotSetLandOwnerNothingSelected"> - 土地所有者è¨å®šãŒã§ãã¾ã›ã‚“: -区画ãŒé¸å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="CannotSetLandOwnerMultipleRegions"> - 複数ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ãŒé¸æŠžã•ã‚ŒãŸãŸã‚ã€åœŸåœ°ã®æ‰€æœ‰æ¨©ã‚’å–å¾—ã§ãã¾ã›ã‚“。 -é¸æŠžã™ã‚‹é¢ç©ã‚’å°ã•ãã—ã¦ã€ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="ForceOwnerAuctionWarning"> - ã“ã®åŒºç”»ã¯ã‚ªãƒ¼ã‚¯ã‚·ãƒ§ãƒ³ã«å‡ºã•ã‚Œã¦ã„ã¾ã™ã€‚ 所有権を変更ã™ã‚‹ã¨ã‚ªãƒ¼ã‚¯ã‚·ãƒ§ãƒ³ã¯ã‚ャンセルã¨ãªã‚Šã€æ—¢ã«ã‚ªãƒ¼ã‚¯ã‚·ãƒ§ãƒ³ã«å‚åŠ ã—ã¦ã„ã‚‹ä½äººãŒã„ã‚Œã°ãã®äººã«è¿·æƒ‘ã‚’ã‹ã‘ã¦ã—ã¾ã„ã¾ã™ã€‚ -所有権を変更ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="CannotContentifyNothingSelected"> - コンテンツ化ã¯ä¸å¯èƒ½ã§ã™ï¼š -区画ãŒé¸å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="CannotContentifyNoRegion"> - コンテンツ化ã¯ä¸å¯èƒ½ã§ã™ï¼š -土地ãŒé¸æŠžã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="CannotReleaseLandNothingSelected"> - åœŸåœ°ã‚’ç ´æ£„ã§ãã¾ã›ã‚“: -区画ãŒé¸å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="CannotReleaseLandNoRegion"> - åœŸåœ°ã‚’ç ´æ£„ã§ãã¾ã›ã‚“: -リージョンãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="CannotBuyLandNothingSelected"> - 土地を購入ã§ãã¾ã›ã‚“: -区画ãŒé¸å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="CannotBuyLandNoRegion"> - 土地を購入ã§ãã¾ã›ã‚“: -ã“ã®åœŸåœ°ãŒã‚るリージョンを見ã¤ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ - </notification> - <notification name="CannotCloseFloaterBuyLand"> - [APP_NAME] ãŒã“ã®å–å¼•ä¾¡æ ¼ã‚’è¦‹ç©ã‚‚ã‚‹ã¾ã§ã¯ã€åœŸåœ°ã®è³¼å…¥ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’é–‰ã˜ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="CannotDeedLandNothingSelected"> - 土地をè²æ¸¡ã§ãã¾ã›ã‚“: -区画ãŒé¸å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="CannotDeedLandNoGroup"> - 土地をè²æ¸¡ã§ãã¾ã›ã‚“: -グループãŒé¸æŠžã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="CannotDeedLandNoRegion"> - 土地をè²æ¸¡ã§ãã¾ã›ã‚“: -ã“ã®åœŸåœ°ãŒã‚るリージョンãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="CannotDeedLandMultipleSelected"> - 土地をè²æ¸¡ã§ãã¾ã›ã‚“: -複数ã®åŒºç”»ãŒé¸æŠžã•ã‚Œã¦ã„ã¾ã™ã€‚ - -区画を 1 ã¤é¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="CannotDeedLandWaitingForServer"> - 土地をè²æ¸¡ã§ãã¾ã›ã‚“: -サーãƒãƒ¼ã‹ã‚‰ã®æ‰€æœ‰æ¨©æƒ…å ±ã‚’å¾…ã£ã¦ã„ã¾ã™ã€‚ - -å†åº¦ã€è©¦ã¿ã¦ãã ã•ã„。 - </notification> - <notification name="CannotDeedLandNoTransfer"> - 土地をè²æ¸¡ã§ãã¾ã›ã‚“: -[REGION] ã§ã¯åœŸåœ°ã®è²æ¸¡ãŒè¨±ã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="CannotReleaseLandWatingForServer"> - åœŸåœ°ã‚’ç ´æ£„ã§ãã¾ã›ã‚“: -サーãƒãƒ¼ãŒåŒºç”»æƒ…å ±ã‚’æ›´æ–°ã™ã‚‹ã®ã‚’å¾…ã£ã¦ã„ã¾ã™ã€‚ - -ã‚‚ã†å°‘ã—後ã§ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。 - </notification> - <notification name="CannotReleaseLandSelected"> - åœŸåœ°ã‚’ç ´æ£„ã§ãã¾ã›ã‚“: -ã‚ãªãŸã¯ã€é¸æŠžã—ãŸåŒºç”»ã®ã™ã¹ã¦ã‚’所有ã—ã¦ã„ã¾ã›ã‚“。 - -区画を 1 ã¤é¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="CannotReleaseLandDontOwn"> - åœŸåœ°ã‚’ç ´æ£„ã§ãã¾ã›ã‚“: -ã‚ãªãŸã¯ã“ã®åœŸåœ°ã‚’手放ã™ã“ã¨ã‚’許å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“。 -ã‚ãªãŸã®åŒºç”»ã¯ç·‘色ã§è¡¨ç¤ºã•ã‚Œã¦ã„ã¾ã™ã€‚ - </notification> - <notification name="CannotReleaseLandRegionNotFound"> - 土地を放棄ã§ãã¾ã›ã‚“: -ã“ã®åœŸåœ°ãŒã‚るリージョンãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="CannotReleaseLandNoTransfer"> - åœŸåœ°ã‚’ç ´æ£„ã§ãã¾ã›ã‚“: -[REGION] ã§ã¯åœŸåœ°ã®è²æ¸¡ãŒè¨±ã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="CannotReleaseLandPartialSelection"> - åœŸåœ°ã‚’ç ´æ£„ã§ãã¾ã›ã‚“: -区画全体をé¸æŠžã—ã¦ç ´æ£„ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ - -区画全体をé¸æŠžã™ã‚‹ã‹ã€ã¾ãŸã¯ã€ã¾ãšæœ€åˆã«åŒºç”»ã‚’分割ã—ã¦ãã ã•ã„。 - </notification> - <notification name="ReleaseLandWarning"> - ã‚ãªãŸã¯ã€[AREA] 平方メートルã®åœŸåœ°ã‚’ç ´æ£„ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚ -ã“ã®åŒºç”»ã‚’ç ´æ£„ã™ã‚‹ã¨ã‚ãªãŸã®åœŸåœ°ã§ã¯ãªããªã‚Šã¾ã™ãŒã€ -L$ ã¯è¿”金ã•ã‚Œã¾ã›ã‚“。 - -åœŸåœ°ã‚’ç ´æ£„ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="CannotDivideLandNothingSelected"> - 土地を分割ã§ãã¾ã›ã‚“: - -区画ãŒé¸å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="CannotDivideLandPartialSelection"> - 土地を分割ã§ãã¾ã›ã‚“: - -区画全体ãŒé¸æŠžã•ã‚Œã¦ã„ã¾ã™ã€‚ -区画ã®ä¸€éƒ¨ã‚’é¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="LandDivideWarning"> - ã“ã®åœŸåœ°ã‚’分割ã™ã‚‹ã¨ã€2 ã¤ã®åŒºç”»ã«åˆ¥ã‚Œã¾ã™ã€‚ -区画ã”ã¨ã®è¨å®šãŒå¯èƒ½ã«ãªã‚Šã¾ã™ã€‚ ã“ã®æ“作を行ã†ã¨ã€ä¸€éƒ¨ã®è¨å®šãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã«ãƒªã‚»ãƒƒãƒˆã•ã‚Œã¾ã™ã€‚ - -土地ã®åˆ†å‰²æ“作を続行ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="CannotDivideLandNoRegion"> - 土地を分割ã§ãã¾ã›ã‚“: -ã“ã®åœŸåœ°ãŒã‚るリージョンãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="CannotJoinLandNoRegion"> - 土地を統åˆã§ãã¾ã›ã‚“: -ã“ã®åœŸåœ°ãŒã‚るリージョンãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="CannotJoinLandNothingSelected"> - 土地を統åˆã§ãã¾ã›ã‚“ã§ã—ãŸï¼š -区画ãŒé¸å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="CannotJoinLandEntireParcelSelected"> - 土地を統åˆã§ãã¾ã›ã‚“: -区画㌠1 ã¤ã—ã‹é¸æŠžã•ã‚Œã¦ã„ã¾ã›ã‚“。 - -両方ã®åŒºç”»ã‚’ã¾ãŸã„ã§åœŸåœ°ã‚’é¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="CannotJoinLandSelection"> - 土地を統åˆã§ãã¾ã›ã‚“: -区画を 1 ã¤ä»¥ä¸Šé¸æŠžã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ - -両方ã®åŒºç”»ã‚’ã¾ãŸã„ã§åœŸåœ°ã‚’é¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="JoinLandWarning"> - ã“ã®åœŸåœ°ã‚’çµ±åˆã™ã‚‹ã¨ã€é¸æŠžã•ã‚ŒãŸé•·æ–¹å½¢ã«äº¤å·®ã™ã‚‹å…¨ã¦ã®åŒºç”»ã‚’基ã«ã—ã¦ã€å¤§ããªåŒºç”»ãŒ 1 ã¤ä½œæˆã•ã‚Œã¾ã™ã€‚ -æ–°ã—ã„区画ã®åå‰ã¨ã‚ªãƒ—ションをå†è¨å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ - -土地を統åˆã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ConfirmNotecardSave"> - ã“ã®ã‚¢ã‚¤ãƒ†ãƒ をコピーã€è¡¨ç¤ºã™ã‚‹å‰ã«ã€ãƒŽãƒ¼ãƒˆã‚«ãƒ¼ãƒ‰ã®ä¿å˜ãŒå¿…è¦ã§ã™ã€‚ ä¿å˜ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ConfirmItemCopy"> - ã“ã®ã‚¢ã‚¤ãƒ†ãƒ ã‚’ã‚ãªãŸã®æŒã¡ç‰©ã«ã‚³ãƒ”ーã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="コピー"/> - </notification> - <notification name="ResolutionSwitchFail"> - 解åƒåº¦ã‚’ [RESX]x[RESY] ã«åˆ‡ã‚Šæ›¿ãˆã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ - </notification> - <notification name="ErrorUndefinedGrasses"> - エラー:未定義ã®æ¤ç‰©ï¼š[SPECIES] - </notification> - <notification name="ErrorUndefinedTrees"> - エラー:未定義ã®æ¨¹æœ¨ï¼š[SPECIES] - </notification> - <notification name="CannotSaveWearableOutOfSpace"> - 「 [NAME] ã€ã‚’衣類ã®ãƒ•ã‚¡ã‚¤ãƒ«ã«ä¿å˜ã§ãã¾ã›ã‚“。 -コンピューターã®ãƒ‡ã‚£ã‚¹ã‚¯ã‚¹ãƒšãƒ¼ã‚¹ã‚’å°‘ã—増やã—ã¦ã‹ã‚‰ã€ã‚‚ã†ä¸€åº¦ä¿å˜ã—ã¦ã¿ã¦ãã ã•ã„。 - </notification> - <notification name="CannotSaveToAssetStore"> - 「 [NAME] ã€ã‚’ä¿å˜ã§ãã¾ã›ã‚“。 -通常ã“ã‚Œã¯ä¸€æ™‚çš„ãªã‚¨ãƒ©ãƒ¼ã§ã™ã€‚ 数分後ã«ã‚‚ã†ä¸€åº¦ç€ç”¨ç‰©ã‚’カスタマイズ・ä¿å˜ã—ã¦ãã ã•ã„。 - </notification> - <notification name="YouHaveBeenLoggedOut"> - ã—ã¾ã£ãŸã€ [SECOND_LIFE] ã‹ã‚‰ãƒã‚°ã‚¢ã‚¦ãƒˆã•ã‚Œã¦ã—ã¾ã„ã¾ã—ãŸã€‚ - [MESSAGE] - <usetemplate name="okcancelbuttons" notext="終了" yestext="IMã¨ãƒãƒ£ãƒƒãƒˆã‚’表示"/> - </notification> - <notification name="OnlyOfficerCanBuyLand"> - グループ用ã®åœŸåœ°ã®è³¼å…¥ãŒã§ãã¾ã›ã‚“: -ã‚ãªãŸã«ã¯ã‚¢ã‚¯ãƒ†ã‚£ãƒ–ãªã‚°ãƒ«ãƒ¼ãƒ—ã®ãŸã‚ã«åœŸåœ°ã‚’購入ã™ã‚‹æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification label="フレンド登録" name="AddFriendWithMessage"> - フレンド登録ã™ã‚‹ã¨ã€ãŠäº’ã„ã®ç¾åœ¨åœ°ã®åœ°å›³ã¸ã®è¡¨ç¤ºè¨±å¯ã€ã‚ªãƒ³ãƒ©ã‚¤ãƒ³çŠ¶æ…‹ã®è¡¨ç¤ºè¨å®šãŒã§ãã¾ã™ã€‚ - -[NAME] ã«ãƒ•ãƒ¬ãƒ³ãƒ‰ã‚·ãƒƒãƒ—を申ã—出ã¾ã™ã‹ï¼Ÿ - <form name="form"> - <input name="message"> - フレンド登録ã—ã¦ãã‚Œã¾ã™ã‹ï¼Ÿ - </input> - <button name="Offer" text="OK"/> - <button name="Cancel" text="ã‚ャンセル"/> - </form> - </notification> - <notification label="アウトフィットをä¿å˜ã™ã‚‹" name="SaveOutfitAs"> - ç€ç”¨ä¸ã®ã‚¢ã‚¦ãƒˆãƒ•ã‚£ãƒƒãƒˆã‚’æ–°ã—ã„アウトフットã¨ã—ã¦ä¿å˜ï¼š - <form name="form"> - <input name="message"> - [DESC] (新) - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="ã‚ャンセル"/> - </form> - </notification> - <notification label="ç€ç”¨ç‰©ã‚’ä¿å˜" name="SaveWearableAs"> - アイテムを別åã§æŒã¡ç‰©ã«ä¿å˜ï¼š - <form name="form"> - <input name="message"> - [DESC](新è¦ï¼‰ - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification label="アウトフィットã®åå‰ã‚’変更ã™ã‚‹" name="RenameOutfit"> - æ–°ã—ã„アウトフィットã®åå‰ï¼š - <form name="form"> - <input name="new_name"> - [NAME] - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification name="RemoveFromFriends"> - フレンドリストã‹ã‚‰ [NAME] を削除ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="RemoveMultipleFromFriends"> - フレンドリストã‹ã‚‰è¤‡æ•°ã®ãƒ•ãƒ¬ãƒ³ãƒ‰ã‚’削除ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="GodDeleteAllScriptedPublicObjectsByUser"> - **[AVATAR_NAME]** -所有ã®ã™ã¹ã¦ã®ã‚¹ã‚¯ãƒªãƒ—トオブジェクトをã“ã®ã‚·ãƒ 内ã®ä»–ã®ã™ã¹ã¦ã®åœŸåœ°ã‹ã‚‰å‰Šé™¤ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚æ“作を続行ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="GodDeleteAllScriptedObjectsByUser"> - **[AVATAR_NAME]** -所有ã®ã™ã¹ã¦ã®ã‚¹ã‚¯ãƒªãƒ—トオブジェクトをã“ã®ã‚·ãƒ 内ã®ã™ã¹ã¦ã®åœŸåœ°ã‹ã‚‰å‰Šé™¤ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚æ“作を続行ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="GodDeleteAllObjectsByUser"> - **[AVATAR_NAME]** -所有ã®ã™ã¹ã¦ã®ã‚ªãƒ–ジェクト(スクリプトオブジェクトã¨éžã‚¹ã‚¯ãƒªãƒ—トオブジェクト)を -ã“ã®ã‚·ãƒ 内ã®ã™ã¹ã¦ã®åœŸåœ°ã‹ã‚‰å‰Šé™¤ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚æ“作を続行ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="BlankClassifiedName"> - クラシファイドã®åå‰ã‚’指定ã—ã¦ãã ã•ã„。 - </notification> - <notification name="MinClassifiedPrice"> - 広告料ã¯æœ€ä½Ž L$ [MIN_PRICE] å¿…è¦ã§ã™ã€‚ - -金é¡ã‚’増やã—ã¦ãã ã•ã„。 - </notification> - <notification name="ConfirmItemDeleteHasLinks"> - ã“ã“ã«ãƒªãƒ³ã‚¯ã•ã‚ŒãŸã‚¢ã‚¤ãƒ†ãƒ ãŒå°‘ãªãã¨ã‚‚1ã¤ã‚ã‚Šã¾ã™ã€‚ ã“ã®ã‚¢ã‚¤ãƒ†ãƒ を削除ã™ã‚‹ã¨ã“ã“ã«ãƒªãƒ³ã‚¯ã•ã‚ŒãŸã‚‚ã®ãŒæ©Ÿèƒ½ã—ãªããªã‚Šã¾ã™ã€‚ リンクを先ã«å‰Šé™¤ã™ã‚‹ã“ã¨ã‚’å¼·ããŠå‹§ã‚ã—ã¾ã™ã€‚ - -ã“れらã®ã‚¢ã‚¤ãƒ†ãƒ を削除ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLock"> - é¸æŠžã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã®ã†ã¡ã€å°‘ãªãã¨ã‚‚ 1 ã¤ãŒãƒãƒƒã‚¯ã•ã‚Œã¦ã„ã¾ã™ã€‚ - -本当ã«å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteNoCopy"> - é¸æŠžã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã®ã†ã¡ã€å°‘ãªãã¨ã‚‚ 1 ã¤ãŒã‚³ãƒ”ーã§ãã¾ã›ã‚“。 - -本当ã«å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteNoOwn"> - é¸æŠžã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã®ã†ã¡ã€å°‘ãªãã¨ã‚‚ 1 ã¤ãŒã‚ãªãŸã®æ‰€æœ‰ç‰©ã§ã¯ã‚ã‚Šã¾ã›ã‚“。 - -本当ã«å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLockNoCopy"> - å°‘ãªãã¨ã‚‚ 1 ã¤ã®ã‚ªãƒ–ジェクトãŒãƒãƒƒã‚¯ã•ã‚Œã¦ã„ã¾ã™ã€‚ -å°‘ãªãã¨ã‚‚ 1 ã¤ã®ã‚ªãƒ–ジェクトãŒã‚³ãƒ”ーã§ãã¾ã›ã‚“。 - -本当ã«å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLockNoOwn"> - å°‘ãªãã¨ã‚‚ 1 ã¤ã®ã‚ªãƒ–ジェクトãŒãƒãƒƒã‚¯ã•ã‚Œã¦ã„ã¾ã™ã€‚ -å°‘ãªãã¨ã‚‚ 1 ã¤ã®ã‚ªãƒ–ジェクトãŒã€ã‚ãªãŸã®æ‰€æœ‰ç‰©ã§ã¯ã‚ã‚Šã¾ã›ã‚“。 - -本当ã«å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteNoCopyNoOwn"> - å°‘ãªãã¨ã‚‚ 1 ã¤ã®ã‚ªãƒ–ジェクトãŒã‚³ãƒ”ーã§ãã¾ã›ã‚“。 -å°‘ãªãã¨ã‚‚ 1 ã¤ã®ã‚ªãƒ–ジェクトãŒã€ã‚ãªãŸã®æ‰€æœ‰ç‰©ã§ã¯ã‚ã‚Šã¾ã›ã‚“。 - -本当ã«å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLockNoCopyNoOwn"> - å°‘ãªãã¨ã‚‚ 1 ã¤ã®ã‚ªãƒ–ジェクトãŒãƒãƒƒã‚¯ã•ã‚Œã¦ã„ã¾ã™ã€‚ -å°‘ãªãã¨ã‚‚ 1 ã¤ã®ã‚ªãƒ–ジェクトãŒã‚³ãƒ”ーã§ãã¾ã›ã‚“。 -å°‘ãªãã¨ã‚‚ 1 ã¤ã®ã‚ªãƒ–ジェクトãŒã€ã‚ãªãŸã®æ‰€æœ‰ç‰©ã§ã¯ã‚ã‚Šã¾ã›ã‚“。 - -本当ã«å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmObjectTakeLock"> - å°‘ãªãã¨ã‚‚ 1 ã¤ã®ã‚ªãƒ–ジェクトãŒãƒãƒƒã‚¯ã•ã‚Œã¦ã„ã¾ã™ã€‚ - -本当ã«ã“ã®ã¾ã¾å–得を続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmObjectTakeNoOwn"> - å–å¾—ã—よã†ã¨ã—ã¦ã„るオブジェクトã«ã¯ã€ã‚ãªãŸã®æ‰€æœ‰ç‰©ã§ã¯ãªã„オブジェクトãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚ -ã‚ãªãŸã®æ‰€æœ‰ç‰©ã§ã¯ãªã„オブジェクトをå–å¾—ã™ã‚‹ã¨ã€æ¬¡ã®æ‰€æœ‰è€…ã®æ¨©é™ãŒãã®ã‚ªãƒ–ジェクトã«é©ç”¨ã•ã‚Œã¾ã™ã€‚ -ãã®ãŸã‚ã€å°†æ¥ã€ä¿®æ£ã‚„コピーã®èƒ½åŠ›ãŒåˆ¶é™ã•ã‚Œã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ - -本当ã«ã“ã®ã¾ã¾å–得を続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmObjectTakeLockNoOwn"> - å°‘ãªãã¨ã‚‚ 1 ã¤ã®ã‚ªãƒ–ジェクトãŒãƒãƒƒã‚¯ã•ã‚Œã¦ã„ã¾ã™ã€‚ -å–å¾—ã—よã†ã¨ã—ã¦ã„るオブジェクトã«ã¯ã€ã‚ãªãŸã®æ‰€æœ‰ç‰©ã§ã¯ãªã„オブジェクトãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚ -ã‚ãªãŸã®æ‰€æœ‰ç‰©ã§ã¯ãªã„オブジェクトをå–å¾—ã™ã‚‹ã¨ã€æ¬¡ã®æ‰€æœ‰è€…ã®æ¨©é™ãŒãã®ã‚ªãƒ–ジェクトã«é©ç”¨ã•ã‚Œã¾ã™ã€‚ -ãã®ãŸã‚ã€å°†æ¥ã€ç·¨é›†ã‚„コピーã®èƒ½åŠ›ãŒåˆ¶é™ã•ã‚Œã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ -ã“ã®é¸æŠžå†…容ã®ã¾ã¾ã§ç¶šè¡Œã™ã‚‹ã“ã¨ã¯å¯èƒ½ã§ã™ãŒã€ - -本当ã«ã“ã®ã¾ã¾å–得を続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="CantBuyLandAcrossMultipleRegions"> - 複数ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ãŒé¸æŠžã•ã‚ŒãŸãŸã‚ã€åœŸåœ°ã‚’購入ã§ãã¾ã›ã‚“。 - -é¸æŠžã™ã‚‹é¢ç©ã‚’å°ã•ãã—ã¦ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 - </notification> - <notification name="DeedLandToGroup"> - ã“ã®åŒºç”»ã®è²æ¸¡ã«éš›ã—ã¦ã¯ã€ -ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ãŒå分ãªåœŸåœ°ã‚¯ãƒ¬ã‚¸ãƒƒãƒˆã‚’ä¿æœ‰ãŠã‚ˆã³ç¶æŒã—ã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ -土地ã®è³¼å…¥ä¾¡æ ¼ã¯ã€æ‰€æœ‰è€…ã«è¿”金ã•ã‚Œã¾ã›ã‚“。è²æ¸¡ã•ã‚ŒãŸåŒºç”»ãŒå£²ã‚Œã‚‹ã¨ã€å£²ä¸Šé‡‘é¡ã¯ã‚°ãƒ«ãƒ¼ãƒ—メンãƒãƒ¼ã«å‡ç‰ã«åˆ†é…ã•ã‚Œã¾ã™ã€‚ - -ã“ã® [AREA] 平方メートルã®åœŸåœ°ã‚’ã€ã‚°ãƒ«ãƒ¼ãƒ— -「 [GROUP_NAME] ã€ã«è²æ¸¡ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="DeedLandToGroupWithContribution"> - ã“ã®åŒºç”»ãŒè²æ¸¡ã•ã‚Œã‚‹ã¨ã€ã‚°ãƒ«ãƒ¼ãƒ—ã¯ãã®åœŸåœ°åˆ©ç”¨æ–™ã¨ã—ã¦å分ãªæ®‹é«˜ã‚’ç¶æŒã—ã¦ã„ãå¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ -è²æ¸¡ã«ã¯åŒæ™‚ã« [NAME] ã‹ã‚‰ã‚°ãƒ«ãƒ¼ãƒ—ã¸ã®åœŸåœ°ã®è²¢çŒ®ãŒå«ã¾ã‚Œã¾ã™ã€‚ -土地ã®è³¼å…¥ä¾¡æ ¼ã¯æ‰€æœ‰è€…ã«è¿”金ã•ã‚Œã¾ã›ã‚“。è²æ¸¡ã•ã‚ŒãŸåŒºç”»ãŒå£²å´ã•ã‚Œã‚‹ã¨ã€è²©å£²ä¾¡æ ¼ã¯ã‚°ãƒ«ãƒ¼ãƒ—メンãƒãƒ¼ã®é–“ã§å‡ç‰ã«åˆ†é…ã•ã‚Œã¾ã™ã€‚ - -ã“ã® [AREA] m² ã®åœŸåœ°ã‚’ [GROUP_NAME] ã¨ã„ã†ã‚°ãƒ«ãƒ¼ãƒ—ã«è²æ¸¡ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="DisplaySetToSafe"> - -safe オプションを指定ã—ãŸã®ã§ã€ -表示è¨å®šã¯ã‚»ãƒ¼ãƒ•ãƒ¬ãƒ™ãƒ«ã«è¨å®šã•ã‚Œã¦ã„ã¾ã™ã€‚ - </notification> - <notification name="DisplaySetToRecommended"> - 表示è¨å®šã¯ã€ã‚ãªãŸã®ã‚·ã‚¹ãƒ†ãƒ 構æˆã«åŸºã¥ã„ã¦æŽ¨å¥¨ã•ã‚ŒãŸãƒ¬ãƒ™ãƒ«ã«è¨å®šã•ã‚Œã¦ã„ã¾ã™ã€‚ - </notification> - <notification name="ErrorMessage"> - [ERROR_MESSAGE] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AvatarMovedDesired"> - 目的地ã¯ç¾åœ¨ã”利用ã„ãŸã ã‘ã¾ã›ã‚“。 -è¿‘ãã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«ç§»å‹•ã—ã¾ã—ãŸã€‚ - </notification> - <notification name="AvatarMovedLast"> - å‰å›žã„ãŸå ´æ‰€ã¯ç¾åœ¨ã”利用ã„ãŸã ã‘ã¾ã›ã‚“。 -è¿‘ãã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«ç§»å‹•ã—ã¾ã—ãŸã€‚ - </notification> - <notification name="AvatarMovedHome"> - ホームãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã¯ç¾åœ¨ã”利用ã„ãŸã ã‘ã¾ã›ã‚“。 -è¿‘ãã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«ç§»å‹•ã—ã¾ã—ãŸã€‚ -æ–°ãŸã«ãƒ›ãƒ¼ãƒ ã‚’è¨å®šã—ç›´ã™å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 - </notification> - <notification name="ClothingLoading"> - ç¾åœ¨è¡£é¡žã‚’ダウンãƒãƒ¼ãƒ‰ä¸ã§ã™ã€‚ -ã“ã®ã¾ã¾ [SECOND_LIFE] を通常通りã”使用ã„ãŸã ã‘ã¾ã™ã€‚他人ã‹ã‚‰ã¯ã‚ãªãŸã¯æ£ã—ã表示ã•ã‚Œã¾ã™ã€‚ - <form name="form"> - <ignore name="ignore" text="衣類ãŒãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã•ã‚Œã‚‹ã¾ã§æ™‚é–“ãŒã‹ã‹ã£ã¦ã„ã‚‹ã¨ã"/> - </form> - </notification> - <notification name="FirstRun"> - [APP_NAME] ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ãŒå®Œäº†ã—ã¾ã—ãŸã€‚ - -[SECOND_LIFE] を使ã£ãŸã“ã¨ãŒãªã„å ´åˆã¯ã€ãƒã‚°ã‚¤ãƒ³ã™ã‚‹å‰ã«ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã®ä½œæˆã‚’è¡Œã£ã¦ãã ã•ã„。 -[http://join.secondlife.com/?lang=ja-JP] ã§æ–°ã—ã„アカウントを作æˆã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="続行" yestext="æ–°è¦ã‚¢ã‚«ã‚¦ãƒ³ãƒˆ..."/> - </notification> - <notification name="LoginPacketNeverReceived"> - 接続ãŒãªã‹ãªã‹ã§ãã¾ã›ã‚“。 ãŠä½¿ã„ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆæŽ¥ç¶šã‹ã€[SECOND_LIFE_GRID] ã®å•é¡Œã¨è€ƒãˆã‚‰ã‚Œã¾ã™ã€‚ - -インターãƒãƒƒãƒˆæŽ¥ç¶šã‚’確èªã—ã¦ã‹ã‚‰æ•°åˆ†å¾Œã«å†æŽ¥ç¶šã™ã‚‹ã‹ã€ãƒ˜ãƒ«ãƒ—をクリックã—㦠[SUPPORT_SITE] ã‚’ã”覧ã«ãªã‚‹ã‹ã€ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã‚’クリックã—ã¦ãƒ›ãƒ¼ãƒ ã«ç§»å‹•ã—ã¦ã¿ã¦ãã ã•ã„。 - <url name="url"> - http://jp.secondlife.com/support/ - </url> - <form name="form"> - <button name="OK" text="OK"/> - <button name="Help" text="ヘルプ"/> - <button name="Teleport" text="テレãƒãƒ¼ãƒˆ"/> - </form> - </notification> - <notification name="WelcomeChooseSex"> - ã¾ã‚‚ãªãã‚ãªãŸã®ã‚¢ãƒã‚¿ãƒ¼ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚ - -矢å°ã‚ーを使用ã—ã¦æ©ãã¾ã™ã€‚ -ヘルプãŒå¿…è¦ãªã¨ãã‚„ [SECOND_LIFE] ã«ã¤ã„ã¦çŸ¥ã‚ŠãŸã„ã¨ãã¯ã€ -F1 ã‚ーを押ã—ã¦ãã ã•ã„。 -男性ã‚ã‚‹ã„ã¯å¥³æ€§ã®ã‚¢ãƒã‚¿ãƒ¼ã‚’é¸æŠžã—ã¦ãã ã•ã„。 -ã‚ãªãŸã®æ±ºå®šã¯å¾Œã§å¤‰æ›´ã§ãã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="女性" yestext="男性"/> - </notification> - <notification name="CantTeleportToGrid"> - ç¾åœ¨ã®ã‚°ãƒªãƒƒãƒ‰ï¼ˆ[CURRENT_GRID])ã¨ã¯ã‚°ãƒªãƒƒãƒ‰ï¼ˆ[GRID])ãŒç•°ãªã‚‹ãŸã‚ã€[SLURL] ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ ビューワを閉ã˜ã¦ã‹ã‚‰ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GeneralCertificateError"> - サーãƒãƒ¼ã«æŽ¥ç¶šã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ -[REASON] - -サブジェクトå: [SUBJECT_NAME_STRING] -発行元: [ISSUER_NAME_STRING] -有効日: [VALID_FROM] -次ã®æ›´æ–°æ—¥ï¼š [VALID_TO] -MD5 フィンガープリント: [SHA1_DIGEST] -SHA1 フィンガープリント: [MD5_DIGEST] -ã‚ー使用法: [KEYUSAGE] -æ‹¡å¼µã‚ー使用法: [EXTENDEDKEYUSAGE] -サブジェクトã‚ーèªè˜åˆ¥å: [SUBJECTKEYIDENTIFIER] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TrustCertificateError"> - ã“ã®ã‚µãƒ¼ãƒãƒ¼ã®èªè¨¼æ©Ÿé–¢ã¯ä¸æ˜Žã§ã™ã€‚ - -èªè¨¼æƒ…å ±ï¼š -サブジェクトå: [SUBJECT_NAME_STRING] -発行元: [ISSUER_NAME_STRING] -有効日: [VALID_FROM] -次ã®æ›´æ–°æ—¥ï¼š [VALID_TO] -MD5 フィンガープリント: [SHA1_DIGEST] -SHA1 フィンガープリント: [MD5_DIGEST] -ã‚ー使用法: [KEYUSAGE] -æ‹¡å¼µã‚ー使用法: [EXTENDEDKEYUSAGE] -サブジェクトã‚ーèªè˜åˆ¥å: [SUBJECTKEYIDENTIFIER] - -ã“ã®èªè¨¼å±€ã‚’ä¿¡é ¼ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="信用ã™ã‚‹"/> - </notification> - <notification name="NotEnoughCurrency"> - [NAME] L$[PRICE] 残高ä¸è¶³ã®ãŸã‚実行ä¸å¯ã§ã™ã€‚ - </notification> - <notification name="GrantedModifyRights"> - [NAME] ã¯ã€ã‚ãªãŸã«ã‚ªãƒ–ジェクトã®ç·¨é›†æ¨©é™ã‚’与ãˆã¾ã—ãŸã€‚ - </notification> - <notification name="RevokedModifyRights"> - [NAME] ã®ã‚ªãƒ–ジェクトを編集ã™ã‚‹æ¨©é™ã¯å–り消ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="FlushMapVisibilityCaches"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã®åœ°å›³ã®ã‚ャッシュを消去ã—ã¾ã™ã€‚ -デãƒãƒƒã‚°ç›®çš„ã®ã¿ã«ä¾¿åˆ©ãªæ“作ã§ã™ã€‚ -(作æˆä¸ã¯ 5 分間経ã¤ã¨ã€å…¨å“¡ã®åœ°å›³ãŒå†åº¦ãƒã‚°ã‚¤ãƒ³å¾Œã«æ›´æ–°ã•ã‚Œã¾ã™ï¼‰ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="BuyOneObjectOnly"> - 一度㫠1 ã¤ä»¥ä¸Šã®ã‚ªãƒ–ジェクトを買ã†ã“ã¨ã¯ã§ãã¾ã›ã‚“。 オブジェクトを 1 ã¤ã ã‘é¸ã‚“ã§ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="OnlyCopyContentsOfSingleItem"> - 一度ã«è¤‡æ•°ã®ã‚¢ã‚¤ãƒ†ãƒ ã®ä¸èº«ã‚’コピーã§ãã¾ã›ã‚“。 -オブジェクトを 1 ã¤ã ã‘é¸æŠžã—ã¦ã€ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="KickUsersFromRegion"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«ã„ã‚‹å…¨ã¦ã®ä½äººã‚’ホームã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="EstateObjectReturn"> - [USER_NAME] ãŒæ‰€æœ‰ã—ã¦ã„るオブジェクトを返å´ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="InvalidTerrainBitDepth"> - 地域テクスãƒãƒ£ã‚’è¨å®šã§ãã¾ã›ã‚“ã§ã—ãŸï¼š -地形テクスãƒãƒ£[TEXTURE_NUM]ã¯ã€ç„¡åŠ¹ã®ãƒ“ット深度[TEXTURE_BIT_DEPTH]ã§ã™ã€‚ - -テクスãƒãƒ£[TEXTURE_NUM]ã‚’24ビット512x512ã‹ãれ以下ã®ã‚¤ãƒ¡ãƒ¼ã‚¸ã¨äº¤æ›ã—ã€ã€Œé©ç”¨ã€ã‚’å†åº¦ã‚¯ãƒªãƒƒã‚¯ã—ã¦ãã ã•ã„。 - </notification> - <notification name="InvalidTerrainSize"> - 地域テクスãƒãƒ£ã‚’è¨å®šã§ãã¾ã›ã‚“ã§ã—ãŸï¼š -地形テクスãƒãƒ£ã€Œ [TEXTURE_NUM] ã€ã¯ã€[TEXTURE_SIZE_X]x[TEXTURE_SIZE_Y] ã§ã¯å¤§ãã™ãŽã¾ã™ã€‚ - -「 [TEXTURE_NUM] ã€ã‚’ 24 ビット 512x512 ã‹ãれ以下ã®ã‚¤ãƒ¡ãƒ¼ã‚¸ã¨äº¤æ›ã—ã€ã€Œé©ç”¨ã€ã‚’å†åº¦ã‚¯ãƒªãƒƒã‚¯ã—ã¦ãã ã•ã„。 - </notification> - <notification name="RawUploadStarted"> - アップãƒãƒ¼ãƒ‰ã‚’開始ã—ã¾ã—ãŸã€‚ 接続速度ã«ã‚ˆã£ã¦ã¯ã€æœ€å¤§ 2 分間ã‹ã‹ã‚Šã¾ã™ã€‚ - </notification> - <notification name="ConfirmBakeTerrain"> - ç¾åœ¨ã®åœ°å½¢ã‚’構築ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚ -ã“ã®æ“作を行ã†ã¨ã€ç¾åœ¨ã®åœ°å½¢ãŒä¸Šæ˜‡ãƒ»ä¸‹é™ã®åˆ¶é™ç¯„囲ã®ä¸å¿ƒã¨ãªã‚Šã€ã€Œå¾©å…ƒã€ãƒ„ールã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã«ãªã‚Šã¾ã™ã€‚ -æ“作を続行ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="MaxAllowedAgentOnRegion"> - 許å¯ä½äººã¯ [MAX_AGENTS] 人ã¾ã§ã§ã™ã€‚ - </notification> - <notification name="MaxBannedAgentsOnRegion"> - ç¦æ¢ä½äººã¯ [MAX_BANNED] 人ã¾ã§ã§ã™ã€‚ - </notification> - <notification name="MaxAgentOnRegionBatch"> - [NUM_ADDED] 個ã®ã‚¨ãƒ¼ã‚¸ã‚§ãƒ³ãƒˆã‚’è¿½åŠ ã—よã†ã¨ã—ã¦å¤±æ•—ã—ã¾ã—ãŸï¼š [MAX_AGENTS] [LIST_TYPE] 制é™ã‚’ [NUM_EXCESS] 個超éŽã—ã¦ã„ã¾ã™ã€‚ - </notification> - <notification name="MaxAllowedGroupsOnRegion"> - 許å¯ã‚°ãƒ«ãƒ¼ãƒ—㯠[MAX_GROUPS] グループã¾ã§ã§ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="構築ã™ã‚‹"/> - </notification> - <notification name="MaxManagersOnRegion"> - ä¸å‹•ç”£ãƒžãƒãƒ¼ã‚¸ãƒ£ãƒ¼ã¯ [MAX_MANAGER] 人ã¾ã§ã§ã™ã€‚ - </notification> - <notification name="OwnerCanNotBeDenied"> - ä¸å‹•ç”£ã‚ªãƒ¼ãƒŠãƒ¼ã‚’ä¸å‹•ç”£ã®ã€Œç¦æ¢ä½äººã€ãƒªã‚¹ãƒˆã«è¿½åŠ ã§ãã¾ã›ã‚“。 - </notification> - <notification name="CanNotChangeAppearanceUntilLoaded"> - 衣類ãŠã‚ˆã³ã‚·ã‚§ã‚¤ãƒ—ãŒèªã¿è¾¼ã¾ã‚Œã‚‹ã¾ã§ã¯ã€å®¹å§¿ã®å¤‰æ›´ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="ClassifiedMustBeAlphanumeric"> - クラシファイド広告ã®åå‰ã¯ã€ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆã‹æ•°å—ã§å§‹ã‚ã¾ã™ã€‚å¥èªç‚¹ã§ã¯å§‹ã‚られã¾ã›ã‚“。 - </notification> - <notification name="CantSetBuyObject"> - オブジェクトãŒè²©å£²å¯¾è±¡ã§ã¯ãªã„ãŸã‚ã€ã‚ªãƒ–ジェクトã®è³¼å…¥ãŒã§ãã¾ã›ã‚“。 -販売対象ã®ã‚ªãƒ–ジェクトを指定ã—ã¦ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 - </notification> - <notification name="FinishedRawDownload"> - æœªåŠ å·¥ã®åœ°å½¢ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ダウンãƒãƒ¼ãƒ‰ã—ã¾ã—ãŸï¼š -[DOWNLOAD_PATH] - </notification> - <notification name="DownloadWindowsMandatory"> - [APP_NAME] ã®æœ€æ–°ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã”利用å¯èƒ½ã§ã™ã€‚ -[MESSAGE] -[APP_NAME] ã‚’ã”利用ã«ãªã‚‹ã«ã¯ã“ã®ã‚¢ãƒƒãƒ—デートã¯å¿…é ˆã§ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="終了" yestext="ダウンãƒãƒ¼ãƒ‰"/> - </notification> - <notification name="DownloadWindows"> - [APP_NAME] ã®ã‚¢ãƒƒãƒ—デートãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã”利用å¯èƒ½ã§ã™ã€‚ -[MESSAGE] -ã“ã®ã‚¢ãƒƒãƒ—デートã¯å¿…é ˆã§ã¯ã‚ã‚Šã¾ã›ã‚“ãŒã€ãƒ‘フォーマンスå‘上ã®ãŸã‚ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’ãŠã™ã™ã‚ã—ã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="続行" yestext="ダウンãƒãƒ¼ãƒ‰"/> - </notification> - <notification name="DownloadWindowsReleaseForDownload"> - [APP_NAME] ã®ã‚¢ãƒƒãƒ—デートãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã”利用å¯èƒ½ã§ã™ã€‚ -[MESSAGE] -ã“ã®ã‚¢ãƒƒãƒ—デートã¯å¿…é ˆã§ã¯ã‚ã‚Šã¾ã›ã‚“ãŒã€ãƒ‘フォーマンスå‘上ã®ãŸã‚ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’ãŠã™ã™ã‚ã—ã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="続行" yestext="ダウンãƒãƒ¼ãƒ‰"/> - </notification> - <notification name="DownloadLinuxMandatory"> - [APP_NAME] ã®æœ€æ–°ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã”利用å¯èƒ½ã§ã™ã€‚ -[MESSAGE] -[APP_NAME] ã‚’ã”利用ã«ãªã‚‹ã«ã¯ã“ã®ã‚¢ãƒƒãƒ—デートã¯å¿…é ˆã§ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="終了" yestext="ダウンãƒãƒ¼ãƒ‰"/> - </notification> - <notification name="DownloadLinux"> - [APP_NAME] ã®ã‚¢ãƒƒãƒ—デートãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã”利用å¯èƒ½ã§ã™ã€‚ -[MESSAGE] -ã“ã®ã‚¢ãƒƒãƒ—デートã¯å¿…é ˆã§ã¯ã‚ã‚Šã¾ã›ã‚“ãŒã€ãƒ‘フォーマンスå‘上ã®ãŸã‚ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’ãŠã™ã™ã‚ã—ã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="続ã‘ã‚‹" yestext="ダウンãƒãƒ¼ãƒ‰"/> - </notification> - <notification name="DownloadLinuxReleaseForDownload"> - [APP_NAME] ã®ã‚¢ãƒƒãƒ—デートãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã”利用å¯èƒ½ã§ã™ã€‚ -[MESSAGE] -ã“ã®ã‚¢ãƒƒãƒ—デートã¯å¿…é ˆã§ã¯ã‚ã‚Šã¾ã›ã‚“ãŒã€ãƒ‘フォーマンスå‘上ã®ãŸã‚ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’ãŠã™ã™ã‚ã—ã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="続ã‘ã‚‹" yestext="ダウンãƒãƒ¼ãƒ‰"/> - </notification> - <notification name="DownloadMacMandatory"> - [APP_NAME] ã®æœ€æ–°ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã”利用å¯èƒ½ã§ã™ã€‚ -[MESSAGE] -[APP_NAME] ã‚’ã”利用ã«ãªã‚‹ã«ã¯ã“ã®ã‚¢ãƒƒãƒ—デートã¯å¿…é ˆã§ã™ã€‚ - -ã‚ãªãŸã®ã‚¢ãƒ—リケーションフォルダã«ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="終了" yestext="ダウンãƒãƒ¼ãƒ‰"/> - </notification> - <notification name="DownloadMac"> - [APP_NAME] ã®ã‚¢ãƒƒãƒ—デートãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã”利用å¯èƒ½ã§ã™ã€‚ -[MESSAGE] -ã“ã®ã‚¢ãƒƒãƒ—デートã¯å¿…é ˆã§ã¯ã‚ã‚Šã¾ã›ã‚“ãŒã€ãƒ‘フォーマンスå‘上ã®ãŸã‚ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’ãŠã™ã™ã‚ã—ã¾ã™ã€‚ - -ã‚ãªãŸã®ã‚¢ãƒ—リケーションフォルダã«ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="続行" yestext="ダウンãƒãƒ¼ãƒ‰"/> - </notification> - <notification name="DownloadMacReleaseForDownload"> - [APP_NAME] ã®ã‚¢ãƒƒãƒ—デートãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã”利用å¯èƒ½ã§ã™ã€‚ -[MESSAGE] -ã“ã®ã‚¢ãƒƒãƒ—デートã¯å¿…é ˆã§ã¯ã‚ã‚Šã¾ã›ã‚“ãŒã€ãƒ‘フォーマンスå‘上ã®ãŸã‚ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’ãŠã™ã™ã‚ã—ã¾ã™ã€‚ - -ã‚ãªãŸã®ã‚¢ãƒ—リケーションフォルダã«ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="続行" yestext="ダウンãƒãƒ¼ãƒ‰"/> - </notification> - <notification name="FailedUpdateInstall"> - ビューワã®ã‚¢ãƒƒãƒ—デートをインストールä¸ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ -http://secondlife.com/download ã‹ã‚‰æœ€æ–°ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ダウンãƒãƒ¼ãƒ‰ã—ã¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ã¦ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FailedRequiredUpdateInstall"> - å¿…è¦ãªã‚¢ãƒƒãƒ—デートをインストールã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ -[APP_NAME] ãŒã‚¢ãƒƒãƒ—デートã•ã‚Œã‚‹ã¾ã§ãƒã‚°ã‚¤ãƒ³ã§ãã¾ã›ã‚“。 - -http://secondlife.com/download ã‹ã‚‰æœ€æ–°ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ダウンãƒãƒ¼ãƒ‰ã—ã¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ã¦ãã ã•ã„。 - <usetemplate name="okbutton" yestext="終了"/> - </notification> - <notification name="UpdaterServiceNotRunning"> - ãŠä½¿ã„ã® Second Life ã«å¿…è¦ãªã‚¢ãƒƒãƒ—デートãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã¾ã›ã‚“。 - -ã“ã®ã‚¢ãƒƒãƒ—デートã¯ã€http://www.secondlife.com/downloads ã‹ã‚‰ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã—ã¦ã€ä»Šã™ãインストールã§ãã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="終了" yestext="今ã™ãダウンãƒãƒ¼ãƒ‰ã—ã¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«"/> - </notification> - <notification name="DownloadBackgroundTip"> - ãŠä½¿ã„ã® [APP_NAME] ã«å¿…è¦ãªã‚¢ãƒƒãƒ—デートをダウンãƒãƒ¼ãƒ‰ã—ã¾ã—ãŸã€‚ -ãƒãƒ¼ã‚¸ãƒ§ãƒ³ [VERSION] [[RELEASE_NOTES_FULL_URL] ã“ã®ã‚¢ãƒƒãƒ—デートã«é–¢ã™ã‚‹æƒ…å ±] - <usetemplate name="okcancelbuttons" notext="後ã§å®Ÿè¡Œ" yestext="今ã™ãインストールã—㦠[APP_NAME] ã‚’å†èµ·å‹•"/> - </notification> - <notification name="DownloadBackgroundDialog"> - ãŠä½¿ã„ã® [APP_NAME] ã«å¿…è¦ãªã‚¢ãƒƒãƒ—デートをダウンãƒãƒ¼ãƒ‰ã—ã¾ã—ãŸã€‚ -ãƒãƒ¼ã‚¸ãƒ§ãƒ³ [VERSION] [[RELEASE_NOTES_FULL_URL] ã“ã®ã‚¢ãƒƒãƒ—デートã«é–¢ã™ã‚‹æƒ…å ±] - <usetemplate name="okcancelbuttons" notext="後ã§å®Ÿè¡Œ" yestext="今ã™ãインストールã—㦠[APP_NAME] ã‚’å†èµ·å‹•"/> - </notification> - <notification name="RequiredUpdateDownloadedVerboseDialog"> - å¿…è¦ãªã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã®ã‚¢ãƒƒãƒ—デートをダウンãƒãƒ¼ãƒ‰ã—ã¾ã—ãŸã€‚ -ãƒãƒ¼ã‚¸ãƒ§ãƒ³ [VERSION] - -アップデートをインストールã™ã‚‹ã«ã¯ [APP_NAME] ã‚’å†èµ·å‹•ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="RequiredUpdateDownloadedDialog"> - アップデートをインストールã™ã‚‹ã«ã¯ [APP_NAME] ã‚’å†èµ·å‹•ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="DeedObjectToGroup"> - ã“ã®ã‚ªãƒ–ジェクトをè²æ¸¡ã™ã‚‹ã¨ã‚°ãƒ«ãƒ¼ãƒ—ã¯ä»¥ä¸‹ã®ã“ã¨ãŒå¯èƒ½ã§ã™ï¼š -* オブジェクトã«æ”¯æ‰•ã‚れ㟠L$ ã‚’å—é ˜ã—ã¾ã™ã€‚ - <usetemplate ignoretext="オブジェクトをグループã«è²æ¸¡ã™ã‚‹å‰ã®ç¢ºèª" name="okcancelignore" notext="å–り消ã—" yestext="è²æ¸¡"/> - </notification> - <notification name="WebLaunchExternalTarget"> - Web ブラウザを開ã„ã¦ã“ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„を表示ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="ブラウザを起動ã—㦠Web ページを見るã¨ã" name="okcancelignore" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="WebLaunchJoinNow"> - [http://jp.secondlife.com/account/ マイアカウント] ページã«ç§»å‹•ã—ã¦ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’管ç†ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="ブラウザを起動ã—ã¦ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’管ç†ã™ã‚‹ã¨ã" name="okcancelignore" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="WebLaunchSecurityIssues"> - [SECOND_LIFE] Wiki ã§ã€ã‚»ã‚ュリティå•é¡Œã‚’å ±å‘Šã™ã‚‹æ–¹æ³•ã‚’ã”覧ãã ã•ã„。 - <usetemplate ignoretext="ブラウザを起動ã—ã¦ã‚»ã‚ュリティå•é¡Œã®å ±å‘Šã®ä»•æ–¹ã‚’確èªã™ã‚‹ã¨ã" name="okcancelignore" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="WebLaunchQAWiki"> - [SECOND_LIFE] å“質ä¿è¨¼é–¢é€£ Wiki ã‚’ã”覧ãã ã•ã„。 - <usetemplate ignoretext="ブラウザを起動ã—㦠QA Wiki を見るã¨ã" name="okcancelignore" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="WebLaunchPublicIssue"> - [SECOND_LIFE] ã®ãƒ‘ブリックå•é¡Œãƒˆãƒ©ãƒƒã‚«ãƒ¼ã§ã€ -ãƒã‚°ã‚„ãã®ä»–ã®å•é¡Œã‚’å ±å‘Šã§ãã¾ã™ã€‚ - <usetemplate ignoretext="ブラウザを起動ã—ã¦ãƒ‘ブリックå•é¡Œãƒˆãƒ©ãƒƒã‚«ãƒ¼ã‚’使用ã™ã‚‹ã¨ã" name="okcancelignore" notext="ã‚ャンセル" yestext="ページã¸è¡Œã"/> - </notification> - <notification name="WebLaunchSupportWiki"> - Linden å…¬å¼ãƒ–ãƒã‚°ã§ã€æœ€æ–°ã®ãƒ‹ãƒ¥ãƒ¼ã‚¹ã‚„æƒ…å ±ã‚’å…¥æ‰‹ã—ã¦ãã ã•ã„。 - <usetemplate ignoretext="ブラウザを起動ã—ã¦å…¬å¼ãƒ–ãƒã‚°ã‚’見るã¨ã" name="okcancelignore" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="WebLaunchLSLGuide"> - スクリプトガイドを開ãã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="ブラウザを起動ã—ã¦ã‚¹ã‚¯ãƒªãƒ—トガイドを見るã¨ã" name="okcancelignore" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="WebLaunchLSLWiki"> - LSL ãƒãƒ¼ã‚¿ãƒ«ã§ã‚¹ã‚¯ãƒªãƒ—トã«é–¢ã™ã‚‹æƒ…å ±ã‚’ç¢ºèªã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="ブラウザを起動ã—㦠LSL ãƒãƒ¼ã‚¿ãƒ«ã‚’見るã¨ã" name="okcancelignore" notext="å–り消ã—" yestext="ページã«ç§»å‹•"/> - </notification> - <notification name="ReturnToOwner"> - é¸æŠžã—ãŸã‚ªãƒ–ジェクトをã€æ‰€æœ‰è€…ã«è¿”å´ã—ã¾ã™ã‹ï¼Ÿ -「å†è²©ãƒ»ãƒ—レゼントå¯ã€ã®è²æ¸¡ã•ã‚ŒãŸã‚ªãƒ–ジェクトã¯ã€ä»¥å‰ã®æ‰€æœ‰è€…ã«è¿”å´ã•ã‚Œã¾ã™ã€‚ - -*è¦å‘Š* 「å†è²©ãƒ»ãƒ—レゼントä¸å¯ã€ã®è²æ¸¡ã•ã‚ŒãŸã‚ªãƒ–ジェクトã¯ã€å‰Šé™¤ã•ã‚Œã¾ã™ï¼ - <usetemplate ignoretext="オブジェクトを所有者ã«è¿”å´ã™ã‚‹å‰ã®ç¢ºèª" name="okcancelignore" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="GroupLeaveConfirmMember"> - ç¾åœ¨ã‚ãªãŸã¯ [GROUP] ã®ãƒ¡ãƒ³ãƒãƒ¼ã§ã™ã€‚ -ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—を抜ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ConfirmKick"> - 本当ã«ä½äººå…¨å“¡ã‚’グリッドã‹ã‚‰è¿½ã„出ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="ä½äººå…¨å“¡ã‚’追ã„出ã™"/> - </notification> - <notification name="MuteLinden"> - リンデンをブãƒãƒƒã‚¯ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CannotStartAuctionAlreadyForSale"> - æ—¢ã«å£²ã‚Šå‡ºã—ä¸ã®åŒºç”»ãªã®ã§ã‚ªãƒ¼ã‚¯ã‚·ãƒ§ãƒ³ã«ã‹ã‘ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 オークションã«ã‹ã‘ãŸã„å ´åˆã¯å£²ã‚Šå‡ºã—è¨å®šã‚’解除ã—ã¦ã‹ã‚‰è¡Œã£ã¦ãã ã•ã„。 - </notification> - <notification label="åå‰ã§ã®ã‚ªãƒ–ジェクトã®ãƒ–ãƒãƒƒã‚¯ã«å¤±æ•—ã—ã¾ã—ãŸ" name="MuteByNameFailed"> - ã“ã®åå‰ã¯æ—¢ã«ãƒ–ãƒãƒƒã‚¯æ¸ˆã¿ã§ã™ã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="RemoveItemWarn"> - コンテンツを削除ã™ã‚‹ã¨ã€è¨±å¯ãŒã‚ã£ã¦ã‚‚オブジェクトã«æ傷を与ãˆã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ -削除を続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="CantOfferCallingCard"> - ç¾åœ¨ã‚³ãƒ¼ãƒªãƒ³ã‚°ã‚«ãƒ¼ãƒ‰ã‚’é€ã‚Œã¾ã›ã‚“。数分後ã«ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CantOfferFriendship"> - ç¾åœ¨ãƒ•ãƒ¬ãƒ³ãƒ‰ã‚·ãƒƒãƒ—ã‚’é€ã‚Œã¾ã›ã‚“。数分後ã«ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="BusyModeSet"> - å–ã‚Šè¾¼ã¿ä¸ãƒ¢ãƒ¼ãƒ‰ã«ãªã‚Šã¾ã—ãŸã€‚ -ãƒãƒ£ãƒƒãƒˆã¨ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯è¡¨ç¤ºã•ã‚Œã¾ã›ã‚“。 å—ä¿¡ã™ã‚‹ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã«ã¯å–ã‚Šè¾¼ã¿ä¸è¿”ç”メッセージãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚ テレãƒãƒ¼ãƒˆã®ã‚ªãƒ•ã‚¡ãƒ¼ã¯å—ã‘å–ã‚Šæ‹’å¦ã¨ãªã‚Šã¾ã™ã€‚ アイテムã®ã‚ªãƒ•ã‚¡ãƒ¼ã¯ã™ã¹ã¦ã”ã¿ç®±ã«å…¥ã‚Šã¾ã™ã€‚ - <usetemplate ignoretext="ãƒã‚°ã‚¤ãƒ³çŠ¶æ…‹ã‚’å–ã‚Šè¾¼ã¿ä¸ãƒ¢ãƒ¼ãƒ‰ã«å¤‰æ›´ã™ã‚‹ã¨ã" name="okignore" yestext="OK"/> - </notification> - <notification name="JoinedTooManyGroupsMember"> - åŠ å…¥ã§ãるグループã®æœ€å¤§é™ã«é”ã—ã¾ã—ãŸã€‚ ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã«åŠ å…¥ã™ã‚‹ãŸã‚ã«ä»–ã®ã‚°ãƒ«ãƒ¼ãƒ—を脱退ã™ã‚‹ã‹ã€ã“ã®ç”³ã—入れをæ–ã£ã¦ãã ã•ã„。 -[NAME] ãŒã‚ãªãŸã‚’グループã®ãƒ¡ãƒ³ãƒãƒ¼ã¨ã—ã¦å‹§èª˜ã—ã¦ã„ã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="辞退" yestext="å‚åŠ "/> - </notification> - <notification name="JoinedTooManyGroups"> - åŠ å…¥ã§ãるグループã®æœ€å¤§é™ã«é”ã—ã¾ã—ãŸã€‚ æ–°ã—ãグループã«å‚åŠ ã€ã¾ãŸã¯ä½œæˆã™ã‚‹å‰ã«ã€ã©ã‚Œã‹ã‚°ãƒ«ãƒ¼ãƒ—ã‹ã‚‰æŠœã‘ã¦ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="KickUser"> - ã©ã®ã‚ˆã†ãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’æ·»ãˆã¦ã“ã®ä½äººã‚’追ã„出ã—ã¾ã™ã‹ï¼Ÿ - <form name="form"> - <input name="message"> - ã‚ãªãŸã¯ç®¡ç†è€…ã«ã‚ˆã‚Šãƒã‚°ã‚ªãƒ•ã•ã‚Œã¾ã—ãŸã€‚ - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification name="KickAllUsers"> - ã©ã®ã‚ˆã†ãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’ã¤ã‘ã¦ã‚°ãƒªãƒƒãƒ‰ã«ã„る全員を追ã„出ã—ã¾ã™ã‹ï¼Ÿ - <form name="form"> - <input name="message"> - ã‚ãªãŸã¯ç®¡ç†è€…ã«ã‚ˆã‚Šãƒã‚°ã‚ªãƒ•ã•ã‚Œã¾ã—ãŸã€‚ - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification name="FreezeUser"> - ã©ã®ã‚ˆã†ãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’æ·»ãˆã¦ã“ã®ä½äººã‚’フリーズã—ã¾ã™ã‹ï¼Ÿ - <form name="form"> - <input name="message"> - ã‚ãªãŸã¯ãƒ•ãƒªãƒ¼ã‚ºã•ã‚Œã¦ã„ã¾ã™ã€‚ å‹•ãã“ã¨ã‚‚ãƒãƒ£ãƒƒãƒˆã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã›ã‚“。 管ç†è€…㌠IM ã§ã‚ãªãŸã«é€£çµ¡ã—ã¾ã™ã€‚ - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification name="UnFreezeUser"> - ã©ã®ã‚ˆã†ãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’æ·»ãˆã¦ã“ã®ä½äººã®ãƒ•ãƒªãƒ¼ã‚ºã‚’解除ã—ã¾ã™ã‹ï¼Ÿ - <form name="form"> - <input name="message"> - ã‚‚ã†ãƒ•ãƒªãƒ¼ã‚ºã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification name="SetDisplayNameSuccess"> - [DISPLAY_NAME] ã•ã‚“〠- -ç¾å®Ÿã®ä¸–ç•Œã¨åŒã˜ãã€Second Life ã§ã‚‚æ–°ã—ã„åå‰ãŒæµ¸é€ã™ã‚‹ã«ã¯æ™‚é–“ãŒã‹ã‹ã‚Šã¾ã™ã€‚オブジェクトã€ã‚¹ã‚¯ãƒªãƒ—トã€æ¤œç´¢ãªã©ã§åå‰ãŒæ›´æ–°ã•ã‚Œã‚‹ã¾ã§ã«ï¼ˆ[http://wiki.secondlife.com/wiki/Setting_your_display_name your name to update])数日ã‹ã‹ã‚Šã¾ã™ã®ã§ã”了承ãã ã•ã„。 - </notification> - <notification name="SetDisplayNameBlocked"> - 申ã—訳ã‚ã‚Šã¾ã›ã‚“ãŒã€ç¾åœ¨è¡¨ç¤ºåã¯å¤‰æ›´ã§ãã¾ã›ã‚“。システムã®ã‚¨ãƒ©ãƒ¼ã ã¨æ€ã‚ã‚Œã‚‹å ´åˆã¯ã€ã‚µãƒãƒ¼ãƒˆã«ãŠå•ã„åˆã‚ã›ãã ã•ã„。 - </notification> - <notification name="SetDisplayNameFailedLength"> - 申ã—訳ã‚ã‚Šã¾ã›ã‚“ãŒã€ãã®åå‰ã¯é•·ã™ãŽã¾ã™ã€‚表示åã¯æœ€é•· [LENGTH] æ–‡å—ã¾ã§ã§ã™ã€‚ - -ã‚‚ã†å°‘ã—çŸã„åå‰ã‚’ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="SetDisplayNameFailedGeneric"> - 申ã—訳ã‚ã‚Šã¾ã›ã‚“ãŒã€è¡¨ç¤ºåã‚’è¨å®šã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ã‚ã¨ã§ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="SetDisplayNameMismatch"> - 入力ã—ãŸè¡¨ç¤ºåãŒä¸€è‡´ã—ã¾ã›ã‚“。もã†ä¸€åº¦å…¥åŠ›ã—ã¦ãã ã•ã„。 - </notification> - <notification name="AgentDisplayNameUpdateThresholdExceeded"> - ã—ã°ã‚‰ãã¯è¡¨ç¤ºåを変更ã§ãã¾ã›ã‚“。 - -http://wiki.secondlife.com/wiki/Setting_your_display_name ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 - -ã‚ã¨ã§ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="AgentDisplayNameSetBlocked"> - 申ã—訳ã‚ã‚Šã¾ã›ã‚“ãŒã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã•ã‚ŒãŸåå‰ã¯ç¦å¥ã‚’å«ã‚€ãŸã‚ã«è¨å®šã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ - -別ã®åå‰ã‚’ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="AgentDisplayNameSetInvalidUnicode"> - è¨å®šã—よã†ã¨ã™ã‚‹è¡¨ç¤ºåã«ã¯ä½¿ãˆãªã„æ–‡å—ãŒå«ã¾ã‚Œã¾ã™ã€‚ - </notification> - <notification name="AgentDisplayNameSetOnlyPunctuation"> - 表示åã«ã¯å¥èªç‚¹ä»¥å¤–ã®æ–‡å—ã‚’å«ã‚€å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ - </notification> - <notification name="DisplayNameUpdate"> - [OLD_NAME] ([SLID]) 㯠[NEW_NAME] ã«å¤‰æ›´ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="OfferTeleport"> - 次ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’æ·»ãˆã¦ç¾åœ¨åœ°ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã‚’é€ã‚Šã¾ã™ã‹ï¼Ÿ - <form name="form"> - <input name="message"> - [REGION] ã«æ¥ã¾ã›ã‚“ã‹ï¼Ÿ - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification name="OfferTeleportFromGod"> - ç¾åœ¨åœ°ã«ä½äººã‚’ゴッドサモンã—ã¾ã™ã‹ï¼Ÿ - <form name="form"> - <input name="message"> - [REGION] ã«æ¥ã¾ã›ã‚“ã‹ï¼Ÿ - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification name="TeleportFromLandmark"> - ã“ã®ã¾ã¾ <nolink>[LOCATION]</nolink> ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="ランドマークã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã—ãŸã„ã‹ã©ã†ã‹ã®ç¢ºèª" name="okcancelignore" notext="ã‚ャンセル" yestext="テレãƒãƒ¼ãƒˆ"/> - </notification> - <notification name="TeleportToPick"> - [PICK] ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="ピックã®å ´æ‰€ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã—ãŸã„ã‹ã©ã†ã‹ã®ç¢ºèª" name="okcancelignore" notext="ã‚ャンセル" yestext="テレãƒãƒ¼ãƒˆ"/> - </notification> - <notification name="TeleportToClassified"> - [CLASSIFIED] ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="クラシファイド広告ã®å ´æ‰€ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã—ãŸã„ã‹ã©ã†ã‹ã®ç¢ºèª" name="okcancelignore" notext="ã‚ャンセル" yestext="テレãƒãƒ¼ãƒˆ"/> - </notification> - <notification name="TeleportToHistoryEntry"> - [HISTORY_ENTRY] ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="å±¥æ´ã®å ´æ‰€ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã—ãŸã„ã‹ã©ã†ã‹ã®ç¢ºèª" name="okcancelignore" notext="ã‚ャンセル" yestext="テレãƒãƒ¼ãƒˆ"/> - </notification> - <notification label="ã‚ãªãŸã®ä¸å‹•ç”£å†…ã®å…¨å“¡ã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’é€ä¿¡" name="MessageEstate"> - 今ã‚ãªãŸã®ä¸å‹•ç”£ã«ã„る人全員ã«é€ã‚‹ã€çŸã„メッセージを入力ã—ã¦ãã ã•ã„。 - <form name="form"> - <input name="message"/> - <button name="OK" text="OK"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification label="Lindenã®ä¸å‹•ç”£ã‚’変更" name="ChangeLindenEstate"> - リンデンãŒæ‰€æœ‰ã™ã‚‹ã‚¨ã‚¹ãƒ†ãƒ¼ãƒˆï¼ˆãƒ¡ã‚¤ãƒ³ãƒ©ãƒ³ãƒ‰ã€ãƒ†ã‚£ãƒ¼ãƒ³ã‚°ãƒªãƒƒãƒ‰ã€ã‚ªãƒªã‚¨ãƒ³ãƒ†ãƒ¼ã‚·ãƒ§ãƒ³ãªã©ï¼‰ã‚’変更ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚ - -ä½äººã®ä½“験ã«æ ¹æœ¬çš„ã«å½±éŸ¿ã‚’与ãˆã‚‹ãŸã‚ã€éžå¸¸ã«å±é™ºãªè¡Œç‚ºã§ã™ã€‚ メインランドã§ã¯ã€ä½•åƒã¨ã„ã†ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ãŒå¤‰æ›´ã«ã‚ˆã‚‹å½±éŸ¿ã‚’å—ã‘ã€ãã®ãŸã‚スペースサーãƒãƒ¼ã«è² æ‹…ã‚’ã‹ã‘ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚ - -ãã‚Œã§ã‚‚続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification label="Lindenã®ä¸å‹•ç”£ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’変更" name="ChangeLindenAccess"> - ã‚ãªãŸã¯ãƒªãƒ³ãƒ‡ãƒ³æ‰€æœ‰ã®ä¸å‹•ç”£ï¼ˆãƒ¡ã‚¤ãƒ³ãƒ©ãƒ³ãƒ‰ã€ãƒ†ã‚£ãƒ¼ãƒ³ã‚°ãƒªãƒƒãƒ‰ã€ã‚ªãƒªã‚¨ãƒ³ãƒ†ãƒ¼ã‚·ãƒ§ãƒ³ãªã©ï¼‰ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ãƒªã‚¹ãƒˆã‚’変更ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚ - -ã“ã®è¡Œç‚ºã¯ã€Œå±é™ºã€ã§ã‚ã‚Šã€ã‚°ãƒªãƒƒãƒ‰ã‹ã‚‰ã‚ªãƒ–ジェクトやãŠé‡‘ã®è»¢é€ã‚’ã‚‚ãŸã‚‰ã™ãƒãƒƒã‚ングを引ãèµ·ã“ã™å¯èƒ½æ€§ãŒã‚ã‚‹ãŸã‚ã€å®Œå…¨ã«ãれをæ„図ã—ãŸå ´åˆã®ã¿è¡Œã†ã¹ãã‚‚ã®ã§ã™ã€‚ -ã“ã‚Œã«ã‚ˆã‚Šå¤šæ•°ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ï¼ˆåœ°åŸŸï¼‰ãŒå¤‰æ›´ã•ã‚Œã€ã‚¹ãƒšãƒ¼ã‚¹ã‚µãƒ¼ãƒãƒ¼ã«æ‚ªå½±éŸ¿ãŒç”Ÿã˜ã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification label="ä¸å‹•ç”£ã‚’é¸æŠž" name="EstateAllowedAgentAdd"> - ã“ã®ä¸å‹•ç”£é™å®šã®è¨±å¯ãƒªã‚¹ãƒˆã«è¿½åŠ ã—ã¾ã™ã‹ï¼Ÿ ãã‚Œã¨ã‚‚ [ALL_ESTATES] ã®è¨±å¯ãƒªã‚¹ãƒˆã«è¿½åŠ ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="å–り消ã—" name="yesnocancelbuttons" notext="ã™ã¹ã¦ã®ä¸å‹•ç”£" yestext="ã“ã®ä¸å‹•ç”£"/> - </notification> - <notification label="ä¸å‹•ç”£ã‚’é¸æŠž" name="EstateAllowedAgentRemove"> - ã“ã®ä¸å‹•ç”£é™å®šã®è¨±å¯ãƒªã‚¹ãƒˆã‹ã‚‰å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ ãã‚Œã¨ã‚‚ã€[ALL_ESTATES] ã‹ã‚‰å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="å–り消ã—" name="yesnocancelbuttons" notext="ã™ã¹ã¦ã®ä¸å‹•ç”£" yestext="ã“ã®ä¸å‹•ç”£"/> - </notification> - <notification label="ä¸å‹•ç”£ã‚’é¸æŠž" name="EstateAllowedGroupAdd"> - ã“ã®ä¸å‹•ç”£é™å®šã®ã‚°ãƒ«ãƒ¼ãƒ—許å¯ãƒªã‚¹ãƒˆã«è¿½åŠ ã—ã¾ã™ã‹ï¼Ÿ ãã‚Œã¨ã‚‚ [ALL_ESTATES] ã®ã‚°ãƒ«ãƒ¼ãƒ—許å¯ãƒªã‚¹ãƒˆã«è¿½åŠ ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="å–り消ã—" name="yesnocancelbuttons" notext="ã™ã¹ã¦ã®ä¸å‹•ç”£" yestext="ã“ã®ä¸å‹•ç”£"/> - </notification> - <notification label="ä¸å‹•ç”£ã‚’é¸æŠž" name="EstateAllowedGroupRemove"> - ã“ã®ä¸å‹•ç”£é™å®šã®è¨±å¯ãƒªã‚¹ãƒˆã‹ã‚‰å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ ãã‚Œã¨ã‚‚ã€[ALL_ESTATES] ã‹ã‚‰å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="å–り消ã—" name="yesnocancelbuttons" notext="ã™ã¹ã¦ã®ä¸å‹•ç”£" yestext="ã“ã®ä¸å‹•ç”£"/> - </notification> - <notification label="ä¸å‹•ç”£ã‚’é¸æŠž" name="EstateBannedAgentAdd"> - ã“ã®ä¸å‹•ç”£é™å®šã§ã‚¢ã‚¯ã‚»ã‚¹ã‚’æ‹’å¦ã—ã¾ã™ã‹ï¼Ÿ ãã‚Œã¨ã‚‚ [ALL_ESTATE] ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’æ‹’å¦ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="å–り消ã—" name="yesnocancelbuttons" notext="ã™ã¹ã¦ã®ä¸å‹•ç”£" yestext="ã“ã®ä¸å‹•ç”£"/> - </notification> - <notification label="ä¸å‹•ç”£ã‚’é¸æŠž" name="EstateBannedAgentRemove"> - ã“ã®ä½äººãŒã€ã“ã®ä¸å‹•ç”£é™å®šã€ã¾ãŸã¯ [ALL_ESTATES] ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãるよã†ã«ã€ç¦æ¢ãƒªã‚¹ãƒˆã‹ã‚‰å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="å–り消ã—" name="yesnocancelbuttons" notext="ã™ã¹ã¦ã®ä¸å‹•ç”£" yestext="ã“ã®ä¸å‹•ç”£"/> - </notification> - <notification label="ä¸å‹•ç”£ã‚’é¸æŠž" name="EstateManagerAdd"> - ã“ã®ä¸å‹•ç”£é™å®šã€ã¾ãŸã¯ [ALL_ESTATES] ã®ä¸å‹•ç”£ãƒžãƒãƒ¼ã‚¸ãƒ£ãƒ¼ã‚’è¿½åŠ ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="å–り消ã—" name="yesnocancelbuttons" notext="ã™ã¹ã¦ã®ä¸å‹•ç”£" yestext="ã“ã®ä¸å‹•ç”£"/> - </notification> - <notification label="ä¸å‹•ç”£ã‚’é¸æŠž" name="EstateManagerRemove"> - ä¸å‹•ç”£ãƒžãƒãƒ¼ã‚¸ãƒ£ãƒ¼ã‚’ã€ã“ã®ä¸å‹•ç”£é™å®šã€ã¾ãŸã¯ [ALL_ESTATES] ã‹ã‚‰ã€å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="å–り消ã—" name="yesnocancelbuttons" notext="ã™ã¹ã¦ã®ä¸å‹•ç”£" yestext="ã“ã®ä¸å‹•ç”£"/> - </notification> - <notification label="ã‚ックを確èª" name="EstateKickUser"> - ã“ã®ä¸å‹•ç”£ã‹ã‚‰ [EVIL_USER] を追ã„出ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="EstateChangeCovenant"> - ä¸å‹•ç”£ç´„款を変更ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="RegionEntryAccessBlocked"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã«ã‚ˆã‚Šã€ãã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ï¼ˆåœ°åŸŸï¼‰ã¸ã¯å…¥ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 年齢を確èªã™ã‚‹éš›ã®æƒ…å ±ã«ä¸è¶³ãŒã‚ã£ãŸãŸã‚ã¨è€ƒãˆã‚‰ã‚Œã¾ã™ã€‚ - -最新ビューワãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã‚‹ã‹ã‚’ã”確èªãã ã•ã„。ã“ã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã§ã®ã‚¢ã‚¯ã‚»ã‚¹ã«é–¢ã™ã‚‹è©³ç´°ã¯ãƒŠãƒ¬ãƒƒã‚¸ãƒ™ãƒ¼ã‚¹ã‚’ã”覧ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="RegionEntryAccessBlocked_KB"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã«ã‚ˆã‚Šã€ãã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ï¼ˆåœ°åŸŸï¼‰ã¸ã¯å…¥ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 - -ナレッジベースを開ãレーティング区分ã«ã¤ã„ã¦å¦ã³ã¾ã™ã‹ï¼Ÿ - <url name="url"> - http://wiki.secondlife.com/wiki/Linden_Lab_Official:Maturity_ratings:_an_overview/ja - </url> - <usetemplate ignoretext="レーティング区分ã®åˆ¶é™ã®ãŸã‚ã€ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«å…¥ã‚‹ã“ã¨ãŒã§ããªã„ã¨ã" name="okcancelignore" notext="é–‰ã˜ã‚‹" yestext="ナレッジベースを開ã"/> - </notification> - <notification name="RegionEntryAccessBlocked_Notify"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã«ã‚ˆã‚Šã€ãã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ï¼ˆåœ°åŸŸï¼‰ã¸ã¯å…¥ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 - </notification> - <notification name="RegionEntryAccessBlocked_Change"> - レーティング区分ã«é–¢ã™ã‚‹è¨å®šã«ã‚ˆã‚Šã€ãã®åœ°åŸŸï¼ˆãƒªãƒ¼ã‚¸ãƒ§ãƒ³ï¼‰ã«ã¯ç«‹ã¡å…¥ã‚Œã¾ã›ã‚“。 - -ãã®åœ°åŸŸã«å…¥ã‚‹ã«ã¯ã€ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã®è¨å®šã‚’変更ã—ã¦ãã ã•ã„。変更ã™ã‚‹ã¨ã€[REGIONMATURITY]ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®æ¤œç´¢ã‚„アクセスãŒå¯èƒ½ã«ãªã‚Šã¾ã™ã€‚変更内容を元ã«æˆ»ã™ã«ã¯ã€ãƒŸãƒ¼ > 環境è¨å®š > 一般をé¸æŠžã—ã¦ãã ã•ã„。 - <form name="form"> - <button name="OK" text="環境è¨å®šã®å¤‰æ›´"/> - <button default="true" name="Cancel" text="é–‰ã˜ã‚‹"/> - <ignore name="ignore" text="é¸æŠžã—ãŸãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ãŒåŽŸå› ã§ã€ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«å…¥ã‚Œãªã„ã¨ã"/> - </form> - </notification> - <notification name="PreferredMaturityChanged"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†è¨å®šã¯ç¾åœ¨ [RATING] ã§ã™ã€‚ - </notification> - <notification name="LandClaimAccessBlocked"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã«ã‚ˆã‚Šã€ã“ã®åœŸåœ°ã‚’å–å¾—ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 年齢を確èªã™ã‚‹éš›ã®æƒ…å ±ã«ä¸è¶³ãŒã‚ã£ãŸãŸã‚ã¨è€ƒãˆã‚‰ã‚Œã¾ã™ã€‚ - -最新ビューワãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã‚‹ã‹ã‚’ã”確èªãã ã•ã„。ã“ã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã§ã®ã‚¢ã‚¯ã‚»ã‚¹ã«é–¢ã™ã‚‹è©³ç´°ã¯ãƒŠãƒ¬ãƒƒã‚¸ãƒ™ãƒ¼ã‚¹ã‚’ã”覧ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="LandClaimAccessBlocked_KB"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã«ã‚ˆã‚Šã€ã“ã®åœŸåœ°ã‚’å–å¾—ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - -ナレッジベースを開ãレーティング区分ã«ã¤ã„ã¦å¦ã³ã¾ã™ã‹ï¼Ÿ - <url name="url"> - http://wiki.secondlife.com/wiki/Linden_Lab_Official:Maturity_ratings:_an_overview/ja - </url> - <usetemplate ignoretext="レーティング区分ã®åˆ¶é™ã®ãŸã‚ã€ã“ã®åœŸåœ°ã‚’å–å¾—ã§ãã¾ã›ã‚“" name="okcancelignore" notext="é–‰ã˜ã‚‹" yestext="ナレッジベースを開ã"/> - </notification> - <notification name="LandClaimAccessBlocked_Notify"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã«ã‚ˆã‚Šã€ã“ã®åœŸåœ°ã‚’å–å¾—ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="LandClaimAccessBlocked_Change"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†è¨å®šã«ã‚ˆã‚Šã€ã“ã®åœŸåœ°ã‚’å–å¾—ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - -「è¨å®šã‚’変更ã€ã‚’クリックã—ã¦ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã‚’上ã’ã‚‹ã¨ã€å…¥ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ ã‚ãªãŸã¯ä»Šå¾Œ [REGIONMATURITY] コンテンツã®æ¤œç´¢åŠã³ã‚¢ã‚¯ã‚»ã‚¹ãŒå¯èƒ½ã¨ãªã‚Šã¾ã™ã€‚ ã‚ã¨ã§è¨å®šã‚’å…ƒã«æˆ»ã—ãŸã„å ´åˆã¯ã€ã€Œç·¨é›†ã€ï¼žã€Œç’°å¢ƒè¨å®šã€ã‚’ã”覧ãã ã•ã„。 - <usetemplate ignoretext="é¸æŠžã—ãŸãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ãŒåŽŸå› ã§ã€åœŸåœ°ã‚’å–å¾—ã§ããªã„ã¨ã" name="okcancelignore" notext="é–‰ã˜ã‚‹" yestext="è¨å®šã®å¤‰æ›´"/> - </notification> - <notification name="LandBuyAccessBlocked"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã«ã‚ˆã‚Šã€ã“ã®åœŸåœ°ã‚’購入ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 年齢を確èªã™ã‚‹éš›ã®æƒ…å ±ã«ä¸è¶³ãŒã‚ã£ãŸãŸã‚ã¨è€ƒãˆã‚‰ã‚Œã¾ã™ã€‚ - -最新ビューワãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã‚‹ã‹ã‚’ã”確èªãã ã•ã„。ã“ã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã§ã®ã‚¢ã‚¯ã‚»ã‚¹ã«é–¢ã™ã‚‹è©³ç´°ã¯ãƒŠãƒ¬ãƒƒã‚¸ãƒ™ãƒ¼ã‚¹ã‚’ã”覧ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="LandBuyAccessBlocked_KB"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã«ã‚ˆã‚Šã€ã“ã®åœŸåœ°ã‚’購入ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - -ナレッジベースを開ãレーティング区分ã«ã¤ã„ã¦å¦ã³ã¾ã™ã‹ï¼Ÿ - <url name="url"> - http://wiki.secondlife.com/wiki/Linden_Lab_Official:Maturity_ratings:_an_overview/ja - </url> - <usetemplate ignoretext="レーティング区分ã®åˆ¶é™ã®ãŸã‚ã€ã“ã®åœŸåœ°ã‚’購入ã§ãã¾ã›ã‚“" name="okcancelignore" notext="é–‰ã˜ã‚‹" yestext="ナレッジベースを開ã"/> - </notification> - <notification name="LandBuyAccessBlocked_Notify"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã«ã‚ˆã‚Šã€ã“ã®åœŸåœ°ã‚’購入ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="LandBuyAccessBlocked_Change"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†è¨å®šã«ã‚ˆã‚Šã€ã“ã®åœŸåœ°ã‚’購入ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 - -「è¨å®šã‚’変更ã€ã‚’クリックã—ã¦ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã‚’上ã’ã‚‹ã¨ã€å…¥ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ ã‚ãªãŸã¯ä»Šå¾Œ [REGIONMATURITY] コンテンツã®æ¤œç´¢åŠã³ã‚¢ã‚¯ã‚»ã‚¹ãŒå¯èƒ½ã¨ãªã‚Šã¾ã™ã€‚ ã‚ã¨ã§è¨å®šã‚’å…ƒã«æˆ»ã—ãŸã„å ´åˆã¯ã€ã€Œç·¨é›†ã€ï¼žã€Œç’°å¢ƒè¨å®šã€ã‚’ã”覧ãã ã•ã„。 - <usetemplate ignoretext="é¸æŠžã—ãŸãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ãŒåŽŸå› ã§ã€åœŸåœ°ã‚’購入ã§ããªã„ã¨ã" name="okcancelignore" notext="é–‰ã˜ã‚‹" yestext="è¨å®šã®å¤‰æ›´"/> - </notification> - <notification name="TooManyPrimsSelected"> - é¸æŠžã—ãŸãƒ—リムãŒå¤šã™ãŽã¾ã™ã€‚ [MAX_PRIM_COUNT] 個é¸æŠžã™ã‚‹ã‹ã€ãƒ—リム数を減らã—ã¦ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ProblemImportingEstateCovenant"> - ä¸å‹•ç”£ç´„款ã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆæ™‚ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ProblemAddingEstateManager"> - æ–°ã—ã„ä¸å‹•ç”£ãƒžãƒãƒ¼ã‚¸ãƒ£ãƒ¼ã®è¿½åŠ ã«é–¢ã™ã‚‹å•é¡Œï¼š -ã„ãšã‚Œã‹ã®ä¸å‹•ç”£ã®ãƒžãƒãƒ¼ã‚¸ãƒ£ãƒ¼ãƒªã‚¹ãƒˆãŒæº€æ¯ã«ãªã£ã¦ã„ã¾ã™ã€‚ - </notification> - <notification name="ProblemAddingEstateGeneric"> - ä¸å‹•ç”£ãƒªã‚¹ãƒˆã®è¿½åŠ ã«é–¢ã™ã‚‹å•é¡Œï¼š -ã„ãšã‚Œã‹ã®ä¸å‹•ç”£ã®ãƒªã‚¹ãƒˆãŒæº€æ¯ã«ãªã£ã¦ã„ã¾ã™ã€‚ - </notification> - <notification name="UnableToLoadNotecardAsset"> - ç¾åœ¨ãƒŽãƒ¼ãƒˆã‚«ãƒ¼ãƒ‰ã®ã‚¢ã‚»ãƒƒãƒˆ ID ã‚’èªã¿è¾¼ã‚€ã“ã¨ãŒã§ãã¾ã›ã‚“。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="NotAllowedToViewNotecard"> - è¦æ±‚ã—ãŸã‚¢ã‚»ãƒƒãƒˆ ID ã«é–¢ã™ã‚‹ãƒŽãƒ¼ãƒˆã‚«ãƒ¼ãƒ‰ã‚’閲覧ã™ã‚‹ã«ã¯ã€æ¨©é™ãŒä¸å分ã§ã™ã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="MissingNotecardAssetID"> - ノートカード用ã®ã‚¢ã‚»ãƒƒãƒˆ ID ãŒãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ç™»éŒ²ã•ã‚Œã¦ã„ã¾ã›ã‚“。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="PublishClassified"> - 注æ„:クラシファイド広告ã®æ–™é‡‘ã¯æ‰•ã„戻ã—ã•ã‚Œã¾ã›ã‚“。 - -L$ [AMOUNT] ã§ã€ã“ã®ã‚¯ãƒ©ã‚·ãƒ•ã‚¡ã‚¤ãƒ‰åºƒå‘Šã‚’今ã™ã公開ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="SetClassifiedMature"> - ã“ã®åºƒå‘Šã«ã€ŒModerateã€ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã¯å«ã¾ã‚Œã¦ã„ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="ã‚ャンセル" name="yesnocancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="SetGroupMature"> - ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã«ã€ŒModerateã€ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="ã‚ャンセル" name="yesnocancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification label="å†èµ·å‹•ã‚’確èª" name="ConfirmRestart"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ 2 分後ã«å†èµ·å‹•ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚ -続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification label="ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’é€ä¿¡" name="MessageRegion"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«ã„る人全員ã«é€ã‚‹çŸã„メッセージを入力ã—ã¦ãã ã•ã„。 - <form name="form"> - <input name="message"/> - <button name="OK" text="OK"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification label="地域ã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†æŒ‡å®šå¤‰æ›´æ¸ˆã¿" name="RegionMaturityChange"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ï¼ˆåœ°åŸŸï¼‰ã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ãŒã‚¢ãƒƒãƒ—デートã•ã‚Œã¾ã—ãŸã€‚ -地図ã«å¤‰æ›´ãŒåæ˜ ã•ã‚Œã‚‹ã¾ã§æ•°åˆ†ã‹ã‹ã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ - -Adult 専用リージョンã«å…¥ã‚‹ã«ã¯ã€ä½äººã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆãŒå¹´é½¢ç¢ºèªã‹æ”¯æ‰•æ–¹æ³•ã®ã„ãšã‚Œã‹ã§ã€Œç¢ºèªæ¸ˆã¿ã€ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 - </notification> - <notification label="ボイスãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ä¸ä¸€è‡´" name="VoiceVersionMismatch"> - [APP_NAME] ã®ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¯ã€ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«ãŠã‘るボイスãƒãƒ£ãƒƒãƒˆã®äº’æ›æ€§ãŒã‚ã‚Šã¾ã›ã‚“。 ボイスãƒãƒ£ãƒƒãƒˆã‚’æ£å¸¸ã«è¡Œã†ãŸã‚ã«ã¯ã€[APP_NAME] ã®ã‚¢ãƒƒãƒ—デートãŒå¿…è¦ã§ã™ã€‚ - </notification> - <notification label="オブジェクトを購入ã§ãã¾ã›ã‚“" name="BuyObjectOneOwner"> - 複数ã®æ‰€æœ‰è€…ã‹ã‚‰åŒæ™‚ã«ã‚ªãƒ–ジェクトを購入ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 -å˜ä¸€ã®ã‚ªãƒ–ジェクトをé¸æŠžã—ã€ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 - </notification> - <notification label="コンテンツを購入ã§ãã¾ã›ã‚“" name="BuyContentsOneOnly"> - 一度ã«è¤‡æ•°ã®ã‚ªãƒ–ジェクトã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã¯è³¼å…¥ã§ãã¾ã›ã‚“。 -é¸æŠžã™ã‚‹ã‚ªãƒ–ジェクトを1ã¤ã ã‘ã«ã—ã¦ã€ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 - </notification> - <notification label="コンテンツを購入ã§ãã¾ã›ã‚“" name="BuyContentsOneOwner"> - 複数ã®æ‰€æœ‰è€…ã‹ã‚‰åŒæ™‚ã«ã‚ªãƒ–ジェクトを購入ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 -å˜ä¸€ã®ã‚ªãƒ–ジェクトをé¸æŠžã—ã€ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 - </notification> - <notification name="BuyOriginal"> - オリジナルã®ã‚ªãƒ–ジェクトを [OWNER] ã‹ã‚‰ L$ [PRICE] ã§è³¼å…¥ã—ã¾ã™ã‹ï¼Ÿ -購入ã™ã‚‹ã¨ã€ã‚ãªãŸãŒã‚ªãƒ–ジェクトã®æ‰€æœ‰è€…ã¨ãªã‚Šã¾ã™ã€‚ -å¯èƒ½ãªæ“作ã¯ã€ -ä¿®æ£ï¼š[MODIFYPERM]ã€ã‚³ãƒ”ー:[COPYPERM]〠-å†è²©ãƒ»ãƒ—レゼント:[RESELLPERM] ã§ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="BuyOriginalNoOwner"> - L$ [PRICE] ã§ã‚ªãƒªã‚¸ãƒŠãƒ«ã®ã‚ªãƒ–ジェクトを購入ã—ã¾ã™ã‹ï¼Ÿ -購入ã™ã‚‹ã¨ã€ã‚ãªãŸãŒã‚ªãƒ–ジェクトã®æ‰€æœ‰è€…ã¨ãªã‚Šã¾ã™ã€‚ -å¯èƒ½ãªæ“作ã¯ã€ -ä¿®æ£ï¼š[MODIFYPERM]ã€ã‚³ãƒ”ー:[COPYPERM]〠-å†è²©ãƒ»ãƒ—レゼント:[RESELLPERM] ã§ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="BuyCopy"> - コピーを [OWNER] ã‹ã‚‰ L$ [PRICE] ã§è³¼å…¥ã—ã¾ã™ã‹ï¼Ÿ -購入ã—ãŸã‚ªãƒ–ジェクトã¯ã€ã‚ãªãŸã®ã€ŒæŒã¡ç‰©ã€ã«ã‚³ãƒ”ーã•ã‚Œã¾ã™ã€‚ -å¯èƒ½ãªæ“作ã¯ã€ -ä¿®æ£ï¼š[MODIFYPERM]ã€ã‚³ãƒ”ー:[COPYPERM]〠-å†è²©ãƒ»ãƒ—レゼント:[RESELLPERM] ã§ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="BuyCopyNoOwner"> - L$ [PRICE] ã§ã‚³ãƒ”ーを購入ã—ã¾ã™ã‹ï¼Ÿ -購入ã—ãŸã‚ªãƒ–ジェクトã¯ã€ã‚ãªãŸã®ã€ŒæŒã¡ç‰©ã€ã«ã‚³ãƒ”ーã•ã‚Œã¾ã™ã€‚ -å¯èƒ½ãªæ“作ã¯ã€ -ä¿®æ£ï¼š[MODIFYPERM]ã€ã‚³ãƒ”ー:[COPYPERM]〠-å†è²©ãƒ»ãƒ—レゼント:[RESELLPERM] ã§ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="BuyContents"> - ä¸èº«ã‚’ [OWNER] ã‹ã‚‰ L$ [PRICE] ã§è³¼å…¥ã—ã¾ã™ã‹ï¼Ÿ -購入ã—ãŸä¸èº«ã¯ã€ã‚ãªãŸã®ã€ŒæŒã¡ç‰©ã€ã«ã‚³ãƒ”ーã•ã‚Œã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="BuyContentsNoOwner"> - L$ [PRICE] ã§ä¸èº«ã‚’購入ã—ã¾ã™ã‹ï¼Ÿ -購入ã—ãŸä¸èº«ã¯ã€ã‚ãªãŸã®ã€ŒæŒã¡ç‰©ã€ã«ã‚³ãƒ”ーã•ã‚Œã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ConfirmPurchase"> - ã“ã®å–引ã¯ä»¥ä¸‹ã®ã¨ãŠã‚Šè¡Œã‚ã‚Œã¾ã™ï¼š -[ACTION] - -購入を続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ConfirmPurchasePassword"> - ã“ã®å–引ã¯ä»¥ä¸‹ã®ã¨ãŠã‚Šè¡Œã‚ã‚Œã¾ã™ï¼š -[ACTION] - -購入を続ã‘ã¾ã™ã‹ï¼Ÿ -パスワードをå†å…¥åŠ›ã—ã€ã€Œ OK ã€ã‚’クリックã—ã¦ãã ã•ã„。 - <form name="form"> - <input name="message"/> - <button name="ConfirmPurchase" text="OK"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification name="SetPickLocation"> - メモ: -本ピックã®ä½ç½®ã‚’æ›´æ–°ã—ã¾ã—ãŸãŒã€ -ä»–ã®è©³ç´°ã¯å…ƒã®å€¤ã®ã¾ã¾ã«ãªã‚Šã¾ã™ã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="MoveInventoryFromObject"> - 「コピーä¸å¯ã€ã®æŒã¡ç‰©ã‚¢ã‚¤ãƒ†ãƒ ã‚’é¸æŠžã—ã¾ã—ãŸã€‚ -ã“れらã®ã‚¢ã‚¤ãƒ†ãƒ ã¯ã‚³ãƒ”ーã•ã‚Œãªã„ã¾ã¾ã€ã‚ãªãŸã®ã€ŒæŒã¡ç‰©ã€ã«ç§»å‹•ã•ã‚Œã¾ã™ã€‚ - - -アイテムを動ã‹ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="「コピーä¸å¯ã€ã®ã‚¢ã‚¤ãƒ†ãƒ をオブジェクトã‹ã‚‰å‹•ã‹ã™å‰ã®è¦å‘Š" name="okcancelignore" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="MoveInventoryFromScriptedObject"> - 「コピーä¸å¯ã€ã®æŒã¡ç‰©ã‚¢ã‚¤ãƒ†ãƒ ã‚’é¸æŠžã—ã¾ã—ãŸã€‚ -ã“れらã®ã‚¢ã‚¤ãƒ†ãƒ ã¯ã‚³ãƒ”ーã•ã‚Œãšã«ã€ã‚ãªãŸã®ã€ŒæŒã¡ç‰©ã€ã«ç§»å‹•ã•ã‚Œã¾ã™ã€‚ -ã“ã®ã‚ªãƒ–ジェクトã¯ã‚¹ã‚¯ãƒªãƒ—ト付ããªã®ã§ã€ã€ŒæŒã¡ç‰©ã€ã«ç§»å‹•ã•ã›ã‚‹ã¨ -スクリプトã«èª¤å‹•ä½œãŒèµ·ãã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ - -æŒã¡ç‰©ã‚¢ã‚¤ãƒ†ãƒ を移動ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="スクリプト入りã®ã‚ªãƒ–ジェクトを壊ã™æã‚Œã®ã‚る「コピーä¸å¯ã€ã®ã‚¢ã‚¤ãƒ†ãƒ ã‚’å‹•ã‹ã™å‰ã®è¦å‘Š" name="okcancelignore" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ClickActionNotPayable"> - è¦å‘Šï¼š クリックã§ã€Œã‚ªãƒ–ジェクトã«æ”¯æ‰•ã†ã€è¨å®šã‚’ã—ã¾ã—ãŸã€‚スクリプト㫠money()イベントãŒè¿½åŠ ã•ã‚Œã‚‹ã¨å‹•ä½œã—ã¾ã™ã€‚ - <form name="form"> - <ignore name="ignore" text="オブジェクトを作æˆä¸ã«ã€money() スクリプトを入れãšã«ã€Œã‚ªãƒ–ジェクトã«æ”¯æ‰•ã†ã€ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã‚’è¨å®šã—ãŸã¨ã"/> - </form> - </notification> - <notification name="OpenObjectCannotCopy"> - ã“ã®ã‚ªãƒ–ジェクトã«ã¯ã€ã‚ãªãŸãŒã‚³ãƒ”ーã§ãるアイテムã¯ã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="WebLaunchAccountHistory"> - [http://jp.secondlife.com/account/ マイアカウント] ページã«ç§»å‹•ã—ã¦ã‚¢ã‚«ã‚¦ãƒ³ãƒˆå±¥æ´ã‚’確èªã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="ブラウザを起動ã—ã¦ã‚¢ã‚«ã‚¦ãƒ³ãƒˆå±¥æ´ã‚’見るã¨ã" name="okcancelignore" notext="å–り消ã—" yestext="ページã«ç§»å‹•"/> - </notification> - <notification name="ConfirmQuit"> - 終了ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="終了時ã®ç¢ºèª" name="okcancelignore" notext="終了ã—ãªã„" yestext="終了"/> - </notification> - <notification name="DeleteItems"> - [QUESTION] - <usetemplate ignoretext="アイテムを削除ã™ã‚‹å‰ã®ç¢ºèª" name="okcancelignore" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="HelpReportAbuseEmailLL"> - ã“ã®ãƒ„ールを利用ã—㦠[http://secondlife.com/corporate/tos.php 利用è¦ç´„] ã‚„ [http://jp.secondlife.com/corporate/cs.php コミュニティスタンダード] ã®é•åã‚’å ±å‘Šã—ã¦ãã ã•ã„。 - -å ±å‘Šã•ã‚ŒãŸå«ŒãŒã‚‰ã›ã¯ã™ã¹ã¦èª¿æŸ»ãƒ»è§£æ±ºã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="HelpReportAbuseSelectCategory"> - å«ŒãŒã‚‰ã›å ±å‘Šã®ã‚«ãƒ†ã‚´ãƒªã‚’é¸æŠžã—ã¦ãã ã•ã„。 -カテゴリをé¸æŠžã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€å«ŒãŒã‚‰ã›å ±å‘Šã®å‡¦ç†ã‚„ä¿ç®¡ã«å¤§å¤‰å½¹ç«‹ã¡ã¾ã™ã€‚ - </notification> - <notification name="HelpReportAbuseAbuserNameEmpty"> - å«ŒãŒã‚‰ã›è¡Œç‚ºã‚’ã—ãŸäººã®åå‰ã‚’入力ã—ã¦ãã ã•ã„。 -æ£ç¢ºãªæƒ…å ±ã®å…¥åŠ›ã«ã‚ˆã‚Šã€å«ŒãŒã‚‰ã›å ±å‘Šã®å‡¦ç†ã‚„ä¿ç®¡ã«å¤§å¤‰å½¹ç«‹ã¡ã¾ã™ã€‚ - </notification> - <notification name="HelpReportAbuseAbuserLocationEmpty"> - å«ŒãŒã‚‰ã›ãŒã‚ã£ãŸå ´æ‰€ã‚’入力ã—ã¦ãã ã•ã„。 -æ£ç¢ºãªæƒ…å ±ã®å…¥åŠ›ã«ã‚ˆã‚Šã€å«ŒãŒã‚‰ã›å ±å‘Šã®å‡¦ç†ã‚„ä¿ç®¡ã«å¤§å¤‰å½¹ç«‹ã¡ã¾ã™ã€‚ - </notification> - <notification name="HelpReportAbuseSummaryEmpty"> - å«ŒãŒã‚‰ã›ã®æ¦‚è¦ã‚’入力ã—ã¦ãã ã•ã„。 -æ£ç¢ºãªæ¦‚è¦ã®å…¥åŠ›ã«ã‚ˆã‚Šã€ -å«ŒãŒã‚‰ã›å ±å‘Šã®å‡¦ç†ã‚„ä¿ç®¡ã«å¤§å¤‰å½¹ç«‹ã¡ã¾ã™ã€‚ - </notification> - <notification name="HelpReportAbuseDetailsEmpty"> - å«ŒãŒã‚‰ã›ã®è©³ç´°ãªèª¬æ˜Žã‚’入力ã—ã¦ãã ã•ã„。 -åå‰ã‚„å«ŒãŒã‚‰ã›ã®è©³ç´°ã‚’ã€ã§ãã‚‹ã ã‘具体的ã«å…¥åŠ›ã—ã¦ãã ã•ã„。 - -æ£ç¢ºãªèª¬æ˜Žã®å…¥åŠ›ã«ã‚ˆã‚Šã€ -å«ŒãŒã‚‰ã›å ±å‘Šã®å‡¦ç†ã‚„ä¿ç®¡ã«å¤§å¤‰å½¹ç«‹ã¡ã¾ã™ã€‚ - </notification> - <notification name="HelpReportAbuseContainsCopyright"> - ã“ã‚“ã«ã¡ã¯ã€ - -知的財産権ã®ä¾µå®³ã‚’å ±å‘Šã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚ æ£ç¢ºã«å ±å‘Šã™ã‚‹ãŸã‚ã«ã€ä»¥ä¸‹ã‚’ã”確èªãã ã•ã„: - -(1) å«ŒãŒã‚‰ã›ã®å ±å‘Šã®æ‰‹é † ä½äººãŒ [SECOND_LIFE] ã®æ¨©é™ã‚·ã‚¹ãƒ†ãƒ を悪用ã—ã¦ã„ã‚‹ã®ã‚’見ã¤ã‘ãŸã‚‰ã€å«ŒãŒã‚‰ã›ã®å ±å‘Šã‚’ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚例ãˆã°ã€CopyBot ã‚„ä¼¼ãŸã‚ˆã†ãªã‚³ãƒ”ーツールを使用ã—ã¦çŸ¥çš„財産権を侵害ã—ã¦ã„ã‚‹å ´åˆã§ã™ã€‚ 担当ãƒãƒ¼ãƒ ã¯èª¿æŸ»ã‚’è¡Œã„ã€[SECOND_LIFE] [http://secondlife.com/corporate/tos.php 利用è¦ç´„] ã‚„ [http://jp.secondlife.com/corporate/cs.php コミュニティスタンダード] ã«é•åã™ã‚‹è¡Œç‚ºã«å¯¾ã™ã‚‹é©åˆ‡ãªå‡¦ç½°ã‚’下ã—ã¾ã™ã€‚ ãŸã ã—ã€æ‹…当ãƒãƒ¼ãƒ 㯠[SECOND_LIFE] ã®ä¸–ç•Œã‹ã‚‰ã‚³ãƒ³ãƒ†ãƒ³ãƒ„を削除ã—ã¦æ¬²ã—ã„ã¨ã„ã†ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ã¯å¿œã˜ã¾ã›ã‚“。 - -(2) DMCA ã¾ãŸã¯ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®æ’¤åŽ»ã®æ‰‹é † コンテンツを [SECOND_LIFE] ã‹ã‚‰å‰Šé™¤ã—ã¦æ¬²ã—ã„ã¨ã„ã†ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ã™ã‚‹ã«ã¯ã€å¼Šç¤¾ [http://secondlife.com/corporate/dmca.php DMCA ãƒãƒªã‚·ãƒ¼] ã§æ示ã•ã‚Œã¦ã„ã‚‹ã¨ãŠã‚Šã€æœ‰åŠ¹ãªä¾µå®³ã®é€šçŸ¥ã‚’æ出ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。. - -ã“ã®ã¾ã¾å«ŒãŒã‚‰ã›ã®å ±å‘Šã‚’続ã‘ãŸã„å ´åˆã¯ã€ã“ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’é–‰ã˜ã¦å ±å‘Šã‚’é€ã£ã¦ãã ã•ã„。 「コピー Bot åŠã³æ¨©é™ã®æ‚ªç”¨ã€ã®ã‚«ãƒ†ã‚´ãƒªã‚’é¸ã‚“ã æ–¹ãŒé©åˆ‡ã®å ´åˆãŒã‚ã‚Šã¾ã™ã€‚ - -ã”å”力ã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ã€‚ - -Linden Lab - </notification> - <notification name="FailedRequirementsCheck"> - 以下ã®å¿…è¦ãªã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆãŒã€[FLOATER] ã‹ã‚‰æŠœã‘è½ã¡ã¦ã„ã¾ã™ -[COMPONENTS] - </notification> - <notification label="æ—¢å˜ã®ä»˜å±žå“ã‚’ç½®æ›" name="ReplaceAttachment"> - 体ã®ã“ã®éƒ¨ä½ã«ã¯æ—¢ã«ã‚ªãƒ–ジェクトãŒè£…ç€ã•ã‚Œã¦ã„ã¾ã™ã€‚ -é¸æŠžã•ã‚ŒãŸã‚ªãƒ–ジェクトã¨ç½®ãæ›ãˆã¾ã™ã‹ï¼Ÿ - <form name="form"> - <ignore name="ignore" save_option="true" text="装ç€ã—ã¦ã„るアイテムã¨é¸æŠžã—ãŸã‚¢ã‚¤ãƒ†ãƒ を入れ替ãˆã‚‹ã¨ã"/> - <button ignore="自動的ã«äº¤æ›" name="Yes" text="OK"/> - <button ignore="交æ›ã—ãªã„" name="No" text="ã‚ャンセル"/> - </form> - </notification> - <notification label="å–ã‚Šè¾¼ã¿ä¸ã®è¦å‘Š" name="BusyModePay"> - ç¾åœ¨ã€ã€Œå–ã‚Šè¾¼ã¿ä¸ã€ãƒ¢ãƒ¼ãƒ‰ã®ãŸã‚ã€æ”¯æ‰•ã„ã¨å¼•ãæ›ãˆã«ã‚¢ã‚¤ãƒ†ãƒ ã‚’å—ã‘å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 - -ã“ã®å–引を行ã†ãŸã‚ã«ã€Œå–ã‚Šè¾¼ã¿ä¸ã€ã®è¨å®šã‚’解除ã—ã¾ã™ã‹ï¼Ÿ - <form name="form"> - <ignore name="ignore" save_option="true" text="å–ã‚Šè¾¼ã¿ä¸ãƒ¢ãƒ¼ãƒ‰æ™‚ã«æ”¯æ‰•ã‚’ã™ã‚‹ã¨ã"/> - <button ignore="常ã«ã€Œå–ã‚Šè¾¼ã¿ä¸ã€ã®è¨å®šã‚’解除" name="Yes" text="OK"/> - <button ignore="常ã«ã€Œå–ã‚Šè¾¼ã¿ä¸ã€ã®è¨å®šã‚’継続" name="No" text="ã‚ャンセル"/> - </form> - </notification> - <notification name="ConfirmDeleteProtectedCategory"> - 「 [FOLDERNAME] 〠ã¯ã€ã‚·ã‚¹ãƒ†ãƒ フォルダã§ã™ã€‚ システムフォルダを削除ã™ã‚‹ã¨ä¸å®‰å®šã«ãªã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ 続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="システムフォルダを削除ã™ã‚‹å‰ã®ç¢ºèª" name="okcancelignore" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmEmptyTrash"> - ã”ã¿ç®±ã®ä¸èº«ã‚’ã™ã¹ã¦å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="æŒã¡ç‰©ã®ã”ã¿ç®±ãƒ•ã‚©ãƒ«ãƒ€ã‚’空ã«ã™ã‚‹å‰ã®ç¢ºèª" name="okcancelignore" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmClearBrowserCache"> - トラベルã€Webã€æ¤œç´¢ã®å±¥æ´ã‚’ã™ã¹ã¦å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmClearCookies"> - 本当ã«ã‚¯ãƒƒã‚ーをクリアã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="ã¯ã„"/> - </notification> - <notification name="ConfirmClearMediaUrlList"> - ä¿å˜ã•ã‚ŒãŸ URL ã®ãƒªã‚¹ãƒˆã‚’消去ã—ã¾ã™ã€‚よã‚ã—ã„ã§ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="ã¯ã„"/> - </notification> - <notification name="ConfirmEmptyLostAndFound"> - 紛失物ã®ä¸èº«ã‚’ã™ã¹ã¦å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="紛失物フォルダを空ã«ã™ã‚‹å‰ã®ç¢ºèª" name="okcancelignore" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="CopySLURL"> - 次㮠SLurl ãŒã‚¯ãƒªãƒƒãƒ—ボードã«ã‚³ãƒ”ーã•ã‚Œã¾ã—ãŸï¼š - [SLURL] - -Web ページã«ãƒªãƒ³ã‚¯ã™ã‚‹ã¨ã€ä»–人ãŒã“ã®å ´æ‰€ã«ç°¡å˜ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã™ã€‚Web ブラウザã®ã‚¢ãƒ‰ãƒ¬ã‚¹ãƒãƒ¼ã«è²¼ã‚Šä»˜ã‘ã¦è©¦ã—ã¦ã¿ã¦ãã ã•ã„。 - <form name="form"> - <ignore name="ignore" text="クリップボード㫠SLurl をコピーã™ã‚‹ã¨ã"/> - </form> - </notification> - <notification name="WLSavePresetAlert"> - ä¿å˜ã•ã‚ŒãŸäº‹å‰è¨å®šã‚’上書ãã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="WLDeletePresetAlert"> - 「 [SKY] ã€ã‚’削除ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="WLNoEditDefault"> - デフォルトã®è¨å®šã‚’編集ã—ãŸã‚Šå‰Šé™¤ã—ãŸã‚Šã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="WLMissingSky"> - ã“ã®ãƒ‡ã‚¤ã‚µã‚¤ã‚¯ãƒ«ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯æ¬¡ã®å˜åœ¨ã—ãªã„「空ã€ãƒ•ã‚¡ã‚¤ãƒ«ã‚’å‚ç…§ã—ã¦ã„ã¾ã™ï¼š [SKY]。 - </notification> - <notification name="PPSaveEffectAlert"> - ãƒã‚¹ãƒˆãƒ—ãƒã‚»ã‚¹åŠ¹æžœãŒå˜åœ¨ã—ã¾ã™ã€‚ 上書ãã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="NewSkyPreset"> - æ–°ã—ã„空ã®åå‰ã‚’指定ã—ã¦ãã ã•ã„。 - <form name="form"> - <input name="message"> - æ–°ã—ã„事å‰è¨å®š - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="ã‚ャンセル"/> - </form> - </notification> - <notification name="ExistsSkyPresetAlert"> - 事å‰è¨å®šãŒã™ã§ã«å˜åœ¨ã—ã¾ã™ï¼ - </notification> - <notification name="NewWaterPreset"> - æ–°ã—ã„æ°´ã®äº‹å‰è¨å®šã®åå‰ã‚’指定ã—ã¦ãã ã•ã„。 - <form name="form"> - <input name="message"> - æ–°ã—ã„事å‰è¨å®š - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="ã‚ャンセル"/> - </form> - </notification> - <notification name="ExistsWaterPresetAlert"> - 事å‰è¨å®šãŒã™ã§ã«å˜åœ¨ã—ã¾ã™ï¼ - </notification> - <notification name="WaterNoEditDefault"> - デフォルトã®è¨å®šã‚’編集ã—ãŸã‚Šå‰Šé™¤ã—ãŸã‚Šã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="ChatterBoxSessionStartError"> - [RECIPIENT] ã¨æ–°ã—ã„ãƒãƒ£ãƒƒãƒˆã‚’開始ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 -[REASON] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ChatterBoxSessionEventError"> - [EVENT] -[REASON] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ForceCloseChatterBoxSession"> - [NAME] ã¨ã®ãƒãƒ£ãƒƒãƒˆã‚»ãƒƒã‚·ãƒ§ãƒ³ã‚’é–‰ã˜ã¾ã™ã€‚ -[REASON] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="Cannot_Purchase_an_Attachment"> - オブジェクトãŒå–り付ã‘られã¦ã„ã‚‹ã¾ã¾ã§ã¯è³¼å…¥ã§ãã¾ã›ã‚“。 - </notification> - <notification label="引ã出ã—許å¯ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ã¤ã„ã¦" name="DebitPermissionDetails"> - ã“ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’許å¯ã™ã‚‹ã¨ã€ã‚¹ã‚¯ãƒªãƒ—トã§ã‚ãªãŸã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‹ã‚‰ãƒªãƒ³ãƒ‡ãƒ³ãƒ‰ãƒ«ã‚’引ã出ã›ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ -ã“ã®è¨±å¯ã‚’å–り消ã™ã«ã¯ã€ã‚ªãƒ–ジェクトã®æ‰€æœ‰è€…ãŒã‚ªãƒ–ジェクトを削除ã™ã‚‹ã‹ã€ã‚ªãƒ–ジェクトã®ã‚¹ã‚¯ãƒªãƒ—トをリセットã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AutoWearNewClothing"> - 作æˆã™ã‚‹è¡£é¡žã‚’自動的ã«è£…ç€ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="「容姿ã€ã‚’編集ä¸ã«ã€ä½œæˆã™ã‚‹è¡£é¡žã‚’装ç€ã™ã‚‹ã¨ã" name="okcancelignore" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="NotAgeVerified"> - 年齢確èªã‚’済ã¾ã›ã¦ã„ãªã„ã¨ã“ã®åŒºç”»ã‚’訪れるã“ã¨ãŒã§ãã¾ã›ã‚“。 [SECOND_LIFE] サイトã§å¹´é½¢ã®ç¢ºèªã‚’è¡Œã„ã¾ã™ã‹ï¼Ÿ - -[_URL] - <url name="url" option="0"> - https://secondlife.com/account/verification.php?lang=ja - </url> - <usetemplate ignoretext="å¹´é½¢ã®ç¢ºèªã‚’済ã¾ã›ã¦ã„ãªã„ã¨ã" name="okcancelignore" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="Cannot enter parcel: no payment info on file"> - æ”¯æ‰•æƒ…å ±ãŒç™»éŒ²ã•ã‚Œã¦ã„ãªã„ã¨ã“ã®ã‚¨ãƒªã‚¢ã‚’訪れるã“ã¨ãŒã§ãã¾ã›ã‚“。 [SECOND_LIFE] サイトã§ç™»éŒ²ã‚’è¡Œã„ã¾ã™ã‹ï¼Ÿ - -[_URL] - <url name="url" option="0"> - https://secondlife.com/account/index.php?lang=ja - </url> - <usetemplate ignoretext="æ”¯æ‰•æƒ…å ±ãŒç™»éŒ²ã•ã‚Œã¦ã„ãªã„ã¨ã" name="okcancelignore" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="MissingString"> - æ–‡å—列 [STRING_NAME] ㌠strings.xml ã«å«ã¾ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="SystemMessageTip"> - [MESSAGE] - </notification> - <notification name="IMSystemMessageTip"> - [MESSAGE] - </notification> - <notification name="Cancelled"> - å–り消ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="CancelledSit"> - 座るã®ã‚’ã‚„ã‚ã¾ã—ãŸã€‚ - </notification> - <notification name="CancelledAttach"> - 添付ãŒå–り消ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="ReplacedMissingWearable"> - æ¬ è½ã—ã¦ã„る衣類や身体部ä½ã‚’デフォルトã«ç½®ãæ›ãˆã¾ã™ã€‚ - </notification> - <notification name="GroupNotice"> - 件å: [SUBJECT]ã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ï¼š [MESSAGE] - </notification> - <notification name="FriendOnline"> - [NAME] ã¯ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ä¸ã§ã™ - </notification> - <notification name="FriendOffline"> - [NAME] ã¯ã‚ªãƒ•ãƒ©ã‚¤ãƒ³ä¸ã§ã™ - </notification> - <notification name="AddSelfFriend"> - 残念ãªãŒã‚‰è‡ªåˆ†è‡ªèº«ã‚’フレンド登録ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="UploadingAuctionSnapshot"> - インワールド㨠Web サイトã®ã‚¹ãƒŠãƒƒãƒ—ショットをアップãƒãƒ¼ãƒ‰ä¸ã§ã™... -(所è¦æ™‚間:約 5 分) - </notification> - <notification name="UploadPayment"> - アップãƒãƒ¼ãƒ‰ã« L$ [AMOUNT] 支払ã„ã¾ã—ãŸã€‚ - </notification> - <notification name="UploadWebSnapshotDone"> - Web サイトã®ã‚¹ãƒŠãƒƒãƒ—ショットãŒã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="UploadSnapshotDone"> - インワールドã§ã®ã‚¹ãƒŠãƒƒãƒ—ショットã®ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰ãŒå®Œäº†ã—ã¾ã—ãŸã€‚ - </notification> - <notification name="TerrainDownloaded"> - raw 地形ãŒãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã•ã‚Œã¾ã—㟠- </notification> - <notification name="GestureMissing"> - ジェスãƒãƒ£ãƒ¼ã® [NAME] ãŒãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="UnableToLoadGesture"> - [NAME] ã¨ã„ã†ã‚¸ã‚§ã‚¹ãƒãƒ£ãƒ¼ã‚’èªã¿è¾¼ã‚€ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ - </notification> - <notification name="LandmarkMissing"> - データベースã«ãƒ©ãƒ³ãƒ‰ãƒžãƒ¼ã‚¯ãŒã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="UnableToLoadLandmark"> - ランドマークをèªã¿è¾¼ã‚ã¾ã›ã‚“。 ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="CapsKeyOn"> - CapsLock ã‚ーãŒæœ‰åŠ¹ã«ãªã£ã¦ã„ã¾ã™ã€‚ -パスワードã«å½±éŸ¿ã™ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 - </notification> - <notification name="NotecardMissing"> - ノートカードãŒãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="NotecardNoPermissions"> - ã“ã®ãƒŽãƒ¼ãƒˆã‚«ãƒ¼ãƒ‰ã‚’見る権é™ãŒã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="RezItemNoPermissions"> - オブジェクトを Rez ã™ã‚‹ã«ã¯æ¨©é™ãŒä¸è¶³ã—ã¦ã„ã¾ã™ã€‚ - </notification> - <notification name="UnableToLoadNotecard"> - ノートカードをèªã¿è¾¼ã‚ã¾ã›ã‚“。ã‚ã¨ã§å†åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="ScriptMissing"> - データベースã«ã‚¹ã‚¯ãƒªãƒ—トãŒã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="ScriptNoPermissions"> - スクリプトを閲覧ã™ã‚‹ã«ã¯æ¨©é™ãŒä¸å分ã§ã™ã€‚ - </notification> - <notification name="UnableToLoadScript"> - スクリプトをãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“。 ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 - </notification> - <notification name="IncompleteInventory"> - ã‚ãªãŸã®æä¾›ã™ã‚‹ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã¯ã€ãƒãƒ¼ã‚«ãƒ«ã§ã¯ã¾ã 全部æƒã£ã¦ã„ã¾ã›ã‚“。 -ã—ã°ã‚‰ãã—ã¦ã‹ã‚‰ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="CannotModifyProtectedCategories"> - ä¿è·ã•ã‚ŒãŸã‚«ãƒ†ã‚´ãƒªã¯ä¿®æ£ã§ãã¾ã›ã‚“。 - </notification> - <notification name="CannotRemoveProtectedCategories"> - ä¿è·ã•ã‚ŒãŸã‚«ãƒ†ã‚´ãƒªã¯å‰Šé™¤ã§ãã¾ã›ã‚“。 - </notification> - <notification name="UnableToBuyWhileDownloading"> - オブジェクトデータã®ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ä¸ã¯è³¼å…¥ã§ãã¾ã›ã‚“。 -ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="UnableToLinkWhileDownloading"> - オブジェクトデータã®ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ä¸ã¯ãƒªãƒ³ã‚¯ã§ãã¾ã›ã‚“。 -ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="CannotBuyObjectsFromDifferentOwners"> - オブジェクトã¯ä¸€åº¦ã«ä¸€äººã®æ‰€æœ‰è€…ã‹ã‚‰è³¼å…¥ã§ãã¾ã™ã€‚ -オブジェクトを 1 ã¤ã ã‘é¸ã‚“ã§ãã ã•ã„。 - </notification> - <notification name="ObjectNotForSale"> - ã“ã®ã‚ªãƒ–ジェクトã¯è²©å£²å¯¾è±¡ã§ã¯ã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="EnteringGodMode"> - レベル [LEVEL] ã®ã‚´ãƒƒãƒ‰ãƒ¢ãƒ¼ãƒ‰ã«å…¥ã‚Šã¾ã™ - </notification> - <notification name="LeavingGodMode"> - レベル [LEVEL] ã®ã‚´ãƒƒãƒ‰ãƒ¢ãƒ¼ãƒ‰ã‚’解除ã—ã¾ã™ - </notification> - <notification name="CopyFailed"> - ã“れをコピーã™ã‚‹æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="InventoryAccepted"> - [NAME] ã¯ã€ã‚ãªãŸãŒæ¸¡ã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã‚’å—ã‘å–ã‚Šã¾ã—ãŸã€‚ - </notification> - <notification name="InventoryDeclined"> - [NAME] ã¯ã€æŒã¡ç‰©ã®æ供をæ–ã‚Šã¾ã—ãŸã€‚ - </notification> - <notification name="ObjectMessage"> - [NAME]: [MESSAGE] - </notification> - <notification name="CallingCardAccepted"> - コーリングカードãŒå—ç†ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="CallingCardDeclined"> - コーリングカードãŒæ‹’å¦ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="TeleportToLandmark"> - ç”»é¢å³ã®ã€Œå ´æ‰€ã€ãƒ‘ãƒãƒ«ã‚’é–‹ã„ã¦ã€ã€Œãƒ©ãƒ³ãƒ‰ãƒžãƒ¼ã‚¯ã€ã‚¿ãƒ–ã‚’é¸ã¶ã¨ã€[NAME] ã¨ã„ã£ãŸå ´æ‰€ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã§ãã¾ã™ã€‚ -好ããªãƒ©ãƒ³ãƒ‰ãƒžãƒ¼ã‚¯ã‚’クリックã—ã¦é¸ã³ã€æ¬¡ã«ãƒ‘ãƒãƒ«ä¸‹ã®ã€Œãƒ†ãƒ¬ãƒãƒ¼ãƒˆã€ã‚’クリックã—ã¾ã™ã€‚ -(ランドマークをダブルクリックã€ã¾ãŸã¯å³ã‚¯ãƒªãƒƒã‚¯ã—ã¦ã€Œãƒ†ãƒ¬ãƒãƒ¼ãƒˆã€ã‚’é¸ã‚“ã§ã‚‚åŒã˜ã§ã™ã€‚) - </notification> - <notification name="TeleportToPerson"> - ç”»é¢å³ã®ã€Œäººã€ãƒ‘ãƒãƒ«ã‚’é–‹ã„ã¦ã€[NAME] ã¨ã„ã£ãŸä½äººã«é€£çµ¡ã‚’å–ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ -リストã‹ã‚‰ä½äººã‚’é¸æŠžã—ã¦ã€ãƒ‘ãƒãƒ«ä¸‹ã®ã€ŒIMã€ã‚’クリックã—ã¾ã™ã€‚ -(リストã®åå‰ã‚’ダブルクリックã€ã¾ãŸã¯å³ã‚¯ãƒªãƒƒã‚¯ã—ã¦ã€ŒIMã€ã‚’é¸ã‚“ã§ã‚‚åŒã˜ã§ã™ã€‚) - </notification> - <notification name="CantSelectLandFromMultipleRegions"> - サーãƒãƒ¼ã®å¢ƒç•Œã‚’越ãˆã¦åœŸåœ°ã‚’é¸æŠžã™ã‚‹ã“ã¨ã§ãã¾ã›ã‚“。 -ã‚‚ã£ã¨å°ã•ãªåœŸåœ°ã‚’é¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="SearchWordBanned"> - コミュニティスタンダードã«æ˜Žè¨˜ã•ã‚Œã¦ã„るコンテンツ制é™ã«ã‚ˆã‚Šã€ã‚ãªãŸã®æ¤œç´¢èªžã®ä¸€éƒ¨ãŒé™¤å¤–ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="NoContentToSearch"> - å°‘ãªãã¨ã‚‚ã©ã‚Œã‹ä¸€ã¤ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®ç¨®é¡žã‚’é¸æŠžã—ã¦æ¤œç´¢ã‚’è¡Œã£ã¦ãã ã•ã„。(Generalã€Moderateã€Adult) - </notification> - <notification name="SystemMessage"> - [MESSAGE] - </notification> - <notification name="PaymentReceived"> - [MESSAGE] - </notification> - <notification name="PaymentSent"> - [MESSAGE] - </notification> - <notification name="EventNotification"> - イベント通知: - -[NAME] -[DATE] - <form name="form"> - <button name="Details" text="詳細"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification name="TransferObjectsHighlighted"> - ã“ã®åŒºç”»ã®è³¼å…¥è€…ã«å—ã‘渡ã•ã‚Œã‚‹ã‚ªãƒ–ジェクトã¯ã€ã™ã¹ã¦åŒºç”»ä¸Šã§å¼·èª¿è¡¨ç¤ºã•ã‚Œã¦ã„ã¾ã™ã€‚ - - -*å—ã‘渡ã•ã‚Œã‚‹æ¨¹æœ¨ã‚„æ¤ç‰©ã¯ã€å¼·èª¿è¡¨ç¤ºã•ã‚Œã¦ã„ã¾ã›ã‚“。 - <form name="form"> - <button name="Done" text="完了"/> - </form> - </notification> - <notification name="DeactivatedGesturesTrigger"> - åŒã˜ãƒˆãƒªã‚¬ãƒ¼ã§ã‚¢ã‚¯ãƒ†ã‚£ãƒ–ã«ã—ãªã„ジェスãƒãƒ£ãƒ¼ï¼š -[NAMES] - </notification> - <notification name="NoQuickTime"> - Apple ã® QuickTime ソフトウェアãŒãŠä½¿ã„ã®ã‚·ã‚¹ãƒ†ãƒ ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ãªã„よã†ã§ã™ã€‚ -ストリーミングメディアをサãƒãƒ¼ãƒˆã™ã‚‹åŒºç”»ã§è¦‹ãŸã„å ´åˆã¯ã€[http://www.apple.com/jp/quicktime QuickTime サイト] ã‹ã‚‰ QuickTime プレイヤーをインストールã—ã¦ãã ã•ã„。 - </notification> - <notification name="NoPlugin"> - 「 [MIME_TYPE] ã€ã® MIME タイプを扱ã†ãƒ¡ãƒ‡ã‚£ã‚¢ãƒ—ラグインãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚ ã“ã®ã‚¿ã‚¤ãƒ—ã®ãƒ¡ãƒ‡ã‚£ã‚¢ã¯ã”利用ã„ãŸã ã‘ã¾ã›ã‚“。 - </notification> - <notification name="MediaPluginFailed"> - 次ã®ãƒ¡ãƒ‡ã‚£ã‚¢ãƒ—ラグインãŒå®Ÿè¡Œã§ãã¾ã›ã‚“ã§ã—ãŸï¼š - [PLUGIN] - -プラグインをインストールã—ãªãŠã™ã‹ã€å•é¡ŒãŒè§£æ±ºã—ãªã„å ´åˆã¯ãƒ¡ãƒ¼ã‚«ãƒ¼ã«ãŠå•ã„åˆã‚ã›ãã ã•ã„。 - <form name="form"> - <ignore name="ignore" text="メディアプラグインã®å®Ÿè¡Œã«å¤±æ•—ã—ãŸã¨ã"/> - </form> - </notification> - <notification name="OwnedObjectsReturned"> - é¸æŠžã—ãŸåœŸåœ°ã®åŒºç”»ä¸Šã«ã‚ã£ãŸã‚ãªãŸã®ã‚ªãƒ–ジェクトã¯ã€ã™ã¹ã¦ã‚ãªãŸã®ã€ŒæŒã¡ç‰©ã€ã«è¿”å´ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="OtherObjectsReturned"> - [NAME] ãŒæ‰€æœ‰ã™ã‚‹ã€é¸æŠžã—ãŸåŒºç”»ã«ã‚るオブジェクトã¯ã€æ‰€æœ‰è€…ã®æŒã¡ç‰©ã«è¿”å´ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="OtherObjectsReturned2"> - 「 [NAME] ã€ã¨ã„ã†åå‰ã®ä½äººãŒæ‰€æœ‰ã™ã‚‹ã€é¸æŠžã—ãŸåŒºç”»ä¸Šã®ã‚ªãƒ–ジェクトã¯ã€æœ¬äººã«è¿”å´ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="GroupObjectsReturned"> - é¸æŠžã—ãŸåŒºç”»ä¸Šã®ã€[GROUPNAME] ã¨ã„ã†ã‚°ãƒ«ãƒ¼ãƒ—ã¨å…±æœ‰ã—ã¦ã„ãŸã‚ªãƒ–ジェクトã¯ã€ãã‚Œãžã‚Œã®æ‰€æœ‰è€…ã®ã€ŒæŒã¡ç‰©ã€ã«è¿”å´ã•ã‚Œã¾ã—ãŸã€‚ -è²æ¸¡ã•ã‚Œã¦ã„ãŸã€Œå†è²©ãƒ»ãƒ—レゼントå¯ã€ã®ã‚ªãƒ–ジェクトã¯ã€ä»¥å‰ã®æ‰€æœ‰è€…ã«è¿”å´ã•ã‚Œã¾ã—ãŸã€‚ -グループã«è²æ¸¡ã•ã‚Œã¦ã„ãŸã€Œå†è²©ãƒ»ãƒ—レゼントä¸å¯ã€ã®ã‚ªãƒ–ジェクトã¯ã€å‰Šé™¤ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="UnOwnedObjectsReturned"> - é¸æŠžã—ãŸåœŸåœ°ã®åŒºç”»ä¸Šã®ã€ã‚ãªãŸã®æ‰€æœ‰ç‰©ã§ã¯ã€Œãªã‹ã£ãŸã€ã‚ªãƒ–ジェクトã¯ã€æœ¬æ¥ã®æ‰€æœ‰è€…ã«è¿”å´ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="ServerObjectMessage"> - [NAME] ã‹ã‚‰ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ï¼š -<nolink>[MSG]</nolink> - </notification> - <notification name="NotSafe"> - ã“ã®åœŸåœ°ã§ã¯ãƒ€ãƒ¡ãƒ¼ã‚¸ãŒæœ‰åŠ¹ã§ã™ã€‚ -ケガをã™ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 æ»ã‚“ã§ã—ã¾ã£ãŸå ´åˆã¯ã€Œãƒ›ãƒ¼ãƒ ã€ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="NoFly"> - ã“ã®ã‚¨ãƒªã‚¢ã§ã¯é£›è¡ŒãŒç¦æ¢ã•ã‚Œã¦ã„ã¾ã™ã€‚ -ã“ã“ã§ã¯é£›ã¹ã¾ã›ã‚“。 - </notification> - <notification name="PushRestricted"> - ã“ã®ã‚¨ãƒªã‚¢ã§ã¯ãƒ—ッシュãŒç¦æ¢ã•ã‚Œã¦ã„ã¾ã™ã€‚ 土地所有者以外ã¯ä»–人をプッシュã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="NoVoice"> - ã“ã®ã‚¨ãƒªã‚¢ã§ã¯ãƒœã‚¤ã‚¹ãƒãƒ£ãƒƒãƒˆãŒç„¡åŠ¹ã§ã™ã€‚ 誰ã‹ãŒè©±ã—ã¦ã„ã‚‹ã®ã‚’èžãã“ã¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="NoBuild"> - ã“ã®ã‚¨ãƒªã‚¢ã§ã¯åˆ¶ä½œãŒç¦æ¢ã•ã‚Œã¦ã„ã¾ã™ã€‚ オブジェクトを制作ã—ãŸã‚Š Rez ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="ScriptsStopped"> - 管ç†è€…ãŒã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã®ã‚¹ã‚¯ãƒªãƒ—トを一時åœæ¢ã—ã¾ã—ãŸã€‚ - </notification> - <notification name="ScriptsNotRunning"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ã‚¹ã‚¯ãƒªãƒ—トã®ä½¿ç”¨ãŒç¦æ¢ã•ã‚Œã¦ã„ã¾ã™ã€‚ - </notification> - <notification name="NoOutsideScripts"> - ã“ã®åœŸåœ°ã§ã¯ã€å¤–部ã®ã‚¹ã‚¯ãƒªãƒ—トãŒç¦æ¢ã•ã‚Œã¦ã„ã¾ã™ã€‚ - -土地所有者ã®ã‚‚ã®ä»¥å¤–ã¯ã‚¹ã‚¯ãƒªãƒ—トãŒå®Ÿè¡Œã•ã‚Œã¾ã›ã‚“。 - </notification> - <notification name="ClaimPublicLand"> - ãã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«ã„ãªã„ã¨å…¬å…±ã®åœŸåœ°ã‚’å–å¾—ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="RegionTPAccessBlocked"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã«ã‚ˆã‚Šãã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã¸ã¯å…¥ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 年齢確èªã‚’è¡Œã†ã‹ã€æœ€æ–°ãƒ“ューワをインストールã—ã¦ãã ã•ã„。 - -ç¾åœ¨ã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã§ã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ãªã‚¨ãƒªã‚¢ã«é–¢ã™ã‚‹è©³ç´°ã¯ãƒŠãƒ¬ãƒƒã‚¸ãƒ™ãƒ¼ã‚¹ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 - </notification> - <notification name="URBannedFromRegion"> - ã‚ãªãŸã¯ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã¸ã®ç«‹å…¥ãŒç¦æ¢ã•ã‚Œã¦ã„ã¾ã™ã€‚ - </notification> - <notification name="NoTeenGridAccess"> - ã‚ãªãŸã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã§ã¯ãƒ†ã‚£ãƒ¼ãƒ³ã‚°ãƒªãƒƒãƒ‰ã«æŽ¥ç¶šã§ãã¾ã›ã‚“。 - </notification> - <notification name="ImproperPaymentStatus"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«å…¥ã‚‹ãŸã‚ã«é©ã—ãŸæ”¯æ‰•ã„ステータスãŒã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="MustGetAgeRgion"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«å…¥ã‚‹ãŸã‚ã«ã¯ã€å¹´é½¢ç¢ºèªã‚’済ã¾ã›ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ - </notification> - <notification name="MustGetAgeParcel"> - ã“ã®åŒºç”»ã«å…¥ã‚‹ãŸã‚ã«ã¯ã€å¹´é½¢ç¢ºèªã‚’済ã¾ã›ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ - </notification> - <notification name="NoDestRegion"> - 目的地ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚ - </notification> - <notification name="NotAllowedInDest"> - 目的地ã«å…¥ã‚‹è¨±å¯ãŒã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="RegionParcelBan"> - ç«‹å…¥ç¦æ¢ã•ã‚ŒãŸåŒºç”»ã‚’横æ–ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 別ã®æ–¹æ³•ã‚’ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="TelehubRedirect"> - テレãƒãƒ–ã«è»¢é€ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="CouldntTPCloser"> - ã“れ以上目的地ã«è¿‘ã„å ´æ‰€ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆãŒã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ - </notification> - <notification name="TPCancelled"> - テレãƒãƒ¼ãƒˆãŒã‚ャンセルã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="FullRegionTryAgain"> - å…¥ã‚ã†ã¨ã—ã¦ã„るリージョンã¯ç¾åœ¨æº€å“¡ã§ã™ã€‚ -ã—ã°ã‚‰ãã—ã¦ã‹ã‚‰å†åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="GeneralFailure"> - よãã‚る失敗 - </notification> - <notification name="RoutedWrongRegion"> - ç•°ãªã‚‹ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«è¿‚回ã•ã‚Œã¾ã—ãŸã€‚ ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="NoValidAgentID"> - エージェント ID ãŒç„¡åŠ¹ã§ã™ã€‚ - </notification> - <notification name="NoValidSession"> - セッション ID ãŒç„¡åŠ¹ã§ã™ã€‚ - </notification> - <notification name="NoValidCircuit"> - 回路コードãŒç„¡åŠ¹ã§ã™ã€‚ - </notification> - <notification name="NoValidTimestamp"> - タイムスタンプãŒç„¡åŠ¹ã§ã™ã€‚ - </notification> - <notification name="NoPendingConnection"> - 接続を生æˆã§ãã¾ã›ã‚“。 - </notification> - <notification name="InternalUsherError"> - 内部エラーãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ - </notification> - <notification name="NoGoodTPDestination"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ã€é©åˆ‡ãªãƒ†ãƒ¬ãƒãƒ¼ãƒˆç›®çš„地ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚ - </notification> - <notification name="InternalErrorRegionResolver"> - 内部エラーãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ - </notification> - <notification name="NoValidLanding"> - 有効ãªç€åœ°ç‚¹ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚ - </notification> - <notification name="NoValidParcel"> - 有効ãªåŒºç”»ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚ - </notification> - <notification name="ObjectGiveItem"> - [NAME_SLURL] ãŒæ‰€æœ‰ã™ã‚‹ <nolink>[OBJECTFROMNAME]</nolink> ã¨ã„ã†åå‰ã®ã‚ªãƒ–ジェクトãŒã€ã‚ãªãŸã« <nolink>[ITEM_SLURL]</nolink> を渡ãã†ã¨ã—ã¦ã„ã¾ã™ã€‚ã“ã®ã‚¢ã‚¤ãƒ†ãƒ を使ã†ã«ã¯ã‚¢ãƒ‰ãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã¸ã®åˆ‡ã‚Šæ›¿ãˆãŒå¿…è¦ã§ã™ã€‚アドãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã§ãƒã‚°ã‚¤ãƒ³ã—ãªãŠã™ã¨ã€ã‚ãªãŸã®æŒã¡ç‰©ã«ã“ã®ã‚¢ã‚¤ãƒ†ãƒ ãŒè¦‹ã¤ã‹ã‚Šã¾ã™ã€‚アドãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã«åˆ‡ã‚Šæ›¿ãˆã‚‹ã«ã¯ã€ã“ã®ã‚¢ãƒ—リケーションを終了ã—ã¦å†èµ·å‹•ã—ã€ãƒã‚°ã‚¤ãƒ³ç”»é¢ã§ãƒ¢ãƒ¼ãƒ‰è¨å®šã‚’変更ã—ã¦ãã ã•ã„。 - <form name="form"> - <button name="Keep" text="アイテムをå—ã‘å–ã‚‹"/> - <button name="Discard" text="アイテムを拒å¦ã™ã‚‹"/> - <button name="Mute" text="オブジェクトをブãƒãƒƒã‚¯ã™ã‚‹"/> - </form> - </notification> - <notification name="UserGiveItem"> - [NAME_SLURL] 㯠[ITEM_SLURL] を渡ãã†ã¨ã—ã¦ã„ã¾ã™ã€‚ã“ã®ã‚¢ã‚¤ãƒ†ãƒ を使ã†ã«ã¯ã‚¢ãƒ‰ãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã¸ã®åˆ‡ã‚Šæ›¿ãˆãŒå¿…è¦ã§ã™ã€‚アドãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã§ãƒã‚°ã‚¤ãƒ³ã—ãªãŠã™ã¨ã€ã‚ãªãŸã®æŒã¡ç‰©ã«ã“ã®ã‚¢ã‚¤ãƒ†ãƒ ãŒè¦‹ã¤ã‹ã‚Šã¾ã™ã€‚アドãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã«åˆ‡ã‚Šæ›¿ãˆã‚‹ã«ã¯ã€ã“ã®ã‚¢ãƒ—リケーションを終了ã—ã¦å†èµ·å‹•ã—ã€ãƒã‚°ã‚¤ãƒ³ç”»é¢ã§ãƒ¢ãƒ¼ãƒ‰è¨å®šã‚’変更ã—ã¦ãã ã•ã„。 - <form name="form"> - <button name="Show" text="アイテムをå—ã‘å–ã‚‹"/> - <button name="Discard" text="アイテムを拒å¦ã™ã‚‹"/> - <button name="Mute" text="ユーザーをブãƒãƒƒã‚¯ã™ã‚‹"/> - </form> - </notification> - <notification name="GodMessage"> - [NAME] - -[MESSAGE] - </notification> - <notification name="JoinGroup"> - [MESSAGE] - <form name="form"> - <button name="Join" text="å‚åŠ "/> - <button name="Decline" text="辞退"/> - <button name="Info" text="æƒ…å ±"/> - </form> - </notification> - <notification name="TeleportOffered"> - [NAME_SLURL] ã¯ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã§ã‚ãªãŸã‚’呼んã§ã„ã¾ã™ã€‚ - -[MESSAGE] - [MATURITY_STR] <icon>[MATURITY_ICON]</icon> - <form name="form"> - <button name="Teleport" text="テレãƒãƒ¼ãƒˆ"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification name="TeleportOfferSent"> - [TO_NAME] ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã‚’é€ã‚Šã¾ã—ãŸã€‚ - </notification> - <notification name="GotoURL"> - [MESSAGE] -[URL] - <form name="form"> - <button name="Later" text="ã‚ã¨ã§"/> - <button name="GoNow..." text="今ã™ãè¡Œã"/> - </form> - </notification> - <notification name="OfferFriendship"> - [NAME_SLURL] ã¯ãƒ•ãƒ¬ãƒ³ãƒ‰ç™»éŒ²ã‚’申ã—込んã§ã„ã¾ã™ã€‚ - -[MESSAGE] - -(デフォルトè¨å®šã ã¨ãŠäº’ã„ã®ã‚ªãƒ³ãƒ©ã‚¤ãƒ³çŠ¶æ…‹ã‚’見るã“ã¨ãŒã§ãã¾ã™ï¼‰ - <form name="form"> - <button name="Accept" text="å—ã‘入れる"/> - <button name="Decline" text="辞退"/> - </form> - </notification> - <notification name="FriendshipOffered"> - [TO_NAME] ã«ãƒ•ãƒ¬ãƒ³ãƒ‰ç™»éŒ²ã‚’申ã—出ã¾ã—ãŸã€‚ - </notification> - <notification name="OfferFriendshipNoMessage"> - [NAME_SLURL] ã¯ãƒ•ãƒ¬ãƒ³ãƒ‰ç™»éŒ²ã‚’申ã—込んã§ã„ã¾ã™ã€‚ - -(デフォルトè¨å®šã ã¨ãŠäº’ã„ã®ã‚ªãƒ³ãƒ©ã‚¤ãƒ³çŠ¶æ…‹ã‚’見るã“ã¨ãŒã§ãã¾ã™ï¼‰ - <form name="form"> - <button name="Accept" text="å—ã‘入れる"/> - <button name="Decline" text="æ‹’å¦"/> - </form> - </notification> - <notification name="FriendshipAccepted"> - [NAME]ã¯ã€ãƒ•ãƒ¬ãƒ³ãƒ‰ç™»éŒ²ã‚’å—ã‘入れã¾ã—ãŸã€‚ - </notification> - <notification name="FriendshipDeclined"> - [NAME]ã¯ã€ãƒ•ãƒ¬ãƒ³ãƒ‰ç™»éŒ²ã‚’æ–ã‚Šã¾ã—ãŸã€‚ - </notification> - <notification name="FriendshipAcceptedByMe"> - フレンドã®ç™»éŒ²ä¾é ¼ãŒæ‰¿èªã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="FriendshipDeclinedByMe"> - フレンドã®ç™»éŒ²ä¾é ¼ãŒæ‹’å¦ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="OfferCallingCard"> - [NAME] ãŒã‚³ãƒ¼ãƒªãƒ³ã‚°ã‚«ãƒ¼ãƒ‰ã‚’渡ãã†ã¨ã—ã¦ã„ã¾ã™ã€‚ -ã‚ãªãŸã®æŒã¡ç‰©ã«ãƒ–ックマークãŒè¿½åŠ ã•ã‚Œã€ã“ã®ä½äººã«ç´ æ—©ã IM ã‚’é€ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ - <form name="form"> - <button name="Accept" text="å—ã‘入れる"/> - <button name="Decline" text="辞退"/> - </form> - </notification> - <notification name="RegionRestartMinutes"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã¯ [SECONDS] 分後ã«å†èµ·å‹•ã•ã‚Œã¾ã™ã€‚ -ã“ã®ã¾ã¾ã“ã“ã«ã„ã‚‹ã¨ãƒã‚°ã‚¢ã‚¦ãƒˆã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="RegionRestartSeconds"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã¯ [SECONDS] 秒後ã«å†èµ·å‹•ã•ã‚Œã¾ã™ã€‚. -ã“ã®ã¾ã¾ã“ã“ã«ã„ã‚‹ã¨ãƒã‚°ã‚¢ã‚¦ãƒˆã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="LoadWebPage"> - Web ページ [URL] ã‚’ãƒãƒ¼ãƒ‰ã—ã¾ã™ã‹ï¼Ÿ - -[MESSAGE] - -é€ä¿¡å…ƒã®ã‚ªãƒ–ジェクト:<nolink>[OBJECTNAME]</nolink>ã€æ‰€æœ‰è€…:[NAME]? - <form name="form"> - <button name="Gotopage" text="ページã«ç§»å‹•"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification name="FailedToFindWearableUnnamed"> - データベース㫠[TYPE] ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—㟠- </notification> - <notification name="FailedToFindWearable"> - データベース㫠[DESC] ã¨ã„ã†åå‰ã® [TYPE] ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚ - </notification> - <notification name="InvalidWearable"> - ç€ç”¨ã—よã†ã¨ã—ã¦ã„るアイテムã¯ã‚ãªãŸã®ãƒ“ューワã§ã¯èªã¿è¾¼ã‚€ã“ã¨ãŒã§ãã¾ã›ã‚“。 [APP_NAME] ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’アップグレードã—ã¦ã‹ã‚‰ã“ã®ã‚¢ã‚¤ãƒ†ãƒ ã‚’ç€ç”¨ã—ã¦ãã ã•ã„。 - </notification> - <notification name="ScriptQuestion"> - [NAME] ãŒæ‰€æœ‰ã™ã‚‹ã€Œ<nolink>[OBJECTNAME]</nolink>〠ã¨ã„ã†ã‚ªãƒ–ジェクトãŒã€æ¬¡ã®ã“ã¨ã‚’ã—よã†ã¨ã—ã¦ã„ã¾ã™ï¼š - -[QUESTIONS] -よã‚ã—ã„ã§ã™ã‹ï¼Ÿ - <form name="form"> - <button name="Yes" text="ã¯ã„"/> - <button name="No" text="ã„ã„ãˆ"/> - <button name="Mute" text="ブãƒãƒƒã‚¯"/> - </form> - </notification> - <notification name="ScriptQuestionCaution"> - [NAME] ãŒæ‰€æœ‰ã™ã‚‹ã€Œ<nolink>[OBJECTNAME]</nolink>〠ã¨ã„ã†ã‚ªãƒ–ジェクトãŒã€æ¬¡ã®ã“ã¨ã‚’ã—よã†ã¨ã—ã¦ã„ã¾ã™ï¼š - -[QUESTIONS] -ã“ã®ã‚ªãƒ–ジェクトや制作者を信用ã§ããªã„å ´åˆã¯ã€ã“ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’æ‹’å¦ã—ã¦ãã ã•ã„。 - -リクエストをå—ã‘ã¾ã™ã‹ï¼Ÿ - <form name="form"> - <button name="Grant" text="許å¯"/> - <button name="Deny" text="æ‹’å¦"/> - <button name="Details" text="詳細..."/> - </form> - </notification> - <notification name="ScriptDialog"> - [NAME] ã®ã€Œ<nolink>[TITLE]</nolink>〠-[MESSAGE] - <form name="form"> - <button name="Ignore" text="無視ã™ã‚‹"/> - </form> - </notification> - <notification name="ScriptDialogGroup"> - [GROUPNAME] ã®ã€Œ<nolink>[TITLE]</nolink>〠-[MESSAGE] - <form name="form"> - <button name="Ignore" text="無視ã™ã‚‹"/> - </form> - </notification> - <notification name="BuyLindenDollarSuccess"> - ãŠæ”¯æ‰•ã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ã€‚ - -ã‚ãªãŸã® L$ 残高ã¯ã€å‡¦ç†ãŒå®Œäº†ã™ã‚‹ã¨ã‚¢ãƒƒãƒ—デートã•ã‚Œã¾ã™ã€‚ 処ç†ã« 20 分以上ã‹ã‹ã£ãŸå ´åˆã€ãŠå–り引ããŒã‚ャンセルã•ã‚Œã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ ãã®å ´åˆã¯ã€è³¼å…¥é‡‘é¡ã¯ã‚ãªãŸã® US$ 残高ã«è¿½åŠ ã•ã‚Œã¾ã™ã€‚ - -[http://secondlife.com/account/ マイアカウント] ã®å–引履æ´ãƒšãƒ¼ã‚¸ã§ã€æ”¯æ‰•çŠ¶æ³ã‚’確èªã§ãã¾ã™ã€‚ - </notification> - <notification name="FirstOverrideKeys"> - ã‚ãªãŸã®ç§»å‹•ã‚ーをオブジェクトãŒæ“作ã—ã¦ã„ã¾ã™ã€‚ -矢å°ã‹ AWSD ã®ã‚ーã§å‹•ä½œã‚’確èªã—ã¦ãã ã•ã„。 -銃ãªã©ã®ã‚ªãƒ–ジェクトã ã¨ã€ä¸€äººç§°è¦–点ã«å¤‰æ›´ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ -M ã‚ーを押ã—ã¦å¤‰æ›´ã—ã¾ã™ã€‚ - </notification> - <notification name="FirstSandbox"> - ã“ã“ã¯ã‚µãƒ³ãƒ‰ãƒœãƒƒã‚¯ã‚¹ã‚¨ãƒªã‚¢ã§ã™ã€‚ä½äººãŒåˆ¶ä½œã‚’å¦ã¶ã“ã¨ãŒã§ãã¾ã™ã€‚ - -ã“ã“ã§åˆ¶ä½œã•ã‚ŒãŸã‚‚ã®ã¯æ™‚é–“ãŒçµŒã¤ã¨å‰Šé™¤ã•ã‚Œã¾ã™ã€‚制作ã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã‚’å³ã‚¯ãƒªãƒƒã‚¯ã—ã¦ã€Œå–ã‚‹ã€ã‚’é¸ã³ã€æŒã¡ç‰©ã«å…¥ã‚Œã¦ãŠæŒã¡å¸°ã‚Šã™ã‚‹ã®ã‚’ãŠå¿˜ã‚Œãªã。 - </notification> - <notification name="MaxListSelectMessage"> - ã“ã®ãƒªã‚¹ãƒˆã‹ã‚‰ [MAX_SELECT] 個ã¾ã§ã®ã‚¢ã‚¤ãƒ†ãƒ ã‚’é¸æŠžã§ãã¾ã™ã€‚ - </notification> - <notification name="VoiceInviteP2P"> - [NAME] ãŒã‚ãªãŸã‚’ボイスãƒãƒ£ãƒƒãƒˆã‚³ãƒ¼ãƒ«ã«æ‹›å¾…ã—ã¦ã„ã¾ã™ã€‚ -å—ã‘入れるをクリックã™ã‚‹ã‹ã€æ–ã‚‹å ´åˆã¯æ‹’å¦ã‚’クリックã—ã¦ãã ã•ã„。 ブãƒãƒƒã‚¯ã‚’クリックã™ã‚‹ã¨ã€ã“ã®ç™ºä¿¡è€…をブãƒãƒƒã‚¯ã—ã¾ã™ã€‚ - <form name="form"> - <button name="Accept" text="å—ã‘入れる"/> - <button name="Decline" text="æ‹’å¦"/> - <button name="Mute" text="ブãƒãƒƒã‚¯"/> - </form> - </notification> - <notification name="AutoUnmuteByIM"> - [NAME] ã¯ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’å—ã‘å–ã‚Šã€è‡ªå‹•çš„ã«ãƒ–ãƒãƒƒã‚¯ãŒè§£é™¤ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="AutoUnmuteByMoney"> - [NAME] ã¯ãŠé‡‘ã‚’å—ã‘å–ã‚Šã€è‡ªå‹•çš„ã«ãƒ–ãƒãƒƒã‚¯ãŒè§£é™¤ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="AutoUnmuteByInventory"> - [NAME] ã¯æŒã¡ç‰©ã‚’å—ã‘å–ã‚Šã€è‡ªå‹•çš„ã«ãƒ–ãƒãƒƒã‚¯ãŒè§£é™¤ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="VoiceInviteGroup"> - [NAME] 㯠[GROUP] ã®ãƒœã‚¤ã‚¹ãƒãƒ£ãƒƒãƒˆã‚³ãƒ¼ãƒ«ã«å‚åŠ ã—ã¾ã—ãŸã€‚ -å—ã‘入れるをクリックã™ã‚‹ã‹ã€æ–ã‚‹å ´åˆã¯æ‹’å¦ã‚’クリックã—ã¦ãã ã•ã„。 ブãƒãƒƒã‚¯ã‚’クリックã™ã‚‹ã¨ã€ã“ã®ç™ºä¿¡è€…をブãƒãƒƒã‚¯ã—ã¾ã™ã€‚ - <form name="form"> - <button name="Accept" text="å—ã‘入れる"/> - <button name="Decline" text="æ‹’å¦"/> - <button name="Mute" text="ブãƒãƒƒã‚¯"/> - </form> - </notification> - <notification name="VoiceInviteAdHoc"> - [NAME] 㯠コンファレンスãƒãƒ£ãƒƒãƒˆã®ã®ãƒœã‚¤ã‚¹ãƒãƒ£ãƒƒãƒˆã‚³ãƒ¼ãƒ«ã«å‚åŠ ã—ã¾ã—ãŸã€‚ -å—ã‘入れるをクリックã™ã‚‹ã‹ã€æ–ã‚‹å ´åˆã¯æ‹’å¦ã‚’クリックã—ã¦ãã ã•ã„。 ブãƒãƒƒã‚¯ã‚’クリックã™ã‚‹ã¨ã€ã“ã®ç™ºä¿¡è€…をブãƒãƒƒã‚¯ã—ã¾ã™ã€‚ - <form name="form"> - <button name="Accept" text="å—ã‘入れる"/> - <button name="Decline" text="æ‹’å¦"/> - <button name="Mute" text="ブãƒãƒƒã‚¯"/> - </form> - </notification> - <notification name="InviteAdHoc"> - [NAME] ãŒã‚ãªãŸã‚’コンファレンスãƒãƒ£ãƒƒãƒˆã«æ‹›å¾…ã—ã¦ã„ã¾ã™ã€‚ -å—ã‘入れるをクリックã™ã‚‹ã‹ã€æ–ã‚‹å ´åˆã¯æ‹’å¦ã‚’クリックã—ã¦ãã ã•ã„。 ブãƒãƒƒã‚¯ã‚’クリックã™ã‚‹ã¨ã€ã“ã®ç™ºä¿¡è€…をブãƒãƒƒã‚¯ã—ã¾ã™ã€‚ - <form name="form"> - <button name="Accept" text="å—ã‘入れる"/> - <button name="Decline" text="æ‹’å¦"/> - <button name="Mute" text="ブãƒãƒƒã‚¯"/> - </form> - </notification> - <notification name="VoiceChannelFull"> - ã‚ãªãŸãŒå‚åŠ ã—よã†ã¨ã—ã¦ã„るボイスコール [VOICE_CHANNEL_NAME] ã¯ã€å‚åŠ è€…ãŒæœ€å¤§é™ã«é”ã—ã¾ã—ãŸã€‚後ã§ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="ProximalVoiceChannelFull"> - ã“ã®ã‚¨ãƒªã‚¢ã®ãƒœã‚¤ã‚¹ãƒãƒ£ãƒƒãƒˆã¯ã€æ··é›‘ã®ãŸã‚容é‡ã‚’超ãˆã¦ã—ã¾ã£ã¦ã„ã¾ã™ã€‚申ã—訳ã‚ã‚Šã¾ã›ã‚“ãŒã€ä»–ã®ã‚¨ãƒªã‚¢ã§ãƒœã‚¤ã‚¹ãƒãƒ£ãƒƒãƒˆã‚’ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="VoiceChannelDisconnected"> - [VOICE_CHANNEL_NAME] ã¸ã®æŽ¥ç¶šãŒåˆ‡ã‚Œã¾ã—ãŸã€‚ 「近ãã®ãƒœã‚¤ã‚¹ãƒãƒ£ãƒƒãƒˆã€ã«å†æŽ¥ç¶šã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="VoiceChannelDisconnectedP2P"> - [VOICE_CHANNEL_NAME] ãŒã‚³ãƒ¼ãƒ«ã‚’終了ã—ã¾ã—ãŸã€‚ 「近ãã®ãƒœã‚¤ã‚¹ãƒãƒ£ãƒƒãƒˆã€ã«å†æŽ¥ç¶šã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="P2PCallDeclined"> - [VOICE_CHANNEL_NAME] ãŒã‚ãªãŸã®ã‚³ãƒ¼ãƒ«ã‚’æ‹’å¦ã—ã¾ã—ãŸã€‚ 「近ãã®ãƒœã‚¤ã‚¹ãƒãƒ£ãƒƒãƒˆã€ã«å†æŽ¥ç¶šã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="P2PCallNoAnswer"> - [VOICE_CHANNEL_NAME] ã¯ã‚ãªãŸã®ã‚³ãƒ¼ãƒ«ã‚’å—ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 「近ãã®ãƒœã‚¤ã‚¹ãƒãƒ£ãƒƒãƒˆã€ã«å†æŽ¥ç¶šã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="VoiceChannelJoinFailed"> - [VOICE_CHANNEL_NAME] ã¸ã®æŽ¥ç¶šã«å¤±æ•—ã—ã¾ã—ãŸã€‚ã‚ã¨ã§å†åº¦ãŠè©¦ã—ãã ã•ã„。 「近ãã®ãƒœã‚¤ã‚¹ãƒãƒ£ãƒƒãƒˆã€ã«å†æŽ¥ç¶šã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="VoiceLoginRetry"> - ボイスãƒãƒ£ãƒ³ãƒãƒ«ã‚’作æˆã—ã¦ã„ã¾ã™ã€‚1 分ã»ã©ã‹ã‹ã‚Šã¾ã™ã€‚ - </notification> - <notification name="VoiceEffectsExpired"> - ボイスモーフィング効果ã®1ã¤ã¾ãŸã¯è¤‡æ•°ã®æœ‰åŠ¹æœŸé™ãŒçµ‚了ã—ã¾ã—ãŸã€‚期é™ã‚’延長・更新ã™ã‚‹ã«ã¯[[URL]ã“ã¡ã‚‰ã‚’クリック]ã—ã¦ãã ã•ã„。 - </notification> - <notification name="VoiceEffectsExpiredInUse"> - ボイスモーフィング効果ã®æœ‰åŠ¹æœŸé™ãŒçµ‚了ã—ãŸãŸã‚ã€ã‚ãªãŸã®é€šå¸¸ã®ãƒœã‚¤ã‚¹è¨å®šãŒé©ç”¨ã•ã‚Œã¾ã—ãŸã€‚期é™ã‚’延長・更新ã™ã‚‹ã«ã¯[[URL]ã“ã¡ã‚‰ã‚’クリック]ã—ã¦ãã ã•ã„。 - </notification> - <notification name="VoiceEffectsWillExpire"> - ボイスモーフィング効果ã®1ã¤ã¾ãŸã¯è¤‡æ•°ã®æœ‰åŠ¹æœŸé™ãŒ[INTERVAL]日以内ã«çµ‚了ã—ã¾ã™ã€‚期é™ã‚’延長・更新ã™ã‚‹ã«ã¯[[URL]ã“ã¡ã‚‰ã‚’クリック]ã—ã¦ãã ã•ã„。 - </notification> - <notification name="VoiceEffectsNew"> - æ–°ã—ã„ボイスモーフィング効果ãŒç™»å ´ï¼ - </notification> - <notification name="Cannot enter parcel: not a group member"> - 特定ã®ã‚°ãƒ«ãƒ¼ãƒ—メンãƒãƒ¼ã®ã¿ã“ã®ã‚¨ãƒªã‚¢ã‚’訪å•ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ - </notification> - <notification name="Cannot enter parcel: banned"> - ç«‹å…¥ç¦æ¢ã•ã‚Œã¦ã„ã‚‹ãŸã‚ã€åŒºç”»ã«å…¥ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 - </notification> - <notification name="Cannot enter parcel: not on access list"> - アクセスリストã«å«ã¾ã‚Œã¦ã„ãªã„ãŸã‚ã€åŒºç”»ã«å…¥ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 - </notification> - <notification name="VoiceNotAllowed"> - ã‚ãªãŸã«ã¯ [VOICE_CHANNEL_NAME] ã®ãƒœã‚¤ã‚¹ãƒãƒ£ãƒƒãƒˆã«æŽ¥ç¶šã™ã‚‹æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="VoiceCallGenericError"> - [VOICE_CHANNEL_NAME] ã®ãƒœã‚¤ã‚¹ãƒãƒ£ãƒƒãƒˆã«æŽ¥ç¶šä¸ã«ã€ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚後ã§ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="UnsupportedCommandSLURL"> - クリックã—㟠SLurl ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="BlockedSLURL"> - 信用ã§ããªã„ブラウザã‹ã‚‰ SLurl ãŒé€ã‚‰ã‚Œã¦ããŸã®ã§ã€ã‚»ã‚ュリティã®ãŸã‚ブãƒãƒƒã‚¯ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="ThrottledSLURL"> - çŸæœŸé–“ã®ã‚ã„ã ã«ã€ä¿¡ç”¨ã§ããªã„ブラウザã‹ã‚‰è¤‡æ•°ã® SLurls ãŒé€ã‚‰ã‚Œã¦ãã¾ã—ãŸã€‚ -安全ã®ãŸã‚ã«æ•°ç§’間ブãƒãƒƒã‚¯ã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="IMToast"> - [MESSAGE] - <form name="form"> - <button name="respondbutton" text="è¿”ç”"/> - </form> - </notification> - <notification name="ConfirmCloseAll"> - ã™ã¹ã¦ã® IM ã‚’é–‰ã˜ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="ã™ã¹ã¦ã® IM ã‚’é–‰ã˜ã‚‹å‰ã®ç¢ºèª" name="okcancelignore" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="AttachmentSaved"> - アタッãƒãƒ¡ãƒ³ãƒˆãŒä¿å˜ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="UnableToFindHelpTopic"> - ヘルプトピックãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚ - </notification> - <notification name="ObjectMediaFailure"> - サーãƒãƒ¼ã‚¨ãƒ©ãƒ¼ï¼š メディアã®ã‚¢ãƒƒãƒ—デートã¾ãŸã¯å¤±æ•—。 -「[ERROR]〠- <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TextChatIsMutedByModerator"> - モデレーターãŒã‚ãªãŸã®æ–‡å—ãƒãƒ£ãƒƒãƒˆã‚’ミュートã—ã¾ã—ãŸã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="VoiceIsMutedByModerator"> - モデレーターãŒã‚ãªãŸã®ãƒœã‚¤ã‚¹ã‚’ミュートã—ã¾ã—ãŸã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ConfirmClearTeleportHistory"> - テレãƒãƒ¼ãƒˆå±¥æ´ã‚’削除ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="BottomTrayButtonCanNotBeShown"> - é¸æŠžã—ãŸãƒœã‚¿ãƒ³ã‚’ç¾åœ¨è¡¨ç¤ºã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 -ã˜ã‚…ã†ã¶ã‚“ãªã‚¹ãƒšãƒ¼ã‚¹ãŒã§ãã‚Œã°ãƒœã‚¿ãƒ³ã¯è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="ShareNotification"> - 共有ã™ã‚‹ä½äººã‚’é¸æŠžã—ã¾ã™ã€‚ - </notification> - <notification name="ShareItemsConfirmation"> - 次ã®ã‚¢ã‚¤ãƒ†ãƒ を共有ã—ã¾ã™ã‹ï¼Ÿ - -<nolink>[ITEMS]</nolink> - -次ã®ä½äººã¨å…±æœ‰ã—ã¾ã™ã‹ï¼Ÿ - -[RESIDENTS] - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ItemsShared"> - アイテムãŒå…±æœ‰ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="DeedToGroupFail"> - グループã¸ã®è²æ¸¡ã«å¤±æ•—ã—ã¾ã—ãŸã€‚ - </notification> - <notification name="AvatarRezNotification"> - (作æˆå¾Œ[EXISTENCE]秒経éŽï¼‰ -'[NAME]'ã¨ã„ã†ã‚¢ãƒã‚¿ãƒ¼ã¯[TIME]秒後ã«å§¿ã‚’ç¾ã‚ã—ã¾ã—ãŸã€‚ - </notification> - <notification name="AvatarRezSelfBakedDoneNotification"> - (作æˆå¾Œ[EXISTENCE]秒経éŽï¼‰ -アウトフィットã®ãƒ™ãƒ¼ã‚¯ã¯[TIME]秒後ã«å®Œäº†ã—ã¾ã—ãŸã€‚ - </notification> - <notification name="AvatarRezSelfBakedUpdateNotification"> - (作æˆå¾Œ[EXISTENCE]秒経éŽï¼‰ -容姿ã®æ›´æ–°ã¯[TIME]秒後ã«é€ä¿¡ã•ã‚Œã¾ã—ãŸã€‚ -[STATUS] - </notification> - <notification name="AvatarRezCloudNotification"> - ( [EXISTENCE] 秒) -ã‚¢ãƒã‚¿ãƒ¼ã€Œ NAME ã€ãŒã‚¯ãƒ©ã‚¦ãƒ‰ã«ãªã‚Šã¾ã—ãŸã€‚ - </notification> - <notification name="AvatarRezArrivedNotification"> - ( [EXISTENCE] 秒) -ã‚¢ãƒã‚¿ãƒ¼ã€Œ NAME ã€ãŒç¾ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="AvatarRezLeftCloudNotification"> - ( [EXISTENCE] 秒) -ã‚¢ãƒã‚¿ãƒ¼ã€Œ [NAME] ã€ãŒ [TIME] 秒ã§ã‚¯ãƒ©ã‚¦ãƒ‰çŠ¶æ…‹ã‹ã‚‰å‡ºç¾ã—ã¾ã™ã€‚ - </notification> - <notification name="AvatarRezEnteredAppearanceNotification"> - ( [EXISTENCE] 秒) -ã‚¢ãƒã‚¿ãƒ¼ã€Œ NAME ã€ãŒå®¹å§¿ç·¨é›†ãƒ¢ãƒ¼ãƒ‰ã«å…¥ã‚Šã¾ã—ãŸã€‚ - </notification> - <notification name="AvatarRezLeftAppearanceNotification"> - ( [EXISTENCE] 秒) -ã‚¢ãƒã‚¿ãƒ¼ã€Œ NAME ã€ãŒå®¹å§¿ç·¨é›†ãƒ¢ãƒ¼ãƒ‰ã‚’解除ã—ã¾ã—ãŸã€‚ - </notification> - <notification name="NoConnect"> - [PROTOCOL] [HOSTID]を使ã£ã¦æŽ¥ç¶šã§ãã¾ã›ã‚“。 -ãŠä½¿ã„ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚„ファイアウォールã®è¨å®šã‚’確èªã—ã¦ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="NoVoiceConnect"> - ボイスサーãƒãƒ¼ã«æŽ¥ç¶šã§ãã¾ã›ã‚“: - -[HOSTID] - -ボイスãƒãƒ£ãƒƒãƒˆã«ã‚ˆã‚‹ã‚³ãƒŸãƒ¥ãƒ‹ã‚±ãƒ¼ã‚·ãƒ§ãƒ³ãŒåˆ©ç”¨ã§ãã¾ã›ã‚“。 -ãŠä½¿ã„ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚„ファイアウォールã®è¨å®šã‚’確èªã—ã¦ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AvatarRezLeftNotification"> - ( [EXISTENCE] 秒) -ã‚¢ãƒã‚¿ãƒ¼ã€Œ NAME ã€ãŒå®Œå…¨ã«èªã¿è¾¼ã¾ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="AvatarRezSelfBakedTextureUploadNotification"> - ( 作æˆå¾Œ[EXISTENCE]秒経éŽï¼‰ -'[BODYREGION]'ã®[RESOLUTION]ã®ãƒ™ãƒ¼ã‚¯ãƒ‰ãƒ†ã‚¯ã‚¹ãƒãƒ£ã¯[TIME]秒後ã«ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="AvatarRezSelfBakedTextureUpdateNotification"> - ( 作æˆå¾Œ[EXISTENCE]秒経éŽï¼‰ -'[BODYREGION]'ã®[RESOLUTION]ã®ãƒ™ãƒ¼ã‚¯ãƒ‰ãƒ†ã‚¯ã‚¹ãƒãƒ£ã¯[TIME]秒後ã«ãƒãƒ¼ã‚«ãƒ«ã«æ›´æ–°ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="ConfirmLeaveCall"> - ã“ã®ã‚³ãƒ¼ãƒ«ã‹ã‚‰æŠœã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="コールã‹ã‚‰æŠœã‘ã‚‹å‰ã®ç¢ºèª" name="okcancelignore" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="ConfirmMuteAll"> - グループコールã®å‚åŠ è€…å…¨å“¡ã‚’ãƒŸãƒ¥ãƒ¼ãƒˆã—ã¾ã—ãŸã€‚ -ã‚ã¨ã‹ã‚‰ã“ã®ã‚³ãƒ¼ãƒ«ã«å‚åŠ ã™ã‚‹ä½äººã‚‚ -ミュートã•ã‚Œã¾ã™ã€‚ã‚ãªãŸãŒã‚³ãƒ¼ãƒ«ã‚’終了ã—ã¦ã‚‚ä»–ã®å‚åŠ è€…ã®ãƒŸãƒ¥ãƒ¼ãƒˆçŠ¶æ…‹ãŒç¶šãã¾ã™ã€‚ - -全員をミュートã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="グループコールã®å‚åŠ è€…å…¨å“¡ã‚’ãƒŸãƒ¥ãƒ¼ãƒˆã™ã‚‹å‰ã®ç¢ºèª" name="okcancelignore" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification label="ãƒãƒ£ãƒƒãƒˆ" name="HintChat"> - ãƒãƒ£ãƒƒãƒˆã«å‚åŠ ã™ã‚‹ã«ã¯ã€ç”»é¢ä¸‹ã®ãƒãƒ£ãƒƒãƒˆãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã«ãƒ†ã‚ストを入力ã—ã¾ã™ã€‚ - </notification> - <notification label="ç«‹ã¡ä¸ŠãŒã‚‹" name="HintSit"> - 座る姿勢ã‹ã‚‰ç«‹ã¡ä¸ŠãŒã‚‹ã«ã¯ã€ã€Œç«‹ã¡ä¸ŠãŒã‚‹ã€ãƒœã‚¿ãƒ³ã‚’クリックã—ã¾ã™ã€‚ - </notification> - <notification label="話ã™" name="HintSpeak"> - 「スピーカーã€ãƒœã‚¿ãƒ³ã‚’クリックã™ã‚‹ã¨ã€ãƒžã‚¤ã‚¯ã®ã‚ªãƒ³ãƒ»ã‚ªãƒ•ãŒåˆ‡ã‚Šæ›¿ã‚ã‚Šã¾ã™ã€‚ - -上矢å°ã‚’クリックã™ã‚‹ã¨ã€ãƒœã‚¤ã‚¹ã‚³ãƒ³ãƒˆãƒãƒ¼ãƒ«ãƒ‘ãƒãƒ«ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚ - -「スピーカーã€ãƒœã‚¿ãƒ³ã‚’éžè¡¨ç¤ºã«ã™ã‚‹ã¨ã€ãƒœã‚¤ã‚¹æ©Ÿèƒ½ã‚‚無効ã«ãªã‚Šã¾ã™ã€‚ - </notification> - <notification label="世界を探検" name="HintDestinationGuide"> - è¡Œã先ガイドã«ã¯æ•°å¤šãã®æŽ¢ç´¢å ´æ‰€ãŒå«ã¾ã‚Œã¾ã™ã€‚ã©ã“ã‹è¡Œã先を決ã‚ãŸã‚‰ã€ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã—ã¦æŽ¢ç´¢ã«å‡ºã‹ã‘ã¾ã—ょã†ã€‚ - </notification> - <notification label="サイドパãƒãƒ«" name="HintSidePanel"> - サイドパãƒãƒ«ã§ã‚¤ãƒ³ãƒ™ãƒ³ãƒˆãƒªã€æœã€ãƒ—ãƒãƒ•ã‚£ãƒ¼ãƒ«ãªã©ã«ã™ã°ã‚„ãアクセスã§ãã¾ã™ã€‚ - </notification> - <notification label="移動" name="HintMove"> - æ©è¡Œã‚„èµ°è¡Œã¯ã€ã€Œç§»å‹•ã€ãƒ‘ãƒãƒ«ã‚’é–‹ãã€çŸ¢å°ã‚³ãƒ³ãƒˆãƒãƒ¼ãƒ«ã«ã‚ˆã£ã¦æ“作ã—ã¾ã™ã€‚ã“ã®æ“作ã¯ã‚ーボードã®çŸ¢å°ã‚ーã§å®Ÿè¡Œã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚ - </notification> - <notification label="" name="HintMoveClick"> - 1. クリックã—ã¦æ©è¡Œ -地é¢ã®ä¸€ç®‡æ‰€ã‚’クリックã™ã‚‹ã¨ã€ãã®å ´æ‰€ã¾ã§æ©ãã¾ã™ã€‚ - -2. クリック・ドラッグã§è¦–界を回転 -世界ã®ä¸€ç®‡æ‰€ã‚’クリックã—ã¦ãƒ‰ãƒ©ãƒƒã‚°ã™ã‚‹ã¨ã€è¦–ç•Œã®å‘ããŒå¤‰ã‚ã‚Šã¾ã™ã€‚ - </notification> - <notification label="表示å" name="HintDisplayName"> - 表示å(カスタマイズå¯èƒ½ï¼‰ã‚’è¨å®šã—ã¾ã™ã€‚ユーザーåã¯å›ºæœ‰ã§å¤‰æ›´ã§ãã¾ã›ã‚“ãŒã€ã“ã“ã§è¿½åŠ ã™ã‚‹è¡¨ç¤ºåã¯å¤‰æ›´å¯èƒ½ã§ã™ã€‚ä»–ã®ä½äººã®åå‰ã®è¡¨ç¤ºæ–¹æ³•ã¯ç’°å¢ƒè¨å®šã§å¤‰æ›´ã—ã¦ãã ã•ã„。 - </notification> - <notification label="表示" name="HintView"> - カメラã®è¦–点を変更ã™ã‚‹ã«ã¯ã€æ°´å¹³ãƒ»åž‚直コントãƒãƒ¼ãƒ«ã‚’使ã„ã¾ã™ã€‚Escape を押ã™ã‹ã€ã¾ãŸã¯æ©è¡Œã™ã‚‹ã¨ã€è¦–点ãŒãƒªã‚»ãƒƒãƒˆã•ã‚Œã¾ã™ã€‚ - </notification> - <notification label="インベントリ" name="HintInventory"> - æŒã¡ç‰©ã«ã¯ã‚ãªãŸã®ã‚¢ã‚¤ãƒ†ãƒ ãŒã™ã¹ã¦å«ã¾ã‚Œã¾ã™ã€‚æ–°ã—ãè¿½åŠ ã•ã‚ŒãŸã‚¢ã‚¤ãƒ†ãƒ ã¯ã€Œæœ€æ–°ã€ã‚¿ãƒ–ã«ä¸€è¦§è¡¨ç¤ºã•ã‚Œã¦ã„ã¾ã™ã€‚ - </notification> - <notification label="ã‚ãªãŸã®ãƒªãƒ³ãƒ‡ãƒ³ãƒ‰ãƒ«" name="HintLindenDollar"> - ã“ã‚ŒãŒã‚ãªãŸã® L$ 残高ã§ã™ã€‚リンデンドルを購入ã™ã‚‹ã«ã¯ã€ŒL$ ã®è³¼å…¥ã€ã‚’クリックã—ã¾ã™ã€‚ - </notification> - <notification name="PopupAttempt"> - ãƒãƒƒãƒ—アップãŒãƒ–ãƒãƒƒã‚¯ã•ã‚Œã¾ã—ãŸã€‚ - <form name="form"> - <ignore name="ignore" text="å…¨ã¦ã®ãƒãƒƒãƒ—アップを有効ã«ã™ã‚‹"/> - <button name="open" text="ãƒãƒƒãƒ—アップウィンドウを開ã"/> - </form> - </notification> - <notification name="AuthRequest"> - 「[REALM]ã€ã«ã‚る「<nolink>[HOST_NAME]</nolink>ã€ã®ã‚µã‚¤ãƒˆã«ã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼åã¨ãƒ‘スワードãŒå¿…è¦ã§ã™ã€‚ - <form name="form"> - <input name="username" text="ユーザーå"/> - <input name="password" text="パスワード"/> - <button name="ok" text="é€ä¿¡"/> - <button name="cancel" text="å–り消ã—"/> - </form> - </notification> - <notification label="" name="ModeChange"> - モードを変更ã™ã‚‹ã«ã¯çµ‚了ã—ã¦å†èµ·å‹•ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="終了ã—ãªã„" yestext="終了"/> - </notification> - <notification label="" name="NoClassifieds"> - クラシファイド広告ã®ä½œæˆã¨ç·¨é›†ã¯ã‚¢ãƒ‰ãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã§ã®ã¿åˆ©ç”¨ã§ãã¾ã™ã€‚終了ã—ã¦ãƒ¢ãƒ¼ãƒ‰ã‚’変更ã—ã¾ã™ã‹ï¼Ÿãƒ¢ãƒ¼ãƒ‰ã¯ãƒã‚°ã‚¤ãƒ³ç”»é¢ã§é¸æŠžã§ãã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="終了ã—ãªã„" yestext="終了"/> - </notification> - <notification label="" name="NoGroupInfo"> - グループã®ä½œæˆã¨ç·¨é›†ã¯ã‚¢ãƒ‰ãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã§ã®ã¿åˆ©ç”¨ã§ãã¾ã™ã€‚終了ã—ã¦ãƒ¢ãƒ¼ãƒ‰ã‚’変更ã—ã¾ã™ã‹ï¼Ÿãƒ¢ãƒ¼ãƒ‰ã¯ãƒã‚°ã‚¤ãƒ³ç”»é¢ã§é¸æŠžã§ãã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="終了ã—ãªã„" yestext="終了"/> - </notification> - <notification label="" name="NoPicks"> - ピックã®ä½œæˆã¨ç·¨é›†ã¯ã‚¢ãƒ‰ãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã§ã®ã¿åˆ©ç”¨ã§ãã¾ã™ã€‚終了ã—ã¦ãƒ¢ãƒ¼ãƒ‰ã‚’変更ã—ã¾ã™ã‹ï¼Ÿãƒ¢ãƒ¼ãƒ‰ã¯ãƒã‚°ã‚¤ãƒ³ç”»é¢ã§é¸æŠžã§ãã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="終了ã—ãªã„" yestext="終了"/> - </notification> - <notification label="" name="NoWorldMap"> - 世界地図ã®è¡¨ç¤ºã¯ã‚¢ãƒ‰ãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã§ã®ã¿åˆ©ç”¨ã§ãã¾ã™ã€‚終了ã—ã¦ãƒ¢ãƒ¼ãƒ‰ã‚’変更ã—ã¾ã™ã‹ï¼Ÿãƒ¢ãƒ¼ãƒ‰ã¯ãƒã‚°ã‚¤ãƒ³ç”»é¢ã§é¸æŠžã§ãã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="終了ã—ãªã„" yestext="終了"/> - </notification> - <notification label="" name="NoVoiceCall"> - ボイスコールã¯ã‚¢ãƒ‰ãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã§ã®ã¿åˆ©ç”¨ã§ãã¾ã™ã€‚ãƒã‚°ã‚¢ã‚¦ãƒˆã—ã¦ãƒ¢ãƒ¼ãƒ‰ã‚’変更ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="終了ã—ãªã„" yestext="終了"/> - </notification> - <notification label="" name="NoAvatarShare"> - 共有ã¯ã‚¢ãƒ‰ãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã§ã®ã¿åˆ©ç”¨ã§ãã¾ã™ã€‚ãƒã‚°ã‚¢ã‚¦ãƒˆã—ã¦ãƒ¢ãƒ¼ãƒ‰ã‚’変更ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="終了ã—ãªã„" yestext="終了"/> - </notification> - <notification label="" name="NoAvatarPay"> - ä»–ã®ä½äººã¸ã®æ”¯æ‰•ã„ã¯ã‚¢ãƒ‰ãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã§ã®ã¿åˆ©ç”¨ã§ãã¾ã™ã€‚ãƒã‚°ã‚¢ã‚¦ãƒˆã—ã¦ãƒ¢ãƒ¼ãƒ‰ã‚’変更ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="終了ã—ãªã„" yestext="終了"/> - </notification> - <global name="UnsupportedCPU"> - - ã‚ãªãŸã® CPU ã®é€Ÿåº¦ã¯å¿…é ˆå‹•ä½œç’°å¢ƒã®æ¡ä»¶ã‚’満ãŸã—ã¦ã„ã¾ã›ã‚“。 - </global> - <global name="UnsupportedGLRequirements"> - [APP_NAME] ã«å¿…è¦ãªãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ãŒãªã„よã†ã§ã™ã€‚ [APP_NAME] ã«ã¯ãƒžãƒ«ãƒãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚’サãƒãƒ¼ãƒˆã™ã‚‹ OpenGL グラフィックカードãŒå¿…è¦ã§ã™ã€‚ ãŠä½¿ã„ã®ã‚°ãƒ©ãƒ•ã‚£ãƒƒã‚¯ã‚«ãƒ¼ãƒ‰ã®æœ€æ–°ãƒ‰ãƒ©ã‚¤ãƒãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã‚‹ã‹ã©ã†ã‹ã€ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚·ã‚¹ãƒ†ãƒ ã®ã‚µãƒ¼ãƒ“スパックã¨ãƒ‘ッãƒãŒå…¥ã£ã¦ã„ã‚‹ã‹ã‚’ã”確èªãã ã•ã„。 - -ã“ã®å•é¡ŒãŒä½•åº¦ã‚‚èµ·ãã‚‹å ´åˆã¯ã€[SUPPORT_SITE] ã‚’ã”確èªãã ã•ã„。 - </global> - <global name="UnsupportedCPUAmount"> - 796 - </global> - <global name="UnsupportedRAMAmount"> - 510 - </global> - <global name="UnsupportedGPU"> - - ã‚ãªãŸã®ã‚°ãƒ©ãƒ•ã‚£ãƒƒã‚¯ã‚«ãƒ¼ãƒ‰ã¯å¿…é ˆå‹•ä½œç’°å¢ƒã®æ¡ä»¶ã‚’満ãŸã—ã¦ã„ã¾ã›ã‚“。 - </global> - <global name="UnsupportedRAM"> - - ã‚ãªãŸã®ã‚·ã‚¹ãƒ†ãƒ メモリã¯å¿…é ˆå‹•ä½œç’°å¢ƒã®æ¡ä»¶ã‚’満ãŸã—ã¦ã„ã¾ã›ã‚“。 - </global> - <global name="You can only set your 'Home Location' on your land or at a mainland Infohub."> - 自分ã®åœŸåœ°ã‚’ãŠæŒã¡ã®å ´åˆã€ã€Œãƒ›ãƒ¼ãƒ ã€ã«è¨å®šã§ãã¾ã™ã€‚ -ãŠæŒã¡ã§ãªã„å ´åˆã¯ã€åœ°å›³ã§ã€Œã‚¤ãƒ³ãƒ•ã‚©ãƒãƒ–ã€ã‚’ãŠæŽ¢ã—ãã ã•ã„。 - </global> - <global name="You died and have been teleported to your home location"> - æ»ã‚“ã§ã—ã¾ã£ãŸã®ã§ã€ãƒ›ãƒ¼ãƒ ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã•ã‚Œã¾ã—ãŸã€‚ - </global> -</notifications> diff --git a/indra/newview/skins/minimal/xui/ja/panel_adhoc_control_panel.xml b/indra/newview/skins/minimal/xui/ja/panel_adhoc_control_panel.xml deleted file mode 100644 index 17e1283d240..00000000000 --- a/indra/newview/skins/minimal/xui/ja/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="call_btn_panel"> - <button label="コール" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="コール終了" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="ボイスコントãƒãƒ¼ãƒ«" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/ja/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/ja/panel_bottomtray.xml deleted file mode 100644 index 13be2cea0af..00000000000 --- a/indra/newview/skins/minimal/xui/ja/panel_bottomtray.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="bottom_tray"> - <string name="DragIndicationImageName" value="Accordion_ArrowOpened_Off"/> - <string name="SpeakBtnToolTip" value="マイクã®ã‚ªãƒ³ãƒ»ã‚ªãƒ•"/> - <string name="VoiceControlBtnToolTip" value="ボイスコントãƒãƒ¼ãƒ«ãƒ‘ãƒãƒ«ã®è¡¨ç¤ºãƒ»éžè¡¨ç¤º"/> - <layout_stack name="toolbar_stack"> - <layout_panel name="speak_panel"> - <button label="話ã™" name="speak_btn" tool_tip="マイクã®ã‚ªãƒ³ãƒ»ã‚ªãƒ•ã‚’切り替ãˆã‚‹"/> - </layout_panel> - <layout_panel name="speak_flyout_panel"> - <button label="" name="flyout_btn" tool_tip="サウンド環境è¨å®šã‚’変更ã™ã‚‹"/> - </layout_panel> - <layout_panel name="gesture_panel"> - <gesture_combo_list label="ジェスãƒãƒ£ãƒ¼" name="Gesture" tool_tip="ã‚¢ãƒã‚¿ãƒ¼ã®å‹•ä½œã‚’èµ·ã“ã™"/> - </layout_panel> - <layout_panel name="cam_panel"> - <bottomtray_button label="視界" name="camera_btn" tool_tip="カメラã®è§’度をコントãƒãƒ¼ãƒ«"/> - </layout_panel> - <layout_panel name="destinations_panel"> - <bottomtray_button label="è¡Œãå…ˆ" name="destination_btn" tool_tip="Second Life 内を旅行ã™ã‚‹"/> - </layout_panel> - <layout_panel name="avatar_panel"> - <bottomtray_button label="マイ ã‚¢ãƒã‚¿ãƒ¼" name="avatar_btn" tool_tip="容姿を変更ã™ã‚‹"/> - </layout_panel> - <layout_panel name="people_panel"> - <bottomtray_button label="人" name="show_people_button" tool_tip="Second Life ã§äººã‚’探ã™"/> - </layout_panel> - <layout_panel name="profile_panel"> - <bottomtray_button label="プãƒãƒ•ã‚£ãƒ¼ãƒ«" name="show_profile_btn" tool_tip="プãƒãƒ•ã‚£ãƒ¼ãƒ«ã‚’表示・編集"/> - </layout_panel> - <layout_panel name="howto_panel"> - <bottomtray_button label="ãƒã‚¦ãƒ„ー" name="show_help_btn" tool_tip="Second Life ã®ãƒ˜ãƒ«ãƒ—æƒ…å ±ã‚’è¦‹ã‚‹"/> - </layout_panel> - <layout_panel name="im_well_panel"> - <chiclet_im_well name="im_well"> - <button name="Unread IM messages" tool_tip="会話"/> - </chiclet_im_well> - </layout_panel> - <layout_panel name="notification_well_panel"> - <chiclet_notification name="notification_well"> - <button name="Unread" tool_tip="通知"/> - </chiclet_notification> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/ja/panel_group_control_panel.xml b/indra/newview/skins/minimal/xui/ja/panel_group_control_panel.xml deleted file mode 100644 index f7f575206ab..00000000000 --- a/indra/newview/skins/minimal/xui/ja/panel_group_control_panel.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="group_info_btn_panel"> - <button label="ã‚°ãƒ«ãƒ¼ãƒ—æƒ…å ±" name="group_info_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="グループコール" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="コール終了" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="ボイスコントãƒãƒ¼ãƒ«ã‚’é–‹ã" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/ja/panel_im_control_panel.xml b/indra/newview/skins/minimal/xui/ja/panel_im_control_panel.xml deleted file mode 100644 index 14c38c796f8..00000000000 --- a/indra/newview/skins/minimal/xui/ja/panel_im_control_panel.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="プãƒãƒ•ã‚£ãƒ¼ãƒ«" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="フレンド登録" name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="テレãƒãƒ¼ãƒˆ" name="teleport_btn" tool_tip="ã“ã®äººã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã‚’é€ã‚Šã¾ã™"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="コール" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="コール終了" name="end_call_btn"/> - </layout_panel> - <layout_panel name="block_btn_panel"> - <button label="ブãƒãƒƒã‚¯" name="block_btn"/> - </layout_panel> - <layout_panel name="unblock_btn_panel"> - <button label="ブãƒãƒƒã‚¯è§£é™¤" name="unblock_btn"/> - </layout_panel> - <layout_panel name="volume_ctrl_panel"> - <slider name="volume_slider" tool_tip="コールã®éŸ³é‡" value="0.5"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/ja/panel_login.xml b/indra/newview/skins/minimal/xui/ja/panel_login.xml deleted file mode 100644 index ac1fe455c7e..00000000000 --- a/indra/newview/skins/minimal/xui/ja/panel_login.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_login"> - <panel.string name="create_account_url"> - http://jp.secondlife.com/registration/ - </panel.string> - <panel.string name="forgot_password_url"> - http://secondlife.com/account/request.php?lang=ja - </panel.string> - <layout_stack name="login_widgets"> - <layout_panel name="login"> - <text name="username_text"> - ユーザーãƒãƒ¼ãƒ : - </text> - <combo_box name="username_combo" tool_tip="登録時ã«è‡ªåˆ†ã§é¸ã‚“ã ユーザーå(例:bobsmith12ã€Steller Sunshineãªã©ï¼‰"/> - <text name="password_text"> - パスワード: - </text> - <check_box label="パスワードを記憶" name="remember_check"/> - <button label="ãƒã‚°ã‚¤ãƒ³" left_pad="30" name="connect_btn" width="60"/> - <text name="mode_selection_text"> - モード: - </text> - <combo_box name="mode_combo" tool_tip="モードをé¸æŠžã—ã¾ã™ã€‚ベーシックモードã§ã¯æŽ¢ç´¢ã‚„ãƒãƒ£ãƒƒãƒˆã‚’ã™ã°ã‚„ãç°¡å˜ã«å®Ÿè¡Œã§ãã€ã‚¢ãƒ‰ãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã§ã¯ã€ã‚ˆã‚Šå¤šãã®æ©Ÿèƒ½ãŒåˆ©ç”¨ã§ãã¾ã™ã€‚"> - <combo_box.item label="ベーシック" name="Basic"/> - <combo_box.item label="アドãƒãƒ³ã‚¹" name="Advanced"/> - </combo_box> - <text name="start_location_text"> - 開始地点: - </text> - <combo_box name="start_location_combo"> - <combo_box.item label="最後ã«ãƒã‚°ã‚¢ã‚¦ãƒˆã—ãŸå ´æ‰€" name="MyLastLocation"/> - <combo_box.item label="ホーム" name="MyHome"/> - <combo_box.item label="<地域åを入力>" name="Typeregionname"/> - </combo_box> - </layout_panel> - <layout_panel name="links"> - <text name="create_new_account_text"> - ãŠç”³ã—込㿠- </text> - <text name="forgot_password_text"> - ユーザーåã¾ãŸã¯ãƒ‘スワードをãŠå¿˜ã‚Œã§ã™ã‹ï¼Ÿ - </text> - <text name="login_help"> - ãƒã‚°ã‚¤ãƒ³ã®æ–¹æ³• - </text> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/ja/panel_navigation_bar.xml b/indra/newview/skins/minimal/xui/ja/panel_navigation_bar.xml deleted file mode 100644 index 0426c4fe9a1..00000000000 --- a/indra/newview/skins/minimal/xui/ja/panel_navigation_bar.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="navigation_bar"> - <panel name="navigation_panel"> - <pull_button name="back_btn" tool_tip="å‰ã®å ´æ‰€ã¸æˆ»ã‚Šã¾ã™"/> - <pull_button name="forward_btn" tool_tip="次ã®å ´æ‰€ã¸é€²ã¿ã¾ã™"/> - <button name="home_btn" tool_tip="「ホームã€ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆ"/> - <location_input label="å ´æ‰€" name="location_combo"/> - <search_combo_box label="検索" name="search_combo_box" tool_tip="検索"> - <combo_editor label="[SECOND_LIFE] を検索:" name="search_combo_editor"/> - </search_combo_box> - </panel> - <favorites_bar name="favorite" tool_tip="ランドマークをã“ã“ã«ãƒ‰ãƒ©ãƒƒã‚°ã—ã¦ã€Second Lifeã®ãŠæ°—ã«å…¥ã‚Šã®å ´æ‰€ã«ç´ æ—©ãアクセスï¼"> - <label name="favorites_bar_label" tool_tip="ランドマークをã“ã“ã«ãƒ‰ãƒ©ãƒƒã‚°ã—ã¦ã€Second Lifeã®ãŠæ°—ã«å…¥ã‚Šã®å ´æ‰€ã«ç´ æ—©ãアクセスï¼"> - ãŠæ°—ã«å…¥ã‚Šãƒãƒ¼ - </label> - <chevron_button name=">>" tool_tip="ãŠæ°—ã«å…¥ã‚Šã‚’ã‚‚ã£ã¨è¡¨ç¤º"/> - </favorites_bar> -</panel> diff --git a/indra/newview/skins/minimal/xui/ja/panel_people.xml b/indra/newview/skins/minimal/xui/ja/panel_people.xml deleted file mode 100644 index 5caeebc151d..00000000000 --- a/indra/newview/skins/minimal/xui/ja/panel_people.xml +++ /dev/null @@ -1,94 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- Side tray panel --> -<panel label="人" name="people_panel"> - <string name="no_recent_people" value="最近交æµã—ãŸäººã¯ã„ã¾ã›ã‚“。一緒ã«ä½•ã‹ã™ã‚‹ä»²é–“ã‚’ãŠæŽ¢ã—ã§ã™ã‹ï¼Ÿä¸‹ã®ã€Œè¡Œã先ガイドã€ãƒœã‚¿ãƒ³ã‚’クリックã—ã¦ãã ã•ã„。"/> - <string name="no_filtered_recent_people" value="ãã®åå‰ã§æœ€è¿‘交æµã—ãŸäººã¯ã„ã¾ã›ã‚“。"/> - <string name="no_one_near" value="è¿‘ãã«èª°ã‚‚ã„ã¾ã›ã‚“。一緒ã«ä½•ã‹ã™ã‚‹ä»²é–“ã‚’ãŠæŽ¢ã—ã§ã™ã‹ï¼Ÿä¸‹ã®ã€Œè¡Œã先ガイドã€ãƒœã‚¿ãƒ³ã‚’クリックã—ã¦ãã ã•ã„。"/> - <string name="no_one_filtered_near" value="ãã®åå‰ã®äººã¯è¿‘ãã«ã„ã¾ã›ã‚“。"/> - <string name="no_friends_online" value="オンラインã®ãƒ•ãƒ¬ãƒ³ãƒ‰ã¯ã„ã¾ã›ã‚“"/> - <string name="no_friends" value="フレンドã¯ã„ã¾ã›ã‚“"/> - <string name="no_friends_msg"> - ä½äººã‚’å³ã‚¯ãƒªãƒƒã‚¯ã™ã‚‹ã¨ã€ãƒ•ãƒ¬ãƒ³ãƒ‰ç™»éŒ²ã§ãã¾ã™ã€‚ -一緒ã«ä½•ã‹ã™ã‚‹ä»²é–“ã‚’ãŠæŽ¢ã—ã§ã™ã‹ï¼Ÿä¸‹ã®ã€Œè¡Œã先ガイドã€ãƒœã‚¿ãƒ³ã‚’クリックã—ã¦ãã ã•ã„。 - </string> - <string name="no_filtered_friends_msg"> - ãŠæŽ¢ã—ã®ã‚‚ã®ã¯è¦‹ã¤ã‹ã‚Šã¾ã—ãŸã‹ï¼Ÿä¸‹ã®ã€Œè¡Œã先ガイドã€ãƒœã‚¿ãƒ³ã‚’クリックã—ã¦ãã ã•ã„。 - </string> - <string name="people_filter_label" value="人をフィルター"/> - <string name="groups_filter_label" value="グループをフィルター"/> - <string name="no_filtered_groups_msg" value="ãŠæŽ¢ã—ã®ã‚‚ã®ã¯è¦‹ã¤ã‹ã‚Šã¾ã—ãŸã‹ï¼Ÿ [secondlife:///app/search/groups/[SEARCH_TERM] 検索] ã‚’ãŠè©¦ã—ãã ã•ã„。"/> - <string name="no_groups_msg" value="グループをãŠæŽ¢ã—ã§ã™ã‹ï¼Ÿ [secondlife:///app/search/groups 検索] ã‚’ãŠè©¦ã—ãã ã•ã„。"/> - <string name="MiniMapToolTipMsg" value="[地域](ダブルクリックã§åœ°å›³ã‚’é–‹ã。Shiftâ€ãƒ‰ãƒ©ãƒƒã‚°ã§æ°´å¹³ãƒ»åž‚直移動)"/> - <string name="AltMiniMapToolTipMsg" value="[地域](ダブルクリックã§ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã€‚Shiftâ€ãƒ‰ãƒ©ãƒƒã‚°ã§æ°´å¹³ãƒ»åž‚直移動)"/> - <filter_editor label="フィルター" name="filter_input"/> - <tab_container name="tabs"> - <panel label="è¿‘ã" name="nearby_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <menu_button name="nearby_view_sort_btn" tool_tip="オプション"/> - <button name="add_friend_btn" tool_tip="é¸æŠžã—ãŸä½äººã‚’フレンドリストã«ç™»éŒ²"/> - </panel> - </panel> - <panel label="マイ フレンド" name="friends_panel"> - <accordion name="friends_accordion"> - <accordion_tab name="tab_online" title="オンライン"/> - <accordion_tab name="tab_all" title="全員"/> - </accordion> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel"> - <layout_panel name="options_gear_btn_panel"> - <menu_button name="friends_viewsort_btn" tool_tip="オプションを表示ã—ã¾ã™"/> - </layout_panel> - <layout_panel name="add_btn_panel"> - <button name="add_btn" tool_tip="フレンド登録を申ã—出る"/> - </layout_panel> - <layout_panel name="trash_btn_panel"> - <dnd_button name="del_btn" tool_tip="é¸æŠžã—ãŸäººã‚’フレンドリストã‹ã‚‰å‰Šé™¤"/> - </layout_panel> - </layout_stack> - </panel> - </panel> - <panel label="マイ グループ" name="groups_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <menu_button name="groups_viewsort_btn" tool_tip="オプション"/> - <button name="plus_btn" tool_tip="グループã«å‚åŠ / æ–°è¦ã‚°ãƒ«ãƒ¼ãƒ—を作æˆã—ã¾ã™"/> - <button name="activate_btn" tool_tip="é¸æŠžã—ãŸã‚°ãƒ«ãƒ¼ãƒ—をアクティブã«ã—ã¾ã™"/> - </panel> - </panel> - <panel label="最新" name="recent_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <menu_button name="recent_viewsort_btn" tool_tip="オプション"/> - <button name="add_friend_btn" tool_tip="é¸æŠžã—ãŸä½äººã‚’フレンドリストã«ç™»éŒ²"/> - </panel> - </panel> - </tab_container> - <panel name="button_bar"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="view_profile_btn_lp"> - <button label="プãƒãƒ•ã‚£ãƒ¼ãƒ«" name="view_profile_btn" tool_tip="写真ã€ã‚°ãƒ«ãƒ¼ãƒ—ã€ãã®ä»–ä½äººæƒ…å ±ã‚’è¡¨ç¤º"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im_btn" tool_tip="インスタントメッセージを開ãã¾ã™"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="コール" name="call_btn" tool_tip="ã“ã®ä½äººã«ã‚³ãƒ¼ãƒ«ã™ã‚‹"/> - </layout_panel> - <layout_panel name="share_btn_lp"> - <button label="共有" name="share_btn" tool_tip="「æŒã¡ç‰©ã€ã®ã‚¢ã‚¤ãƒ†ãƒ を共有ã™ã‚‹"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="テレãƒãƒ¼ãƒˆ" name="teleport_btn" tool_tip="テレãƒãƒ¼ãƒˆã‚’é€ã‚Šã¾ã™"/> - </layout_panel> - </layout_stack> - <layout_stack name="bottom_bar_ls1"> - <layout_panel name="group_info_btn_lp"> - <button label="ã‚°ãƒ«ãƒ¼ãƒ—æƒ…å ±" name="group_info_btn" tool_tip="ã‚°ãƒ«ãƒ¼ãƒ—æƒ…å ±ã‚’è¡¨ç¤ºã—ã¾ã™"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="グループãƒãƒ£ãƒƒãƒˆ" name="chat_btn" tool_tip="ãƒãƒ£ãƒƒãƒˆã‚’開始ã—ã¾ã™"/> - </layout_panel> - <layout_panel name="group_call_btn_lp"> - <button label="グループコール" name="group_call_btn" tool_tip="ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã«ã‚³ãƒ¼ãƒ«ã™ã‚‹"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/minimal/xui/ja/panel_side_tray_tab_caption.xml b/indra/newview/skins/minimal/xui/ja/panel_side_tray_tab_caption.xml deleted file mode 100644 index d06db8ccb10..00000000000 --- a/indra/newview/skins/minimal/xui/ja/panel_side_tray_tab_caption.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="sidetray_tab_panel"> - <text name="sidetray_tab_title" value="サイドパãƒãƒ«"/> - <button name="undock" tool_tip="切り離ã™"/> - <button name="dock" tool_tip="ドッã‚ング"/> - <button name="show_help" tool_tip="ヘルプを表示"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/ja/panel_status_bar.xml b/indra/newview/skins/minimal/xui/ja/panel_status_bar.xml deleted file mode 100644 index 163064484b8..00000000000 --- a/indra/newview/skins/minimal/xui/ja/panel_status_bar.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="status"> - <panel.string name="StatBarDaysOfWeek"> - 日曜日:月曜日:ç«æ›œæ—¥:水曜日:木曜日:金曜日:土曜日 - </panel.string> - <panel.string name="StatBarMonthsOfYear"> - 1月:2月:3月:4月:5月:6月:7月:8月:9月:10月:11月:12月 - </panel.string> - <panel.string name="packet_loss_tooltip"> - パケットæ失 - </panel.string> - <panel.string name="bandwidth_tooltip"> - 帯域幅 - </panel.string> - <panel.string name="time"> - [hour12, datetime, slt]:[min, datetime, slt] [ampm, datetime, slt] [timezone,datetime, slt] - </panel.string> - <panel.string name="timeTooltip"> - [year, datetime, slt] [month, datetime, slt] [day, datetime, slt] ([weekday, datetime, slt]) - </panel.string> - <panel.string name="buycurrencylabel"> - L$ [AMT] - </panel.string> - <panel name="balance_bg"> - <text name="balance" tool_tip="クリックã—㦠L$ 残高を更新" value="L$20"/> - <button label="L$ ã®è³¼å…¥" name="buyL" tool_tip="クリックã—㦠L$ を購入ã—ã¾ã™"/> - </panel> - <text name="TimeText" tool_tip="ç¾åœ¨æ™‚刻(太平洋)"> - 24:00 AM PST - </text> - <button name="media_toggle_btn" tool_tip="ã™ã¹ã¦ã®ãƒ¡ãƒ‡ã‚£ã‚¢ã‚’開始・åœæ¢ï¼ˆéŸ³æ¥½ã€ãƒ“デオã€Web ページ)"/> - <button name="volume_btn" tool_tip="ã‚°ãƒãƒ¼ãƒãƒ«éŸ³é‡è¨å®š"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/pl/floater_camera.xml b/indra/newview/skins/minimal/xui/pl/floater_camera.xml deleted file mode 100644 index 5b9dd476160..00000000000 --- a/indra/newview/skins/minimal/xui/pl/floater_camera.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="camera_floater" title=""> - <floater.string name="rotate_tooltip"> - Obracaj kamerÄ™ wokół obiektu - </floater.string> - <floater.string name="zoom_tooltip"> - Najedź kamerÄ… w kierunku obiektu - </floater.string> - <floater.string name="move_tooltip"> - Poruszaj kamerÄ… w dół/górÄ™ oraz w prawo/lewo - </floater.string> - <floater.string name="camera_modes_title"> - Ustawienia - </floater.string> - <floater.string name="pan_mode_title"> - W prawo lub w lewo - </floater.string> - <floater.string name="presets_mode_title"> - Ustaw widok - </floater.string> - <floater.string name="free_mode_title"> - Zobacz obiekt - </floater.string> - <panel name="controls"> - <panel name="preset_views_list"> - <panel_camera_item name="front_view"> - <panel_camera_item.text name="front_view_text"> - Widok z przodu - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="group_view"> - <panel_camera_item.text name="side_view_text"> - PodglÄ…d grupy - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="rear_view"> - <panel_camera_item.text name="rear_view_text"> - Widok z tyÅ‚u - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="camera_modes_list"> - <panel_camera_item name="object_view"> - <panel_camera_item.text name="object_view_text"> - Widok obiektu - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="mouselook_view"> - <panel_camera_item.text name="mouselook_view_text"> - Widok panoramiczny - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="zoom" tool_tip="Najedź kamerÄ… w kierunku obiektu"> - <joystick_rotate name="cam_rotate_stick" tool_tip="Obracaj kamerÄ™ wokoÅ‚ osi"/> - <slider_bar name="zoom_slider" tool_tip="Przybliż kamerÄ™ do ogniskowej"/> - <joystick_track name="cam_track_stick" tool_tip="Poruszaj kamerÄ… w górÄ™, w dół, w lewo i w prawo"/> - </panel> - </panel> - <panel name="buttons"> - <button label="" name="presets_btn" tool_tip="Ustaw widok"/> - <button label="" name="pan_btn" tool_tip="Kamera horyzontalna"/> - <button label="" name="avatarview_btn" tool_tip="Ustawienia"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/pl/floater_help_browser.xml b/indra/newview/skins/minimal/xui/pl/floater_help_browser.xml deleted file mode 100644 index 66fde04f887..00000000000 --- a/indra/newview/skins/minimal/xui/pl/floater_help_browser.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_help_browser" title="POMOC"> - <floater.string name="loading_text"> - Åadowanie... - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="external_controls"/> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/pl/floater_media_browser.xml b/indra/newview/skins/minimal/xui/pl/floater_media_browser.xml deleted file mode 100644 index 02b7c6bc2be..00000000000 --- a/indra/newview/skins/minimal/xui/pl/floater_media_browser.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="PRZEGLÄ„DARKA MEDIÓW"> - <floater.string name="home_page_url"> - http://www.secondlife.com - </floater.string> - <floater.string name="support_page_url"> - http://support.secondlife.com - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button label="Wstecz" name="back"/> - <button label="Dalej" name="forward"/> - <button label="OdÅ›wież" name="reload"/> - <button label="Idź" name="go"/> - </layout_panel> - <layout_panel name="time_controls"> - <button label="przewiÅ„" name="rewind"/> - <button label="zatrzymaj" name="stop"/> - <button label="dalej" name="seek"/> - </layout_panel> - <layout_panel name="parcel_owner_controls"> - <button label="WyÅ›lij bieżącÄ… stronÄ™ do parceli" name="assign"/> - </layout_panel> - <layout_panel name="external_controls"> - <button label="Otwórz w przeglÄ…darce zewnÄ™trznej" name="open_browser"/> - <check_box label="Zawsze otwieraj w przeglÄ…darce zewnÄ™trznej" name="open_always"/> - <button label="Zamknij" name="close"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/pl/floater_nearby_chat.xml b/indra/newview/skins/minimal/xui/pl/floater_nearby_chat.xml deleted file mode 100644 index 7dc3e1f22ef..00000000000 --- a/indra/newview/skins/minimal/xui/pl/floater_nearby_chat.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="CZAT LOKALNY"> - <check_box label="TÅ‚umaczenie czatu (wspierane przez Google)" name="translate_chat_checkbox"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/pl/floater_web_content.xml b/indra/newview/skins/minimal/xui/pl/floater_web_content.xml deleted file mode 100644 index e3096f1e54c..00000000000 --- a/indra/newview/skins/minimal/xui/pl/floater_web_content.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_web_content" title=""> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button name="back" tool_tip="Wstecz"/> - <button name="forward" tool_tip="Dalej"/> - <button name="stop" tool_tip="Zatrzymaj"/> - <button name="reload" tool_tip="OdÅ›wież stronÄ™"/> - <combo_box name="address" tool_tip="Wpisz URL tutaj"/> - <icon name="media_secure_lock_flag" tool_tip="Zabezpieczona przeglÄ…darka"/> - <button name="popexternal" tool_tip="Otwórz bieżący URL w zewnÄ™trznej przeglÄ…darce"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/pl/inspect_avatar.xml b/indra/newview/skins/minimal/xui/pl/inspect_avatar.xml deleted file mode 100644 index 5e982c0185f..00000000000 --- a/indra/newview/skins/minimal/xui/pl/inspect_avatar.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_avatar"> - <string name="Subtitle"> - [AGE] - </string> - <string name="Details"> - [SL_PROFILE] - </string> - <text name="user_details"> - To jest mój opis w Second Life. - </text> - <slider name="volume_slider" tool_tip="Poziom gÅ‚oÅ›noÅ›ci" value="0.5"/> - <button label="Dodaj znajomość" name="add_friend_btn"/> - <button label="IM" name="im_btn"/> - <button label="Profil" name="view_profile_btn"/> - <panel name="moderator_panel"> - <button label="WyÅ‚Ä…cz komunikacjÄ™ gÅ‚osowÄ…" name="disable_voice"/> - <button label="WÅ‚Ä…cz komunikacjÄ™ gÅ‚osowÄ…" name="enable_voice"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/pl/inspect_object.xml b/indra/newview/skins/minimal/xui/pl/inspect_object.xml deleted file mode 100644 index 23d8ce77004..00000000000 --- a/indra/newview/skins/minimal/xui/pl/inspect_object.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_object"> - <string name="Creator"> - Przez [CREATOR] - </string> - <string name="CreatorAndOwner"> - Twórca [CREATOR] -WÅ‚aÅ›ciciel [OWNER] - </string> - <string name="Price"> - L$[AMOUNT] - </string> - <string name="PriceFree"> - Darmowe! - </string> - <string name="Touch"> - Dotknij - </string> - <string name="Sit"> - UsiÄ…dź tutaj - </string> - <text name="object_name" value="Test Object Name That Is actually two lines and Really Long"/> - <text name="price_text"> - L$30,000 - </text> - <text name="object_description"> - This is a really long description for an object being as how it is at least 80 characters in length and so but maybe more like 120 at this point. Who knows, really? - </text> - <button label="Kup" name="buy_btn"/> - <button label="ZapÅ‚ać" name="pay_btn"/> - <button label="Weź kopiÄ™" name="take_free_copy_btn"/> - <button label="Dotknij" name="touch_btn"/> - <button label="UsiÄ…dź tutaj" name="sit_btn"/> - <button label="Otwórz" name="open_btn"/> - <icon name="secure_browsing" tool_tip="Zabezpiecz przeglÄ…danie"/> - <button label="WiÄ™cej" name="more_info_btn"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/pl/menu_add_wearable_gear.xml b/indra/newview/skins/minimal/xui/pl/menu_add_wearable_gear.xml deleted file mode 100644 index 7c572b4fc93..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_add_wearable_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Add Wearable Gear Menu"> - <menu_item_check label="PorzÄ…dkuj wedÅ‚ug daty" name="sort_by_most_recent"/> - <menu_item_check label="PorzÄ…dkuj wedÅ‚ug nazwy" name="sort_by_name"/> - <menu_item_check label="PorzÄ…dkuj wedÅ‚ug typu" name="sort_by_type"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_attachment_other.xml b/indra/newview/skins/minimal/xui/pl/menu_attachment_other.xml deleted file mode 100644 index aacdad97e3e..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_attachment_other.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_avatar_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Zobacz profil" name="Profile..."/> - <menu_item_call label="Dodaj znajomość" name="Add Friend"/> - <menu_item_call label="IM" name="Send IM..."/> - <menu_item_call label="ZadzwoÅ„" name="Call"/> - <menu_item_call label="ZaproÅ› do grupy" name="Invite..."/> - <menu_item_call label="Zablokuj" name="Avatar Mute"/> - <menu_item_call label="Raport" name="abuse"/> - <menu_item_call label="Unieruchom" name="Freeze..."/> - <menu_item_call label="Wyrzuć" name="Eject..."/> - <menu_item_call label="Debugowanie tekstur" name="Debug..."/> - <menu_item_call label="Przybliż" name="Zoom In"/> - <menu_item_call label="ZapÅ‚ać" name="Pay..."/> - <menu_item_call label="Sprawdź" name="Object Inspect"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_attachment_self.xml b/indra/newview/skins/minimal/xui/pl/menu_attachment_self.xml deleted file mode 100644 index 163b3a231e2..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_attachment_self.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Attachment Pie"> - <menu_item_call label="Dotknij" name="Attachment Object Touch"/> - <menu_item_call label="Edytuj" name="Edit..."/> - <menu_item_call label="OdÅ‚Ä…cz" name="Detach"/> - <menu_item_call label="UsiÄ…dź tutaj" name="Sit Down Here"/> - <menu_item_call label="WstaÅ„" name="Stand Up"/> - <menu_item_call label="Mój wyglÄ…d" name="Change Outfit"/> - <menu_item_call label="Edytuj mój strój" name="Edit Outfit"/> - <menu_item_call label="Edytuj mój ksztaÅ‚t" name="Edit My Shape"/> - <menu_item_call label="Moi znajomi" name="Friends..."/> - <menu_item_call label="Moje grupy" name="Groups..."/> - <menu_item_call label="Mój profil" name="Profile..."/> - <menu_item_call label="Debugowanie tekstur" name="Debug..."/> - <menu_item_call label="Opuść" name="Drop"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_avatar_icon.xml b/indra/newview/skins/minimal/xui/pl/menu_avatar_icon.xml deleted file mode 100644 index e8d2b14231f..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_avatar_icon.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Avatar Icon Menu"> - <menu_item_call label="Profil" name="Show Profile"/> - <menu_item_call label="Czat/IM..." name="Send IM"/> - <menu_item_call label="Dodaj znajomość..." name="Add Friend"/> - <menu_item_call label="UsuÅ„..." name="Remove Friend"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_avatar_other.xml b/indra/newview/skins/minimal/xui/pl/menu_avatar_other.xml deleted file mode 100644 index dcf7921badc..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_avatar_other.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_attachment_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Zobacz profil" name="Profile..."/> - <menu_item_call label="Dodaj znajomość" name="Add Friend"/> - <menu_item_call label="IM" name="Send IM..."/> - <menu_item_call label="ZadzwoÅ„" name="Call"/> - <menu_item_call label="ZaproÅ› do grupy" name="Invite..."/> - <menu_item_call label="Zablokuj" name="Avatar Mute"/> - <menu_item_call label="Raport" name="abuse"/> - <menu_item_call label="Unieruchom" name="Freeze..."/> - <menu_item_call label="Wyrzuć" name="Eject..."/> - <menu_item_call label="Debugowanie tekstur" name="Debug..."/> - <menu_item_call label="Przybliż" name="Zoom In"/> - <menu_item_call label="ZapÅ‚ać" name="Pay..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_avatar_self.xml b/indra/newview/skins/minimal/xui/pl/menu_avatar_self.xml deleted file mode 100644 index d481475803b..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_avatar_self.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Self Pie"> - <menu_item_call label="UsiÄ…dź tu" name="Sit Down Here"/> - <menu_item_call label="WstaÅ„" name="Stand Up"/> - <context_menu label="Zdejmij" name="Take Off >"> - <context_menu label="Ubrania" name="Clothes >"> - <menu_item_call label="KoszulÄ™" name="Shirt"/> - <menu_item_call label="Spodnie" name="Pants"/> - <menu_item_call label="SpódnicÄ™" name="Skirt"/> - <menu_item_call label="Buty" name="Shoes"/> - <menu_item_call label="Skarpetki" name="Socks"/> - <menu_item_call label="KurtkÄ™" name="Jacket"/> - <menu_item_call label="RÄ™kawiczki" name="Gloves"/> - <menu_item_call label="Podkoszulek" name="Self Undershirt"/> - <menu_item_call label="BieliznÄ™" name="Self Underpants"/> - <menu_item_call label="Tatuaż" name="Self Tattoo"/> - <menu_item_call label="Ubranie alpha" name="Self Alpha"/> - <menu_item_call label="Wszystko" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="OdÅ‚Ä…cz" name="Object Detach"/> - <menu_item_call label="OdÅ‚Ä…cz wszystko" name="Detach All"/> - </context_menu> - <menu_item_call label="Mój wyglÄ…d" name="Chenge Outfit"/> - <menu_item_call label="Edytuj mój strój" name="Edit Outfit"/> - <menu_item_call label="Edytuj mój ksztaÅ‚t" name="Edit My Shape"/> - <menu_item_call label="Moi znajomi" name="Friends..."/> - <menu_item_call label="Moje grupy" name="Groups..."/> - <menu_item_call label="Mój profil" name="Profile..."/> - <menu_item_call label="Debugowanie tekstur" name="Debug..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_bottomtray.xml b/indra/newview/skins/minimal/xui/pl/menu_bottomtray.xml deleted file mode 100644 index 8da40dcedfb..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_bottomtray.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_camera_move_controls_menu"> - <menu_item_check label="Rozmowy gÅ‚osowe aktywne" name="EnableVoiceChat"/> - <menu_item_check label="Przycisk gesturki" name="ShowGestureButton"/> - <menu_item_check label="Przycisk ruchu" name="ShowMoveButton"/> - <menu_item_check label="Przycisk widoku" name="ShowCameraButton"/> - <menu_item_check label="Przycisk zdjęć" name="ShowSnapshotButton"/> - <menu_item_check label="Buduj" name="ShowBuildButton"/> - <menu_item_check label="Szukaj" name="ShowSearchButton"/> - <menu_item_check label="Mapa" name="ShowWorldMapButton"/> - <menu_item_check label="Mini-Mapa" name="ShowMiniMapButton"/> - <menu_item_call label="Wytnij" name="NearbyChatBar_Cut"/> - <menu_item_call label="Kopiuj" name="NearbyChatBar_Copy"/> - <menu_item_call label="Wklej" name="NearbyChatBar_Paste"/> - <menu_item_call label="UsuÅ„" name="NearbyChatBar_Delete"/> - <menu_item_call label="Zaznacz wszystko" name="NearbyChatBar_Select_All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_cof_attachment.xml b/indra/newview/skins/minimal/xui/pl/menu_cof_attachment.xml deleted file mode 100644 index 4e5407601b4..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_cof_attachment.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Attachment"> - <menu_item_call label="OdÅ‚Ä…cz" name="detach"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_cof_body_part.xml b/indra/newview/skins/minimal/xui/pl/menu_cof_body_part.xml deleted file mode 100644 index ee60d3feb65..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_cof_body_part.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Body"> - <menu_item_call label="ZastÄ…p" name="replace"/> - <menu_item_call label="Edytuj" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_cof_clothing.xml b/indra/newview/skins/minimal/xui/pl/menu_cof_clothing.xml deleted file mode 100644 index ad439001378..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_cof_clothing.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Clothing"> - <menu_item_call label="Zdejmij" name="take_off"/> - <menu_item_call label="Edytuj" name="edit"/> - <menu_item_call label="ZastÄ…p" name="replace"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_cof_gear.xml b/indra/newview/skins/minimal/xui/pl/menu_cof_gear.xml deleted file mode 100644 index 9fba39be1ac..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_cof_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear COF"> - <menu label="Nowe ubranie" name="COF.Gear.New_Clothes"/> - <menu label="Nowe części ciaÅ‚a" name="COF.Geear.New_Body_Parts"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_edit.xml b/indra/newview/skins/minimal/xui/pl/menu_edit.xml deleted file mode 100644 index 578e270fed0..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_edit.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu label="Edycja" name="Edit"> - <menu_item_call label="Cofnij" name="Undo"/> - <menu_item_call label="Powtórz" name="Redo"/> - <menu_item_call label="Wytnij" name="Cut"/> - <menu_item_call label="Kopiuj" name="Copy"/> - <menu_item_call label="Wklej" name="Paste"/> - <menu_item_call label="UsuÅ„" name="Delete"/> - <menu_item_call label="Powiel" name="Duplicate"/> - <menu_item_call label="Zaznacz wszystko" name="Select All"/> - <menu_item_call label="Odznacz" name="Deselect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_favorites.xml b/indra/newview/skins/minimal/xui/pl/menu_favorites.xml deleted file mode 100644 index 7310ff5c276..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_favorites.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Teleportuj" name="Teleport To Landmark"/> - <menu_item_call label="Zobacz/Edytuj Ulubione miejsce" name="Landmark Open"/> - <menu_item_call label="Kopiuj SLurl" name="Copy slurl"/> - <menu_item_call label="Pokaż na mapie" name="Show On Map"/> - <menu_item_call label="Kopiuj" name="Landmark Copy"/> - <menu_item_call label="Wklej" name="Landmark Paste"/> - <menu_item_call label="UsuÅ„" name="Delete"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_gesture_gear.xml b/indra/newview/skins/minimal/xui/pl/menu_gesture_gear.xml deleted file mode 100644 index a72dec22fc1..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_gesture_gear.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_gesture_gear"> - <menu_item_call label="Dodaj/UsuÅ„ z Ulubionych" name="activate"/> - <menu_item_call label="Kopiuj" name="copy_gesture"/> - <menu_item_call label="Wklej" name="paste"/> - <menu_item_call label="Kopiuj UUID" name="copy_uuid"/> - <menu_item_call label="Zapisz do obecnego zestawu ubrania" name="save_to_outfit"/> - <menu_item_call label="Edytuj" name="edit_gesture"/> - <menu_item_call label="Sprawdź" name="inspect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_group_plus.xml b/indra/newview/skins/minimal/xui/pl/menu_group_plus.xml deleted file mode 100644 index 83be4d38c51..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_group_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="DoÅ‚Ä…cz do grupy..." name="item_join"/> - <menu_item_call label="Nowa grupa..." name="item_new"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_hide_navbar.xml b/indra/newview/skins/minimal/xui/pl/menu_hide_navbar.xml deleted file mode 100644 index 19d9510cd3f..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_hide_navbar.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_navbar_menu"> - <menu_item_check label="Pokaż pasek Nawigacji" name="ShowNavbarNavigationPanel"/> - <menu_item_check label="Pokaż pasek Ulubionych" name="ShowNavbarFavoritesPanel"/> - <menu_item_check label="Pokaż pasek mini-lokalizacji" name="ShowMiniLocationPanel"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_im_well_button.xml b/indra/newview/skins/minimal/xui/pl/menu_im_well_button.xml deleted file mode 100644 index 207bc2211b3..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_im_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="IM Well Button Context Menu"> - <menu_item_call label="Zamknij wszystkie" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_imchiclet_adhoc.xml b/indra/newview/skins/minimal/xui/pl/menu_imchiclet_adhoc.xml deleted file mode 100644 index 4ead44878a3..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_imchiclet_adhoc.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet AdHoc Menu"> - <menu_item_call label="ZakoÅ„cz rozmowÄ™" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_imchiclet_group.xml b/indra/newview/skins/minimal/xui/pl/menu_imchiclet_group.xml deleted file mode 100644 index 2b9a362123b..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_imchiclet_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet Group Menu"> - <menu_item_call label="O grupie" name="Show Profile"/> - <menu_item_call label="Pokaż sesjÄ™" name="Chat"/> - <menu_item_call label="ZakoÅ„cz rozmowÄ™" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_imchiclet_p2p.xml b/indra/newview/skins/minimal/xui/pl/menu_imchiclet_p2p.xml deleted file mode 100644 index 8924d6db3e1..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_imchiclet_p2p.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet P2P Menu"> - <menu_item_call label="Zobacz profil" name="Show Profile"/> - <menu_item_call label="Dodaj znajomość" name="Add Friend"/> - <menu_item_call label="Pokaż sesjÄ™" name="Send IM"/> - <menu_item_call label="ZakoÅ„cz rozmowÄ™" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_inspect_avatar_gear.xml b/indra/newview/skins/minimal/xui/pl/menu_inspect_avatar_gear.xml deleted file mode 100644 index 59560f236c2..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Zobacz profil" name="view_profile"/> - <menu_item_call label="Dodaj znajomość" name="add_friend"/> - <menu_item_call label="IM" name="im"/> - <menu_item_call label="ZadzwoÅ„" name="call"/> - <menu_item_call label="Teleportuj" name="teleport"/> - <menu_item_call label="ZaproÅ› do grupy" name="invite_to_group"/> - <menu_item_call label="Zablokuj" name="block"/> - <menu_item_call label="Odblokuj" name="unblock"/> - <menu_item_call label="Raport" name="report"/> - <menu_item_call label="Unieruchom" name="freeze"/> - <menu_item_call label="Wyrzuć" name="eject"/> - <menu_item_call label="Kopnij" name="kick"/> - <menu_item_call label="CSR" name="csr"/> - <menu_item_call label="Debugowanie tekstur" name="debug"/> - <menu_item_call label="Znajdź na mapie" name="find_on_map"/> - <menu_item_call label="Przybliż" name="zoom_in"/> - <menu_item_call label="ZapÅ‚ać" name="pay"/> - <menu_item_call label="UdostÄ™pnij" name="share"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_inspect_object_gear.xml b/indra/newview/skins/minimal/xui/pl/menu_inspect_object_gear.xml deleted file mode 100644 index c12bd490ff9..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_inspect_object_gear.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<menu name="Gear Menu"> - <menu_item_call label="Dotknij" name="touch"/> - <menu_item_call label="UsiÄ…dź" name="sit"/> - <menu_item_call label="ZapÅ‚ać" name="pay"/> - <menu_item_call label="Kup" name="buy"/> - <menu_item_call label="Weź" name="take"/> - <menu_item_call label="Weź kopiÄ™" name="take_copy"/> - <menu_item_call label="Otwórz" name="open"/> - <menu_item_call label="Edytuj" name="edit"/> - <menu_item_call label="Ubierz" name="wear"/> - <menu_item_call label="Dodaj" name="add"/> - <menu_item_call label="Raport" name="report"/> - <menu_item_call label="Zablokuj" name="block"/> - <menu_item_call label="Przybliż" name="zoom_in"/> - <menu_item_call label="UsuÅ„" name="remove"/> - <menu_item_call label="WiÄ™cej informacji" name="more_info"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_inspect_self_gear.xml b/indra/newview/skins/minimal/xui/pl/menu_inspect_self_gear.xml deleted file mode 100644 index c4ef9761d9d..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_inspect_self_gear.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="UsiÄ…dź tutaj" name="Sit Down Here"/> - <menu_item_call label="WstaÅ„" name="Stand Up"/> - <context_menu label="Zdejmij" name="Take Off >"> - <context_menu label="Ubranie" name="Clothes >"> - <menu_item_call label="Bluzka" name="Shirt"/> - <menu_item_call label="Spodnie" name="Pants"/> - <menu_item_call label="Spódnica" name="Skirt"/> - <menu_item_call label="Buty" name="Shoes"/> - <menu_item_call label="Skarpetki" name="Socks"/> - <menu_item_call label="Kurtka" name="Jacket"/> - <menu_item_call label="RÄ™kawiczki" name="Gloves"/> - <menu_item_call label="Podkoszulek" name="Self Undershirt"/> - <menu_item_call label="Bielizna" name="Self Underpants"/> - <menu_item_call label="Tatuaż" name="Self Tattoo"/> - <menu_item_call label="Alpha" name="Self Alpha"/> - <menu_item_call label="Ubranie" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="OdÅ‚Ä…cz" name="Object Detach"/> - <menu_item_call label="OdÅ‚Ä…cz wszystko" name="Detach All"/> - </context_menu> - <menu_item_call label="ZmieÅ„ strój" name="Chenge Outfit"/> - <menu_item_call label="Edytuj mój strój" name="Edit Outfit"/> - <menu_item_call label="Edytuj mój ksztaÅ‚t" name="Edit My Shape"/> - <menu_item_call label="Znajomi" name="Friends..."/> - <menu_item_call label="Moje grupy" name="Groups..."/> - <menu_item_call label="Mój profil" name="Profile..."/> - <menu_item_call label="Debugowanie tekstur" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_inv_offer_chiclet.xml b/indra/newview/skins/minimal/xui/pl/menu_inv_offer_chiclet.xml deleted file mode 100644 index 5ef0f2f7a48..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_inv_offer_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="InvOfferChiclet Menu"> - <menu_item_call label="Zamknij" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_inventory.xml b/indra/newview/skins/minimal/xui/pl/menu_inventory.xml deleted file mode 100644 index e47ffa0e188..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_inventory.xml +++ /dev/null @@ -1,84 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="UdostÄ™pnij" name="Share"/> - <menu_item_call label="Kupuj" name="Task Buy"/> - <menu_item_call label="Otwórz" name="Task Open"/> - <menu_item_call label="Odtwarzaj" name="Task Play"/> - <menu_item_call label="WÅ‚aÅ›ciwoÅ›ci" name="Task Properties"/> - <menu_item_call label="ZmieÅ„ nazwÄ™" name="Task Rename"/> - <menu_item_call label="UsuÅ„" name="Task Remove"/> - <menu_item_call label="Opróżnij Kosz" name="Empty Trash"/> - <menu_item_call label="Opróżnij Folder Zgubione i odnalezione" name="Empty Lost And Found"/> - <menu_item_call label="Nowy folder" name="New Folder"/> - <menu_item_call label="Nowy skrypt" name="New Script"/> - <menu_item_call label="Nowa nota" name="New Note"/> - <menu_item_call label="Nowa gesturka" name="New Gesture"/> - <menu label="Nowe Ubranie" name="New Clothes"> - <menu_item_call label="Nowa koszula" name="New Shirt"/> - <menu_item_call label="Nowe spodnie" name="New Pants"/> - <menu_item_call label="Nowe buty" name="New Shoes"/> - <menu_item_call label="Nowe skarpety" name="New Socks"/> - <menu_item_call label="Nowa kurtka" name="New Jacket"/> - <menu_item_call label="Nowa spódnica" name="New Skirt"/> - <menu_item_call label="Nowe rÄ™kawiczki" name="New Gloves"/> - <menu_item_call label="Nowy podkoszulek" name="New Undershirt"/> - <menu_item_call label="Nowa bielizna" name="New Underpants"/> - <menu_item_call label="Nowa maska alpha" name="New Alpha Mask"/> - <menu_item_call label="Nowy tatuaż" name="New Tattoo"/> - </menu> - <menu label="Nowa Część CiaÅ‚a" name="New Body Parts"> - <menu_item_call label="Nowy ksztaÅ‚t" name="New Shape"/> - <menu_item_call label="Nowa skórka" name="New Skin"/> - <menu_item_call label="Nowe wÅ‚osy" name="New Hair"/> - <menu_item_call label="Nowe oczy" name="New Eyes"/> - </menu> - <menu label="ZmieÅ„ CzcionkÄ™" name="Change Type"> - <menu_item_call label="DomyÅ›lna" name="Default"/> - <menu_item_call label="RÄ™kawiczki" name="Gloves"/> - <menu_item_call label="Kurtka" name="Jacket"/> - <menu_item_call label="Spodnie" name="Pants"/> - <menu_item_call label="KsztaÅ‚t" name="Shape"/> - <menu_item_call label="Buty" name="Shoes"/> - <menu_item_call label="Koszula" name="Shirt"/> - <menu_item_call label="Spódnica" name="Skirt"/> - <menu_item_call label="Bielizna" name="Underpants"/> - <menu_item_call label="Podkoszulek" name="Undershirt"/> - </menu> - <menu_item_call label="Teleportuj" name="Landmark Open"/> - <menu_item_call label="Otwórz" name="Animation Open"/> - <menu_item_call label="Otwórz" name="Sound Open"/> - <menu_item_call label="ZmieÅ„ strój" name="Replace Outfit"/> - <menu_item_call label="Dodaj do stroju" name="Add To Outfit"/> - <menu_item_call label="UsuÅ„ obiekt" name="Purge Item"/> - <menu_item_call label="Przywróć obiekt" name="Restore Item"/> - <menu_item_call label="Otwórz" name="Open"/> - <menu_item_call label="Otwórz oryginalne" name="Open Original"/> - <menu_item_call label="WÅ‚aÅ›ciwoÅ›ci" name="Properties"/> - <menu_item_call label="ZmieÅ„ nazwÄ™" name="Rename"/> - <menu_item_call label="Kopiuj dane UUID" name="Copy Asset UUID"/> - <menu_item_call label="Kopiuj" name="Copy"/> - <menu_item_call label="Wklej" name="Paste"/> - <menu_item_call label="Wklej jako link" name="Paste As Link"/> - <menu_item_call label="UsuÅ„" name="Remove Link"/> - <menu_item_call label="UsuÅ„" name="Delete"/> - <menu_item_call label="Skasuj folder systemu" name="Delete System Folder"/> - <menu_item_call label="Rozpocznij konferencjÄ™ czatowÄ…" name="Conference Chat Folder"/> - <menu_item_call label="Odtwarzaj" name="Sound Play"/> - <menu_item_call label="O Miejscu" name="About Landmark"/> - <menu_item_call label="Używaj in-world" name="Animation Play"/> - <menu_item_call label="Odtwarzaj lokalnie" name="Animation Audition"/> - <menu_item_call label="WyÅ›lij IM" name="Send Instant Message"/> - <menu_item_call label="Teleportuj..." name="Offer Teleport..."/> - <menu_item_call label="Rozpocznij konferencjÄ™ czatowÄ…" name="Conference Chat"/> - <menu_item_call label="Aktywuj" name="Activate"/> - <menu_item_call label="Deaktywuj" name="Deactivate"/> - <menu_item_call label="Zapisz jako" name="Save As"/> - <menu_item_call label="OdÅ‚Ä…cz od siebie" name="Detach From Yourself"/> - <menu_item_call label="Załóż" name="Wearable And Object Wear"/> - <menu label="DoÅ‚Ä…cz do" name="Attach To"/> - <menu label="DoÅ‚Ä…cz do zaÅ‚Ä…czników HUD" name="Attach To HUD"/> - <menu_item_call label="Edytuj" name="Wearable Edit"/> - <menu_item_call label="Dodaj" name="Wearable Add"/> - <menu_item_call label="Zdejmij" name="Take Off"/> - <menu_item_call label="--brak opcji--" name="--no options--"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_inventory_add.xml b/indra/newview/skins/minimal/xui/pl/menu_inventory_add.xml deleted file mode 100644 index 4a56586aafc..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_inventory_add.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_inventory_add"> - <menu label="ZaÅ‚aduj" name="upload"> - <menu_item_call label="obraz (L$[COST])..." name="Upload Image"/> - <menu_item_call label="dźwiÄ™k (L$[COST])..." name="Upload Sound"/> - <menu_item_call label="animacjÄ™ (L$[COST])..." name="Upload Animation"/> - <menu_item_call label="zbiór plików (L$[COST] za jeden plik)..." name="Bulk Upload"/> - <menu_item_call label="Ustaw domyÅ›lne pozwolenia Å‚adowania" name="perm prefs"/> - </menu> - <menu_item_call label="Nowy folder" name="New Folder"/> - <menu_item_call label="Nowy skrypt" name="New Script"/> - <menu_item_call label="Nowa nota" name="New Note"/> - <menu_item_call label="Nowa gesturka" name="New Gesture"/> - <menu label="Nowe Ubranie" name="New Clothes"> - <menu_item_call label="Nowa koszula" name="New Shirt"/> - <menu_item_call label="Nowe spodnie" name="New Pants"/> - <menu_item_call label="Nowe buty" name="New Shoes"/> - <menu_item_call label="Nowe skarpetki" name="New Socks"/> - <menu_item_call label="Nowa kurtka" name="New Jacket"/> - <menu_item_call label="Nowa spódnica" name="New Skirt"/> - <menu_item_call label="Nowe rÄ™kawiczki" name="New Gloves"/> - <menu_item_call label="Nowy podkoszulek" name="New Undershirt"/> - <menu_item_call label="Nowa bielizna" name="New Underpants"/> - <menu_item_call label="Nowa maska alpha" name="New Alpha"/> - <menu_item_call label="Nowy tatuaż" name="New Tattoo"/> - </menu> - <menu label="Nowa Część CiaÅ‚a" name="New Body Parts"> - <menu_item_call label="Nowy ksztaÅ‚t" name="New Shape"/> - <menu_item_call label="Nowa skórka" name="New Skin"/> - <menu_item_call label="Nowe wÅ‚osy" name="New Hair"/> - <menu_item_call label="Nowe oczy" name="New Eyes"/> - </menu> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_inventory_gear_default.xml b/indra/newview/skins/minimal/xui/pl/menu_inventory_gear_default.xml deleted file mode 100644 index 591c3a81d5f..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_inventory_gear_default.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_gear_default"> - <menu_item_call label="Nowe okno Szafy" name="new_window"/> - <menu_item_check label="PorzÄ…dkuj wedÅ‚ug nazwy" name="sort_by_name"/> - <menu_item_check label="PorzÄ…dkuj wedÅ‚ug daty" name="sort_by_recent"/> - <menu_item_check label="Sortuj foldery zawsze wedÅ‚ug nazwy" name="sort_folders_by_name"/> - <menu_item_check label="Posortuj foldery systemowe od góry" name="sort_system_folders_to_top"/> - <menu_item_call label="Pokaż filtry" name="show_filters"/> - <menu_item_call label="Zresetuj filtry" name="reset_filters"/> - <menu_item_call label="Zamknij wszystkie foldery" name="close_folders"/> - <menu_item_call label="Opróżnij Zagubione i odnalezione" name="empty_lostnfound"/> - <menu_item_call label="Zapisz teksturÄ™ jako" name="Save Texture As"/> - <menu_item_call label="UdostÄ™pnij" name="Share"/> - <menu_item_call label="Znajdź oryginaÅ‚" name="Find Original"/> - <menu_item_call label="Znajdź wszystkie linki" name="Find All Links"/> - <menu_item_call label="Opróżnij Kosz" name="empty_trash"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_land.xml b/indra/newview/skins/minimal/xui/pl/menu_land.xml deleted file mode 100644 index cbfecaee568..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_land.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Land Pie"> - <menu_item_call label="O PosiadÅ‚oÅ›ci" name="Place Information..."/> - <menu_item_call label="UsiÄ…dź tutaj" name="Sit Here"/> - <menu_item_call label="Kup posiadÅ‚ość" name="Land Buy"/> - <menu_item_call label="Kup przepustkÄ™" name="Land Buy Pass"/> - <menu_item_call label="Buduj" name="Create"/> - <menu_item_call label="Edytuj teren" name="Edit Terrain"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_landmark.xml b/indra/newview/skins/minimal/xui/pl/menu_landmark.xml deleted file mode 100644 index aa5808390c4..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_landmark.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="landmark_overflow_menu"> - <menu_item_call label="Kopiuj SLurl" name="copy"/> - <menu_item_call label="UsuÅ„" name="delete"/> - <menu_item_call label="Utwórz" name="pick"/> - <menu_item_call label="Dodaj do paska Ulubionych" name="add_to_favbar"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_login.xml b/indra/newview/skins/minimal/xui/pl/menu_login.xml deleted file mode 100644 index e50b6946411..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_login.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Login Menu"> - <menu label="Ja" name="File"> - <menu_item_call label="Ustawienia" name="Preferences..."/> - <menu_item_call label="WyÅ‚Ä…cz [APP_NAME]" name="Quit"/> - </menu> - <menu label="Pomoc" name="Help"> - <menu_item_call label="[SECOND_LIFE]: Pomoc" name="Second Life Help"/> - <menu_item_call label="O [APP_NAME]" name="About Second Life"/> - </menu> - <menu_item_check label="Pokaż ustawienia debugowania" name="Show Debug Menu"/> - <menu label="Debug" name="Debug"> - <menu_item_call label="Ustawienia debugowania" name="Debug Settings"/> - <menu_item_call label="Ustawienia UI/kolor" name="UI/Color Settings"/> - <menu label="UI Testy" name="UI Tests"/> - <menu_item_call label="Ustaw rozmiar interfejsu..." name="Set Window Size..."/> - <menu_item_call label="WyÅ›wietl TOS" name="TOS"/> - <menu_item_call label="WyÅ›wietl wiadomość krytycznÄ…" name="Critical"/> - <menu_item_call label="Test przeglÄ…darki mediów" name="Web Browser Test"/> - <menu_item_call label="Test zawartoÅ›ci strony" name="Web Content Floater Test"/> - <menu_item_check label="Pokaż siatkÄ™" name="Show Grid Picker"/> - <menu_item_call label="Pokaż konsolÄ™ ZawiadomieÅ„" name="Show Notifications Console"/> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/pl/menu_mini_map.xml b/indra/newview/skins/minimal/xui/pl/menu_mini_map.xml deleted file mode 100644 index 8f869654165..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_mini_map.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Zoom blisko" name="Zoom Close"/> - <menu_item_call label="Zoom Å›rednio" name="Zoom Medium"/> - <menu_item_call label="Zoom daleko" name="Zoom Far"/> - <menu_item_call label="Zoom domyÅ›lny" name="Zoom Default"/> - <menu_item_check label="Obróć mapÄ™" name="Rotate Map"/> - <menu_item_check label="Autocentrowanie" name="Auto Center"/> - <menu_item_call label="Zatrzymaj" name="Stop Tracking"/> - <menu_item_call label="Mapa Åšwiata" name="World Map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_navbar.xml b/indra/newview/skins/minimal/xui/pl/menu_navbar.xml deleted file mode 100644 index 1d434670eee..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_navbar.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Navbar Menu"> - <menu_item_check label="Pokaż współrzÄ™dne" name="Show Coordinates"/> - <menu_item_check label="Pokaż wÅ‚aÅ›ciwoÅ›ci posiadÅ‚oÅ›ci" name="Show Parcel Properties"/> - <menu_item_call label="Landmark" name="Landmark"/> - <menu_item_call label="Wytnij" name="Cut"/> - <menu_item_call label="Kopiuj" name="Copy"/> - <menu_item_call label="Wklej" name="Paste"/> - <menu_item_call label="UsuÅ„" name="Delete"/> - <menu_item_call label="Zaznacz wszystko" name="Select All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_nearby_chat.xml b/indra/newview/skins/minimal/xui/pl/menu_nearby_chat.xml deleted file mode 100644 index fe5bc6ba6f3..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_nearby_chat.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="NearBy Chat Menu"> - <menu_item_call label="Pokaż osoby w pobliżu..." name="nearby_people"/> - <menu_item_check label="Pokaż zablokowany tekst" name="muted_text"/> - <menu_item_check label="WyÅ›wietlaj ikonki znajomych" name="show_buddy_icons"/> - <menu_item_check label="WyÅ›wietlaj imiona" name="show_names"/> - <menu_item_check label="WyÅ›wietlaj ikonki i imiona" name="show_icons_and_names"/> - <menu_item_call label="Rozmiar czcionki" name="font_size"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_notification_well_button.xml b/indra/newview/skins/minimal/xui/pl/menu_notification_well_button.xml deleted file mode 100644 index bd3d42f9b1f..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_notification_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Notification Well Button Context Menu"> - <menu_item_call label="Zamknij" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_object.xml b/indra/newview/skins/minimal/xui/pl/menu_object.xml deleted file mode 100644 index 3da6c5c8905..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_object.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Object Pie"> - <menu_item_call label="Dotknij" name="Object Touch"> - <menu_item_call.on_enable name="EnableTouch" parameter="Dotknij"/> - </menu_item_call> - <menu_item_call label="Edytuj" name="Edit..."/> - <menu_item_call label="Buduj" name="Build"/> - <menu_item_call label="Otwórz" name="Open"/> - <menu_item_call label="UsiÄ…dź tutaj" name="Object Sit"/> - <menu_item_call label="WstaÅ„" name="Object Stand Up"/> - <menu_item_call label="Sprawdź" name="Object Inspect"/> - <menu_item_call label="Przybliż" name="Zoom In"/> - <context_menu label="Załóż na" name="Put On"> - <menu_item_call label="Załóż" name="Wear"/> - <menu_item_call label="Dodaj" name="Add"/> - <context_menu label="DoÅ‚Ä…cz" name="Object Attach"/> - <context_menu label="DoÅ‚Ä…cz HUD" name="Object Attach HUD"/> - </context_menu> - <context_menu label="ZarzÄ…dzaj" name="Remove"> - <menu_item_call label="Raport" name="Report Abuse..."/> - <menu_item_call label="Zablokuj" name="Object Mute"/> - <menu_item_call label="Zwróć" name="Return..."/> - </context_menu> - <menu_item_call label="Weź" name="Pie Object Take"/> - <menu_item_call label="Weź kopiÄ™" name="Take Copy"/> - <menu_item_call label="ZapÅ‚ać" name="Pay..."/> - <menu_item_call label="Kup" name="Buy..."/> - <menu_item_call label="Skasuj" name="Delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_object_icon.xml b/indra/newview/skins/minimal/xui/pl/menu_object_icon.xml deleted file mode 100644 index b499bca2dbf..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_object_icon.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Object Icon Menu"> - <menu_item_call label="Sprawdź..." name="Object Profile"/> - <menu_item_call label="Zablokuj..." name="Block"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_outfit_gear.xml b/indra/newview/skins/minimal/xui/pl/menu_outfit_gear.xml deleted file mode 100644 index 1a70e76ec7c..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_outfit_gear.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Outfit"> - <menu_item_call label="Załóż - ZastÄ…p obecny strój" name="wear"/> - <menu_item_call label="Załóż - Dodaj do bieżącego stroju" name="wear_add"/> - <menu_item_call label="Zdejmij - UsuÅ„ z obecnego stroju" name="take_off"/> - <menu label="Nowe ubranie" name="New Clothes"> - <menu_item_call label="Nowa koszula" name="New Shirt"/> - <menu_item_call label="Nowe spodnie" name="New Pants"/> - <menu_item_call label="Nowe buty" name="New Shoes"/> - <menu_item_call label="Nowe skarpetki" name="New Socks"/> - <menu_item_call label="Nowa kurtka" name="New Jacket"/> - <menu_item_call label="Nowa spódnica" name="New Skirt"/> - <menu_item_call label="Nowe rÄ™kawiczki" name="New Gloves"/> - <menu_item_call label="Nowa podkoszulka" name="New Undershirt"/> - <menu_item_call label="Nowa bielizna" name="New Underpants"/> - <menu_item_call label="Nowa maska alpha" name="New Alpha"/> - <menu_item_call label="Nowy tatuaż" name="New Tattoo"/> - </menu> - <menu label="Nowe części ciaÅ‚a" name="New Body Parts"> - <menu_item_call label="Nowy ksztaÅ‚t" name="New Shape"/> - <menu_item_call label="Nowa skórka" name="New Skin"/> - <menu_item_call label="Nowe wÅ‚osy" name="New Hair"/> - <menu_item_call label="Nowe oczy" name="New Eyes"/> - </menu> - <menu_item_call label="ZmieÅ„ nazwÄ™ stroju" name="rename"/> - <menu_item_call label="UsuÅ„ strój" name="delete_outfit"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_outfit_tab.xml b/indra/newview/skins/minimal/xui/pl/menu_outfit_tab.xml deleted file mode 100644 index 998e25f38ee..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_outfit_tab.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit"> - <menu_item_call label="Załóż - ZastÄ…p obecny strój" name="wear_replace"/> - <menu_item_call label="Załóż - Dodaj do obecnego stroju" name="wear_add"/> - <menu_item_call label="Zdejmij - UsuÅ„ z obecnego stroju" name="take_off"/> - <menu_item_call label="Edytuj strój" name="edit"/> - <menu_item_call label="ZmieÅ„ nazwÄ™ stroju" name="rename"/> - <menu_item_call label="UsuÅ„ strój" name="delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_participant_list.xml b/indra/newview/skins/minimal/xui/pl/menu_participant_list.xml deleted file mode 100644 index 9e591027887..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_participant_list.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Participant List Context Menu"> - <menu_item_check label="Sortuj wedÅ‚ug imienia" name="SortByName"/> - <menu_item_check label="Sortuj wedÅ‚ug ostatniego mówcy" name="SortByRecentSpeakers"/> - <menu_item_call label="Zobacz profil" name="View Profile"/> - <menu_item_call label="Dodaj znajomość" name="Add Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="ZadzwoÅ„" name="Call"/> - <menu_item_call label="UdostÄ™pnij" name="Share"/> - <menu_item_call label="ZapÅ‚ać" name="Pay"/> - <menu_item_check label="PrzeglÄ…daj ikonki" name="View Icons"/> - <menu_item_check label="Zablokuj gÅ‚os" name="Block/Unblock"/> - <menu_item_check label="Zablokuj tekst" name="MuteText"/> - <context_menu label="Opcje Moderatora" name="Moderator Options"> - <menu_item_check label="Czat/IM dozwolony" name="AllowTextChat"/> - <menu_item_call label="Wycisz tego uczestnika" name="ModerateVoiceMuteSelected"/> - <menu_item_call label="Odblokuj wyciszenie tego uczestnika" name="ModerateVoiceUnMuteSelected"/> - <menu_item_call label="Wycisz wszystkich" name="ModerateVoiceMute"/> - <menu_item_call label="Cofnij wyciszenie wszystkim" name="ModerateVoiceUnmute"/> - </context_menu> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_people_friends_view_sort.xml b/indra/newview/skins/minimal/xui/pl/menu_people_friends_view_sort.xml deleted file mode 100644 index b62b85d30a4..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="PorzÄ…dkuj wedÅ‚ug nazwy" name="sort_name"/> - <menu_item_check label="PorzÄ…dkuj wedÅ‚ug statusu" name="sort_status"/> - <menu_item_check label="WyÅ›wietlaj ikonki" name="view_icons"/> - <menu_item_check label="Zobacz udzielone prawa" name="view_permissions"/> - <menu_item_call label="Pokaż zablokowanych Rezydentów & obiekty" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_people_groups.xml b/indra/newview/skins/minimal/xui/pl/menu_people_groups.xml deleted file mode 100644 index ace5ebf8884..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_people_groups.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Zobacz info" name="View Info"/> - <menu_item_call label="Czat" name="Chat"/> - <menu_item_call label="Rozmowa" name="Call"/> - <menu_item_call label="Aktywuj" name="Activate"/> - <menu_item_call label="Opuść" name="Leave"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_people_groups_view_sort.xml b/indra/newview/skins/minimal/xui/pl/menu_people_groups_view_sort.xml deleted file mode 100644 index c70ea2315f4..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="WyÅ›wietlaj ikonki grupy" name="Display Group Icons"/> - <menu_item_call label="Opuść zaznaczone grupy" name="Leave Selected Group"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_people_nearby.xml b/indra/newview/skins/minimal/xui/pl/menu_people_nearby.xml deleted file mode 100644 index 0111e0fd512..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_people_nearby.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Avatar Context Menu"> - <menu_item_call label="Zobacz profil" name="View Profile"/> - <menu_item_call label="Dodaj do znajomych" name="Add Friend"/> - <menu_item_call label="UsuÅ„ z listy znajomych" name="Remove Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="ZadzwoÅ„" name="Call"/> - <menu_item_call label="Mapa" name="Map"/> - <menu_item_call label="UdostÄ™pnij" name="Share"/> - <menu_item_call label="ZapÅ‚ać" name="Pay"/> - <menu_item_check label="Zablokuj/Odblokuj" name="Block/Unblock"/> - <menu_item_call label="Teleportuj" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_people_nearby_multiselect.xml b/indra/newview/skins/minimal/xui/pl/menu_people_nearby_multiselect.xml deleted file mode 100644 index dcfc48fb606..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_people_nearby_multiselect.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Multi-Selected People Context Menu"> - <menu_item_call label="Dodaj znajomych" name="Add Friends"/> - <menu_item_call label="UsuÅ„ znajomych" name="Remove Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="ZadzwoÅ„" name="Call"/> - <menu_item_call label="UdostÄ™pnij" name="Share"/> - <menu_item_call label="ZapÅ‚ać" name="Pay"/> - <menu_item_call label="Teleportuj" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_people_nearby_view_sort.xml b/indra/newview/skins/minimal/xui/pl/menu_people_nearby_view_sort.xml deleted file mode 100644 index 8ec3820f84e..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="PorzÄ…dkuj wedÅ‚ug ostatnich rozmówców" name="sort_by_recent_speakers"/> - <menu_item_check label="PorzÄ…dkuj wedÅ‚ug nazwy" name="sort_name"/> - <menu_item_check label="PorzÄ…dkuj wedÅ‚ug odlegÅ‚oÅ›ci" name="sort_distance"/> - <menu_item_check label="WyÅ›wietlaj ikonki" name="view_icons"/> - <menu_item_call label="Pokaż zablokowanych Rezydentów & obiekty" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_people_recent_view_sort.xml b/indra/newview/skins/minimal/xui/pl/menu_people_recent_view_sort.xml deleted file mode 100644 index b474a556bda..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="PorzÄ…dkuj wedÅ‚ug daty" name="sort_most"/> - <menu_item_check label="PorzÄ…dkuj wedÅ‚ug nazwy" name="sort_name"/> - <menu_item_check label="WyÅ›wietlaj ikonki" name="view_icons"/> - <menu_item_call label="Pokaż zablokowanych Rezydentów & obiekty" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_picks.xml b/indra/newview/skins/minimal/xui/pl/menu_picks.xml deleted file mode 100644 index 6f6e4b7fa80..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_picks.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Picks"> - <menu_item_call label="Info" name="pick_info"/> - <menu_item_call label="Edytuj" name="pick_edit"/> - <menu_item_call label="Teleportuj" name="pick_teleport"/> - <menu_item_call label="Mapa" name="pick_map"/> - <menu_item_call label="UsuÅ„" name="pick_delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_picks_plus.xml b/indra/newview/skins/minimal/xui/pl/menu_picks_plus.xml deleted file mode 100644 index e9c00f51a97..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_picks_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="picks_plus_menu"> - <menu_item_call label="Stwórz" name="create_pick"/> - <menu_item_call label="Nowa reklama" name="create_classified"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_place.xml b/indra/newview/skins/minimal/xui/pl/menu_place.xml deleted file mode 100644 index c3b72d6abbd..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_place.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="place_overflow_menu"> - <menu_item_call label="Zapisz landmark" name="landmark"/> - <menu_item_call label="Utwórz" name="pick"/> - <menu_item_call label="Kup przepustkÄ™" name="pass"/> - <menu_item_call label="Edytuj" name="edit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_place_add_button.xml b/indra/newview/skins/minimal/xui/pl/menu_place_add_button.xml deleted file mode 100644 index 3d0c1c87fb1..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_place_add_button.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_folder_gear"> - <menu_item_call label="Dodaj folder" name="add_folder"/> - <menu_item_call label="Dodaj do landmarków" name="add_landmark"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_places_gear_folder.xml b/indra/newview/skins/minimal/xui/pl/menu_places_gear_folder.xml deleted file mode 100644 index d1f283b7aa3..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_places_gear_folder.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_folder_gear"> - <menu_item_call label="Dodaj do landmarków" name="add_landmark"/> - <menu_item_call label="Dodaj folder" name="add_folder"/> - <menu_item_call label="Przywróć obiekt" name="restore_item"/> - <menu_item_call label="Wytnij" name="cut"/> - <menu_item_call label="Kopiuj" name="copy_folder"/> - <menu_item_call label="Wklej" name="paste"/> - <menu_item_call label="ZmieÅ„ nazwÄ™" name="rename"/> - <menu_item_call label="UsuÅ„" name="delete"/> - <menu_item_call label="RozwiÅ„" name="expand"/> - <menu_item_call label="Schowaj" name="collapse"/> - <menu_item_call label="RozwiÅ„ wszystkie foldery" name="expand_all"/> - <menu_item_call label="Schowaj wszystkie foldery" name="collapse_all"/> - <menu_item_check label="Sortuj wedÅ‚ug daty" name="sort_by_date"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_places_gear_landmark.xml b/indra/newview/skins/minimal/xui/pl/menu_places_gear_landmark.xml deleted file mode 100644 index 0139d3a9879..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_places_gear_landmark.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_ladmark_gear"> - <menu_item_call label="Teleportuj" name="teleport"/> - <menu_item_call label="WiÄ™cej informacji" name="more_info"/> - <menu_item_call label="Pokaż na mapie" name="show_on_map"/> - <menu_item_call label="Dodaj do landmarków" name="add_landmark"/> - <menu_item_call label="Dodaj folder" name="add_folder"/> - <menu_item_call label="Przywróć obiekt" name="restore_item"/> - <menu_item_call label="Wytnij" name="cut"/> - <menu_item_call label="Kopiuj landmark" name="copy_landmark"/> - <menu_item_call label="Kopiuj SLurl" name="copy_slurl"/> - <menu_item_call label="Wklej" name="paste"/> - <menu_item_call label="ZmieÅ„ nazwÄ™" name="rename"/> - <menu_item_call label="UsuÅ„" name="delete"/> - <menu_item_call label="RozwiÅ„ wszystkie foldery" name="expand_all"/> - <menu_item_call label="Schowaj wszystkie foldery" name="collapse_all"/> - <menu_item_check label="Sortuj wedÅ‚ug daty" name="sort_by_date"/> - <menu_item_call label="Stwórz Ulubione" name="create_pick"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_profile_overflow.xml b/indra/newview/skins/minimal/xui/pl/menu_profile_overflow.xml deleted file mode 100644 index ef836c8ecfe..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_profile_overflow.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="profile_overflow_menu"> - <menu_item_call label="Mapa" name="show_on_map"/> - <menu_item_call label="ZapÅ‚ać" name="pay"/> - <menu_item_call label="UdostÄ™pnij" name="share"/> - <menu_item_call label="Zablokuj" name="block"/> - <menu_item_call label="Odblokuj" name="unblock"/> - <menu_item_call label="Wyrzuć" name="kick"/> - <menu_item_call label="Unieruchom" name="freeze"/> - <menu_item_call label="Uruchom" name="unfreeze"/> - <menu_item_call label="CSR" name="csr"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_save_outfit.xml b/indra/newview/skins/minimal/xui/pl/menu_save_outfit.xml deleted file mode 100644 index 4bc65eca38f..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_save_outfit.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="save_outfit_menu"> - <menu_item_call label="Zapisz" name="save_outfit"/> - <menu_item_call label="Zapisz jako" name="save_as_new_outfit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_script_chiclet.xml b/indra/newview/skins/minimal/xui/pl/menu_script_chiclet.xml deleted file mode 100644 index 256500a402a..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_script_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="ScriptChiclet Menu"> - <menu_item_call label="Zamknij" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_slurl.xml b/indra/newview/skins/minimal/xui/pl/menu_slurl.xml deleted file mode 100644 index 862f538aa77..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_slurl.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="O miejscu" name="about_url"/> - <menu_item_call label="Teleportuj do miejsca" name="teleport_to_url"/> - <menu_item_call label="Mapa" name="show_on_map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_teleport_history_gear.xml b/indra/newview/skins/minimal/xui/pl/menu_teleport_history_gear.xml deleted file mode 100644 index 0e58592d46a..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_teleport_history_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Teleport History Gear Context Menu"> - <menu_item_call label="RozwiÅ„ wszystkie foldery" name="Expand all folders"/> - <menu_item_call label="Schowaj wszystkie foldery" name="Collapse all folders"/> - <menu_item_call label="Wyczyść historiÄ™ teleportacji" name="Clear Teleport History"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_teleport_history_item.xml b/indra/newview/skins/minimal/xui/pl/menu_teleport_history_item.xml deleted file mode 100644 index cd36c116b06..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_teleport_history_item.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Teleportuj" name="Teleport"/> - <menu_item_call label="WiÄ™cej szczegółów" name="More Information"/> - <menu_item_call label="Kopiuj do schowka" name="CopyToClipboard"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_teleport_history_tab.xml b/indra/newview/skins/minimal/xui/pl/menu_teleport_history_tab.xml deleted file mode 100644 index b12df08d6ae..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_teleport_history_tab.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Otwórz" name="TabOpen"/> - <menu_item_call label="Zamknij" name="TabClose"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_text_editor.xml b/indra/newview/skins/minimal/xui/pl/menu_text_editor.xml deleted file mode 100644 index 812f87bc1a3..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_text_editor.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Text editor context menu"> - <menu_item_call label="Wytnij" name="Cut"/> - <menu_item_call label="Kopiuj" name="Copy"/> - <menu_item_call label="Wklej" name="Paste"/> - <menu_item_call label="UsuÅ„" name="Delete"/> - <menu_item_call label="Zaznacz wszystko" name="Select All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_topinfobar.xml b/indra/newview/skins/minimal/xui/pl/menu_topinfobar.xml deleted file mode 100644 index 53536c8f1cf..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_topinfobar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_topinfobar"> - <menu_item_check label="Pokaż współprzÄ™dne" name="Show Coordinates"/> - <menu_item_check label="Pokaż O PosiadÅ‚oÅ›ci" name="Show Parcel Properties"/> - <menu_item_call label="Landmark" name="Landmark"/> - <menu_item_call label="Kopiuj" name="Copy"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_url_agent.xml b/indra/newview/skins/minimal/xui/pl/menu_url_agent.xml deleted file mode 100644 index db729be725f..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_url_agent.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Pokaż profil Rezydenta" name="show_agent"/> - <menu_item_call label="Kopiuj nazwÄ™ do schowka" name="url_copy_label"/> - <menu_item_call label="Kopiuj SLurl do schowka" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_url_group.xml b/indra/newview/skins/minimal/xui/pl/menu_url_group.xml deleted file mode 100644 index f340b3296aa..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_url_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Pokaż szczegóły o grupie" name="show_group"/> - <menu_item_call label="Kopiuj grupÄ™ do schowka" name="url_copy_label"/> - <menu_item_call label="Kopiuj SLurl do schowka" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_url_http.xml b/indra/newview/skins/minimal/xui/pl/menu_url_http.xml deleted file mode 100644 index e73f7b67456..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_url_http.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Otwórz przeglÄ…darkÄ™ internetowÄ…" name="url_open"/> - <menu_item_call label="Otwórz w wewnÄ™trzenej przeglÄ…darce" name="url_open_internal"/> - <menu_item_call label="Otwórz w zewnÄ™trznej przeglÄ…darce" name="url_open_external"/> - <menu_item_call label="Kopiuj URL do schowka" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_url_inventory.xml b/indra/newview/skins/minimal/xui/pl/menu_url_inventory.xml deleted file mode 100644 index e36fa0dd2ba..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_url_inventory.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Pokaż obiekt w szafie" name="show_item"/> - <menu_item_call label="Kopiuj nazwÄ™ do schowka" name="url_copy_label"/> - <menu_item_call label="Kopiuj SLurl do schowka" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_url_map.xml b/indra/newview/skins/minimal/xui/pl/menu_url_map.xml deleted file mode 100644 index 179ab1f6768..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_url_map.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Pokaż na mapie" name="show_on_map"/> - <menu_item_call label="Teleportuj do miejsca" name="teleport_to_location"/> - <menu_item_call label="Kopiuj SLurl do schowka" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_url_objectim.xml b/indra/newview/skins/minimal/xui/pl/menu_url_objectim.xml deleted file mode 100644 index 7576208a9ef..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_url_objectim.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Pokaż szczegóły o obiekcie" name="show_object"/> - <menu_item_call label="Pokaż na mapie" name="show_on_map"/> - <menu_item_call label="Teleportuj to miejsca obiektu" name="teleport_to_object"/> - <menu_item_call label="Kopiuj nazwÄ™ obiektu do schowka" name="url_copy_label"/> - <menu_item_call label="Kopiuj SLurl do schowka" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_url_parcel.xml b/indra/newview/skins/minimal/xui/pl/menu_url_parcel.xml deleted file mode 100644 index 1b8dd621372..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_url_parcel.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Pokaż szczegóły o miejscu" name="show_parcel"/> - <menu_item_call label="Pokaż na mapie" name="show_on_map"/> - <menu_item_call label="Kopiuj SLurl do schowka" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_url_slapp.xml b/indra/newview/skins/minimal/xui/pl/menu_url_slapp.xml deleted file mode 100644 index eb83245c48c..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_url_slapp.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Uruchom tÄ™ komendÄ™" name="run_slapp"/> - <menu_item_call label="Kopiuj SLurl do schowka" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_url_slurl.xml b/indra/newview/skins/minimal/xui/pl/menu_url_slurl.xml deleted file mode 100644 index 4d4a5b4c4d9..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_url_slurl.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Pokaż szczegóły o miejscu" name="show_place"/> - <menu_item_call label="Pokaż na mapie" name="show_on_map"/> - <menu_item_call label="Teleportuj do miejsca" name="teleport_to_location"/> - <menu_item_call label="Kopiuj SLurl do schowka" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_url_teleport.xml b/indra/newview/skins/minimal/xui/pl/menu_url_teleport.xml deleted file mode 100644 index e2255469300..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_url_teleport.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Teleportuj do tego miejsca" name="teleport"/> - <menu_item_call label="Pokaż na mapie" name="show_on_map"/> - <menu_item_call label="Kopiuj SLurl do schowka" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_viewer.xml b/indra/newview/skins/minimal/xui/pl/menu_viewer.xml deleted file mode 100644 index 0196dc86130..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_viewer.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Main Menu"> - <menu label="Pomoc" name="Help"> - <menu_item_call label="[SECOND_LIFE] Portal Pomocy" name="Second Life Help"/> - </menu> - <menu label="Zaawansowane" name="Advanced"> - <menu label="Skróty" name="Shortcuts"> - <menu_item_check label="Zacznij latać" name="Fly"/> - <menu_item_call label="Zamknij okno" name="Close Window"/> - <menu_item_call label="Zamknij wszystkie okna" name="Close All Windows"/> - <menu_item_call label="Reset widoku" name="Reset View"/> - </menu> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/pl/menu_wearable_list_item.xml b/indra/newview/skins/minimal/xui/pl/menu_wearable_list_item.xml deleted file mode 100644 index bf85246be84..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_wearable_list_item.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit Wearable Context Menu"> - <menu_item_call label="ZastÄ…p" name="wear_replace"/> - <menu_item_call label="Załóż" name="wear_wear"/> - <menu_item_call label="Dodaj" name="wear_add"/> - <menu_item_call label="Zdejmij/OdÅ‚Ä…cz" name="take_off_or_detach"/> - <menu_item_call label="OdÅ‚Ä…cz" name="detach"/> - <context_menu label="DoÅ‚Ä…cz do" name="wearable_attach_to"/> - <context_menu label="DoÅ‚Ä…cz do zaÅ‚Ä…czników HUD" name="wearable_attach_to_hud"/> - <menu_item_call label="Zdejmij" name="take_off"/> - <menu_item_call label="Edytuj" name="edit"/> - <menu_item_call label="Profil obiektu" name="object_profile"/> - <menu_item_call label="Pokaż oryginalny" name="show_original"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_wearing_gear.xml b/indra/newview/skins/minimal/xui/pl/menu_wearing_gear.xml deleted file mode 100644 index 47cafdbd999..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_wearing_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Wearing"> - <menu_item_call label="Edytuj strój" name="edit"/> - <menu_item_call label="Zdejmij" name="takeoff"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_wearing_tab.xml b/indra/newview/skins/minimal/xui/pl/menu_wearing_tab.xml deleted file mode 100644 index 75314370432..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_wearing_tab.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Wearing"> - <menu_item_call label="Zdejmij" name="take_off"/> - <menu_item_call label="OdÅ‚Ä…cz" name="detach"/> - <menu_item_call label="Edytuj strój" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/notifications.xml b/indra/newview/skins/minimal/xui/pl/notifications.xml deleted file mode 100644 index 6475a374653..00000000000 --- a/indra/newview/skins/minimal/xui/pl/notifications.xml +++ /dev/null @@ -1,2907 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<notifications> - <global name="skipnexttime"> - Nie pokazuj tej opcji nastÄ™pnym razem - </global> - <global name="alwayschoose"> - Pozwalaj na wybór tej opcji - </global> - <global name="implicitclosebutton"> - Zamknij - </global> - <template name="okbutton"> - <form> - <button name="OK_okbutton" text="$yestext"/> - </form> - </template> - <template name="okignore"> - <form> - <button name="OK_okignore" text="$yestext"/> - </form> - </template> - <template name="okcancelbuttons"> - <form> - <button name="OK_okcancelbuttons" text="$yestext"/> - <button name="Cancel_okcancelbuttons" text="$notext"/> - </form> - </template> - <template name="okcancelignore"> - <form> - <button name="OK_okcancelignore" text="$yestext"/> - <button name="Cancel_okcancelignore" text="$canceltext"/> - </form> - </template> - <template name="okhelpbuttons"> - <form> - <button name="OK_okhelpbuttons" text="$yestext"/> - <button name="Help" text="$helptext"/> - </form> - </template> - <template name="yesnocancelbuttons"> - <form> - <button name="Yes" text="$yestext"/> - <button name="No" text="$notext"/> - <button name="Cancel_yesnocancelbuttons" text="$canceltext"/> - </form> - </template> - <notification functor="GenericAcknowledge" label="Nieznany rodzaj komunikatu" name="MissingAlert"> - Twoja wersja klienta [APP_NAME] nie może wyÅ›wietlić odebranej wiadomoÅ›ci. Upewnij siÄ™, że posiadasz najnowszÄ… wersjÄ™ klienta. - -Szczegóły bÅ‚Ä™du: BÅ‚Ä…d o nazwie '[_NAME]' nie zostaÅ‚ odnaleziony w pliku notifications.xml. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FloaterNotFound"> - BÅ‚Ä…d: nie można znaleźć nastÄ™pujÄ…cych elementów: - -[CONTROLS] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TutorialNotFound"> - Brak samouczka na ten temat - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GenericAlert"> - [MESSAGE] - </notification> - <notification name="GenericAlertYesCancel"> - [MESSAGE] - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Tak"/> - </notification> - <notification name="BadInstallation"> - Podczas aktualizacji [APP_NAME] wystÄ…piÅ‚ bÅ‚Ä…d. ProszÄ™ odwiedzić stronÄ™ [http://get.secondlife.com pobierz najnowsza wersjÄ™] aby Å›ciÄ…gnąć ostatniÄ… wersjÄ™ klienta. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="LoginFailedNoNetwork"> - Nie można poÅ‚Ä…czyć z [SECOND_LIFE_GRID]. - '[DIAGNOSTIC]' -Upewnij siÄ™, że Twoje poÅ‚Ä…czenie z internetem dziaÅ‚a. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="MessageTemplateNotFound"> - Wzór komunikatu dla [PATH] nie zostaÅ‚ odnaleziony. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="WearableSave"> - Zapisać zmiany dotyczÄ…ce ubrania/części ciaÅ‚a? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Nie Zapisuj" yestext="Zapisz"/> - </notification> - <notification name="CompileQueueSaveText"> - W trakcie Å‚adwania tekstu dla skryptu pojawiÅ‚ siÄ™ problem z nastÄ™pujÄ…cego powodu: [REASON]. Spróbuj ponownie za kilka minut. - </notification> - <notification name="CompileQueueSaveBytecode"> - W trakcie Å‚adowania skompilowanego skryptu pojawiÅ‚ siÄ™ problem z nastÄ™pujÄ…cego powodu: [REASON]. Spróbuj ponownie za kilka minut. - </notification> - <notification name="WriteAnimationFail"> - Problem w zapisywaniu danych animacji. Spróbuj ponownie za kilka minut. - </notification> - <notification name="UploadAuctionSnapshotFail"> - W trakcie Å‚adwania obrazu aukcji pojawiÅ‚ siÄ™ problem z nastÄ™pujÄ…cego powodu: [REASON]. - </notification> - <notification name="UnableToViewContentsMoreThanOne"> - Nie można przeglÄ…dać zawartoÅ›ci wiÄ™cej niż jednego obiektu naraz. -Wybierz pojedynczy obiekt i spróbuj jeszcze raz. - </notification> - <notification name="SaveClothingBodyChanges"> - Zapisać wszystkie zmiany dotyczÄ…ce ubrania/czeÅ›ci ciaÅ‚a? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Nie zapisuj" yestext="Zapisz"/> - </notification> - <notification name="FriendsAndGroupsOnly"> - Osoby spoza listy znajomych, których rozmowy gÅ‚osowe i IM sÄ… ignorowane, nie wiedzÄ… o tym. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FavoritesOnLogin"> - PamiÄ™taj: kiedy wyÅ‚Ä…czysz tÄ… opcjÄ™, każdy kto używa tego komputera, może zobaczyć TwojÄ… listÄ™ ulubionych miejsc. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GrantModifyRights"> - Udzielenie praw modyfikacji innemu Rezydentowi umożliwia modyfikacjÄ™, usuwanie lub wziÄ™cie JAKIEGOKOLWIEK z Twoich obiektów. Używaj tej opcji z rozwagÄ…! -Czy chcesz udzielić prawa do modyfikacji [NAME]? - <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification name="GrantModifyRightsMultiple"> - Udzielenie praw modyfikacji innym Rezydentom umożliwia im modyfikacjÄ™, usuwanie lub wziÄ™cie JAKIEGOKOLWIEK z Twoich obiektów. Używaj tej opcji z rozwagÄ…! -Czy chcesz dać prawa modyfikacji wybranym osobom? - <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification name="RevokeModifyRights"> - Czy chcesz odebrać prawa do modyfikacji [NAME]? - <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification name="RevokeModifyRightsMultiple"> - Czy chcesz odebrać prawa modyfikacji wybranym Rezydentom? - <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification name="UnableToCreateGroup"> - ZaÅ‚ożenie grupy nie jest możliwe. -[MESSAGE] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="PanelGroupApply"> - [NEEDS_APPLY_MESSAGE] -[WANT_APPLY_MESSAGE] - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Ignoruj zmiany" yestext="Zastosuj zmiany"/> - </notification> - <notification name="MustSpecifyGroupNoticeSubject"> - Aby wysÅ‚ać ogÅ‚oszenie do grupy musisz nadać mu tytuÅ‚. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AddGroupOwnerWarning"> - Dodajesz czÅ‚onków do funkcji [ROLE_NAME]. -Ta funkcja nie może być odebrana. -CzÅ‚onkowie muszÄ… sami zrezygnować z peÅ‚nienia tej funkcji. -Chcesz kontynuować? - <usetemplate ignoretext="Przed dodaniem nowego wÅ‚aÅ›ciciela do grupy, proszÄ™ potwierdzić swojÄ… decyzjÄ™." name="okcancelignore" notext="Nie" yestext="Tak"/> - </notification> - <notification name="AssignDangerousActionWarning"> - Dodajesz przywilej [ACTION_NAME] do fukcji [ROLE_NAME]. - -*UWAGA* -CzÅ‚onek w funkcji z tym przywilejem może przypisać siebie i innych czÅ‚onków nie bÄ™dÄ…cych wÅ‚aÅ›cicielami do funkcji dajÄ…cych wiÄ™cej przywilejów niż posiadane obecnie potencjalnie dajÄ…ce możliwoÅ›ci zbliżone do możliwoÅ›ci wÅ‚aÅ›ciciela. -Udzielaj tego przywileju z rozwagÄ…." - -Dodać ten przywilej do funkcji [ROLE_NAME]? - <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification name="AssignDangerousAbilityWarning"> - Dodajesz przywilej [ACTION_NAME] do fukcji [ROLE_NAME] - -*UWAGA* -CzÅ‚onek w funkcji z tym przywilejem może przypisać sobie i innychm czÅ‚onkom nie bÄ™dÄ…cym wÅ‚aÅ›cicielami wszystkie przywileje potencjalnie dajÄ…ce możliwoÅ›ci zbliżone do możliwoÅ›ci wÅ‚aÅ›ciciela. -Udzielaj tego przywileju z rozwagÄ…. - -Dodać ten przywilej do funkcji [ROLE_NAME]? - <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification name="AttachmentDrop"> - WybraÅ‚eÅ› opcjÄ™ opuszczenia swojego zaÅ‚Ä…cznika. - Czy chcesz kontynuować? - <usetemplate ignoretext="Potwierdź przed zdjÄ™ciem zaÅ‚Ä…cznika." name="okcancelignore" notext="Nie" yestext="Tak"/> - </notification> - <notification name="JoinGroupCanAfford"> - DoÅ‚Ä…czenie do tej grupy kosztuje [COST]L$. -Chcesz kontynuować? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="DoÅ‚Ä…cz"/> - </notification> - <notification name="JoinGroupNoCost"> - DoÅ‚Ä…czasz do grupy [NAME]. -Czy chcesz kontynuować? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Akceptuj"/> - </notification> - <notification name="JoinGroupCannotAfford"> - CzÅ‚onkostwo w tej grupie kosztuje [COST]L$ -Masz za maÅ‚o L$ żeby zostać czÅ‚onkiem. - </notification> - <notification name="CreateGroupCost"> - Stworzenie tej grupy kosztuje 100L$. -W grupie powinien być wiÄ™cej niż jeden czÅ‚onek, albo zostanie na zawsze skasowana. -ZaproÅ› proszÄ™ czÅ‚onków w ciÄ…gu 48 godzin. - <usetemplate canceltext="Anuluj" name="okcancelbuttons" notext="Anuluj" yestext="Stwórz grupÄ™ za 100L$"/> - </notification> - <notification name="LandBuyPass"> - Za [COST]L$ możesz odwiedzić tÄ… posiadÅ‚ość ('[PARCEL_NAME]') na [TIME] godzin. Chcesz kupić przepustkÄ™? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="SalePriceRestriction"> - Cena sprzedaży musi być wyższa niż 0L$ jeżeli sprzedajesz komukolwiek. -Musisz wybrać kupca jeżeli chcesz sprzedać za 0L$. - </notification> - <notification name="ConfirmLandSaleChange"> - PosiadÅ‚ość o powierzchni [LAND_SIZE] m zostaje wystawiona na sprzedaż. -Cena wynosi [SALE_PRICE]L$ i sprzedaż bÄ™dzie autoryzowana dla [NAME]. - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmLandSaleToAnyoneChange"> - UWAGA: WybierajÄ…c opcjÄ™ "Sprzedaj Każdemu" udostÄ™pniasz swojÄ… posiadÅ‚ość do sprzedaży dla jakiegokolwiek Rezydenta [SECOND_LIFE] , nawet osób nieobecnych w tym regionie. - -PosiadÅ‚ość o powierzchni [LAND_SIZE] m² zostaje wystawiona na sprzedaż. -Cena wynosi [SALE_PRICE]L$ i sprzedaż bÄ™dzie autoryzowana dla [NAME]. - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ReturnObjectsDeededToGroup"> - Czy na pewno chcesz zwrócić wszystkie obiekty udostÄ™pnione grupie [NAME] na tej posiadÅ‚oÅ›ci do szafy ich poprzednich wÅ‚aÅ›cicieli? - -*UWAGA* Wybrana opcja spowoduje usuniÄ™cie wszystkich obiektów -udostÄ™pnionych grupie, które nie majÄ… praw transferu! - -Obiekty: [N] - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ReturnObjectsOwnedByUser"> - Czy na pewno chcesz zwrócić wszystkie obiekty należące do Rezydenta [NAME] znajdujÄ…ce siÄ™ na tej posiadÅ‚oÅ›ci do szafy wÅ‚aÅ›ciciela? - -Obiekty: [N] - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ReturnObjectsOwnedBySelf"> - Czy na pewno chcesz zwrócić wszystkie Twoje obiekty znajdujÄ…ce siÄ™ na tej posiadÅ‚oÅ›ci do swojej szafy? - -Obiekty: [N] - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ReturnObjectsNotOwnedBySelf"> - Czy na pewno chcesz zwrócić wszystkie obiekty, których nie jesteÅ› wÅ‚aÅ›cicielem znajdujÄ…ce siÄ™ na tej posiadÅ‚oÅ›ci do szaf wÅ‚aÅ›cicieli? Wszystkie obiekty udostÄ™pnione grupie z prawem transferu, zostanÄ… zwrócone poprzednim wÅ‚aÅ›cicielom. - -*UWAGA* Wybrana opcja spowoduje usuniÄ™cie wszystkich obiektów udostÄ™pnionych grupie, które nie majÄ… praw transferu! - -Obiekty: [N] - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ReturnObjectsNotOwnedByUser"> - Czy na pewno chcesz zwrócić wszystkie obiekty, które nie należą do [NAME] znajdujÄ…ce siÄ™ na tej posiadÅ‚oÅ›ci do szaf wÅ‚aÅ›cicieli? Wszystkie obiekty udostÄ™pnione grupie z prawem transferu, zostanÄ… zwrócone poprzednim wÅ‚aÅ›cicielom. - -*UWAGA* Wybrana opcja spowoduje usuniÄ™cie wszystkich obiektów udostÄ™pnionych grupie, które nie majÄ… praw transferu! - -Obiekty: [N] - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ReturnAllTopObjects"> - Czy na pewno chcesz zwrócić wszystkie wymienione obiekty znajdujÄ…ce siÄ™ na tej posiadÅ‚oÅ›ci do szaf ich wÅ‚aÅ›cicieli? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="DisableAllTopObjects"> - Czy na pewno chcesz deaktywować wszystkie obiekty w tym Regionie? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ReturnObjectsNotOwnedByGroup"> - Zwrócić obiekty z tej posiadÅ‚oÅ›ci, które nie sÄ… udosÄ™pnione grupie [NAME] do ich wÅ‚aÅ›cicieli? - -Obiekty: [N] - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="UnableToDisableOutsideScripts"> - Nie można deaktywować skryptów. -Ten region pozwala na uszkodzenia. -Skrypty muszÄ… pozostać aktywne dla prawidÅ‚owego dziaÅ‚ania broni. - </notification> - <notification name="MultipleFacesSelected"> - Obecnie zaznaczono wiele powierzchni. -JeÅ›li dziaÅ‚anie bÄ™dzie kontynuowane, oddzielne media bÄ™dÄ… ustawione na wielu powierzchniach obiektu. -W celu umieszczenia mediów tylko na jednej powierzchni skorzystaj z Wybierz powierzchniÄ™ i kliknij na wybranej powierzchni obiektu oraz kliknij Dodaj. - <usetemplate ignoretext="Media zostanÄ… ustawione na wielu zaznaczonych powierzchniach" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="MustBeInParcel"> - Musisz znajdować siÄ™ wewnÄ…trz posiadÅ‚oÅ›ci żeby wybrać punkt lÄ…dowania. - </notification> - <notification name="PromptRecipientEmail"> - ProszÄ™ wpisać adres emailowy odbiorcy. - </notification> - <notification name="PromptSelfEmail"> - ProszÄ™ wpisać swój adres emailowy. - </notification> - <notification name="PromptMissingSubjMsg"> - WysÅ‚ać widokówkÄ™ z domyÅ›lnym tematem i wiadomoÅ›ciÄ…? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ErrorProcessingSnapshot"> - BÅ‚Ä…d w trakcie przetwarzania danych zdjÄ™cia. - </notification> - <notification name="ErrorEncodingSnapshot"> - BÅ‚Ä…d w kodowaniu zdjÄ™cia. - </notification> - <notification name="ErrorUploadingPostcard"> - W trakcie Å‚adowania zdjÄ™cia pojawiÅ‚ siÄ™ problem z nastÄ™pujÄ…cego powodu: [REASON] - </notification> - <notification name="ErrorUploadingReportScreenshot"> - W trakcie Å‚adowania zdjÄ™cia ekranu do raportu pojawiÅ‚ siÄ™ problem z nastÄ™pujÄ…cego powodu: [REASON] - </notification> - <notification name="MustAgreeToLogIn"> - Musisz zaakceptować Warunki Umowy (Terms of Service) by kontynuować logowanie siÄ™ do [SECOND_LIFE]. - </notification> - <notification name="CouldNotPutOnOutfit"> - ZaÅ‚ożenie stroju nie powiodÅ‚o siÄ™. -Folder stroju nie zawiera żadnego ubrania, części ciaÅ‚a ani zaÅ‚Ä…czników. - </notification> - <notification name="CannotWearTrash"> - Nie możesz zaÅ‚ożyć ubrania, które znajduje siÄ™ w koszu. - </notification> - <notification name="MaxAttachmentsOnOutfit"> - Nie można doÅ‚Ä…czyć obiektu. -Limit [MAX_ATTACHMENTS] zaÅ‚Ä…czników zostaÅ‚ przekroczony. ProszÄ™ najpierw odÅ‚Ä…czyć inny obiekt. - </notification> - <notification name="CannotWearInfoNotComplete"> - Nie możesz zaÅ‚ożyć tego artkuÅ‚u ponieważ nie zaÅ‚adowaÅ‚ siÄ™ poprawnie. Spróbuj ponownie za kilka minut. - </notification> - <notification name="MustHaveAccountToLogIn"> - Oops! Brakuje czegoÅ›. -Należy wprowadzić nazwÄ™ użytkownika. - -Potrzebujesz konta aby siÄ™ zalogować do [SECOND_LIFE]. Czy chcesz utworzyć je teraz? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="InvalidCredentialFormat"> - Należy wprowadzić nazwÄ™ użytkownika lub imiÄ™ oraz nazwisko Twojego awatara w pole nazwy użytkownika a nastÄ™pnie ponownie siÄ™ zalogować. - </notification> - <notification name="DeleteClassified"> - Usunąć reklamÄ™ '[NAME]'? -PamiÄ™taj! Nie ma rekompensaty za poniesione koszta. - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="DeleteMedia"> - Wybrano usuniÄ™cie mediów zwiÄ…zanych z tÄ… powierzchniÄ…. -Czy na pewno chcesz kontynuować? - <usetemplate ignoretext="Potwierdź przed usuniÄ™ciem mediów z obiektu" name="okcancelignore" notext="Nie" yestext="Tak"/> - </notification> - <notification name="ClassifiedSave"> - Zapisać zmiany w reklamie [NAME]? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Nie Zapisuj" yestext="Zapisz"/> - </notification> - <notification name="ClassifiedInsufficientFunds"> - Nie posiadasz wystarczajÄ…cych Å›rodków aby dodać reklamÄ™. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="DeleteAvatarPick"> - UsuÅ„ zdjÄ™cie <nolink>[PICK]</nolink>? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="DeleteOutfits"> - Skasować wybrane stroje? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="PromptGoToEventsPage"> - Odwiedzić internetowÄ… stronÄ™ Imprez [SECOND_LIFE]? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="SelectProposalToView"> - Wybierz propozycjÄ™, którÄ… chcesz zobaczyć. - </notification> - <notification name="SelectHistoryItemToView"> - Wybierz obiekt z historii, który chcesz zobaczyć. - </notification> - <notification name="CacheWillClear"> - Bufor danych zostanie wyczyszczony po restarcie aplikacji [APP_NAME]. - </notification> - <notification name="CacheWillBeMoved"> - Bufor danych zostanie przeniesiony po restarcie aplikacji [APP_NAME]. -PamiÄ™taj: Opcja ta wyczyszcza bufor danych. - </notification> - <notification name="ChangeConnectionPort"> - Ustawienia portu zostajÄ… zaktualizowane po restarcie aplikacji [APP_NAME]. - </notification> - <notification name="ChangeSkin"> - Nowa skórka zostanie wczytana po restarcie aplikacji [APP_NAME]. - </notification> - <notification name="ChangeLanguage"> - Zmiana jÄ™zyka zadziaÅ‚a po restarcie [APP_NAME]. - </notification> - <notification name="GoToAuctionPage"> - Odwiedzić stronÄ™ internetowÄ… [SECOND_LIFE] żeby zobaczyć szczgóły aukcji lub zrobić ofertÄ™? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="SaveChanges"> - Zapisać zmiany? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Nie zapisuj" yestext="Zapisz"/> - </notification> - <notification name="GestureSaveFailedTooManySteps"> - Nie można zapisać gesturki. -Ta gesturka ma zbyt wiele etapów. -UsuÅ„ kilka etapów i zapisz jeszcze raz. - </notification> - <notification name="GestureSaveFailedTryAgain"> - Zapis gesturki nie powiódÅ‚ siÄ™. Spróbuj jeszcze raz za kilka minut. - </notification> - <notification name="GestureSaveFailedObjectNotFound"> - Nie można zapisać gesturki ponieważ obiekt lub szafa powiÄ…zanego obiektu nie zostaÅ‚ znaleziony. -Obiekt może znajdować siÄ™ zbyt daleko albo zostaÅ‚ usuniÄ™ty. - </notification> - <notification name="GestureSaveFailedReason"> - Nie można zapisać gesturki z nastÄ™pujÄ…cego powodu: [REASON]. Spróbuj zapisać jeszcze raz później. - </notification> - <notification name="SaveNotecardFailObjectNotFound"> - Nie można zapisać notki ponieważ obiekt lub szafa powiÄ…zanego obiektu nie zostaÅ‚ znaleziony. -Obiekt może znajdować siÄ™ zbyt daleko albo zostaÅ‚ usuniÄ™ty. - </notification> - <notification name="SaveNotecardFailReason"> - Nie można zapisać notki z nastÄ™pujÄ…cego powodu: [REASON]. Spróbuj zapisać jeszcze raz później. - </notification> - <notification name="ScriptCannotUndo"> - Nie można cofnąć wszystkich zmian w Twojej wersji skryptu. -Czy chcesz zaÅ‚adować ostatniÄ… wersjÄ™ zapisanÄ… na serwerze? -(*UWAGA* Ta operacja jest nieodwracalna.) - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="SaveScriptFailReason"> - Nie można zapisać skryptu z nastÄ™pujÄ…cego powodu: [REASON]. Spróbuj zapisać jeszcze raz później. - </notification> - <notification name="SaveScriptFailObjectNotFound"> - Nie można zapisać skryptu ponieważ obiekt w którym siÄ™ zawiera nie zostaÅ‚ znaleziony. -Obiekt może znajdować siÄ™ zbyt daleko albo zostaÅ‚ usuniÄ™ty. - </notification> - <notification name="SaveBytecodeFailReason"> - Nie można zapisać skompilowanego skryptu z nastÄ™pujÄ…cego powodu: [REASON]. Spróbuj zapisać jeszcze raz póżniej. - </notification> - <notification name="StartRegionEmpty"> - Oops, Twoje miejsce startu nie zostaÅ‚o okreÅ›lone. -Wpisz proszÄ™ nazwÄ™ regionu w lokalizacjÄ™ startu w polu Lokalizacja Startu lub wybierz Moja ostatnia lokalizacja albo Miejsce Startu. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CouldNotStartStopScript"> - Nie można uruchomić lub zatrzymać skryptu ponieważ obiekt w którym siÄ™ zawiera nie zostaÅ‚ znaleziony. -Obiekt może znajdować siÄ™ zbyt daleko albo zostaÅ‚ usuniÄ™ty. - </notification> - <notification name="CannotDownloadFile"> - Nie można zaÅ‚adować pliku - </notification> - <notification name="CannotWriteFile"> - Nie można zapisać pliku [[FILE]] - </notification> - <notification name="UnsupportedHardware"> - Niestety Twój komputer nie speÅ‚nia minimalnych wymogów sprzÄ™towych dla poprawnego dziaÅ‚ania [APP_NAME]. Możesz odczuwać bardzo niskÄ… wydajność operacyjnÄ…. Niestety portal pomocy, [SUPPORT_SITE] nie posiada informacji na temat poprawnej konfiguracji technicznej Twojego systemu. - -Po wiÄ™cej info, odwiedź stronÄ™ [_URL] . - <url name="url" option="0"> - http://www.secondlife.com/corporate/sysreqs.php - </url> - <usetemplate ignoretext="Dysk twardy mojego komputera nie jest wspomagany" name="okcancelignore" notext="Nie" yestext="Tak"/> - </notification> - <notification name="UnknownGPU"> - Twój system jest wyposażony w kartÄ™ graficznÄ…, która nie jest rozpoznana przez [APP_NAME]. -Zdarza siÄ™ to czÄ™sto w przypadku nowego sprzÄ™tu, który nie byÅ‚ testowany z [APP_NAME]. Prawdopodobnie wystarczy dostosowanie ustawieÅ„ grafiki aby dziaÅ‚anie byÅ‚o poprawne. -(Ja > WÅ‚aÅ›ciwoÅ›ci > Grafika). - <form name="form"> - <ignore name="ignore" text="Karta graficzna nie zostaÅ‚a zidentyfikowana."/> - </form> - </notification> - <notification name="DisplaySettingsNoShaders"> - [APP_NAME] zawiesiÅ‚ siÄ™ podczas inicjalizacji sterowników graficznych. -Jakość grafiki zostaÅ‚a zmniejszona - może to pomóc. -Pewne funkcje graficzne zostaÅ‚y wyÅ‚Ä…czone. Zalecamy aktualizcje sterowników graficznych. -Możesz podnieść jakość grafiki pod Ustawienia > Grafika. - </notification> - <notification name="RegionNoTerraforming"> - Region [REGION] nie pozwala na formowanie powierzchni ziemi. - </notification> - <notification name="CannotCopyWarning"> - Nie masz pozwolenia na kopiowanie nastÄ™pujÄ…cych obiektów: -[ITEMS] -i stracisz je w momencie przekazania. Czy na pewno chcesz oddać te obiekty? - <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification name="CannotGiveItem"> - Podarowanie obiektu nie powiodÅ‚o siÄ™. - </notification> - <notification name="TransactionCancelled"> - Transakcja anulowana - </notification> - <notification name="TooManyItems"> - Jednorazowo możesz podarować maksymalnie 42 obiekty z szafy. - </notification> - <notification name="NoItems"> - Nie masz praw do transferu wybranych obiektów. - </notification> - <notification name="CannotCopyCountItems"> - Nie masz praw do skopiowania [COUNT] wybranych obiektów. Obiekty zniknÄ… z Twojej szafy. -Na pewno chcesz oddać te obiekty? - <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification name="CannotGiveCategory"> - Nie masz praw do transferu wybranego foldera. - </notification> - <notification name="FreezeAvatar"> - Unieruchomić tego awatara? -Awatar tymczasowo nie bÄ™dzie mógÅ‚ siÄ™ poruszać, nie bÄ™dzie mógÅ‚ używać czatu (IM) i nie bÄ™dzie w stanie odziaÅ‚ywać na Å›wiat. - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Odblokuj" yestext="Unieruchom"/> - </notification> - <notification name="FreezeAvatarFullname"> - Unieruchowmić [AVATAR_NAME]? -Ta osoba tymczasowo nie bÄ™dzie mógÅ‚a siÄ™ poruszać, nie bÄ™dzie mógÅ‚ używać czatu (IM) i nie bÄ™dzie w stanie odziaÅ‚ywać na Å›wiat. - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Odblokuj" yestext="Unieruchom"/> - </notification> - <notification name="EjectAvatarFullname"> - Wyrzucić [AVATAR_NAME] z Twojej posiadÅ‚oÅ›ci? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wyrzuć i zabroÅ„ wstÄ™pu (ban)" yestext="Wyrzuć"/> - </notification> - <notification name="EjectAvatarFromGroup"> - Wyrzuć [AVATAR_NAME] z grupy [GROUP_NAME] - </notification> - <notification name="AcquireErrorTooManyObjects"> - BÅÄ„D OTRZYMYWANIA: Zbyt wiele wybranych obiektów. - </notification> - <notification name="AcquireErrorObjectSpan"> - BÅÄ„D OTRZYMYWANIA: Obiekty przekraczajÄ… granicÄ™ regionów. Przemieść wszystkie otrzymywane obiekty do jednego regionu. - </notification> - <notification name="PromptGoToCurrencyPage"> - [EXTRA] - -Odwiedź stronÄ™ [_URL] po wiÄ™cej informacji na temat zakupu L$? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="UnableToLinkObjects"> - Nie można poÅ‚Ä…czyć [COUNT] obiektów. -Maksymalnie można poÅ‚Ä…czyć [MAX] obiektów. - </notification> - <notification name="CannotLinkIncompleteSet"> - Możesz Å‚Ä…czyć tylko kompletne zbiory obiektów i musisz wybrać wiÄ™cej niż jeden obiekt. - </notification> - <notification name="CannotLinkModify"> - Nie możesz poÅ‚Ä…czyć obiektów ponieważ nie masz praw modyfikacji dla wszystkich obiektów. - -Upewnij siÄ™, że żaden z obiktów nie jest zablokowany i że wszystkie obiekty należą do Ciebie. - </notification> - <notification name="CannotLinkDifferentOwners"> - Nie możesz poÅ‚Ä…czyć obiektów ponieważ należą one do różnych osób. - -Upewnij sie, że wszystkie wybrane obiekty należą do Ciebie. - </notification> - <notification name="NoFileExtension"> - Niepoprawna koÅ„cówka nazwy pliku: '[FILE]' - -Upewnij siÄ™, że nazwa pliku ma poprawanÄ… koÅ„cówkÄ™. - </notification> - <notification name="InvalidFileExtension"> - Niepoprawna koÅ„cówka nazwy pliku - [EXTENSION] -Oczekiwana - [VALIDS] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CannotUploadSoundFile"> - Nie można otworzyć zaÅ‚adowanego pliku dźwiÄ™kowego: -[FILE] - </notification> - <notification name="SoundFileNotRIFF"> - Plik nie jest w formacie RIFF WAVE: -[FILE] - </notification> - <notification name="SoundFileNotPCM"> - Plik nie jest w formacie PCM WAVE: -[FILE] - </notification> - <notification name="SoundFileInvalidChannelCount"> - Plik zawiera niewÅ‚aÅ›ciwÄ… liczbÄ™ kanałów (musi być mono albo stereo): -[FILE] - </notification> - <notification name="SoundFileInvalidSampleRate"> - Plik zawiera niewÅ‚aÅ›ciÄ… czÄ™stotliwość (musi być 44.1k): -[FILE] - </notification> - <notification name="SoundFileInvalidWordSize"> - Plik zawiera niewÅ‚aÅ›ciwÄ… szerokość danych (musi być 8 albo 16 bitów): -[FILE] - </notification> - <notification name="SoundFileInvalidHeader"> - Brak bloku 'data' w nagłówku pliku WAV: -[FILE] - </notification> - <notification name="SoundFileInvalidChunkSize"> - NiewÅ‚aÅ›ciwy rozmiar "chunk" w pliku WAV: -[FILE] - </notification> - <notification name="SoundFileInvalidTooLong"> - Plik audio jest zbyt dÅ‚ugi (10 sekund maksimum): -[FILE] - </notification> - <notification name="CannotOpenTemporarySoundFile"> - Nie można otworzyć tymczasowego skompresowango pliku dźwiÄ™kowego w celu zapisu: [FILE] - </notification> - <notification name="UnknownVorbisEncodeFailure"> - Nieznany bÅ‚Ä…d kodowania Vorbis w: [FILE] - </notification> - <notification name="CannotEncodeFile"> - Kodowanie pliku: [FILE] nie powidÅ‚o siÄ™. - </notification> - <notification name="CorruptedProtectedDataStore"> - Nie można wpisać Twojego imienia użytkownika ani hasÅ‚a. To może siÄ™ zdarzyć kiedy zmieniasz ustawienia sieci. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CorruptResourceFile"> - Skorumpowany plik zasobów: [FILE] - </notification> - <notification name="UnknownResourceFileVersion"> - Nieznana wersja pliku zasobów Linden w pliku: [FILE] - </notification> - <notification name="UnableToCreateOutputFile"> - Nie można utworzyć pliku wyjÅ›ciowego: [FILE] - </notification> - <notification name="DoNotSupportBulkAnimationUpload"> - [APP_NAME] obecnie nie wspomaga Å‚adowania grupowego plików animacji. - </notification> - <notification name="CannotUploadReason"> - Åadowanie pliku [FILE] nie powiodÅ‚o siÄ™ z powodu: [REASON] -Spróbuj jeszcze raz póżniej. - </notification> - <notification name="LandmarkCreated"> - Dodano "[LANDMARK_NAME]" do folderu [FOLDER_NAME]. - </notification> - <notification name="LandmarkAlreadyExists"> - Posiadasz już landmark dla tej lokalizacji. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CannotCreateLandmarkNotOwner"> - Nie możesz zapamiÄ™tać tego miejsca (LM) ponieważ wÅ‚aÅ›ciciel posiadÅ‚oÅ›ci nie pozwala na to. - </notification> - <notification name="CannotRecompileSelectObjectsNoScripts"> - 'Rekompilacja' nie powiodÅ‚a siÄ™. - -Wybierz obiekty zawierajÄ…ce skrypty. - </notification> - <notification name="CannotRecompileSelectObjectsNoPermission"> - 'Rekompilacja' nie powiodÅ‚a siÄ™. - -Wybierz skryptowane obiekty do których masz prawa modyfikacji. - </notification> - <notification name="CannotResetSelectObjectsNoScripts"> - 'Resetowanie' nie powiodÅ‚o siÄ™. - -Wybierz obiekty zawierajÄ…ce skrypty. - </notification> - <notification name="CannotResetSelectObjectsNoPermission"> - 'Resetowanie' nie powiodÅ‚o siÄ™. - -Wybierz skryptowane obiekty do których masz prawa modyfikacji. - </notification> - <notification name="CannotOpenScriptObjectNoMod"> - Nie można otworzyć skryptu bez prawa do modyfikacji obiektu. - </notification> - <notification name="CannotSetRunningSelectObjectsNoScripts"> - 'Uruchomienie' skryptów nie powiodÅ‚o siÄ™. - -Wybierz obiekty zawierajÄ…ce skrypty. - </notification> - <notification name="CannotSetRunningNotSelectObjectsNoScripts"> - 'Zatrzymanie' skryptów nie powiodÅ‚o siÄ™. - -Wybierz obiekty zawierajÄ…ce skrypty. - </notification> - <notification name="NoFrontmostFloater"> - Brak górnego okna do zapisu. - </notification> - <notification name="SeachFilteredOnShortWords"> - Twoje zapytanie wyszukiwania zostÅ‚o zmienione - zbyt krótkie sÅ‚owa zostaÅ‚y usuniÄ™te. - -Nowe zapytanie: [FINALQUERY] - </notification> - <notification name="SeachFilteredOnShortWordsEmpty"> - Użyte terminy wyszukiwania byÅ‚y zbyt krótkie - wyszukiwanie zostaÅ‚o anulowane. - </notification> - <notification name="CouldNotTeleportReason"> - Teleportacja nie powiodÅ‚a siÄ™. -[REASON] - </notification> - <notification name="invalid_tport"> - Niestety, pojawiÅ‚ siÄ™ bÅ‚Ä…d podczas próby teleportacji. Proponujemy wylogowanie siÄ™ i spróbowanie teleportacji ponownie. -Jeżeli nadal otrzymujesz tÄ™ wiadomość proponujemy odwiedzić stronÄ™ [SUPPORT_SITE]. - </notification> - <notification name="invalid_region_handoff"> - Niestety, pojawiÅ‚ siÄ™ bÅ‚Ä…d podczas próby przedostania siÄ™ na drugi region. Proponujemy wylogowanie siÄ™ i spróbowanie przedostania siÄ™ na drugi region ponownie. -Jeżeli nadal otrzymujesz tÄ™ wiadomość proponujemy odwiedzić stronÄ™ [SUPPORT_SITE]. - </notification> - <notification name="blocked_tport"> - Przepraszamy, teleportacja jest chwilowo niedostÄ™pna. Spróbuj jeszcze raz. -JeÅ›li nadal nie możesz siÄ™ teleportować wyloguj siÄ™ i ponownie zaloguj. - </notification> - <notification name="nolandmark_tport"> - Przepraszamy, ale nie możemy znaleźć miejsca docelowego. - </notification> - <notification name="timeout_tport"> - Przepraszamy, ale nie udaÅ‚o siÄ™ przeprowadzić teleportacji. Spróbuj jeszcze raz. - </notification> - <notification name="noaccess_tport"> - Przepraszamy, ale nie masz dostÄ™pu do miejsca docelowego. - </notification> - <notification name="missing_attach_tport"> - Czekamy na Twoje akcesoria. Możesz poczekać kilka minut lub zrobić relog przed nastÄ™pnÄ… próbÄ… teleportacji. - </notification> - <notification name="too_many_uploads_tport"> - Obecnie ten region ma problemy z Å‚adowaniem obiektów w zwiÄ…zku z czym teleportacja bardzo sie opóźnia. -Spróbuj jeszcze raz za kilka minut albo teleportuj siÄ™ do mniej zatÅ‚oczonego miejsca. - </notification> - <notification name="expired_tport"> - Przepraszamy, ale nie udaÅ‚o siÄ™ przeprowadzić teleportacji wystarczajÄ…co szybko. Spróbuj jeszcze raz za kilka minut. - </notification> - <notification name="expired_region_handoff"> - Przepraszamy, ale nie udaÅ‚o siÄ™ przeprowadzić zmiany regionu wystarczajÄ…co szybko. Spróbuj jeszcze raz za kilka minut. - </notification> - <notification name="no_host"> - Nie możemy znaleść miejsca docelowego. To miejsce może być chwilowo nieosiÄ…galne albo przestaÅ‚o istnieć. -Spróbuj jeszcze raz za kilka minut. - </notification> - <notification name="no_inventory_host"> - Szafa chwilowo nie dziaÅ‚a. - </notification> - <notification name="CannotSetLandOwnerNothingSelected"> - Nie można wybrać wÅ‚aÅ›ciciela posiadÅ‚oÅ›ci. -PosiadÅ‚ość nie zostaÅ‚a wybrana. - </notification> - <notification name="CannotSetLandOwnerMultipleRegions"> - Nie można wybrać wÅ‚aÅ›ciciela posiadÅ‚oÅ›ci ponieważ wybrany obszar przekracza granicÄ™ regionów. Wybierz mniejszy obszar i spróbuj jeszcze raz. - </notification> - <notification name="ForceOwnerAuctionWarning"> - Ta posiadÅ‚ość jest wystawiona na aukcjÄ™. Wymuszenie wÅ‚asnoÅ›ci anuluje aukcjÄ™ i potencjalnie może zdenerwować zainteresowanych Rezydentów, jeżeli licytacja już siÄ™ rozpoczęła. -Wymusić wÅ‚asność? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="CannotContentifyNothingSelected"> - Nie można sfinalizować: -PosiadÅ‚ość nie zostaÅ‚a wybrana. - </notification> - <notification name="CannotContentifyNoRegion"> - Nie można sfinalizować: -Region nie znaleziony. - </notification> - <notification name="CannotReleaseLandNothingSelected"> - Nie można porzucić posiadÅ‚oÅ›ci: -PosiadÅ‚ość nie zostaÅ‚a wybrana. - </notification> - <notification name="CannotReleaseLandNoRegion"> - Nie można porzucić posiadÅ‚oÅ›ci: -Region nie znaleziony. - </notification> - <notification name="CannotBuyLandNothingSelected"> - Nie można kupić posiadÅ‚oÅ›ci: -PosiadÅ‚ość nie zostaÅ‚a wybrana. - </notification> - <notification name="CannotBuyLandNoRegion"> - Nie można kupić posiadÅ‚oÅ›ci: -Region nie znaleziony. - </notification> - <notification name="CannotCloseFloaterBuyLand"> - Okno zakupu landu nie może zostać zamkniÄ™te dopóki aplikacja [APP_NAME] nie okreÅ›li ceny dla tej transkacji. - </notification> - <notification name="CannotDeedLandNothingSelected"> - Nie można przekazać posiadÅ‚oÅ›ci: -PosiadÅ‚ość nie zostaÅ‚a wybrana. - </notification> - <notification name="CannotDeedLandNoGroup"> - Nie można przekazać posiadÅ‚oÅ›ci: -Grupa nie zostaÅ‚a wybrana. - </notification> - <notification name="CannotDeedLandNoRegion"> - Brak możliwoÅ›ci przepisania posiadÅ‚oÅ›ci grupie: -Region, gdzie posiadÅ‚ość siÄ™ znajduje nie zostaÅ‚ odnaleziony. - </notification> - <notification name="CannotDeedLandMultipleSelected"> - Nie można przekazać posiadÅ‚oÅ›ci: -Wiele posiadÅ‚oÅ›ci jest wybranych. - -Spróbuj wybrać pojedynczÄ… posiadÅ‚ość. - </notification> - <notification name="CannotDeedLandWaitingForServer"> - Nie można przekazać posiadÅ‚oÅ›ci: -Serwer aktualizuje dane wÅ‚asnoÅ›ci. - -Spróbuj jeszcze raz póżniej. - </notification> - <notification name="CannotDeedLandNoTransfer"> - Nie możesz przekazać posiadÅ‚oÅ›ci: -Region [REGION] nie pozwala na transfer posiadÅ‚oÅ›ci. - </notification> - <notification name="CannotReleaseLandWatingForServer"> - Nie można porzucić posiadÅ‚oÅ›ci: -Serwer aktualizuje dane posiadÅ‚oÅ›ci. - -Spróbuj jeszcze raz póżniej. - </notification> - <notification name="CannotReleaseLandSelected"> - Nie możesz porzucić posiadÅ‚oÅ›ci: -Nie jesteÅ› wÅ‚aÅ›cicielem wszystkich wybranych posiadÅ‚oÅ›ci. - -Wybierz pojedynczÄ… posiadÅ‚ość. - </notification> - <notification name="CannotReleaseLandDontOwn"> - Nie możesz porzucić posiadÅ‚oÅ›ci: -Nie masz praw do porzucenia tej posiadÅ‚oÅ›ci. - -Twoje posiadÅ‚oÅ›ci sÄ… podkreÅ›lone na zielono. - </notification> - <notification name="CannotReleaseLandRegionNotFound"> - Brak możliwoÅ›ci porzucenia posiadÅ‚oÅ›ci: -Region, gdzie posiadÅ‚ość siÄ™ znajduje nie zostaÅ‚ odnaleziony. - </notification> - <notification name="CannotReleaseLandNoTransfer"> - Nie możesz porzucić posiadÅ‚oÅ›ci: -Region [REGION] nie pozwala na transfer posiadÅ‚oÅ›ci. - </notification> - <notification name="CannotReleaseLandPartialSelection"> - Nie można porzucić posiadÅ‚oÅ›ci: -Musisz wybrać caÅ‚Ä… posiadÅ‚ość by jÄ… porzucić. -Wybierz caÅ‚Ä… posiadÅ‚ość albo najpierw jÄ… podziel. - </notification> - <notification name="ReleaseLandWarning"> - Porzucasz posiadÅ‚ość o powierzchni [AREA] m². -Porzucenie tej posiadÅ‚oÅ›ci usunie jÄ… z Twoich wÅ‚asnoÅ›ci. -Nie otrzymasz za to żadnej opÅ‚aty. - -Porzucić posiadÅ‚ość? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="CannotDivideLandNothingSelected"> - Nie można podzielić posiadÅ‚oÅ›ci: - -PosiadÅ‚ość nie zostaÅ‚a wybrana. - </notification> - <notification name="CannotDivideLandPartialSelection"> - Nie można podzielić posiadÅ‚oÅ›ci: - -PosiadÅ‚ość zostaÅ‚a wybrana w caÅ‚oÅ›ci. -Spróbuj wybrać część posiadÅ‚oÅ›ci. - </notification> - <notification name="LandDivideWarning"> - PodziaÅ‚ tej posiadÅ‚oÅ›ci stworzy dwie posiadÅ‚oÅ›ci z których każda bÄ™dzie mogÅ‚a mieć indywidualne ustawienia. -Niektóre ustawienia zostanÄ… zmienione na domyÅ›lne po tej operacji. - -Podzielić posiadÅ‚ość? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="CannotDivideLandNoRegion"> - Brak możliwoÅ›ci podziaÅ‚u posiadÅ‚oÅ›ci: -Region, gdzie posiadÅ‚ość siÄ™ znajduje nie zostaÅ‚ odnaleziony. - </notification> - <notification name="CannotJoinLandNoRegion"> - Brak możliwoÅ›ci zÅ‚Ä…czenia posiadÅ‚oÅ›ci: -Region, gdzie posiadÅ‚ość siÄ™ znajduje nie zostaÅ‚ odnaleziony. - </notification> - <notification name="CannotJoinLandNothingSelected"> - Nie można poÅ‚Ä…czyć posiadÅ‚oÅ›ci: -PosiadÅ‚oÅ›ci nie zostaÅ‚y wybrane. - </notification> - <notification name="CannotJoinLandEntireParcelSelected"> - Nie można poÅ‚Ä…czyć posiadÅ‚oÅ›ci: -Tylko jedna posiadÅ‚ość zostaÅ‚a wybrana. - -Wybierz obaszar usytuowany na obu posiadÅ‚oÅ›ciach. - </notification> - <notification name="CannotJoinLandSelection"> - Nie można poÅ‚Ä…czyć posiadÅ‚oÅ›ci: -Musisz wybrać wiÄ™cej niż jednÄ… posiadÅ‚ość. - -Wybierz obaszar usytuowany na obu posiadÅ‚oÅ›ciach. - </notification> - <notification name="JoinLandWarning"> - PoÅ‚Ä…czenie tego obszaru utworzy jednÄ… wiÄ™kszÄ… posiadÅ‚ość ze wszystkich posiadÅ‚oÅ›ci przecinajÄ…cych wybrany prostokÄ…t. Nazwa i opcje posiadÅ‚oÅ›ci bedÄ… musiaÅ‚y zostać skonfigurowane. - -PoÅ‚Ä…czyć posiadÅ‚oÅ›ci? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmNotecardSave"> - Ta notka musi być zapisana żeby mogÅ‚a być skopiowana lub zobaczona. Zapisać notkÄ™? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmItemCopy"> - Skopiować ten obiekt do Twojej szafy? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Skopiuj"/> - </notification> - <notification name="ResolutionSwitchFail"> - Zmiana rozdzielczoÅ›ci do [RESX] x [RESY] nie powidÅ‚a siÄ™ - </notification> - <notification name="ErrorUndefinedGrasses"> - BÅ‚Ä…d: niezdefiniowane trawy: [SPECIES] - </notification> - <notification name="ErrorUndefinedTrees"> - BÅ‚ad: niezdefiniowane drzewa: [SPECIES] - </notification> - <notification name="CannotSaveWearableOutOfSpace"> - Nie można zapisać '[NAME]' do pliku stroju. Musisz zwolnić trochÄ™ miejsca na Twoim komputerze i zapisać strój jeszcze raz. - </notification> - <notification name="CannotSaveToAssetStore"> - Nie można zapisać [NAME] w centralnym zbiorze danych. -Zazwyczaj jest to tymczasowy problem. Możesz kontynuować modyfikacje i zapisać strój ponownie za kilka minut. - </notification> - <notification name="YouHaveBeenLoggedOut"> - NastÄ…piÅ‚o wylogowanie z [SECOND_LIFE] - [MESSAGE] - <usetemplate name="okcancelbuttons" notext="WyÅ‚Ä…cz" yestext="Kontynuuj"/> - </notification> - <notification name="OnlyOfficerCanBuyLand"> - Nie możesz kupić posiadÅ‚oÅ›ci dla grupy. -Nie masz praw kupowania posiadÅ‚oÅ›ci dla Twojej aktywnej grupy. - </notification> - <notification label="Add Friend" name="AddFriendWithMessage"> - Znajomi mogÄ… pozwalać na odnajdywanie siÄ™ wzajemnie na mapie i na otrzymywanie notyfikacji o logowaniu do [SECOND_LIFE]. - -Zaproponować znajomość [NAME]? - <form name="form"> - <input name="message"> - Chcesz zawrzeć znajomość? - </input> - <button name="Offer" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification label="Zapisz strój" name="SaveOutfitAs"> - Zapisz to co noszÄ™ jako nowy strój: - <form name="form"> - <input name="message"> - [DESC] (nowe) - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification label="Zapisz część stroju" name="SaveWearableAs"> - Zapisz obiekt w mojej Szafie jako: - <form name="form"> - <input name="message"> - [DESC] (nowy) - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification label="ZmieÅ„ nazwÄ™ stroju" name="RenameOutfit"> - Nowa nazwa stroju: - <form name="form"> - <input name="new_name"> - [NAME] - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="RemoveFromFriends"> - Czy chcesz usunąć [NAME] z listy znajomych? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="RemoveMultipleFromFriends"> - Chcesz usunąć grupÄ™ osób z listy Twoich znajomych? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="GodDeleteAllScriptedPublicObjectsByUser"> - Na pewno chcesz usunąć wszystkie skryptowane obiekty należące do -** [AVATAR_NAME] ** -z posiadÅ‚oÅ›ci innych w tym symulatorze? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="GodDeleteAllScriptedObjectsByUser"> - Na pewno chcesz usunąć wszystkie skryptowane obiekty należące do -** [AVATAR_NAME] ** -ze wszystkich posiadÅ‚oÅ›ci w tym symulatorze? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="GodDeleteAllObjectsByUser"> - Na pewno chcesz usunąć wszystkie obiekty (skryptowane i nie) należące do -** [AVATAR_NAME] ** -ze wszystkich posiadÅ‚oÅ›ci w tym symulatorze? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="BlankClassifiedName"> - Musisz nadać tytuÅ‚ Twojej reklamie. - </notification> - <notification name="MinClassifiedPrice"> - Minimalna cena za publikacjÄ™ wynosi [MIN_PRICE]L$. - -Wybierz wyższÄ… cenÄ™. - </notification> - <notification name="ConfirmItemDeleteHasLinks"> - Co najmiej jeden z elementów, które masz posiada poÅ‚Ä…czone z nim obiekty. JeÅ›li go usuniesz poÅ‚Ä…czenia zostanÄ… usuniÄ™te na staÅ‚e. Zaleca siÄ™ usuniÄ™cie poÅ‚Ä…czeÅ„ w pierwszej kolejnoÅ›ci. - -JesteÅ› pewnien/pewna, że chcesz usunąć te elementy? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLock"> - Przynajmnie jeden z wybranych obiektów jest zablokowany. - -Na pewno chcesz usunąć te obiekty? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteNoCopy"> - Przynajmniej jeden z wybranych obiektów jest niekopiowalny. - -Na pewno chcesz usunąć te obiekty? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteNoOwn"> - Przynajmniej jeden z wybranych obiektów nie należy do Ciebie. - -Na pewno chcesz usunąć te obiekty? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLockNoCopy"> - Przynajmnie jeden z wybranych obiektów jest zablokowany. -Przynajmniej jeden z wybranych obiektów jest niekopiwalny. - -Na pewno chcesz usunąć te obiekty? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLockNoOwn"> - Przynajmnie jeden z wybranych obiektów jest zablokowany. -Przynajmniej jeden z wybranych obiektów nie należy do Ciebie. - -Na pewno chcesz usunąć te obiekty? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteNoCopyNoOwn"> - Przynajmniej jeden z wybranych obiektów jest niekopiowalny. -Przynajmniej jeden z wybranych obiektów nie należy do Ciebie. - -Na pewno chcesz usunąć te obiekty? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLockNoCopyNoOwn"> - Przynajmnie jeden z wybranych obiektów jest zablokowany. -Przynajmniej jeden z wybranych obiektów jest niekopiwalny. -Przynajmniej jeden z wybranych obiektów nie należy do Ciebie. - -Na pewno chcesz usunąć te obiekty? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmObjectTakeLock"> - Przynajmnie jeden obiekt jest zablokowany. - -Na pewno chcesz usunąć te obiekty? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmObjectTakeNoOwn"> - Przynajmniej jeden obiekt nie należy do Ciebie. -Jeżeli bÄ™dziesz kontynuować prawa nastÄ™pnego wÅ‚aÅ›ciciela zostanÄ… przypisane co, potencjalnie, może ograniczyć Twoje prawa do modyfikacji lub kopiowania obiektów. - -Na pewno chcesz wziąść te obiekty? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmObjectTakeLockNoOwn"> - Przynajmnie jeden obiekt jest zablokowany. -Przynajmniej jeden obiekt nie należy do Ciebie. -Jeżeli bÄ™dziesz kontynuować prawa nastÄ™pnego wÅ‚aÅ›ciciela zostanÄ… przypisane co, potencjalnie, może ograniczyć Twoje prawa do modyfikacji lub kopiowania obiektów. - -Na pewno chcesz wziąść te obiekty? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="CantBuyLandAcrossMultipleRegions"> - Nie możesz kupić posiadÅ‚oÅ›ci ponieważ wybrany obszar przekracza granicÄ™ regionów. - -Wybierz mniejszy obszar i spróbuj jeszcze raz. - </notification> - <notification name="DeedLandToGroup"> - Po przekazaniu tej posiadÅ‚oÅ›ci grupa bÄ™dzia musiaÅ‚a mieć i utrzymywać wystarczajÄ…cy kredyt na używanie posiadÅ‚oÅ›ci. Cena zakupu posiadÅ‚oÅ›ci nie jest zwracana wÅ‚aÅ›cicielowi. Jeżeli przekazana posiadÅ‚ość zostanie sprzedana, cana sprzedaży zostanie podzielona pomiÄ™dzy czÅ‚onków grupy. - -Przekazać tÄ… posiadÅ‚ość o powierzchni [AREA] m² grupie '[GROUP_NAME]'? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="DeedLandToGroupWithContribution"> - Po przekazaniu tej posiadÅ‚oÅ›ci grupa bÄ™dzia musiaÅ‚a mieć i utrzymywać wystarczajÄ…cy kredyt na używanie posiadÅ‚oÅ›ci. -Przekazanie bÄ™dzie zawierać równoczesne przypisanie posiadÅ‚oÅ›ci do grupy od '[NAME]'. -Cena zakupu posiadÅ‚oÅ›ci nie jest zwracana wÅ‚aÅ›cicielowi. Jeżeli przekazana posiadÅ‚ość zostanie sprzedana, cana sprzedaży zostanie podzielona pomiÄ™dzy czÅ‚onków grupy. - -Przekazać tÄ… posiadÅ‚ość o powierzchni [AREA] m² grupie '[GROUP_NAME]'? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="DisplaySetToSafe"> - Ustawienia grafiki zostaÅ‚y zmienione do bezpiecznego poziomu ponieważ opcja -safe zostaÅ‚a wybrana. - </notification> - <notification name="DisplaySetToRecommended"> - Ustawienia grafiki zostaÅ‚y zmienione do zalecanego poziomu na podstawie konfiguracji Twojego systemu. - </notification> - <notification name="ErrorMessage"> - [ERROR_MESSAGE] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AvatarMovedDesired"> - Miejsce, do którego chcesz siÄ™ teleportować jest chwilowo nieobecne. -ZostaÅ‚eÅ› przeniesiony do regionu sÄ…siedniego. - </notification> - <notification name="AvatarMovedLast"> - Twoje miejsce startu jest obecnie niedostÄ™pne. -ZostaÅ‚eÅ› przeniesiony do sÄ…siedniego regionu. - </notification> - <notification name="AvatarMovedHome"> - Twoje miejsce startu jest obecnie niedostÄ™pne. -ZostaÅ‚eÅ› przeniesiony do pobliskiego regionu. -Możesz ustawić nowe miejsce startu. - </notification> - <notification name="ClothingLoading"> - Twoje ubranie wciąż siÄ™ Å‚aduje. -Możesz normalnie używać [SECOND_LIFE], inni użytkownicy bÄ™dÄ… CiÄ™ widzieli poprawnie. - <form name="form"> - <ignore name="ignore" text="Åadowanie ubraÅ„ nadal trwa"/> - </form> - </notification> - <notification name="FirstRun"> - Instalacja [APP_NAME] zakoÅ„czona. - -Jeżeli używasz [SECOND_LIFE] po raz pierwszy to musisz stworzyć konto żeby móc siÄ™ zalogować. -Czy chcesz przejść na stronÄ™ [http://join.secondlife.com secondlife.com] żeby stworzyć nowe konto? - <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="Nowe konto..."/> - </notification> - <notification name="LoginPacketNeverReceived"> - Problemy z poÅ‚Ä…czeniem. Problem może być spowodowany Twoim poÅ‚Ä…czeniem z Internetem albo może istnieć po stronie [SECOND_LIFE_GRID]. - -Możesz sprawdzić swoje poÅ‚Ä…czenie z Internetem i spróbować ponownie za kilka minut lub poÅ‚Ä…czyć siÄ™ ze stronÄ… pomocy technicznej tutaj [SUPPORT_SITE] lub wybrać Teleportuj by teleportować siÄ™ do swojego miejsca startu. - <form name="form"> - <button name="OK" text="OK"/> - <button name="Help" text="Pomoc"/> - <button name="Teleport" text="Teleportuj"/> - </form> - </notification> - <notification name="WelcomeChooseSex"> - Twoja postać pojawi siÄ™ za moment. - -Używaj strzaÅ‚ek żeby sie poruszać. -NaciÅ›nij F1 w dowolnej chwili po pomoc albo żeby dowiedzieć siÄ™ wiÄ™cej o [SECOND_LIFE]. -Wybierz awatara wÅ‚aÅ›ciwej pÅ‚ci. -Ten wybór bÄ™dzie można później zmienić. - <usetemplate name="okcancelbuttons" notext="Kobieta" yestext="Mężczyzna"/> - </notification> - <notification name="CantTeleportToGrid"> - Nie można teleportować do [SLURL], ponieważ jest na innym gridzie ([GRID]) niż obecny grid ([CURRENT_GRID]). ProszÄ™ zamknąć przeglÄ…darkÄ™ i spróbować ponownie. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GeneralCertificateError"> - PoÅ‚Ä…czenie z serwerem nie mogÅ‚o zostać nawiÄ…zane. -[REASON] - -SubjectName: [SUBJECT_NAME_STRING] -IssuerName: [ISSUER_NAME_STRING] -Valid From: [VALID_FROM] -Valid To: [VALID_TO] -MD5 Fingerprint: [SHA1_DIGEST] -SHA1 Fingerprint: [MD5_DIGEST] -Key Usage: [KEYUSAGE] -Extended Key Usage: [EXTENDEDKEYUSAGE] -Subject Key Identifier: [SUBJECTKEYIDENTIFIER] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TrustCertificateError"> - Wydawca certyfikatu dla tego serwera nie jest znany. - -Informacje o certyfikacie: -SubjectName: [SUBJECT_NAME_STRING] -IssuerName: [ISSUER_NAME_STRING] -Valid From: [VALID_FROM] -Valid To: [VALID_TO] -MD5 Fingerprint: [SHA1_DIGEST] -SHA1 Fingerprint: [MD5_DIGEST] -Key Usage: [KEYUSAGE] -Extended Key Usage: [EXTENDEDKEYUSAGE] -Subject Key Identifier: [SUBJECTKEYIDENTIFIER] - -Czy chcesz zaufać temu wydawcy? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Zaufaj"/> - </notification> - <notification name="NotEnoughCurrency"> - [NAME] [PRICE]L$ Masz za maÅ‚o L$. - </notification> - <notification name="GrantedModifyRights"> - Masz teraz prawa modyfikacji obiektów należących do [NAME]. - </notification> - <notification name="RevokedModifyRights"> - Prawa modyfikacji obiektów należących do [NAME] zostaÅ‚y Ci odebrane. - </notification> - <notification name="FlushMapVisibilityCaches"> - To spowoduje wyczyszczenie buforów map regionu. -Jest to użyteczne wyÅ‚Ä…cznie podczas szukania bÅ‚Ä™dów. -(Podczas produkcji poczekaj 5 minut i mapy wszystkich zostanÄ… uaktualnione po relogu.) - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="BuyOneObjectOnly"> - Nie możesz zakupić wiÄ™cej niż jednego obiektu w tym samym czasie. ProszÄ™ wybrać tylko jeden obiekt i spróbować ponowanie. - </notification> - <notification name="OnlyCopyContentsOfSingleItem"> - Nie można kopiować zawartoÅ›ci wiÄ™cej niż jednego obiektu naraz. -Wybierz pojedynczy obiekt i spróbuj jeszcze raz. - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="KickUsersFromRegion"> - Teleportować wszystkich Rezydentów z tego regionu to ich miejsca startu? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="EstateObjectReturn"> - Na pewno chcesz odesÅ‚ać wszystkie obiekty należące do -[USER_NAME] ? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="InvalidTerrainBitDepth"> - Nie można ustawić tekstur regionu: -Tekstura terenu [TEXTURE_NUM] ma niewÅ‚aÅ›ciwÄ… gÅ‚Ä™biÄ™ koloru - [TEXTURE_BIT_DEPTH]. -ZamieÅ„ teksturÄ™ [TEXTURE_NUM] na 24-o bitowÄ… teksturÄ™ o wymiarze 512x512 lub mniejszÄ… i ponownie kliknij Zastosuj. - </notification> - <notification name="InvalidTerrainSize"> - Nie można ustawić tekstur regionu: -Tekstura terenu [TEXTURE_NUM] jest za duża - [TEXTURE_SIZE_X]x[TEXTURE_SIZE_Y]. -ZamieÅ„ teksturÄ™ [TEXTURE_NUM] na 24-o bitowÄ… teksturÄ™ o wymiarze 512x512 lub mniejszÄ… i ponownie kliknij Zastosuj. - </notification> - <notification name="RawUploadStarted"> - Åadowanie rozpoczÄ™te. Może potrwać do dwóch minut zależnie od prÄ™dkoÅ›ci Twojego poÅ‚Ä…czenia. - </notification> - <notification name="ConfirmBakeTerrain"> - Na pewno chcesz zapisać obecne uksztaÅ‚towanie terenu jako punkt odniesienia dla górnego i dolnego limitu terenu i jako domyÅ›lÄ… wartość dla opcji Odtwórz? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="MaxAllowedAgentOnRegion"> - Maksymalna liczba goÅ›ci wynosi [MAX_AGENTS]. - </notification> - <notification name="MaxBannedAgentsOnRegion"> - Maksymalna liczba niepożądanych Rezydentów (banów) wynosi [MAX_BANNED]. - </notification> - <notification name="MaxAgentOnRegionBatch"> - Próba dodania [NUM_ADDED] osób nie powiodÅ‚a siÄ™: -[MAX_AGENTS] [LIST_TYPE] limit przekroczony o [NUM_EXCESS]. - </notification> - <notification name="MaxAllowedGroupsOnRegion"> - Możesz mieć maksymalnie [MAX_GROUPS] dozwolonych grup. - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Ustal"/> - </notification> - <notification name="MaxManagersOnRegion"> - Możesz mieć maksymalnie [MAX_MANAGER] zarzÄ…dców MajÄ…tku. - </notification> - <notification name="OwnerCanNotBeDenied"> - Nie możesz dodać wÅ‚aÅ›ciciela majÄ…tku do listy 'Niepożądanych Rezydentów (banów)' majÄ…tku. - </notification> - <notification name="CanNotChangeAppearanceUntilLoaded"> - Nie możesz zmienić wyglÄ…du podczas Å‚adowania ubraÅ„ i ksztaÅ‚tów. - </notification> - <notification name="ClassifiedMustBeAlphanumeric"> - TytuÅ‚ Twojej reklamy musi zaczynać siÄ™ od litery (A-Z) albo cyfry. Znaki przestankowe sÄ… niedozwolone. - </notification> - <notification name="CantSetBuyObject"> - Nie możesz wybrać Kup obiekt ponieważ obiekt nie jest na sprzedaż. -Wybierz obiekt na sprzedaż i spróbuj jeszcze raz. - </notification> - <notification name="FinishedRawDownload"> - Plik surowego terenu zaÅ‚adowany pod: -[DOWNLOAD_PATH]. - </notification> - <notification name="DownloadWindowsMandatory"> - Nowa wersja [APP_NAME] zostaÅ‚a opublikowana. -[MESSAGE] -Musisz zainstalować nowÄ… wersjÄ™ żeby używać [APP_NAME]. - <usetemplate name="okcancelbuttons" notext="WyÅ‚Ä…cz program" yestext="ZaÅ‚aduj"/> - </notification> - <notification name="DownloadWindows"> - Uaktualniona wersja [APP_NAME] zostaÅ‚a opublikowana. -[MESSAGE] -Aktualizacja nie jest wymagana ale jest zalecana w celu poprawy prÄ™dkoÅ›ci i stabilnoÅ›ci. - <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="ZaÅ‚aduj"/> - </notification> - <notification name="DownloadWindowsReleaseForDownload"> - Uaktualniona wersja [APP_NAME] zostaÅ‚a opublikowana. -[MESSAGE] -Aktualizacja nie jest wymagana ale jest zalecana w celu poprawy prÄ™dkoÅ›ci i stabilnoÅ›ci. - <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="ZaÅ‚aduj"/> - </notification> - <notification name="DownloadLinuxMandatory"> - Nowa wersja [APP_NAME] jest dostÄ™pna. -[MESSAGE] -Musisz pobrać aktualizacjÄ™ aby korzystać z [APP_NAME]. - <usetemplate name="okcancelbuttons" notext="Wyjdź" yestext="Pobieranie"/> - </notification> - <notification name="DownloadLinux"> - Aktualizacja [APP_NAME] jest dostÄ™pna. -[MESSAGE] -Ta aktualizacja nie jest wymagana ale zaleca siÄ™ jej instalacjÄ™ w celu poprawienia szybkoÅ›ci i stabilnoÅ›ci. - <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="Pobieranie"/> - </notification> - <notification name="DownloadLinuxReleaseForDownload"> - Uaktualniona wersja [APP_NAME]zostaÅ‚a opublikowana. -[MESSAGE] -Aktualizacja nie jest wymagana ale jest zalecana w celu poprawy prÄ™dkoÅ›ci i stabilnoÅ›ci. - <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="Pobieranie"/> - </notification> - <notification name="DownloadMacMandatory"> - Nowa wersja [APP_NAME] zostaÅ‚a opublikowana. -[MESSAGE] -Musisz zainstalować nowÄ… wersjÄ™ żeby używać [APP_NAME]. - -Pobrać i zapisać w folderze Aplikacji? - <usetemplate name="okcancelbuttons" notext="WyÅ‚Ä…cz program" yestext="ZaÅ‚aduj"/> - </notification> - <notification name="DownloadMac"> - Uaktualniona wersja [APP_NAME] zostaÅ‚a opublikowana. -[MESSAGE] -Aktualizacja nie jest wymagana ale jest zalecana w celu poprawy prÄ™dkoÅ›ci i stabilnoÅ›ci. - -Pobrać i zapisać w folderze Aplikacji? - <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="ZaÅ‚aduj"/> - </notification> - <notification name="DownloadMacReleaseForDownload"> - Uaktualniona wersja [APP_NAME] zostaÅ‚a opublikowana. -[MESSAGE] -Aktualizacja nie jest wymagana ale jest zalecana w celu poprawy prÄ™dkoÅ›ci i stabilnoÅ›ci. - -Pobrać i zapisać w folderze Aplikacji? - <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="ZaÅ‚aduj"/> - </notification> - <notification name="FailedUpdateInstall"> - Podczas aktualizacji pojawiÅ‚ siÄ™ bÅ‚Ä…d. ProszÄ™ pobrać i zainstalować najnowszego klienta z http://secondlife.com/download. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FailedRequiredUpdateInstall"> - Nie można zainstalować wymaganej aktualizacji. Nie bÄ™dzie można zalogować siÄ™ dopóki [APP_NAME] nie zostanie zaktualizowana. - ProszÄ™ pobrać i zainstalować najnowszÄ… wersjÄ™ z http://secondlife.com/download. - <usetemplate name="okbutton" yestext="Rezygnuj"/> - </notification> - <notification name="UpdaterServiceNotRunning"> - Istnieje obowiÄ…zkowa aktualizacja dla Second Life. Możesz jÄ… pobrać z http://www.secondlife.com/downloads lub zainstalować teraz. - <usetemplate name="okcancelbuttons" notext="Opuść Second Life" yestext="Pobierz i zainstaluj teraz"/> - </notification> - <notification name="DownloadBackgroundTip"> - Aktualizacja dla [APP_NAME] zostaÅ‚a pobrana. -Wersja [VERSION] [[RELEASE_NOTES_FULL_URL] Informacja o tej aktualizacji] - <usetemplate name="okcancelbuttons" notext="Później..." yestext="Zainstaluj teraz i restartuj [APP_NAME]"/> - </notification> - <notification name="DownloadBackgroundDialog"> - Aktualizacja [APP_NAME] zostaÅ‚a pobrana. -Wersja [VERSION] [[RELEASE_NOTES_FULL_URL] Informacja o aktualizacji] - <usetemplate name="okcancelbuttons" notext="Później..." yestext="Zainstaluj teraz i restartuj [APP_NAME]"/> - </notification> - <notification name="RequiredUpdateDownloadedVerboseDialog"> - Pobrano wymaganÄ… aktualizacjÄ™. -Wersja [VERSION] - -W celu instalacji aktualizacji musi zostać wykonany restart [APP_NAME]. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="RequiredUpdateDownloadedDialog"> - W celu instalacji aktualizacji musi zostać wykonany restart [APP_NAME]. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="DeedObjectToGroup"> - Przekazanie tego obiektu spowoduje, że grupa: -* Otrzyma L$ zapÅ‚acone temu obiektowi - <usetemplate ignoretext="ProszÄ™ potwierdzić decyzjÄ™ przed przepisaniem obiektu do grupy" name="okcancelignore" notext="Anuluj" yestext="Przekaż"/> - </notification> - <notification name="WebLaunchExternalTarget"> - Czy chcesz otworzyć swojÄ… przeglÄ…darkÄ™ internetowÄ… by zobaczyć zawartość? - <usetemplate ignoretext="Uruchom przeglÄ…darkÄ™ internetowÄ… by zobaczyć stronÄ™ internetowÄ…" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="WebLaunchJoinNow"> - By dokonać zmian i aktualizacji swojego konta, odwiedź [http://secondlife.com/account/ Dashboard]. - <usetemplate ignoretext="Uruchom przeglÄ…darkÄ™ internetowÄ… by dokonać zmian w konfiguracji mojego konta" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="WebLaunchSecurityIssues"> - Odwiedź [SECOND_LIFE] Wiki i zobacz jak zgÅ‚aszać problemy z bezpieczeÅ„stwem danych. - <usetemplate ignoretext="Uruchom przeglÄ…darkÄ™ internetowÄ… by dowiedzieć siÄ™ wiÄ™cej na temat zgÅ‚aszania problemów bezpieczeÅ„stwa" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="WebLaunchQAWiki"> - Odwiedź [SECOND_LIFE] Wiki pytaÅ„ i odpowiedzi. - <usetemplate ignoretext="Uruchom przeglÄ…darkÄ™ internetowÄ… by zobaczyć QA Wiki" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="WebLaunchPublicIssue"> - Odwiedź [SECOND_LIFE] katalog publicznych problemów, gdzie możesz zgÅ‚aszać bÅ‚Ä™dy i inne problemy. - <usetemplate ignoretext="Uruchom przeglÄ…darkÄ™ internetowÄ… by wysÅ‚ać BÅ‚Ä™dy klienta" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="WebLaunchSupportWiki"> - Otwórz oficjalny blog Lindenów żeby zobaczyć nowe wiadomoÅ›ci i informacje. - <usetemplate ignoretext="Uruchom przeglÄ…darkÄ™ internetowÄ… by zobaczyć blog" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="WebLaunchLSLGuide"> - Czy chcesz otworzyć samouczek JÄ™zyka skryptowania? - <usetemplate ignoretext="Uruchom przeglÄ…darkÄ™ internetowÄ… by samouczek JÄ™zyka skryptowania" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="WebLaunchLSLWiki"> - Czy napewno chcesz odwiedzić portal LSL Portal? - <usetemplate ignoretext="Uruchom przeglÄ…darkÄ™ internetowÄ… by LSL Portal" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ReturnToOwner"> - Czy na pewno chcesz zwrócić wybrane obiekty do ich wÅ‚aÅ›cicieli? Wszystkie udostÄ™pnione obiekty z prawem transferu zostanÄ… zwrócone poprzednim wÅ‚aÅ›cicielom. - -*UWAGA* Wszystkie udostÄ™pnione obiekty bez prawa transferu zostanÄ… usuniÄ™te! - <usetemplate ignoretext="Potwierdź zanim zwrócisz obiekty do ich wÅ‚aÅ›cicieli" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="GroupLeaveConfirmMember"> - JesteÅ› czÅ‚onkiem grupy [GROUP]. -Chcesz opuÅ›cić grupÄ™? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmKick"> - Napewno chcesz wyrzucić wszystkich Rezydentów z gridu? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Wyrzuć wszystkich Rezydentów"/> - </notification> - <notification name="MuteLinden"> - Przepraszamy, ale nie możesz zablokować Lindena. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CannotStartAuctionAlreadyForSale"> - Aukcja nie może zostać rozpoczÄ™ta w posiadÅ‚oÅ›ci, która zostaÅ‚a już wczeÅ›niej wystawiona na aukcjÄ™. Deaktywuj opcjÄ™ sprzedaży posiadÅ‚oÅ›ci jeżeli chcesz rozpocząć aukcjÄ™. - </notification> - <notification label="Zablokuj obiekty wedÅ‚ug wpisanej nazwy" name="MuteByNameFailed"> - Rezydent/obiekt jest już zablokowany. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="RemoveItemWarn"> - Pomimo, że jest to dozwolone, usuniÄ™cie zawartoÅ›ci może zniszczyć obiekt. Chcesz usunąć? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="CantOfferCallingCard"> - Nie możesz dać wizytówki w tym momencie. Spróbuj jeszcze raz za chwilÄ™. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CantOfferFriendship"> - Nie możesz zaoferować znajomoÅ›ci w tym momencie. Spróbuj jeszcze raz za chwilÄ™. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="BusyModeSet"> - Tryb Pracy jest wÅ‚Ä…czony. -Czat i IM bÄ™dÄ… ukryte. WysÅ‚ane IM bÄ™dÄ… otrzymywaÅ‚y TwojÄ… odpowiedź Trybu Pracy. Propozycje teleportacji bÄ™dÄ… odrzucone. -Dodatkowo, wszystkie podarowane dla Ciebie obiekty bÄ™dÄ… automatycznie zapisywane w folderze "Kosz" w Twojej szafie. - <usetemplate ignoretext="Status zmieniony na Tryb pracy" name="okignore" yestext="OK"/> - </notification> - <notification name="JoinedTooManyGroupsMember"> - Należysz już do maksymalnej iloÅ›ci grup. Opuść proszÄ™ przynajmniej jednÄ… grupÄ™ żeby przyjąć czÅ‚onkostwo w tej grupie, albo odmów. -[NAME] oferuje Ci czÅ‚onkostwo w grupie. - <usetemplate name="okcancelbuttons" notext="Odmów" yestext="Przyjmij"/> - </notification> - <notification name="JoinedTooManyGroups"> - Należysz już do maksymalnej iloÅ›ci grup. Opuść proszÄ™ przynajmiej jednÄ… grupÄ™ żeby przyjąć czÅ‚onkostwo w tej grupie, albo odmów. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="KickUser"> - Wyrzuć tego Rezydenta, wysyÅ‚ajÄ…c nastÄ™pujÄ…cy komunikat. - <form name="form"> - <input name="message"> - Administrator wylogowaÅ‚ CiÄ™. - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="KickAllUsers"> - Z jakim komunikatem wyrzucić wszystkich użytkowników z regionu? - <form name="form"> - <input name="message"> - Administrator wylogowaÅ‚ CiÄ™. - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="FreezeUser"> - Unieruchom tego Rezydenta, wysyÅ‚ajÄ…c nastÄ™pujÄ…cy komunikat. - <form name="form"> - <input name="message"> - Unieruchomiono CiÄ™. Nie możesz siÄ™ ruszać ani rozmawiać. Administrator skontaktuje siÄ™ z TobÄ… poprzez IM. - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="UnFreezeUser"> - Cofnij unieruchomienie tego Rezydenta, wysyÅ‚ajÄ…c nastÄ™pujÄ…cy komunikat. - <form name="form"> - <input name="message"> - Odblokowano CiÄ™. - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="SetDisplayNameSuccess"> - Witaj [DISPLAY_NAME]! - -Podobnie jak w realnym życiu potrzeba trochÄ™ czasu zanim wszyscy dowiedzÄ… siÄ™ o nowej nazwie. Kolejne kilka dni zajmie [http://wiki.secondlife.com/wiki/Setting_your_display_name aktualizacja nazwy] w obiektach, skryptach, wyszukiwarce, etc. - </notification> - <notification name="SetDisplayNameBlocked"> - Przepraszamy, nie można zmienić Twojej wyÅ›wietlanej nazwy. JeÅ›li uważasz ze jest to spowodowane bÅ‚Ä™dem skontaktuj siÄ™ z obsÅ‚ugÄ… klienta. - </notification> - <notification name="SetDisplayNameFailedLength"> - Przepraszamy, ta nazwa jest zbyt dÅ‚uga. WyÅ›wietlana nazwa może mieć maksymalnie [LENGTH] znaków. - -ProszÄ™ wprowadzić krótszÄ… nazwÄ™. - </notification> - <notification name="SetDisplayNameFailedGeneric"> - Przepraszamy, nie można ustawić Twojej wyÅ›wietlanej nazwy. Spróbuj ponownie później. - </notification> - <notification name="SetDisplayNameMismatch"> - Podana wyÅ›wietlana nazwa nie pasuje. ProszÄ™ wprowadzić jÄ… ponownie. - </notification> - <notification name="AgentDisplayNameUpdateThresholdExceeded"> - Przepraszamy, musisz jeszcze poczekać zanim bÄ™dzie można zmienić TwojÄ… wyÅ›wietlanÄ… nazwÄ™. - -Zobacz http://wiki.secondlife.com/wiki/Setting_your_display_name - -ProszÄ™ spróbować ponownie później. - </notification> - <notification name="AgentDisplayNameSetBlocked"> - Przepraszamy, nie można ustawić wskazanej nazwy, ponieważ zawiera zabronione sÅ‚owa. - - ProszÄ™ spróbować wprowadzić innÄ… nazwÄ™. - </notification> - <notification name="AgentDisplayNameSetInvalidUnicode"> - WyÅ›wietlana nazwa, którÄ… chcesz ustawić zawiera niepoprawne znaki. - </notification> - <notification name="AgentDisplayNameSetOnlyPunctuation"> - Twoje wyÅ›wietlane imiÄ™ musi zawierać litery inne niż znaki interpunkcyjne. - </notification> - <notification name="DisplayNameUpdate"> - [OLD_NAME] ([SLID]) jest od tej pory znana/znany jako [NEW_NAME]. - </notification> - <notification name="OfferTeleport"> - Zaproponować teleportacjÄ™ do miejsca Twojego pobytu z tÄ… wiadomoÅ›ciÄ…? - <form name="form"> - <input name="message"> - Zapraszam do siebie. Region: [REGION] - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="OfferTeleportFromGod"> - WysÅ‚ać propozycjÄ™ teleportacji do Twojego miejsca? - <form name="form"> - <input name="message"> - Zapraszam do siebie. Region: [REGION] - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="TeleportFromLandmark"> - Na pewno chcesz siÄ™ teleportować do <nolink>[LOCATION]</nolink>? - <usetemplate ignoretext="Potwierdź próbÄ™ teleportacji do zapisanego miejsca" name="okcancelignore" notext="Anuluj" yestext="Teleportuj"/> - </notification> - <notification name="TeleportToPick"> - Teleportuj do [PICK]? - <usetemplate ignoretext="Potwierdź, że chcesz teleportować siÄ™ do miejsca w Ulubionych" name="okcancelignore" notext="Anuluj" yestext="Teleportuj"/> - </notification> - <notification name="TeleportToClassified"> - Teleportuj do [CLASSIFIED]? - <usetemplate ignoretext="Potwierdź, że chcesz teleportować siÄ™ do lokalizacji z reklamy" name="okcancelignore" notext="Anuluj" yestext="Teleportuj"/> - </notification> - <notification name="TeleportToHistoryEntry"> - Teleportuj do [HISTORY_ENTRY]? - <usetemplate ignoretext="Potwierdź teleportacjÄ™ do lokalizacji z historii" name="okcancelignore" notext="Anuluj" yestext="Teleportuj"/> - </notification> - <notification label="Wiadomość do Wszystkich w Twoim MajÄ…tku" name="MessageEstate"> - Wpisz krótkÄ… wiadomość która zostanie wysÅ‚ana do wszystkich osób w Twoim majÄ…tku. - <form name="form"> - <input name="message"/> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification label="Zmiana MajÄ…tku Lindenów" name="ChangeLindenEstate"> - Czy napewno chcesz zmienić ustawienia majÄ…tku Linden (mainland, teen grid, orientacja, itp). - -Jest to wyjÄ…tkowo niebezpieczna decyzja, odczuwalna przez wszystkich Rezydentów. Dla mainland, spowoduje to zmianÄ™ tysiÄ™cy regionów oraz ich przestrzeÅ„ serwerowÄ…. - -Kontynuować? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification label="Zmiana DostÄ™pu do MajÄ…tku Lindenów" name="ChangeLindenAccess"> - Dokonujesz zmiany w liÅ›cie dostÄ™pu Regionu głównego należącego do Lindenów (Regiony Główne, Teen Grid, Orientacja). - -Żądana operacja jest wyjÄ…tkowo niebezpieczna dla wszystkich Rezydentów przebywajÄ…cych w regionie i powinna być używana wyÅ‚Ä…cznie w celu zablokowania opcji pozwalajÄ…cej na przeniesienie obiektów/L$ do/z sieci. -Dodatkowo, zmiany dokonane w Regionie Głównym mogÄ… spowodować problemy przestrzeni serwerowej innych regionów. - -Kontynuować? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification label="Wybierz MajÄ…tek" name="EstateAllowedAgentAdd"> - Dodać do listy dostÄ™pu do tego majÄ…tku czy do [ALL_ESTATES]? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wszystkie majÄ…tki" yestext="Ten majÄ…tek"/> - </notification> - <notification label="Wybierz MajÄ…tek" name="EstateAllowedAgentRemove"> - Usunąć z listy dostÄ™pu do tego majÄ…tku czy do [ALL_ESTATES]? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wszystkie majÄ…tki" yestext="Ten majÄ…tek"/> - </notification> - <notification label="Wybierz MajÄ…tek" name="EstateAllowedGroupAdd"> - Dodać do listy dostÄ™pu grup do tego majÄ…tku czy do [ALL_ESTATES]? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wszystkie majÄ…tki" yestext="Ten majÄ…tek"/> - </notification> - <notification label="Wybierz MajÄ…tek" name="EstateAllowedGroupRemove"> - Usunąć z listy dostÄ™pu grup do tego majÄ…tku czy do [ALL_ESTATES]? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wszystkie majÄ…tki" yestext="Ten majÄ…tek"/> - </notification> - <notification label="Wybierz MajÄ…tek" name="EstateBannedAgentAdd"> - Zablokować dostÄ™p do tego majÄ…tku czy do [ALL_ESTATES]? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wszystkie majÄ…tki" yestext="Ten majÄ…tek"/> - </notification> - <notification label="Wybierz MajÄ…tek" name="EstateBannedAgentRemove"> - Zdjąć tego Rezydenta z listy niepożądanych (bany) dla tego majÄ…tku czy dla [ALL_ESTATES]? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wszystkie majÄ…tki" yestext="Ten majÄ…tek"/> - </notification> - <notification label="Wybierz MajÄ…tek" name="EstateManagerAdd"> - Dodać zarzÄ…dce majÄ…tku do tego majÄ…tku czy do [ALL_ESTATES]? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wszystkie majÄ…tki" yestext="Ten majÄ…tek"/> - </notification> - <notification label="Wybierz MajÄ…tek" name="EstateManagerRemove"> - Usunąć zarzÄ…dce majÄ…tku z tego majÄ…tku czy z [ALL_ESTATES]? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wszystkie majÄ…tki" yestext="Ten majÄ…tek"/> - </notification> - <notification label="Potwierdź Wyrzucenie" name="EstateKickUser"> - Wyrzucić [EVIL_USER] z tego majÄ…tku? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="EstateChangeCovenant"> - Na pewno chcesz zminić treść umowy dla tego majÄ…tku? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="RegionEntryAccessBlocked"> - Ze wzglÄ™du na Twój wiek, nie jesteÅ› uprawniony do przebywania w tym regionie. Może być to wynikiem braku informacji na temat weryfikacji Twojego wieku. - -Upewnij siÄ™, że masz zainstalowanÄ… najnowszÄ… wersjÄ™ klienta i skorzystaj z [SECOND_LIFE]:Pomoc by uzyskać wiÄ™cej informacji na temat dostÄ™pu do regionów z podanym rodzajem treÅ›ci jakÄ… zawiera. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="RegionEntryAccessBlocked_KB"> - Ze wzglÄ™du na Twój wiek, nie jesteÅ› uprawniony do przebywania w tym regionie. - -Skorzystaj z [SECOND_LIFE]:Pomoc by uzyskać wiÄ™cej informacji na temat dostÄ™pu do regionów z podanym rodzajem treÅ›ci jakÄ… zawiera. - <url name="url"> - https://support.secondlife.com/ics/support/default.asp?deptID=4417&task=knowledge&questionID=6010 - </url> - <usetemplate ignoretext="Ze wzglÄ™du na Twój wiek, nie jesteÅ› uprawniony do przebywania w tym regionie. Może być to wynikiem braku informacji na temat weryfikacji Twojego wieku." name="okcancelignore" notext="Zamknij" yestext="[SECOND_LIFE]:Pomoc"/> - </notification> - <notification name="RegionEntryAccessBlocked_Notify"> - Ze wzglÄ™du na Twój wiek, nie jesteÅ› uprawniony do przebywania w tym regionie. - </notification> - <notification name="RegionEntryAccessBlocked_Change"> - Nie masz zezwolenia na przebywanie w tym Regionie z powodu Twojego statusu ustawieÅ„ wieku. - -W celu uzyskania dostÄ™pu do tego regiony zmieÅ„ proszÄ™ swój status ustawieÅ„ wieku. BÄ™dziesz mógÅ‚/mogÅ‚a szukać i mieć dostÄ™p do treÅ›ci [REGIONMATURITY]. W celu cofniÄ™cia zmian wybierz z menu Ja > Ustawienia > Ogólne. - <form name="form"> - <button name="OK" text="ZmieÅ„ ustawienia"/> - <button default="true" name="Cancel" text="Zamknij"/> - <ignore name="ignore" text="Moje ustawienia wieku nie dopuszczajÄ… do regionu"/> - </form> - </notification> - <notification name="PreferredMaturityChanged"> - Twoja obecna klasyfikacja wieku to [RATING]. - </notification> - <notification name="LandClaimAccessBlocked"> - W zwiÄ…zku ze statusem ustawieÅ„ Twojego wieku, nie możesz odzyskać tej posiadÅ‚oÅ›ci. Możesz potrzebować weryfikacji wieku bÄ…dź instalacji najnowszej wersji klienta. - -Upewnij siÄ™, że masz zainstalowanÄ… najnowszÄ… wersjÄ™ klienta i skorzystaj z [SECOND_LIFE]:Pomoc by uzyskać wiÄ™cej informacji na temat dostÄ™pu do regionów z podanym rodzajem treÅ›ci jakÄ… zawiera. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="LandClaimAccessBlocked_KB"> - Ze wzglÄ™du na Twój wiek, nie możesz odzyskać tej posiadÅ‚oÅ›ci. - -Skorzystaj z [SECOND_LIFE]:Pomoc by uzyskać wiÄ™cej informacji na temat dostÄ™pu do regionów z podanym rodzajem treÅ›ci jakÄ… zawiera. - <url name="url"> - https://support.secondlife.com/ics/support/default.asp?deptID=4417&task=knowledge&questionID=6010 - </url> - <usetemplate ignoretext="W zwiÄ…zku ze statusem ustawieÅ„ Twojego wieku, nie możesz odzyskać tej posiadÅ‚oÅ›ci." name="okcancelignore" notext="Zamknij" yestext="[SECOND_LIFE]:Pomoc"/> - </notification> - <notification name="LandClaimAccessBlocked_Notify"> - Ze wzglÄ™du na Twój wiek, nie możesz odzyskać tej posiadÅ‚oÅ›ci. - </notification> - <notification name="LandClaimAccessBlocked_Change"> - W zwiÄ…zku ze statusem ustawieÅ„ Twojego wieku, nie możesz odzyskać tej posiadÅ‚oÅ›ci. - -Możesz wybrać 'ZmieÅ„ Ustawienia' by dokonać zmian w ustawieniach Twojego wieku by uzyskać dostÄ™p do regionu. Wówczas bÄ™dziesz w stanie znaleźć oraz mieć dostÄ™p do [REGIONMATURITY] treÅ›ci. Jeżeli zdecydujesz siÄ™ na powrót do poprzednich ustawieÅ„, wybierz Ja > Ustawienia > Główne. - <usetemplate ignoretext="Ze wzglÄ™du na Twój wiek, nie możesz odzyskać tej posiadÅ‚oÅ›ci." name="okcancelignore" notext="Zamknij" yestext="ZmieÅ„ Ustawienia"/> - </notification> - <notification name="LandBuyAccessBlocked"> - Ze wzglÄ™du na Twój wiek, nie możesz kupić tej posiadÅ‚oÅ›ci. Może być to wynikiem braku informacji na temat weryfikacji Twojego wieku. - -Upewnij siÄ™, że masz zainstalowanÄ… najnowszÄ… wersjÄ™ klienta i skorzystaj z [SECOND_LIFE]:Pomoc by uzyskać wiÄ™cej informacji na temat dostÄ™pu do regionów z podanym rodzajem treÅ›ci jakÄ… zawiera. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="LandBuyAccessBlocked_KB"> - Ze wzglÄ™du na Twój wiek, nie możesz kupić tej posiadÅ‚oÅ›ci. - -Skorzystaj z [SECOND_LIFE]:Pomoc by uzyskać wiÄ™cej informacji na temat dostÄ™pu do regionów z podanym rodzajem treÅ›ci jakÄ… zawiera. - <url name="url"> - https://support.secondlife.com/ics/support/default.asp?deptID=4417&task=knowledge&questionID=6010 - </url> - <usetemplate ignoretext="Ze wzglÄ™du na Twój wiek, nie możesz kupić tej posiadÅ‚oÅ›ci." name="okcancelignore" notext="Zamknij" yestext="[SECOND_LIFE]:Pomoc"/> - </notification> - <notification name="LandBuyAccessBlocked_Notify"> - Ze wzglÄ™du na Twój wiek, nie możesz kupić tej posiadÅ‚oÅ›ci. - </notification> - <notification name="LandBuyAccessBlocked_Change"> - W zwiÄ…zku ze statusem ustawieÅ„ Twojego wieku, nie możesz kupić tej posiadÅ‚oÅ›ci. - -Możesz wybrać 'ZmieÅ„ Ustawienia' by dokonać zmian w ustawieniach Twojego wieku by uzyskać dostÄ™p do regionu. Wówczas bÄ™dziesz w stanie znaleźć oraz mieć dostÄ™p do [REGIONMATURITY] treÅ›ci. Jeżeli zdecydujesz siÄ™ na powrót do poprzednich ustawieÅ„, wybierz Ja > Ustawienia > Główne. - <usetemplate ignoretext="W zwiÄ…zku ze statusem ustawieÅ„ Twojego wieku, nie możesz kupić tej posiadÅ‚oÅ›ci." name="okcancelignore" notext="Zamknij" yestext="ZmieÅ„ Ustawienia"/> - </notification> - <notification name="TooManyPrimsSelected"> - Zbyt wiele wybranych obiektów. Wybierz [MAX_PRIM_COUNT] lub mniej i spróbuj ponownie - </notification> - <notification name="ProblemImportingEstateCovenant"> - Problem z importem umowy majÄ…tku. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ProblemAddingEstateManager"> - Problemy z dodawaniem nowego zarzÄ…dcy majÄ…tku. Jeden lub wiÄ™caj majÄ…tk może mieć wypeÅ‚nionÄ… listÄ™ zarzÄ…dców. - </notification> - <notification name="ProblemAddingEstateGeneric"> - Problemy z dodawaniem do listy majÄ…tku. Jeden lub wiÄ™caj majÄ…tk może mieć wypeÅ‚nionÄ… listÄ™. - </notification> - <notification name="UnableToLoadNotecardAsset"> - Brak możliwoÅ›ci zaÅ‚adowania noty w tej chwili. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="NotAllowedToViewNotecard"> - NiewystarczajÄ…ce prawa do zobaczenia notki przypisanej do wybranego ID. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="MissingNotecardAssetID"> - ID notki nie znalezione w bazie danych. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="PublishClassified"> - PamiÄ™taj: OpÅ‚aty za reklamÄ™ sÄ… bezzwrotne. - -ZamieÅ›cić tÄ… reklamÄ™ za [AMOUNT]L$? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="SetClassifiedMature"> - Czy ta reklama zawiera treść 'Mature'? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification name="SetGroupMature"> - Czy ta grupa zawiera treść 'Mature'? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification label="Potwierdź Restart" name="ConfirmRestart"> - Na pewno chcesz zrobić restart tego regionu za 2 minuty? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification label="Wiadomość do Wszystkich w tym Regionie" name="MessageRegion"> - Wpisz krótkÄ… wiadomość która zostanie wysÅ‚ana do wszystkich osób w tym regionie. - <form name="form"> - <input name="message"/> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification label="Zmienione Restrykcje Wieku dla Regionu" name="RegionMaturityChange"> - Ustawienie restrykcji wieku dla regionu zostaÅ‚o zmienione. -Zazwyczaj musi upÅ‚ynąć nieco czasu zanim ta zmiana zostanie odzwierciedlona na mapie. - -Aby wejść do regionu Adult, Rezydenci muszÄ… posiadać zweryfikowane konto, albo w wyniku weryfikacji wieku albo pÅ‚atoÅ›ci. - </notification> - <notification label="Wersja Niezgodna z Systemem Rozmów" name="VoiceVersionMismatch"> - Ta wersja [APP_NAME] nie jest kompatybilna z systemem rozmów w tym Regionie. Musisz zainstalować aktualnÄ… wersjÄ™ [APP_NAME] aby komunikacja gÅ‚osowa dziaÅ‚aÅ‚a poprawnie. - </notification> - <notification label="Nie Można Kupić Obiektów" name="BuyObjectOneOwner"> - Jednorazowo możesz kupować tylko od jednego wÅ‚aÅ›ciciela. -Wybierz pojedynczy obiekt i spróbuj jeszcze raz. - </notification> - <notification label="Nie Można Kupić ZawartoÅ›ci" name="BuyContentsOneOnly"> - Jednorazowo możesz kupić zawartość tylko jednego obiektu. -Wybierz pojedynczy obiekt i spróbuj jeszcze raz. - </notification> - <notification label="Nie Można Kupić ZawartoÅ›ci" name="BuyContentsOneOwner"> - Jednorazowo możesz kupować tylko od jednego wÅ‚aÅ›ciciela. -Wybierz pojedynczy obiekt i spróbuj jeszcze raz. - </notification> - <notification name="BuyOriginal"> - Kupić oryginalny obiekt od [OWNER] za [PRICE]L$? -Zostaniesz wÅ‚aÅ›cicielem tego obiektu z nastÄ™pujÄ…cymi prawami: - Modyfikacje: [MODIFYPERM] - Kopiowanie: [COPYPERM] - Odsprzedawanie i oddawanie: [RESELLPERM] - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="BuyOriginalNoOwner"> - Kupić oryginalny obiekt za [PRICE]L$? -Zostaniesz wÅ‚aÅ›cicielem tego obiektu z nastÄ™pujÄ…cymi prawami: - Modyfikacje: [MODIFYPERM] - Kopiowanie: [COPYPERM] - Odsprzedawanie i oddawanie: [RESELLPERM] - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="BuyCopy"> - Kupić kopiÄ™ obiektu od [OWNER] za [PRICE]L$? -Obiekt zostanie skopiowany do Twojej szafy z nastÄ™pujÄ…cymi prawami: - Modyfikacje: [MODIFYPERM] - Kopiowanie: [COPYPERM] - Odsprzedawanie i oddawanie: [RESELLPERM] - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="BuyCopyNoOwner"> - Kupić kopiÄ™ obiektu za [PRICE]L$? -Obiekt zostanie skopiowany do Twojej szafy z nastÄ™pujÄ…cymi prawami: - Modyfikacje: [MODIFYPERM] - Kopiowanie: [COPYPERM] - Odsprzedawanie i oddawanie: [RESELLPERM] - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="BuyContents"> - Kupić zawartość od [OWNER] za [PRICE]L$? -Zawartość zostanie skopiowana do Twojej szafy. - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="BuyContentsNoOwner"> - Kupić zawartość za [PRICE]L$? -Zawartość zostanie skopiowana do Twojej szafy. - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmPurchase"> - Ta transakcja spowoduje: -[ACTION] - -Na pewno chcesz dokonać tego zakupu? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmPurchasePassword"> - Ta transakcja spowoduje: -[ACTION] - -Na pewno chcesz dokonać tego zakupu? -Wpisz hasÅ‚o ponownie i kliknij OK. - <form name="form"> - <input name="message"/> - <button name="ConfirmPurchase" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="SetPickLocation"> - Uwaga: -Lokalizacja tego wyboru zostaÅ‚a zaktualizowana ale pozostaÅ‚e szczegóły zachowajÄ… oryginalne wartoÅ›ci. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="MoveInventoryFromObject"> - Wybrane obiekty Szafy nie majÄ… praw kopiowania. -Obiekty zostanÄ… przeniesione do Twojej Szafy, nie zostanÄ… skopiowane. - -Przenieść obiekty Szafy? - <usetemplate ignoretext="Uprzedź przed przeniesieniem zawartoÅ›ci niekopiowalnej z obiektu" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="MoveInventoryFromScriptedObject"> - Wybrane obiekty Szafy nie majÄ… praw kopiowania. -Obiekty zostanÄ… przeniesione do Twojej Szafy, nie zostanÄ… skopiowane. -Ponieważ obiekty zawierajÄ… skrypty, przeniesienie obiektów do Twojej Szafy może spowodować niepoprawne dziaÅ‚anie skryptów. - -Przenieść obiekty szafy? - <usetemplate ignoretext="Uprzedź przed przeniesieniem zawartoÅ›ci niekopiowalnej z obiektu, która może uszkodzić skrypty obiektu" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ClickActionNotPayable"> - Uwaga: Opcja ZapÅ‚ać obiektowi zostaÅ‚a wybrana, ale żeby ta opcja dziaÅ‚aÅ‚a musi być dodany skrypt z funkcjÄ… money(). - <form name="form"> - <ignore name="ignore" text="Opcja ZapÅ‚ać Obiektowi zostaÅ‚a aktywowana podczas budowania obiektów bez skryptu z funkcjÄ… money()."/> - </form> - </notification> - <notification name="OpenObjectCannotCopy"> - W tym obiekcie nie ma elementów które możesz skopiować. - </notification> - <notification name="WebLaunchAccountHistory"> - Przejść na stronÄ™ [http://secondlife.com/account/ Dashboard] żeby zobaczyć historiÄ™ konta? - <usetemplate ignoretext="Uruchom przeglÄ…darkÄ™ internetowÄ… by zobaczyć historiÄ™ konta" name="okcancelignore" notext="Anuluj" yestext="Idź na stronÄ™"/> - </notification> - <notification name="ConfirmQuit"> - Na pewno chcesz skoÅ„czyć? - <usetemplate ignoretext="Na pewno chcesz skoÅ„czyć?" name="okcancelignore" notext="Nie koÅ„cz" yestext="WyÅ‚Ä…cz"/> - </notification> - <notification name="DeleteItems"> - [QUESTION] - <usetemplate ignoretext="Potwierdź, że na pewno chcesz skasować obiekty" name="okcancelignore" notext="Cofnij" yestext="OK"/> - </notification> - <notification name="HelpReportAbuseEmailLL"> - Używaj tej opcji do zgÅ‚aszania nadużyć [http://secondlife.com/corporate/tos.php Warunków Umowy (Terms of Service)] i [http://secondlife.com/corporate/cs.php Standardów SpoÅ‚eczeÅ„stwa (Community Standards)]. - -Wszystkie zgÅ‚oszone nadużycia sÄ… badane i rozwiÄ…zywane. - </notification> - <notification name="HelpReportAbuseSelectCategory"> - Wybierz kategoriÄ™ dla tego raportu o nadużyciu. -OkreÅ›lenie kategorii pomoże nam w klasyfikacji i prztwarzaniu raportu. - </notification> - <notification name="HelpReportAbuseAbuserNameEmpty"> - Wprowadź imiÄ™ i nazwisko osoby popeÅ‚niajÄ…cej nadużycie. -DokÅ‚adne dane pomogÄ… nam w klasyfikacji i prztwarzaniu raportu. - </notification> - <notification name="HelpReportAbuseAbuserLocationEmpty"> - Wprowadź nazwÄ™ miejsca gdzie popeÅ‚niono nadużycie. -DokÅ‚adne dane pomogÄ… nam w klasyfikacji i prztwarzaniu raportu. - </notification> - <notification name="HelpReportAbuseSummaryEmpty"> - Wprowadź opis popeÅ‚nionego nadużycia. -DokÅ‚adne dane pomogÄ… nam w klasyfikacji i prztwarzaniu raportu. - </notification> - <notification name="HelpReportAbuseDetailsEmpty"> - Wprowadź szczgółowy opis popeÅ‚nionego nadużycia. -Podaj maksymalnÄ… ilość szczgółów oraz imiona i nazwiska osób zwiÄ…zanych z nadużyciem które zgÅ‚aszasz. -DokÅ‚adne dane pomogÄ… nam w klasyfikacji i prztwarzaniu raportu. - </notification> - <notification name="HelpReportAbuseContainsCopyright"> - Szanowny Rezydencie, - -Jeżeli skÅ‚adasz raport dotyczÄ…cy naruszenia praw autorskich proszÄ™ siÄ™ upewnić, że robisz to poprawnie: - -(1) Przypadek Nadużycia. Możesz zÅ‚ożyć raport jeżeli sÄ…dzisz, że Rezydent narusza system przywilejów [SECOND_LIFE], na przykÅ‚ad używajÄ…c CopyBot lub podobnych narzÄ™dzi robiÄ…cych kopie, naruszajÄ…c prawa autorskie. Komisja Nadużyć bada wykroczenia i stosuje akcje dyscyplinarne za zachowania sprzeczne z zasadami Warunków Umowy [SECOND_LIFE] [http://secondlife.com/corporate/tos.php Terms of Service] i Standardów SpoÅ‚eczeÅ„stwa [http://secondlife.com/corporate/cs.php Community Standards]. Komisja Nadużyć nie zajmuje siÄ™ i nie odpowiada na żądania usuniÄ™cia treÅ›ci ze Å›rodowiska [SECOND_LIFE]. - -(2) Przypadek DMCA lub Usuwanie TreÅ›ci. Aby wystÄ…pić z żądaniem o usuniÄ™cie treÅ›ci ze Å›rodowiska [SECOND_LIFE] MUSISZ przedÅ‚ożyć ważne zawiadomienie o nadużyciu zgodne z naszÄ… politykÄ… DMCA [http://secondlife.com/corporate/dmca.php DMCA Policy]. - -Jeżeli chcesz kontynuować dalej zamknij to okno i dokoÅ„cz wysyÅ‚anie raportu. Może być potrzebny wybór kategorii 'CopyBot albo Nadużycie Przywilejów'. - -DziÄ™kujemy, - -Linden Lab - </notification> - <notification name="FailedRequirementsCheck"> - Brak nastÄ™pujÄ…cych wymaganych komponentów w [FLOATER]: -[COMPONENTS] - </notification> - <notification label="ZamieÅ„ IstniejÄ…cy Dodatek" name="ReplaceAttachment"> - Obecnie masz już doÅ‚Ä…czony obiekt do tej części Twojego ciaÅ‚a. -Chcesz go zamienić na wybrany obiekt? - <form name="form"> - <ignore name="ignore" save_option="true" text="Obecnie masz już doÅ‚Ä…czony obiekt do tej części Twojego ciaÅ‚a.Chcesz go zamienić na wybrany obiekt?"/> - <button ignore="ZamieÅ„ automatycznie" name="Yes" text="OK"/> - <button ignore="Nie zamieniaj" name="No" text="Anuluj"/> - </form> - </notification> - <notification label="Ostrzeżenie Trybu Pracy" name="BusyModePay"> - JesteÅ› w Trybie pracy co oznacza, że nie dostaniesz żadnych obiektów w zamian za tÄ… opÅ‚atÄ™. - -Chcesz wyÅ‚Ä…czyć Tryb pracy przed zakoÅ„czeniem tej tranzakcji? - <form name="form"> - <ignore name="ignore" save_option="true" text="JesteÅ› w Trybie Pracy co oznacza, że nie dostaniesz żadnych obiektów w zamian za tÄ… opÅ‚atÄ™. Chcesz wyÅ‚Ä…czyć Tryb Pracy przed zakoÅ„czeniem tej transakcji?"/> - <button ignore="Zawsz wyÅ‚Ä…czaj tryb pracy" name="Yes" text="OK"/> - <button ignore="Nie wyÅ‚Ä…czaj trybu pracy" name="No" text="Anuluj"/> - </form> - </notification> - <notification name="ConfirmDeleteProtectedCategory"> - Ten folder '[FOLDERNAME]' to folder systemowy. UsuniÄ™cie foldera systemowego spowoduje niestabilność. Czy na pewno chcesz go skasować? - <usetemplate ignoretext="Potwierdź zanim folder systemu zostanie skasowany" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmEmptyTrash"> - Na pewno chcesz permanentnie usunąć zawartość Kosza? - <usetemplate ignoretext="Potwierdź przed usuniÄ™ciem zawartoÅ›ci Kosza" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmClearBrowserCache"> - Na pewno chcesz wyczyÅ›cić bufor przeglÄ…darki? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmClearCookies"> - Na pewno chcesz wyczyÅ›cić ciasteczka? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Tak"/> - </notification> - <notification name="ConfirmClearMediaUrlList"> - Na pewno chcesz wyczyÅ›cić listÄ™ zapisanych linków? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Tak"/> - </notification> - <notification name="ConfirmEmptyLostAndFound"> - Na pewno chcesz permanentnie usunąć zawartość Twojego foldera Zgubione i odnalezione? - <usetemplate ignoretext="Potwierdź przed usuniÄ™ciem zawartoÅ›ci foldera Zagubione i odnalezione" name="okcancelignore" notext="Nie" yestext="Tak"/> - </notification> - <notification name="CopySLURL"> - NastÄ™pujÄ…cy link SLURL zostaÅ‚ skopiowany do schowka: - [SLURL] - -Zamieść go na stronie internetowej żeby umożliwić innym Å‚atwy dostÄ™p do tego miejsca, albo wklej go do panela adresu Twojej przeglÄ…darki żeby go otworzyć. - <form name="form"> - <ignore name="ignore" text="SLurl skopiowany do schowka"/> - </form> - </notification> - <notification name="WLSavePresetAlert"> - Chcesz zmienić zapisane ustawienia? - <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification name="WLDeletePresetAlert"> - Chcesz usunąć [SKY]? - <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification name="WLNoEditDefault"> - Nie możesz edytować lub usunąć domyÅ›lnych ustawieÅ„. - </notification> - <notification name="WLMissingSky"> - Ten plik cyklu dziennego używa brakujÄ…cego pliku nieba: [SKY]. - </notification> - <notification name="PPSaveEffectAlert"> - Efekt post-procesu już istnieje. Chcesz zapisać nowy na jego miejsce? - <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification name="NewSkyPreset"> - Nazwij nowe niebo. - <form name="form"> - <input name="message"> - Nowe ustawienie - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="ExistsSkyPresetAlert"> - Ustawienie już istnieje! - </notification> - <notification name="NewWaterPreset"> - Nazwij nowe ustawienie wody. - <form name="form"> - <input name="message"> - Nowe ustawienie - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="ExistsWaterPresetAlert"> - Ustawienie już istnieje! - </notification> - <notification name="WaterNoEditDefault"> - DomyÅ›lne ustawienie nie może być zmienione ani usuniÄ™te. - </notification> - <notification name="ChatterBoxSessionStartError"> - BÅ‚Ä…d podczas rozpoczynania czatu/IM z [RECIPIENT]. -[REASON] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ChatterBoxSessionEventError"> - [EVENT] -[REASON] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ForceCloseChatterBoxSession"> - Twój czat/IM z [NAME] zostanie zamkniÄ™ty. -[REASON] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="Cannot_Purchase_an_Attachment"> - Rzeczy nie mogÄ… być kupione jeżeli sÄ… częściÄ… zaÅ‚Ä…cznika. - </notification> - <notification label="ProÅ›ba o ZgodÄ™ na Pobieranie L$" name="DebitPermissionDetails"> - AkceptujÄ…c tÄ… proÅ›bÄ™ wyrażasz zgodÄ™ na ciÄ…gÅ‚e pobieranie Lindenów (L$) z Twojego konta. Å»eby cofnąć to pozwolenie wÅ‚aÅ›ciciel obiektu bÄ™dzie musiaÅ‚ usunąć ten obiekt albo zresetowć skrypty obieku. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AutoWearNewClothing"> - Czy chcesz automatycznie nosić ubranie które tworzysz? - <usetemplate ignoretext="Załóż ubranie automatycznie bÄ™dÄ…c w trybie Edycji WyglÄ…du" name="okcancelignore" notext="Nie" yestext="Tak"/> - </notification> - <notification name="NotAgeVerified"> - Nie masz dostÄ™pu do tej posiadÅ‚oÅ›ci ze wzglÄ™du na brak weryfikacji Twojego wieku. Czy chcesz odwiedzić stronÄ™ [SECOND_LIFE] żeby to zmienić? - -[_URL] - <url name="url" option="0"> - https://secondlife.com/account/verification.php - </url> - <usetemplate ignoretext="Brak weryfikacji wieku" name="okcancelignore" notext="Nie" yestext="Tak"/> - </notification> - <notification name="Cannot enter parcel: no payment info on file"> - Nie masz dostÄ™pu do tej posiadÅ‚oÅ›ci ze wzglÄ™du na brak danych o Twoim koncie. Czy chcesz odwiedzić stronÄ™ [SECOND_LIFE] żeby to zmienić? - -[_URL] - <url name="url" option="0"> - https://secondlife.com/account/ - </url> - <usetemplate ignoretext="Brak danych o koncie" name="okcancelignore" notext="Nie" yestext="Tak"/> - </notification> - <notification name="MissingString"> - Zdanie [STRING_NAME] nie znalezione w strings.xml - </notification> - <notification name="SystemMessageTip"> - [MESSAGE] - </notification> - <notification name="IMSystemMessageTip"> - [MESSAGE] - </notification> - <notification name="Cancelled"> - Anulowane - </notification> - <notification name="CancelledSit"> - Siadanie anulowane - </notification> - <notification name="CancelledAttach"> - DoÅ‚Ä…czenie anulowane - </notification> - <notification name="ReplacedMissingWearable"> - BarkujÄ…ce ubranie/części ciaÅ‚a zastÄ…piono domyÅ›lnymi obiektami. - </notification> - <notification name="GroupNotice"> - Temat: [SUBJECT], Treść: [MESSAGE] - </notification> - <notification name="FriendOnline"> - [NAME] jest w Second Life - </notification> - <notification name="FriendOffline"> - [NAME] opuszcza Second Life - </notification> - <notification name="AddSelfFriend"> - Nie możesz dodać siebie do listy znajomych. - </notification> - <notification name="UploadingAuctionSnapshot"> - Åadowanie obrazu z Internetu... -(Zajmuje okoÅ‚o 5 minut.) - </notification> - <notification name="UploadPayment"> - Åadowanie kosztowaÅ‚o [AMOUNT]L$. - </notification> - <notification name="UploadWebSnapshotDone"> - Åadowanie obrazu z Internetu zakoÅ„czne pomyÅ›lnie. - </notification> - <notification name="UploadSnapshotDone"> - Åadowanie zdjÄ™cia zakoÅ„czone pomyÅ›lnie. - </notification> - <notification name="TerrainDownloaded"> - Plik terrain.raw Å›ciÄ…gniety. - </notification> - <notification name="GestureMissing"> - Gesturka [NAME] nie znaleziony w bazie danych. - </notification> - <notification name="UnableToLoadGesture"> - Åadowanie gesturki [NAME] nie powiodÅ‚o siÄ™. - </notification> - <notification name="LandmarkMissing"> - Miejsce (LM) nie znalezione w bazie danych. - </notification> - <notification name="UnableToLoadLandmark"> - Åadowanie miejsca (LM) nie powiodÅ‚o siÄ™. -Spróbuj jeszcze raz. - </notification> - <notification name="CapsKeyOn"> - Twój Caps Lock jest wÅ‚Ä…czony. -Ponieważ to ma wpÅ‚yw na wpisywane hasÅ‚o, możesz chcieć go wyÅ‚Ä…czyć. - </notification> - <notification name="NotecardMissing"> - Notka nie zostaÅ‚a znaleziona w bazie danych. - </notification> - <notification name="NotecardNoPermissions"> - Nie masz pozwolenia na zobaczenie notki. - </notification> - <notification name="RezItemNoPermissions"> - Nie masz pozwolenia na stworzenie obiektu. - </notification> - <notification name="UnableToLoadNotecard"> - Nie można zaÅ‚adować danych notki w tym momencie. - </notification> - <notification name="ScriptMissing"> - Skrypt nie znaleziony w bazie danych. - </notification> - <notification name="ScriptNoPermissions"> - Nie masz pozwolenia na zobaczenie skryptu. - </notification> - <notification name="UnableToLoadScript"> - Åadowanie skryptu nie powiodÅ‚o siÄ™. -Spróbuj jeszcze raz. - </notification> - <notification name="IncompleteInventory"> - Zawartość obiektów którÄ… chcesz podarować nie jest dostÄ™pna lokalnie. Spróbuj podarować te obiekty jeszcze raz za jakiÅ› czas. - </notification> - <notification name="CannotModifyProtectedCategories"> - Nie możesz zmienić chronionych kategorii. - </notification> - <notification name="CannotRemoveProtectedCategories"> - Nie możesz usunąć chronionych kategorii. - </notification> - <notification name="UnableToBuyWhileDownloading"> - Nie można kupować w trakcie Å‚adowania danych obiektu. -Spróbuj jeszcze raz. - </notification> - <notification name="UnableToLinkWhileDownloading"> - Nie można Å‚Ä…czyć w trakcie Å‚adowania danych obiektu. -Spróbuj jeszcze raz. - </notification> - <notification name="CannotBuyObjectsFromDifferentOwners"> - Nie możesz jednoczeÅ›nie kupować obiektów od różnych osób. -Wybierz jeden obiekt. - </notification> - <notification name="ObjectNotForSale"> - Obiekt nie jest na sprzedaż. - </notification> - <notification name="EnteringGodMode"> - WÅ‚Ä…cznie trybu boskiego, poziom [LEVEL] - </notification> - <notification name="LeavingGodMode"> - WyÅ‚Ä…czanie trybu boskiego, poziom [LEVEL] - </notification> - <notification name="CopyFailed"> - Nie masz praw do skopiowania wybranych obiektów. - </notification> - <notification name="InventoryAccepted"> - Podarunek od Ciebie zostaÅ‚ przyjÄ™ty przez [NAME]. - </notification> - <notification name="InventoryDeclined"> - Podarunek od Ciebie zostaÅ‚ odrzucony przez [NAME]. - </notification> - <notification name="ObjectMessage"> - [NAME]: [MESSAGE] - </notification> - <notification name="CallingCardAccepted"> - Twoja wizytówka zostaÅ‚a przyjÄ™ta. - </notification> - <notification name="CallingCardDeclined"> - Twoja wizytówka zostaÅ‚a odrzucona. - </notification> - <notification name="TeleportToLandmark"> - JesteÅ› w Głównym Regionie i możesz siÄ™ stÄ…d teleportować do innych miejsc jak '[NAME]' wybierajÄ…c Moja Szafa w prawym dolnym rogu ekranu -i wybierajÄ…c folder Zapisane Miejsca (LM). -(Kliknij dwa razy na miejsce (LM) i wybierz 'Teleport' żeby tam siÄ™ przenieść.) - </notification> - <notification name="TeleportToPerson"> - Możesz skontaktować siÄ™ z Rezydentem '[NAME]' poprzez otworzenie panelu Ludzie po prawej stronie ekranu. -Wybierz Rezydenta z listy, nastÄ™pnie kliknij 'IM' na dole panelu. -(Możesz także kliknąć podwójnie na ich imiÄ™ na liÅ›cie, lub prawym przyciskiem i wybrać 'IM'). - </notification> - <notification name="CantSelectLandFromMultipleRegions"> - Nie możesz przekraczać granic serwera wybierajÄ…c obszar. -Spróbuj wybrać mniejszy obszar. - </notification> - <notification name="SearchWordBanned"> - Pewne frazy podczas wyszukiwania zostaÅ‚y usuniÄ™te w zwiÄ…zku z restrykcjami zawartymi w Standardach SpoÅ‚ecznoÅ›ciowych (Community Standards). - </notification> - <notification name="NoContentToSearch"> - ProszÄ™ wybrać przynajmiej jeden z podanych rodzajów treÅ›ci jakÄ… zawiera region podczas wyszukiwania ('General', 'Moderate', lub 'Adult'). - </notification> - <notification name="SystemMessage"> - [MESSAGE] - </notification> - <notification name="PaymentReceived"> - [MESSAGE] - </notification> - <notification name="PaymentSent"> - [MESSAGE] - </notification> - <notification name="EventNotification"> - Zawiadomienie o imprezie: - -[NAME] -[DATE] - <form name="form"> - <button name="Details" text="Szczegóły"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="TransferObjectsHighlighted"> - Obiekty na tej posiadÅ‚oÅ›ci które zostanÄ… przekazane kupcowi tej posiadÅ‚oÅ›ci sÄ… teraz rozjaÅ›nione. - -* Drzewa i trawy które zostanÄ… przekazne nie sÄ… rozjaÅ›nione. - <form name="form"> - <button name="Done" text="Zastosuj"/> - </form> - </notification> - <notification name="DeactivatedGesturesTrigger"> - Zablokowane gesturki z jednakowym aktywowaniem: -[NAMES] - </notification> - <notification name="NoQuickTime"> - WyglÄ…da na to, że QuickTime z Apple nie jest zainstalowany na Twoim komputerze. -Jeżeli chcesz odtwarzać media na tej posiadÅ‚oÅ›ci które używajÄ… QuickTime idź do [http://www.apple.com/quicktime strona QuickTime] i zainstaluj odtwarzacz. - </notification> - <notification name="NoPlugin"> - Nie znaleziono wtyczki mediów dla "[MIME_TYPE]" typu mime. Media tego typu bÄ™dÄ… niedostÄ™pne. - </notification> - <notification name="MediaPluginFailed"> - NastÄ™pujÄ…ce wtyczki mediów nie dziaÅ‚ajÄ…: - [PLUGIN] - -Zainstaluj proszÄ™ wtyczki ponownie lub skontaktuj siÄ™ z dostawcÄ… jeÅ›li nadal problem bÄ™dzie wystÄ™powaÅ‚. - <form name="form"> - <ignore name="ignore" text="Wtyczka mediów nie dziaÅ‚a"/> - </form> - </notification> - <notification name="OwnedObjectsReturned"> - Twoje obiekty z wybranej posiadÅ‚oÅ›ci zostaÅ‚y zwrócone do Twojej Szafy. - </notification> - <notification name="OtherObjectsReturned"> - Obiekty należące do [NAME] na wybranej posiadÅ‚oÅ›ci zostaÅ‚y zwrócone do Szafy tej osoby. - </notification> - <notification name="OtherObjectsReturned2"> - Obiekty z posiadÅ‚oÅ›ci należącej do Rezydenta'[NAME]' zostaÅ‚y zwrócone do wÅ‚aÅ›ciciela. - </notification> - <notification name="GroupObjectsReturned"> - Obiekty z wybranej posiadÅ‚oÅ›ci przypisane do grupy [GROUPNAME] zostaÅ‚y zwrócone do szafy ich wÅ‚aÅ›cicieli. -Przekazywalne obiekty przekazne grupie zostaÅ‚y zwrócone do ich poprzednich wÅ‚aÅ›cicieli. -Nieprzekazywalne obiekty przekazane grupie zostaÅ‚y usuniÄ™te. - </notification> - <notification name="UnOwnedObjectsReturned"> - Obiekty z wybranej posiadÅ‚oÅ›ci które nie należą do Ciebie zostaÅ‚y zwrócone do ich wÅ‚aÅ›cicieli. - </notification> - <notification name="ServerObjectMessage"> - Wiadomość od [NAME]: -<nolink>[MSG]</nolink> - </notification> - <notification name="NotSafe"> - Ta posiadÅ‚ość pozwala na uszkodzenia. -Możesz doznać tutaj urazu. Jeżeli zginiesz nastÄ…pi teleportacja do Twojego miejsca startu. - </notification> - <notification name="NoFly"> - Ta posiadÅ‚ość nie pozwala na latanie. -Nie możesz tutaj latać. - </notification> - <notification name="PushRestricted"> - Popychanie niedozwolone. Nie możesz tutaj popychać innych, chyba, że jesteÅ› wÅ‚aÅ›cicielem tej posiadÅ‚oÅ›ci. - </notification> - <notification name="NoVoice"> - Ta posiadÅ‚ość nie pozwala na rozmowy. - </notification> - <notification name="NoBuild"> - Ta posiadÅ‚ość nie pozwala na budowanie. Nie możesz tworzyć tutaj obiektów. - </notification> - <notification name="ScriptsStopped"> - Administrator czasowo zatrzymaÅ‚ skrypty w tym regionie. - </notification> - <notification name="ScriptsNotRunning"> - Å»adne skrypty nie dziaÅ‚ajÄ… w tym regionie. - </notification> - <notification name="NoOutsideScripts"> - Ta posiadÅ‚ość nie pozwala na zewnÄ™trzne skrypty. - -Å»adne skrypty nie bÄ™dÄ… tutaj dziaÅ‚ać za wyjÄ…tkiem skryptów należących do wÅ‚aÅ›ciciela posiadÅ‚oÅ›ci. - </notification> - <notification name="ClaimPublicLand"> - Tylko publiczne posiadÅ‚oÅ›ci w tym regionie mogÄ… być przejÄ™te. - </notification> - <notification name="RegionTPAccessBlocked"> - Ze wzglÄ™du na Twój wiek, nie jesteÅ› uprawniony do przebywania w tym regionie. Możesz potrzebować weryfikacji wieku bÄ…dź instalacji najnowszej wersji klienta. - -Skorzystaj z [SECOND_LIFE]:Pomoc by uzyskać wiÄ™cej informacji na temat dostÄ™pu do regionów z podanym rodzajem treÅ›ci jakÄ… zawiera. - </notification> - <notification name="URBannedFromRegion"> - ZostaÅ‚eÅ› zbanowany w regionie. - </notification> - <notification name="NoTeenGridAccess"> - Twoje konto nie może zostać poÅ‚Ä…czone z podanym regionem Teen Grid. - </notification> - <notification name="ImproperPaymentStatus"> - Nie posiadasz odpowiedniego statusu pÅ‚atniczego by uzyskać dostÄ™p do regionu. - </notification> - <notification name="MustGetAgeParcel"> - By móc przebywać na tej posiadÅ‚oÅ›ci wymagana jest weryfikacja Twojego wieku. - </notification> - <notification name="NoDestRegion"> - Żądana lokalizacja regionu nie zostaÅ‚a odnaleziona. - </notification> - <notification name="NotAllowedInDest"> - Brak dostÄ™pu do podanej lokalizacji. - </notification> - <notification name="RegionParcelBan"> - Nie możesz przejść przez zamkniÄ™tÄ… posiadÅ‚ość. Spróbuj skorzystać z innej drogi. - </notification> - <notification name="TelehubRedirect"> - ZostaÅ‚eÅ› przeniesiony do teleportera. - </notification> - <notification name="CouldntTPCloser"> - Brak możliwoÅ›ci teleportacji do bliższej lokacji. - </notification> - <notification name="TPCancelled"> - Teleportacja anulowana. - </notification> - <notification name="FullRegionTryAgain"> - Region, który chcesz odwiedzić jest w tej chwili peÅ‚ny. -Spróbuj ponowanie za kilka minut. - </notification> - <notification name="GeneralFailure"> - Nieudana próba. - </notification> - <notification name="RoutedWrongRegion"> - WysÅ‚ano niewÅ‚aÅ›ciwe poÅ‚Ä…czenie do regionu. ProszÄ™ spróbować ponownie. - </notification> - <notification name="NoValidAgentID"> - Nieważny identyfikator agenta. - </notification> - <notification name="NoValidSession"> - Nieważny identyfikator sesji. - </notification> - <notification name="NoValidCircuit"> - Nieważny obwód kodowania. - </notification> - <notification name="NoValidTimestamp"> - NiewÅ‚aÅ›ciwy czas zapisu. - </notification> - <notification name="NoPendingConnection"> - Brak możliwoÅ›ci wykonania poÅ‚Ä…czenia. - </notification> - <notification name="InternalUsherError"> - Podczas teleportacji nastÄ…piÅ‚ bÅ‚Ä…d wewnÄ™trzny, który może być wynikiem problemów serwera. - </notification> - <notification name="NoGoodTPDestination"> - Brak lokalizacji punktu do teleportacji w podanym regionie. - </notification> - <notification name="InternalErrorRegionResolver"> - Podczas próby odnalezienia globalnych współrzÄ™dych dla żądanej teleportacji pojawiÅ‚ siÄ™ wewnÄ™trzny bÅ‚Ä…d. Może być to wynikiem problemów serwera. - </notification> - <notification name="NoValidLanding"> - Nieważny punkt lÄ…dowania. - </notification> - <notification name="NoValidParcel"> - Nieważana posiadÅ‚ość. - </notification> - <notification name="ObjectGiveItem"> - Obiekt o nazwie <nolink>[OBJECTFROMNAME]</nolink>, którego wÅ‚aÅ›cicielem jest [NAME_SLURL] oferuje Tobie <nolink>[ITEM_SLURL]</nolink>. Korzystanie z tego obieku wymaga przelÄ…czenia siÄ™ na tryb zaawansowany, w którym bÄ™dzie można odszukać obiekt w Twojej Szafie. W celu przeÅ‚Ä…czenia trybu życia na zaawansowany, zamknij i uruchom ponownie aplikacjÄ™. Przed ponownym zalogowaniem zmieÅ„ tryb życia na ekranie logowania. - <form name="form"> - <button name="Keep" text="Zaakceptuj obiekt"/> - <button name="Discard" text="Odrzuć obiekt"/> - <button name="Mute" text="Zablokuj obiekt"/> - </form> - </notification> - <notification name="UserGiveItem"> - [NAME_SLURL] proponuje Tobie [ITEM_SLURL]. Korzystanie z tego obieku wymaga przelÄ…czenia siÄ™ na tryb zaawansowany, w którym bÄ™dzie można odszukać obiekt w Twojej Szafie. W celu przeÅ‚Ä…czenia trybu życia na zaawansowany, zamknij i uruchom ponownie aplikacjÄ™. Przed ponownym zalogowaniem zmieÅ„ tryb życia na ekranie logowania. - <form name="form"> - <button name="Show" text="Zaakceptuj obiekt"/> - <button name="Discard" text="Odrzuć obiekt"/> - <button name="Mute" text="Zablokuj użytkownika"/> - </form> - </notification> - <notification name="GodMessage"> - [NAME] - -[MESSAGE] - </notification> - <notification name="JoinGroup"> - [MESSAGE] - <form name="form"> - <button name="Join" text="Zaakceptuj"/> - <button name="Decline" text="Odmów"/> - <button name="Info" text="Info"/> - </form> - </notification> - <notification name="TeleportOffered"> - [NAME_SLURL] proponuje Ci teleportacjÄ™ do siebie: - -[MESSAGE] - [MATURITY_STR] <icon>[MATURITY_ICON]</icon> - <form name="form"> - <button name="Teleport" text="Teleportuj"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="TeleportOfferSent"> - Oferta teleportacji wysÅ‚ana do [TO_NAME] - </notification> - <notification name="GotoURL"> - [MESSAGE] -[URL] - <form name="form"> - <button name="Later" text="Póżniej"/> - <button name="GoNow..." text="Teraz..."/> - </form> - </notification> - <notification name="OfferFriendship"> - [NAME_SLURL] proponuje znajomość. - -[MESSAGE] - -(BÄ™dziecie mogli widzieć swój status online) - <form name="form"> - <button name="Accept" text="Zaakceptuj"/> - <button name="Decline" text="Odmów"/> - </form> - </notification> - <notification name="FriendshipOffered"> - Oferta znajomoÅ›ci dla [TO_NAME] - </notification> - <notification name="OfferFriendshipNoMessage"> - [NAME_SLURL] proponuje Ci znajomość. - -(Z zalożenia bÄ™dzie widzić swój status online.) - <form name="form"> - <button name="Accept" text="Zaakceptuj"/> - <button name="Decline" text="Odmów"/> - </form> - </notification> - <notification name="FriendshipAccepted"> - Twoja propozycja znajomoÅ›ci zostaÅ‚a przyjÄ™ta przez [NAME]. - </notification> - <notification name="FriendshipDeclined"> - Twoja propozycja znajomoÅ›ci zostaÅ‚a odrzucona przez [NAME]. - </notification> - <notification name="FriendshipAcceptedByMe"> - Propozycja znajomoÅ›ci zostaÅ‚a zaakceptowana. - </notification> - <notification name="FriendshipDeclinedByMe"> - Propozycja znajomoÅ›ci zostaÅ‚a odrzucona. - </notification> - <notification name="OfferCallingCard"> - [NAME] oferuje swojÄ… wizytówkÄ™. -Wizytówka w Twojej Szafie umożliwi szybki kontakt IM z tym Rezydentem. - <form name="form"> - <button name="Accept" text="Zaakceptuj"/> - <button name="Decline" text="Odmów"/> - </form> - </notification> - <notification name="RegionRestartMinutes"> - Restart regionu za [MINUTES] min. -NastÄ…pi wylogowanie jeżeli zostaniesz w tym regionie. - </notification> - <notification name="RegionRestartSeconds"> - Restart regionu za [SECONDS] sec. -NastÄ…pi wylogowanie jeżeli zostaniesz w tym regionie. - </notification> - <notification name="LoadWebPage"> - ZaÅ‚adować stronÄ™ [URL]? - -[MESSAGE] - -Od obiektu: <nolink>[OBJECTNAME]</nolink>, wÅ‚aÅ›ciciel wÅ‚aÅ›ciciel: [NAME]? - <form name="form"> - <button name="Gotopage" text="ZaÅ‚aduj"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="FailedToFindWearableUnnamed"> - [TYPE] - nie znaleziono w bazie danych. - </notification> - <notification name="FailedToFindWearable"> - [TYPE] [DESC] - nie znaleziono w bazie danych. - </notification> - <notification name="InvalidWearable"> - Obiekt, który chcesz zaÅ‚ożyć używa narzÄ™dzia nieobecnego w wersji klienta, którÄ… używasz. By go zaÅ‚ożyć Å›ciÄ…gnij najnowszÄ… wersjÄ™ [APP_NAME]. - </notification> - <notification name="ScriptQuestion"> - Obiekt '<nolink>[OBJECTNAME]</nolink>', którego wÅ‚aÅ›cicielem jest '[NAME]', chciaÅ‚by: - -[QUESTIONS] -Czy siÄ™ zgadzasz? - <form name="form"> - <button name="Yes" text="Tak"/> - <button name="No" text="Nie"/> - <button name="Mute" text="Zablokuj"/> - </form> - </notification> - <notification name="ScriptQuestionCaution"> - Obiekt '<nolink>[OBJECTNAME]</nolink>', którego wÅ‚aÅ›cicielem jest '[NAME]' chciaÅ‚by: - -[QUESTIONS] -JeÅ›li nie ufasz temu obiektowi i jego kreatorowi, odmów. - -Czy siÄ™ zgadzasz? - <form name="form"> - <button name="Grant" text="Zaakceptuj"/> - <button name="Deny" text="Odmów"/> - <button name="Details" text="Szczegóły..."/> - </form> - </notification> - <notification name="ScriptDialog"> - [NAME]'s '<nolink>[TITLE]</nolink>' -[MESSAGE] - <form name="form"> - <button name="Ignore" text="Zignoruj"/> - </form> - </notification> - <notification name="ScriptDialogGroup"> - [GROUPNAME]'s '<nolink>[TITLE]</nolink>' -[MESSAGE] - <form name="form"> - <button name="Ignore" text="Zignoruj"/> - </form> - </notification> - <notification name="BuyLindenDollarSuccess"> - DziÄ™kujemy za wpÅ‚atÄ™! - -Twój stan konta L$ zostanie zaktualizowany w momencie zakoÅ„czenia transakcji. Jeżeli w ciÄ…gu 20 minut, Twój balans konta nie ulegnie zmianie, transakcja zostaÅ‚a anulowana. W tym przypadku, pobrana kwota zostanie zwrócona na stan konta w US$. - -Status transkacji możesz sprawdzić odwiedzajÄ…c HistoriÄ™ Transakcji swojego konta na [http://secondlife.com/account/ Dashboard] - </notification> - <notification name="FirstOverrideKeys"> - Twoje sterujÄ…ce klawisze zostaÅ‚y przejÄ™te przez obiekt. -Użyj strzaÅ‚ek lub AWSD żeby sprawdzić ich dziaÅ‚anie. -Niektóre obiekty (np broÅ„) wymagajÄ… trybu panoramicznego. -Nacisnij 'M' żeby go wybrać. - </notification> - <notification name="FirstSandbox"> - Ten region to piaskownica. - -Obiekty które tu zbudujesz mogÄ… zostać usuniÄ™te jak opuÅ›cisz ten obszar - piaskownice sÄ… regularnie czyszczone, sprawdź informacje na górze ekranu obok nazwy regionu. - </notification> - <notification name="MaxListSelectMessage"> - Maksymalnie możesz wybrać [MAX_SELECT] rzeczy -z tej listy. - </notification> - <notification name="VoiceInviteP2P"> - [NAME] zaprasza CiÄ™ do rozmowy gÅ‚osem. -Wybierz Zaakceptuj żeby rozmawiać albo Odmów żeby nie przyjąć zaproszenia. -Wybierz Zablokuj żeby wyciszyć dzwoniÄ…cÄ… osób - <form name="form"> - <button name="Accept" text="Zaakceptuj"/> - <button name="Decline" text="Odmów"/> - <button name="Mute" text="Zablokuj"/> - </form> - </notification> - <notification name="AutoUnmuteByIM"> - WysÅ‚ano [NAME] prywatnÄ… wiadomość i ta osoba zostaÅ‚a automatycznie odblokowana. - </notification> - <notification name="AutoUnmuteByMoney"> - Przekazano [NAME] pieniÄ…dze i ta osoba zostaÅ‚a automatycznie odblokowana. - </notification> - <notification name="AutoUnmuteByInventory"> - Zaoferowno [NAME] obiekty i ta osoba zostaÅ‚a automatycznie odblokowana. - </notification> - <notification name="VoiceInviteGroup"> - [NAME] zaczyna rozmowÄ™ z grupÄ… [GROUP]. -Wybierz Zaakceptuj żeby rozmawiać albo Odmów żeby nie przyjąć zaproszenia. Wybierz Zablokuj żeby wyciszyć dzwoniÄ…cÄ… osobÄ™. - <form name="form"> - <button name="Accept" text="Zaakceptuj"/> - <button name="Decline" text="Odmów"/> - <button name="Mute" text="Zablokuj"/> - </form> - </notification> - <notification name="VoiceInviteAdHoc"> - [NAME] zaczyna konferencjÄ™ gÅ‚osem. -Wybierz Zaakceptuj żeby rozmawiać albo Odmów żeby nie przyjąć zaproszenia. Wybierz Zablokuj żeby wyciszyć dzwoniÄ…cÄ… osobÄ™. - <form name="form"> - <button name="Accept" text="Zaakceptuj"/> - <button name="Decline" text="Odmów"/> - <button name="Mute" text="Zablokuj"/> - </form> - </notification> - <notification name="InviteAdHoc"> - [NAME] zaprasza CiÄ™ do konferencji poprzez Czat/IM. -Wybierz Zaakceptuj żeby zacząć czat albo Odmów żeby nie przyjąć zaproszenia. Wybierz Zablokuj żeby wyciszyć tÄ… osobÄ™. - <form name="form"> - <button name="Accept" text="Zaakceptuj"/> - <button name="Decline" text="Odmów"/> - <button name="Mute" text="Block"/> - </form> - </notification> - <notification name="VoiceChannelFull"> - Rozmowa w której chcesz uczestniczyć, [VOICE_CHANNEL_NAME], nie akceptuje wiÄ™cej rozmówców. Spróbuj póżniej. - </notification> - <notification name="ProximalVoiceChannelFull"> - Przepraszamy. Limit rozmów zostaÅ‚ przekroczony w tym obszarze. Spróbuj w innym miejscu. - </notification> - <notification name="VoiceChannelDisconnected"> - [VOICE_CHANNEL_NAME] odÅ‚Ä…czyÅ‚ siÄ™. PrzeÅ‚Ä…czanie do rozmowy przestrzennej. - </notification> - <notification name="VoiceChannelDisconnectedP2P"> - [VOICE_CHANNEL_NAME] skoÅ„czyÅ‚ rozmowÄ™. PrzeÅ‚Ä…czanie do rozmowy przestrzennej. - </notification> - <notification name="P2PCallDeclined"> - [VOICE_CHANNEL_NAME] odmówiÅ‚ poÅ‚Ä…czenia. PrzeÅ‚Ä…czanie do rozmowy przestrzennej. - </notification> - <notification name="P2PCallNoAnswer"> - [VOICE_CHANNEL_NAME] nie odpowiada. PrzeÅ‚Ä…czanie do rozmowy przestrzennej. - </notification> - <notification name="VoiceChannelJoinFailed"> - Brak poÅ‚Ä…czenia z [VOICE_CHANNEL_NAME], spróbuj póżniej. PrzeÅ‚Ä…czanie do rozmowy przestrzennej. - </notification> - <notification name="VoiceLoginRetry"> - Tworzymy kanaÅ‚ gÅ‚osu dla Ciebie. Moze potrwać minutÄ™. - </notification> - <notification name="VoiceEffectsExpired"> - Subskrypcja jednego lub wiÄ™cej z Voice Morph wygasÅ‚a. -[[URL] Kliknij tutaj] oby odnowić subskrypcjÄ™. - </notification> - <notification name="VoiceEffectsExpiredInUse"> - Czas aktywnoÅ›ci Voice Morph wygasÅ‚, normalne ustawienia Twojego gÅ‚osu zostaÅ‚y zastosowane. -[[URL] Kliknij tutaj] aby odnowić subskrypcjÄ™. - </notification> - <notification name="VoiceEffectsWillExpire"> - Jedno lub wiÄ™cej z Twoich Voice Morph wygaÅ›nie za mniej niż [INTERVAL] dni. -[[URL] Klinij tutaj] aby odnowić subskrypcjÄ™. - </notification> - <notification name="VoiceEffectsNew"> - Nowe Voice Morph sÄ… dostÄ™pne! - </notification> - <notification name="Cannot enter parcel: not a group member"> - Nie masz dostÄ™pu do posiadÅ‚oÅ›ci, nie należysz do wÅ‚aÅ›ciwej grupy. - </notification> - <notification name="Cannot enter parcel: banned"> - Masz wzbroniony wstÄ™p na tÄ… posiadÅ‚oÅ›ci (ban). - </notification> - <notification name="Cannot enter parcel: not on access list"> - Nie masz dostÄ™pu do posiadÅ‚oÅ›ci, nie jesteÅ› na liÅ›cie dostÄ™pu. - </notification> - <notification name="VoiceNotAllowed"> - Nie masz pozwolenia na poÅ‚Ä…czenie z rozmowÄ… [VOICE_CHANNEL_NAME]. - </notification> - <notification name="VoiceCallGenericError"> - BÅ‚Ä…d podczas Å‚Ä…czenia z rozmowÄ… [VOICE_CHANNEL_NAME]. Spróbuj póżniej. - </notification> - <notification name="UnsupportedCommandSLURL"> - Nie można otworzyć wybranego SLurl. - </notification> - <notification name="BlockedSLURL"> - SLurl zostaÅ‚ otrzymany z niesprawdzonej przeglÄ…darki i zostaÅ‚ zablokowany dla bezpieczeÅ„stwa. - </notification> - <notification name="ThrottledSLURL"> - Wiele SLurlów zostaÅ‚o otrzymanych w krótkim czasie od niesprawdzonej przeglÄ…darki. -ZostanÄ… zablokowane na kilka sekund dla bezpieczeÅ„stwa. - </notification> - <notification name="IMToast"> - [MESSAGE] - <form name="form"> - <button name="respondbutton" text="Odpowiedź"/> - </form> - </notification> - <notification name="ConfirmCloseAll"> - Czy chcesz zamknąć wszystkie wiadomoÅ›ci IM? - <usetemplate ignoretext="Potwierdź, przed zamkniÄ™ciem wszystkich wiadomoÅ›ci prywatnych (IM)." name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="AttachmentSaved"> - ZaÅ‚Ä…cznik zostaÅ‚ zapisany. - </notification> - <notification name="UnableToFindHelpTopic"> - Nie można znależć tematu pomocy dla tego elementu. - </notification> - <notification name="ObjectMediaFailure"> - BÅ‚Ä…d serwera: aktualizacja mediów nie powiodÅ‚a siÄ™. -'[ERROR]' - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TextChatIsMutedByModerator"> - Twój czat zostaÅ‚ wyciszony przez moderatora. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="VoiceIsMutedByModerator"> - Twoja rozmowa gÅ‚osowa zostaÅ‚a wyciszona przez moderatora. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ConfirmClearTeleportHistory"> - Czy na pewno chcesz usunąć historiÄ™ teleportacji? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="BottomTrayButtonCanNotBeShown"> - Wybrany przycisk nie może zostać wyÅ›wietlony w tej chwili. -Przycisk zostanie wyÅ›wietlony w przypadku dostatecznej iloÅ›ci przestrzeni. - </notification> - <notification name="ShareNotification"> - Zaznacz Rezydentów, z którymi chcesz siÄ™ podzielić. - </notification> - <notification name="ShareItemsConfirmation"> - Czy na pewno chcesz udostÄ™pnić nastÄ™pujÄ…ce obiekty: - -<nolink>[ITEMS]</nolink> - -nastÄ™pujÄ…cym Rezydentom: - -[RESIDENTS] - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Ok"/> - </notification> - <notification name="ItemsShared"> - Obiekty zostaÅ‚y udostÄ™pnione. - </notification> - <notification name="DeedToGroupFail"> - Przekazanie grupie nie powiodÅ‚o siÄ™. - </notification> - <notification name="AvatarRezNotification"> - ( [EXISTENCE] sekund w Second Life) -Awatar '[NAME]' rozchmurzyÅ‚ siÄ™ po [TIME] sekundach. - </notification> - <notification name="AvatarRezSelfBakedDoneNotification"> - ( [EXISTENCE] sekund w Second Life) -You finished baking your outfit after [TIME] seconds. - </notification> - <notification name="AvatarRezSelfBakedUpdateNotification"> - ( [EXISTENCE] sekund w Second Life ) -WysÅ‚ano aktualizacjÄ™ wyglÄ…du po [TIME] sekundach. -[STATUS] - </notification> - <notification name="AvatarRezCloudNotification"> - ( [EXISTENCE] sekund w Second Life ) -Awatar '[NAME]' staÅ‚ siÄ™ chmurÄ…. - </notification> - <notification name="AvatarRezArrivedNotification"> - ( [EXISTENCE] sekund w Second Life) -Awatar '[NAME]' pojawiÅ‚ siÄ™. - </notification> - <notification name="AvatarRezLeftCloudNotification"> - ( [EXISTENCE] sekund w Second Life ) -Awatar '[NAME]' pozostaÅ‚ [TIME] sekund chmurÄ…. - </notification> - <notification name="AvatarRezEnteredAppearanceNotification"> - ( [EXISTENCE] sekund w Second Life ) -Awatar '[NAME]' rozpoczÄ…Å‚ edycjÄ™ wyglÄ…du. - </notification> - <notification name="AvatarRezLeftAppearanceNotification"> - ( [EXISTENCE] sekund w Second Life ) -Awatar '[NAME]' opuÅ›ciÅ‚ edycjÄ™ wyglÄ…du. - </notification> - <notification name="NoConnect"> - WystÄ™puje problem z poÅ‚Ä…czeniem [PROTOCOL] [HOSTID]. -ProszÄ™ sprawdź swojÄ… sieć i ustawienia firewall. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="NoVoiceConnect"> - WystÄ™puje problem z Twoim poÅ‚Ä…czniem gÅ‚osowym: - -[HOSTID] - -Komunikacja gÅ‚osowa nie bÄ™dzie dostÄ™pna. -ProszÄ™ sprawdź swojÄ… sieć i ustawienia firewall. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AvatarRezLeftNotification"> - ( [EXISTENCE] sekund w Second Life) -Awatar '[NAME]' pozostaÅ‚ w peÅ‚ni zaÅ‚adowany. - </notification> - <notification name="AvatarRezSelfBakedTextureUploadNotification"> - ( [EXISTENCE] sekund w Second Life ) -Zbakowane tekstury [RESOLUTION] dla '[BODYREGION]' zostaÅ‚y zaÅ‚adowane po[TIME] sekundach. - </notification> - <notification name="AvatarRezSelfBakedTextureUpdateNotification"> - ( [EXISTENCE] sekund w Second Life ) -Zbakowane tekstury zostaÅ‚y lokalnie zaktualizowane [RESOLUTION] dla '[BODYREGION]' po [TIME] sekundach. - </notification> - <notification name="ConfirmLeaveCall"> - Czy jestes pewien/pewna, że chcesz zakoÅ„czyć rozmowÄ™? - <usetemplate ignoretext="Potwierdź zanim rozmowa gÅ‚osowa zostanie zakoÅ„czona" name="okcancelignore" notext="Nie" yestext="Tak"/> - </notification> - <notification name="ConfirmMuteAll"> - Wybrano wyciszenie wszystkich uczestników rozmowy gÅ‚osowej w grupie. -To spowoduje również wyciszenie wszystkich Rezydentów, którzy doÅ‚Ä…czÄ… póżniej do rozmowy, nawet jeÅ›li zakoÅ„czysz rozmowÄ™. - -Wyciszyć wszystkich? - <usetemplate ignoretext="Potwierdź zanim zostanÄ… wyciszeni wszyscy uczestnicy rozmowy gÅ‚osowej w grupie" name="okcancelignore" notext="Anuluj" yestext="Ok"/> - </notification> - <notification label="Czat" name="HintChat"> - W celu przylÄ…czenia siÄ™ do rozmowy zacznij pisać w poniższym polu czatu. - </notification> - <notification label="WstaÅ„" name="HintSit"> - Aby wstać i opuÅ›cić pozycjÄ™ siedzÄ…cÄ…, kliknij przycisk WstaÅ„. - </notification> - <notification label="Odkrywaj Åšwiat" name="HintDestinationGuide"> - Destination Guide zawiera tysiÄ…ce nowych miejsc do odkrycia. Wybierz lokalizacjÄ™ i teleportuj siÄ™ aby rozpocząć zwiedzanie. - </notification> - <notification label="Schowek" name="HintSidePanel"> - Schowek umożliwia szybki dostÄ™p do Twojej Szafy, ubraÅ„, profili i innych w panelu bocznym. - </notification> - <notification label="Ruch" name="HintMove"> - Aby chodzić lub biegać, otwórz panel ruchu i użyj strzaÅ‚ek do nawigacji. Możesz także używać strzaÅ‚ek z klawiatury. - </notification> - <notification label="WyÅ›wietlana nazwa" name="HintDisplayName"> - Ustaw wyÅ›wietlanÄ… nazwÄ™, którÄ… możesz zmieniać tutaj. Jest ona dodatkiem do unikatowej nazwy użytkownika, która nie może być zmieniona. Możesz zmienić sposób w jaki widzisz nazwy innych osób w Twoich Ustawieniach. - </notification> - <notification label="Ruch" name="HintMoveArrows"> - Użyj przycisków ze strzaÅ‚kami z klawiatury aby chodzić. JeÅ›li wciÅ›niesz strzaÅ‚kÄ™ 'do góry' podwójnie, zaczniesz biec. - </notification> - <notification label="Widok" name="HintView"> - To change your camera view, use the Orbit and Pan controls. Zresetuj widok poprzez wciÅ›niÄ™cie klawisza Esc lub chodzenie. - </notification> - <notification label="Szafa" name="HintInventory"> - Sprawdź swojÄ… SzafÄ™ aby znaleźć obiekty. Najnowsze obiekty mogÄ… być Å‚atwo odnalezione w zakÅ‚adce Nowe obiekty. - </notification> - <notification label="Otrzymano L$!" name="HintLindenDollar"> - Tutaj znajduje siÄ™ Twoj bieżący bilans L$. Kliknij Kup aby kupić wiÄ™cej L$. - </notification> - <notification name="PopupAttempt"> - WyskakujÄ…ce okienko zostaÅ‚o zablokowane. - <form name="form"> - <ignore name="ignore" text="Zezwól na wyskakujÄ…ce okienka"/> - <button name="open" text="Otwórz wyskakujÄ…ce okno."/> - </form> - </notification> - <notification name="AuthRequest"> - Strpna '<nolink>[HOST_NAME]</nolink>' w domenie '[REALM]' wymaga nazwy użytkownika i hasÅ‚a. - <form name="form"> - <input name="username" text="Nazwa użytkownika"/> - <input name="password" text="HasÅ‚o"/> - <button name="ok" text="WyÅ›lij"/> - <button name="cancel" text="Anuluj"/> - </form> - </notification> - <notification label="" name="ModeChange"> - Zmiana trybu wymaga restartu. - <usetemplate name="okcancelbuttons" notext="Nie zamykaj" yestext="Zamknij"/> - </notification> - <notification label="" name="NoClassifieds"> - Tworzenie i edycja reklam jest możliwa tylko w trybie zaawansowanym. Czy chcesz wylogować siÄ™ i zmienić tryb? Opcja wyboru trybu życia jest widoczna na ekranie logowania. - <usetemplate name="okcancelbuttons" notext="Nie zamykaj" yestext="Zamknij"/> - </notification> - <notification label="" name="NoGroupInfo"> - Tworzenie i edycja grup jest możliwa tylko w trybie zaawansowanym. Czy chcesz wylogować siÄ™ i zmienić tryb? Opcja wyboru trybu życia jest widoczna na ekranie logowania. - <usetemplate name="okcancelbuttons" notext="Nie zamykaj" yestext="Zamknij"/> - </notification> - <notification label="" name="NoPicks"> - Tworzenie i edycja Ulubionych jest możliwa jedynie w trybie zaawansowanym. Czy chcesz siÄ™ wylogować i zmienić tryb? Opcja wyboru trybu życia jest widoczna na ekranie logowania. - <usetemplate name="okcancelbuttons" notext="Nie zamykaj" yestext="Zamknij"/> - </notification> - <notification label="" name="NoWorldMap"> - OglÄ…danie mapy Å›wiata jest możliwe tylko w trybie zaawansowanym. Czy chcesz siÄ™ wylogować i zmienić tryb? Opcja wyboru trybu życia jest widoczna na ekranie logowania. - <usetemplate name="okcancelbuttons" notext="Nie zamykaj" yestext="Zamknij"/> - </notification> - <notification label="" name="NoVoiceCall"> - Rozmowy gÅ‚osowe sÄ… możliwe tylko w trybie zaawansowanym. Czy chcesz wylogować siÄ™ i zmienić tryb? - <usetemplate name="okcancelbuttons" notext="Nie zamykaj" yestext="Zamknij"/> - </notification> - <notification label="" name="NoAvatarShare"> - UdostÄ™pnienie jest możliwe tylko w trybie zaawansowanym. Czy chcesz wylogować siÄ™ i zmienić tryb? Opcja wyboru trybu życia jest widoczna na ekranie logowania. - <usetemplate name="okcancelbuttons" notext="Nie zamykaj" yestext="Zamknij"/> - </notification> - <notification label="" name="NoAvatarPay"> - PÅ‚acenie innym Rezydentom jest możliwe tylko w trybie zaawansowanym. Czy chcesz siÄ™ wylogować i zmienić tryb? Opcja wyboru trybu życia jest widoczna na ekranie logowania. - <usetemplate name="okcancelbuttons" notext="Nie zamykaj" yestext="Zamknij"/> - </notification> - <global name="UnsupportedCPU"> - - PrÄ™dkość Twojego CPU nie speÅ‚nia minimalnych wymagaÅ„. - </global> - <global name="UnsupportedGLRequirements"> - WyglÄ…da na to, że Twój system nie speÅ‚nia wymagaÅ„ sprzÄ™towych [APP_NAME]. [APP_NAME] wymaga karty graficznej kompatybilnej z OpenGL z multiteksturami. Jeżeli masz takÄ… kartÄ™ zainstaluj najnowsze sterowniki do niej i uaktualnienia systemu operacyjnego. - -Jeżeli wciąż masz problemy sprawdź: [SUPPORT_SITE]. - </global> - <global name="UnsupportedCPUAmount"> - 796 - </global> - <global name="UnsupportedRAMAmount"> - 510 - </global> - <global name="UnsupportedGPU"> - - Twoja karta graficzna nie speÅ‚nia minimalnych wymagaÅ„. - </global> - <global name="UnsupportedRAM"> - - Pamięć Twojego systemu nie speÅ‚nia minimalnych wymagaÅ„. - </global> - <global name="You can only set your 'Home Location' on your land or at a mainland Infohub."> - JeÅ›li jesteÅ› wÅ‚aÅ›cicielem posiadÅ‚oÅ›ci, możesz ustawić na niej miejsce startu. -W innym przypadku możesz poszukać na mapie miejsca oznaczone jako "Infohub". - </global> - <global name="You died and have been teleported to your home location"> - NastÄ…piÅ‚a Å›mierć i teleportacja do Miejsca Startu. - </global> -</notifications> diff --git a/indra/newview/skins/minimal/xui/pl/panel_adhoc_control_panel.xml b/indra/newview/skins/minimal/xui/pl/panel_adhoc_control_panel.xml deleted file mode 100644 index ba0c85e4ef4..00000000000 --- a/indra/newview/skins/minimal/xui/pl/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="call_btn_panel"> - <button label="DzwoÅ„" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="ZakoÅ„cz rozmowÄ™" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="PrzeÅ‚Ä…czniki gÅ‚osu" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/pl/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/pl/panel_bottomtray.xml deleted file mode 100644 index f49d8209382..00000000000 --- a/indra/newview/skins/minimal/xui/pl/panel_bottomtray.xml +++ /dev/null @@ -1,39 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="bottom_tray"> - <string name="DragIndicationImageName" value="Accordion_ArrowOpened_Off"/> - <string name="SpeakBtnToolTip" value="WÅ‚Ä…cza/wyÅ‚Ä…cza mikrofon"/> - <string name="VoiceControlBtnToolTip" value="Pokazuje/Ukrywa panel kontroli gÅ‚osu"/> - <layout_stack name="toolbar_stack"> - <layout_panel name="gesture_panel"> - <gesture_combo_list label="Gesturki" name="Gesture" tool_tip="Pokazuje/Ukrywa gesturki"/> - </layout_panel> - <layout_panel name="cam_panel"> - <bottomtray_button label="Widok" name="camera_btn" tool_tip="Pokaż/Ukryj ustawienia kamery"/> - </layout_panel> - <layout_panel name="avatar_and_destinations_panel"> - <bottomtray_button label="Atrakcje turystyczne" name="destination_btn" tool_tip="Pokaż okno dotyczÄ…ce ludzi"/> - </layout_panel> - <layout_panel name="avatar_and_destinations_panel"> - <bottomtray_button label="Mój awatar" name="avatar_btn"/> - </layout_panel> - <layout_panel name="people_panel"> - <bottomtray_button label="Ludzie" name="show_people_button" tool_tip="Pokazuje okno dotyczÄ…ce ludzi"/> - </layout_panel> - <layout_panel name="profile_panel"> - <bottomtray_button label="Profil" name="show_profile_btn" tool_tip="Pokazuje okno profilu."/> - </layout_panel> - <layout_panel name="howto_panel"> - <bottomtray_button label="POMOC" name="show_help_btn" tool_tip="Otwiera temat pomocy Second Life"/> - </layout_panel> - <layout_panel name="im_well_panel"> - <chiclet_im_well name="im_well"> - <button name="Unread IM messages" tool_tip="Rozmowy"/> - </chiclet_im_well> - </layout_panel> - <layout_panel name="notification_well_panel"> - <chiclet_notification name="notification_well"> - <button name="Unread" tool_tip="OgÅ‚oszenia"/> - </chiclet_notification> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/pl/panel_group_control_panel.xml b/indra/newview/skins/minimal/xui/pl/panel_group_control_panel.xml deleted file mode 100644 index 074f572a4c9..00000000000 --- a/indra/newview/skins/minimal/xui/pl/panel_group_control_panel.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="group_info_btn_panel"> - <button label="Grupa" name="group_info_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="DzwoÅ„" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="ZakoÅ„cz rozmowÄ™" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Otwórz kontroler gÅ‚osu" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/pl/panel_im_control_panel.xml b/indra/newview/skins/minimal/xui/pl/panel_im_control_panel.xml deleted file mode 100644 index 4aadd3b93b2..00000000000 --- a/indra/newview/skins/minimal/xui/pl/panel_im_control_panel.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="Profil" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="Poznaj" name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="Teleportuj" name="teleport_btn" tool_tip="Teleportuj"/> - </layout_panel> - <layout_panel name="share_btn_panel"> - <button label="UdostÄ™pnij" name="share_btn"/> - </layout_panel> - <layout_panel name="pay_btn_panel"> - <button label="ZapÅ‚ać" name="pay_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="DzwoÅ„" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="ZakoÅ„cz rozmowÄ™" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="PrzeÅ‚Ä…czniki gÅ‚osu" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/pl/panel_login.xml b/indra/newview/skins/minimal/xui/pl/panel_login.xml deleted file mode 100644 index dc8e7399af1..00000000000 --- a/indra/newview/skins/minimal/xui/pl/panel_login.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_login"> - <panel.string name="forgot_password_url"> - http://secondlife.com/account/request.php - </panel.string> - <layout_stack name="login_widgets"> - <layout_panel name="login"> - <text name="username_text"> - Użytkownik: - </text> - <combo_box name="username_combo" tool_tip="NazwÄ™ użytkownika wybierasz przy rejestracji, np. bobsmith12 lub Steller Sunshine"/> - <text name="password_text"> - HasÅ‚o: - </text> - <check_box label="ZapamiÄ™taj hasÅ‚o" name="remember_check"/> - <button label="PoÅ‚Ä…cz" name="connect_btn"/> - <text name="mode_selection_text"> - Tryb życia: - </text> - <combo_box name="mode_combo" tool_tip="Wybierz tryb życia. Wybierz tryb turystyczny dla Å‚atwego zwiedzania i czatowania. Wybierz tryb zaawansowany aby mieć dostÄ™p do wiÄ™kszej iloÅ›ci opcji."> - <combo_box.item label="Turystyczny" name="Basic"/> - <combo_box.item label="Zaawansowany" name="Advanced"/> - </combo_box> - <text name="start_location_text"> - Rozpocznij w: - </text> - <combo_box name="start_location_combo"> - <combo_box.item label="Ostatnie Miejsce" name="MyLastLocation"/> - <combo_box.item label="Moje Miejsce Startu" name="MyHome"/> - <combo_box.item label="<Wpisz Region>" name="Typeregionname"/> - </combo_box> - </layout_panel> - <layout_panel name="links"> - <text name="create_new_account_text"> - Utwórz nowe konto - </text> - <text name="forgot_password_text"> - ZapomniaÅ‚eÅ› swojej nazwy użytkownika lub hasÅ‚a? - </text> - <text name="login_help"> - Potrzebujesz pomocy z logowaniem siÄ™? - </text> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/pl/panel_navigation_bar.xml b/indra/newview/skins/minimal/xui/pl/panel_navigation_bar.xml deleted file mode 100644 index b01e686c419..00000000000 --- a/indra/newview/skins/minimal/xui/pl/panel_navigation_bar.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="navigation_bar"> - <panel name="navigation_panel"> - <pull_button name="back_btn" tool_tip="Wróć do poprzedniej lokalizacji"/> - <pull_button name="forward_btn" tool_tip="Idź do nastÄ™pnej lokalizacji"/> - <button name="home_btn" tool_tip="Teleportuj do miejsca startu"/> - <location_input label="Lokalizacja" name="location_combo"/> - <search_combo_box label="Szukaj" name="search_combo_box" tool_tip="Szukaj"> - <combo_editor label="Szukaj [SECOND_LIFE]" name="search_combo_editor"/> - </search_combo_box> - </panel> - <favorites_bar name="favorite" tool_tip="PrzeciÄ…gnij swoje landmarki tutaj by szybko dostać siÄ™ do swoich ulubionych miejsc w Second Life!"> - <label name="favorites_bar_label" tool_tip="PrzeciÄ…gnij swoje landmarki tutaj by szybko dostać siÄ™ do swoich ulubionych miejsc w Second Life!"> - Pasek Ulubionych - </label> - <chevron_button name=">>" tool_tip="Pokaż wiÄ™cej Moich Ulubionych"/> - </favorites_bar> -</panel> diff --git a/indra/newview/skins/minimal/xui/pl/panel_people.xml b/indra/newview/skins/minimal/xui/pl/panel_people.xml deleted file mode 100644 index 3b3aaa0987c..00000000000 --- a/indra/newview/skins/minimal/xui/pl/panel_people.xml +++ /dev/null @@ -1,94 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- Side tray panel --> -<panel label="Ludzie" name="people_panel"> - <string name="no_recent_people" value="Brak ostatnich rozmówców. Chcesz spotkać ludzi? Skorzystaj z przycisku "Atrakcje turystyczne" poniżej."/> - <string name="no_filtered_recent_people" value="Brak ostatnich rozmówców posiadajÄ…cych wskazane imiÄ™."/> - <string name="no_one_near" value="Nie ma nikogo w pobliżu. Chcesz spotkać ludzi? Skorzystaj z przycisku "Atrakcje turystyczne" poniżej."/> - <string name="no_one_filtered_near" value="Nie ma nikogo o wskazanym imieniu w pobliżu."/> - <string name="no_friends_online" value="Brak dostÄ™pnych znajomych"/> - <string name="no_friends" value="Brak znajomych"/> - <string name="no_friends_msg"> - Kliknij prawym przyciskiem na Rezydenta aby dodać go do listy znajomych. -Chcesz spotkać ludzi? Skorzystaj z przycisku "Atrakcje turystyczne" poniżej. - </string> - <string name="no_filtered_friends_msg"> - Nie znaleziono tego czego szukasz? Skorzystaj z przycisku "Atrakcje turystyczne" poniżej. - </string> - <string name="people_filter_label" value="Filtruj ludzi"/> - <string name="groups_filter_label" value="Filtruj grupy"/> - <string name="no_filtered_groups_msg" value="Nie znaleziono tego czego szukasz? Spróbuj [secondlife:///app/search/groups/[SEARCH_TERM] Szukaj]."/> - <string name="no_groups_msg" value="Chcesz doÅ‚Ä…czyć do grup? Spróbuj [secondlife:///app/search/groups Szukaj]."/> - <string name="MiniMapToolTipMsg" value="[REGION](Podwójne klikniÄ™cie otwiera mapÄ™, wciÅ›nij Shift i przeciÄ…gnij myszkÄ… aby przesunąć)"/> - <string name="AltMiniMapToolTipMsg" value="[REGION](Podwójne klikniÄ™cie aktywuje teleportacjÄ™, wciÅ›nij Shift i przeciÄ…gnij myszkÄ… aby przesunąć)"/> - <filter_editor label="Filtr" name="filter_input"/> - <tab_container name="tabs"> - <panel label="W POBLIÅ»U" name="nearby_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <menu_button name="nearby_view_sort_btn" tool_tip="Opcje"/> - <button name="add_friend_btn" tool_tip="Dodaj wybranego Rezydenta do znajomych"/> - </panel> - </panel> - <panel label="ZNAJOMI" name="friends_panel"> - <accordion name="friends_accordion"> - <accordion_tab name="tab_online" title="DostÄ™pni"/> - <accordion_tab name="tab_all" title="Wszyscy"/> - </accordion> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel"> - <layout_panel name="options_gear_btn_panel"> - <menu_button name="friends_viewsort_btn" tool_tip="Pokaż opcje dodatkowe"/> - </layout_panel> - <layout_panel name="add_btn_panel"> - <button name="add_btn" tool_tip="Dodaj wybranego Rezydenta do znajomych"/> - </layout_panel> - <layout_panel name="trash_btn_panel"> - <dnd_button name="del_btn" tool_tip="UsuÅ„ zaznaczonÄ… osobÄ™ ze swojej listy znajomych"/> - </layout_panel> - </layout_stack> - </panel> - </panel> - <panel label="GRUPY" name="groups_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <menu_button name="groups_viewsort_btn" tool_tip="Opcje"/> - <button name="plus_btn" tool_tip="DoÅ‚Ä…cz do grupy/Stwórz nowÄ… grupÄ™"/> - <button name="activate_btn" tool_tip="Aktywuj wybranÄ… grupÄ™"/> - </panel> - </panel> - <panel label="OSTATNIE" name="recent_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <menu_button name="recent_viewsort_btn" tool_tip="Opcje"/> - <button name="add_friend_btn" tool_tip="Dodaj wybranego Rezydenta do znajomych"/> - </panel> - </panel> - </tab_container> - <panel name="button_bar"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="view_profile_btn_lp"> - <button label="Profil" name="view_profile_btn" tool_tip="Pokaż zdjÄ™cie, grupy i inne informacje o Rezydencie"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im_btn" tool_tip="Otwórz wiadomoÅ›ci IM"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="DzwoÅ„" name="call_btn" tool_tip="ZadzwoÅ„ do tego Rezydenta"/> - </layout_panel> - <layout_panel name="share_btn_lp"> - <button label="UdostÄ™pnij" name="share_btn" tool_tip="UdostÄ™pnij obiekt z Szafy"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleportuj" name="teleport_btn" tool_tip="Zaproponuj teleport"/> - </layout_panel> - </layout_stack> - <layout_stack name="bottom_bar_ls1"> - <layout_panel name="group_info_btn_lp"> - <button label="Profil grupy" name="group_info_btn" tool_tip="Pokaż informacje o grupie"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="Czat grupy" name="chat_btn" tool_tip="Otwórz sesjÄ™ czatu"/> - </layout_panel> - <layout_panel name="group_call_btn_lp"> - <button label="Rozmowa gÅ‚osowa w grupie" name="group_call_btn" tool_tip="Rozmowa gÅ‚osowa w tej grupie"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/minimal/xui/pl/panel_side_tray_tab_caption.xml b/indra/newview/skins/minimal/xui/pl/panel_side_tray_tab_caption.xml deleted file mode 100644 index 95cd7c53dc3..00000000000 --- a/indra/newview/skins/minimal/xui/pl/panel_side_tray_tab_caption.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="sidetray_tab_panel"> - <text name="sidetray_tab_title" value="Schowek"/> - <button name="undock" tool_tip="OdÅ‚Ä…cz"/> - <button name="dock" tool_tip="PrzyÅ‚Ä…cz"/> - <button name="show_help" tool_tip="Pomoc"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/pl/panel_status_bar.xml b/indra/newview/skins/minimal/xui/pl/panel_status_bar.xml deleted file mode 100644 index 6aa0d27bb80..00000000000 --- a/indra/newview/skins/minimal/xui/pl/panel_status_bar.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="status"> - <panel.string name="StatBarDaysOfWeek"> - Niedziela:PoniedziaÅ‚ek:Wtorek:Åšroda:Czwartek:PiÄ…tek:Sobota - </panel.string> - <panel.string name="StatBarMonthsOfYear"> - StyczeÅ„:Luty:Marzec:KwiecieÅ„:Maj:Czerwiec:Lipiec:StyczeÅ„:WrzesieÅ„:Październik:Listopad:GrudzieÅ„ - </panel.string> - <panel.string name="packet_loss_tooltip"> - Utracone pakiety - </panel.string> - <panel.string name="bandwidth_tooltip"> - Przepustowość - </panel.string> - <panel.string name="time"> - [hour12, datetime, slt]:[min, datetime, slt] [ampm, datetime, slt] [timezone,datetime, slt] - </panel.string> - <panel.string name="timeTooltip"> - [weekday, datetime, slt], [day, datetime, slt] [month, datetime, slt] [year, datetime, slt] - </panel.string> - <panel.string name="buycurrencylabel"> - L$ [AMT] - </panel.string> - <panel name="balance_bg"> - <text name="balance" tool_tip="Kliknij aby odÅ›wieżyć bilans L$" value="L$20"/> - <button label="Kup L$" name="buyL" tool_tip="Kliknij aby kupić wiÄ™cej L$"/> - </panel> - <text name="TimeText" tool_tip="Obecny czas (Pacyficzny)"> - 24:00 AM PST - </text> - <button name="media_toggle_btn" tool_tip="Start/Stop wszystkie media (Muzyka, Video, WWW)"/> - <button name="volume_btn" tool_tip="Regulacja gÅ‚oÅ›noÅ›ci"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/pt/floater_camera.xml b/indra/newview/skins/minimal/xui/pt/floater_camera.xml deleted file mode 100644 index 4f3729c6231..00000000000 --- a/indra/newview/skins/minimal/xui/pt/floater_camera.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="camera_floater" title=""> - <floater.string name="rotate_tooltip"> - Girar a Câmera ao redor do Foco - </floater.string> - <floater.string name="zoom_tooltip"> - Aproximar a Câmera in direção ao Foco - </floater.string> - <floater.string name="move_tooltip"> - Mover a Câmera para Cima e para Baixo, para a Esquerda e para a Direita - </floater.string> - <floater.string name="camera_modes_title"> - Modos de câmera - </floater.string> - <floater.string name="pan_mode_title"> - Pan zoom orbital - </floater.string> - <floater.string name="presets_mode_title"> - Ângulos predefinidos - </floater.string> - <floater.string name="free_mode_title"> - Visualizar objeto - </floater.string> - <panel name="controls"> - <panel name="preset_views_list"> - <panel_camera_item name="front_view"> - <panel_camera_item.text name="front_view_text"> - Vista frontal - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="group_view"> - <panel_camera_item.text name="side_view_text"> - Vista lateral - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="rear_view"> - <panel_camera_item.text name="rear_view_text"> - Vista de trás - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="camera_modes_list"> - <panel_camera_item name="object_view"> - <panel_camera_item.text name="object_view_text"> - Vista de objetos - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="mouselook_view"> - <panel_camera_item.text name="mouselook_view_text"> - Vista do mouse - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="zoom" tool_tip="Aproximar a Câmera in direção ao Foco"> - <joystick_rotate name="cam_rotate_stick" tool_tip="Girar câmera ao redor do foco"/> - <slider_bar name="zoom_slider" tool_tip="Zoom de câmera para focalizar"/> - <joystick_track name="cam_track_stick" tool_tip="Move a câmera para cima e para baixo, direita e esquerda"/> - </panel> - </panel> - <panel name="buttons"> - <button label="" name="presets_btn" tool_tip="Ângulos predefinidos"/> - <button label="" name="pan_btn" tool_tip="Pan zoom orbital"/> - <button label="" name="avatarview_btn" tool_tip="Modos de câmera"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/pt/floater_help_browser.xml b/indra/newview/skins/minimal/xui/pt/floater_help_browser.xml deleted file mode 100644 index 11428ff6516..00000000000 --- a/indra/newview/skins/minimal/xui/pt/floater_help_browser.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_help_browser" title="COMO"> - <floater.string name="loading_text"> - Carregando... - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="external_controls"/> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/pt/floater_media_browser.xml b/indra/newview/skins/minimal/xui/pt/floater_media_browser.xml deleted file mode 100644 index da7428007e5..00000000000 --- a/indra/newview/skins/minimal/xui/pt/floater_media_browser.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="NAVEGADOR DE MÃDIA"> - <floater.string name="home_page_url"> - http://www.secondlife.com - </floater.string> - <floater.string name="support_page_url"> - http://support.secondlife.com - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button label="Atrás" name="back"/> - <button label="Frente" name="forward"/> - <button label="Recarregar" name="reload"/> - <button label="OK" name="go"/> - </layout_panel> - <layout_panel name="time_controls"> - <button label="p/ trás" name="rewind"/> - <button label="parar" name="stop"/> - <button label="p/ frente" name="seek"/> - </layout_panel> - <layout_panel name="parcel_owner_controls"> - <button label="Enviar esta página para lote" name="assign"/> - </layout_panel> - <layout_panel name="external_controls"> - <button label="Abrir no meu navegador" name="open_browser"/> - <check_box label="Abrir sempre no meu navegador" name="open_always"/> - <button label="Fechar" name="close"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/pt/floater_nearby_chat.xml b/indra/newview/skins/minimal/xui/pt/floater_nearby_chat.xml deleted file mode 100644 index 60edfa505fe..00000000000 --- a/indra/newview/skins/minimal/xui/pt/floater_nearby_chat.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="Bate-papo local"> - <check_box label="Traduzir bate-papo (via Google)" name="translate_chat_checkbox"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/pt/floater_web_content.xml b/indra/newview/skins/minimal/xui/pt/floater_web_content.xml deleted file mode 100644 index 5101579c6f2..00000000000 --- a/indra/newview/skins/minimal/xui/pt/floater_web_content.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_web_content" title=""> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button name="back" tool_tip="Navegar para trás"/> - <button name="forward" tool_tip="Navegar para frente"/> - <button name="stop" tool_tip="Parar a navegação"/> - <button name="reload" tool_tip="Recarregar página"/> - <combo_box name="address" tool_tip="Digite a URL aqui"/> - <icon name="media_secure_lock_flag" tool_tip="Navegação segura"/> - <button name="popexternal" tool_tip="Abrir a URL atual no navegador do seu computador"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/pt/inspect_avatar.xml b/indra/newview/skins/minimal/xui/pt/inspect_avatar.xml deleted file mode 100644 index a199c58c152..00000000000 --- a/indra/newview/skins/minimal/xui/pt/inspect_avatar.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_avatar"> - <string name="Subtitle"> - [IDADE] - </string> - <string name="Details"> - [PERFIL_SL] - </string> - <text name="user_details"> - This is my second life description and I really think it is great. But for some reason my description is super extra long because I like to talk a whole lot - </text> - <slider name="volume_slider" tool_tip="Volume de Voz" value="0.5"/> - <button label="Adicionar amigo" name="add_friend_btn"/> - <button label="MI" name="im_btn"/> - <button label="Perfil" name="view_profile_btn"/> - <panel name="moderator_panel"> - <button label="Disabilitar Voz" name="disable_voice"/> - <button label="Habilitar Voz" name="enable_voice"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/pt/inspect_object.xml b/indra/newview/skins/minimal/xui/pt/inspect_object.xml deleted file mode 100644 index b72de7038d2..00000000000 --- a/indra/newview/skins/minimal/xui/pt/inspect_object.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_object"> - <string name="Creator"> - Autor: [CREATOR] - </string> - <string name="CreatorAndOwner"> - Autor [CREATOR] -Proprietário [OWNER] - </string> - <string name="Price"> - L$[AMOUNT] - </string> - <string name="PriceFree"> - Grátis! - </string> - <string name="Touch"> - Tocar - </string> - <string name="Sit"> - Sentar - </string> - <text name="object_name" value="Test Object Name That Is actually two lines and Really Long"/> - <text name="price_text"> - L$30.000 - </text> - <text name="object_description"> - This is a really long description for an object being as how it is at least 80 characters in length and so but maybe more like 120 at this point. Who knows, really? - </text> - <button label="Comprar" name="buy_btn"/> - <button label="Pagar" name="pay_btn"/> - <button label="Pegar uma cópia" name="take_free_copy_btn"/> - <button label="Tocar" name="touch_btn"/> - <button label="Sentar" name="sit_btn"/> - <button label="Abrir" name="open_btn"/> - <icon name="secure_browsing" tool_tip="Navegação segura"/> - <button label="Mais" name="more_info_btn"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/pt/menu_add_wearable_gear.xml b/indra/newview/skins/minimal/xui/pt/menu_add_wearable_gear.xml deleted file mode 100644 index 4b81276ab34..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_add_wearable_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Add Wearable Gear Menu"> - <menu_item_check label="Ordenar por mais recente" name="sort_by_most_recent"/> - <menu_item_check label="Ordenar por nome" name="sort_by_name"/> - <menu_item_check label="Ordenar por tipo" name="sort_by_type"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_attachment_other.xml b/indra/newview/skins/minimal/xui/pt/menu_attachment_other.xml deleted file mode 100644 index cfd69158bca..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_attachment_other.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_avatar_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Ver perfil" name="Profile..."/> - <menu_item_call label="Adicionar amigo..." name="Add Friend"/> - <menu_item_call label="MI" name="Send IM..."/> - <menu_item_call label="Ligar" name="Call"/> - <menu_item_call label="Convidar para entrar no grupo" name="Invite..."/> - <menu_item_call label="Bloquear" name="Avatar Mute"/> - <menu_item_call label="Denunciar" name="abuse"/> - <menu_item_call label="Congelar" name="Freeze..."/> - <menu_item_call label="Ejetar" name="Eject..."/> - <menu_item_call label="Depurar texturas" name="Debug..."/> - <menu_item_call label="Mais zoom" name="Zoom In"/> - <menu_item_call label="Pagar" name="Pay..."/> - <menu_item_call label="Perfil do objeto" name="Object Inspect"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_attachment_self.xml b/indra/newview/skins/minimal/xui/pt/menu_attachment_self.xml deleted file mode 100644 index 09060cf3aee..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_attachment_self.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Attachment Pie"> - <menu_item_call label="Tocar" name="Attachment Object Touch"/> - <menu_item_call label="Editar" name="Edit..."/> - <menu_item_call label="Tirar" name="Detach"/> - <menu_item_call label="Sentar" name="Sit Down Here"/> - <menu_item_call label="Ficar de pé" name="Stand Up"/> - <menu_item_call label="Trocar de look" name="Change Outfit"/> - <menu_item_call label="Editar meu look" name="Edit Outfit"/> - <menu_item_call label="Editar meu corpo" name="Edit My Shape"/> - <menu_item_call label="Meus amigos" name="Friends..."/> - <menu_item_call label="Meus grupos" name="Groups..."/> - <menu_item_call label="Meu perfil" name="Profile..."/> - <menu_item_call label="Depurar texturas" name="Debug..."/> - <menu_item_call label="Largar" name="Drop"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_avatar_icon.xml b/indra/newview/skins/minimal/xui/pt/menu_avatar_icon.xml deleted file mode 100644 index beba969b7ef..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_avatar_icon.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Avatar Icon Menu"> - <menu_item_call label="Ver perfil" name="Show Profile"/> - <menu_item_call label="Enviar MI..." name="Send IM"/> - <menu_item_call label="Adicionar amigo..." name="Add Friend"/> - <menu_item_call label="Remover amigo..." name="Remove Friend"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_avatar_other.xml b/indra/newview/skins/minimal/xui/pt/menu_avatar_other.xml deleted file mode 100644 index a4a26144c79..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_avatar_other.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_attachment_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Ver perfil" name="Profile..."/> - <menu_item_call label="Adicionar amigo..." name="Add Friend"/> - <menu_item_call label="MI" name="Send IM..."/> - <menu_item_call label="Ligar" name="Call"/> - <menu_item_call label="Convidar para entrar no grupo" name="Invite..."/> - <menu_item_call label="Bloquear" name="Avatar Mute"/> - <menu_item_call label="Denunciar" name="abuse"/> - <menu_item_call label="Congelar" name="Freeze..."/> - <menu_item_call label="Ejetar" name="Eject..."/> - <menu_item_call label="Depurar texturas" name="Debug..."/> - <menu_item_call label="Mais zoom" name="Zoom In"/> - <menu_item_call label="Pagar" name="Pay..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_avatar_self.xml b/indra/newview/skins/minimal/xui/pt/menu_avatar_self.xml deleted file mode 100644 index 6e203d5a259..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_avatar_self.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Self Pie"> - <menu_item_call label="Sentar" name="Sit Down Here"/> - <menu_item_call label="Ficar de pé" name="Stand Up"/> - <context_menu label="Tirar" name="Take Off >"> - <context_menu label="Roupa" name="Clothes >"> - <menu_item_call label="Camisa" name="Shirt"/> - <menu_item_call label="Calças" name="Pants"/> - <menu_item_call label="Saia" name="Skirt"/> - <menu_item_call label="Sapatos" name="Shoes"/> - <menu_item_call label="Meias" name="Socks"/> - <menu_item_call label="Jaqueta" name="Jacket"/> - <menu_item_call label="Luvas" name="Gloves"/> - <menu_item_call label="Camiseta" name="Self Undershirt"/> - <menu_item_call label="Roupa de baixo" name="Self Underpants"/> - <menu_item_call label="Tatuagem" name="Self Tattoo"/> - <menu_item_call label="Alpha" name="Self Alpha"/> - <menu_item_call label="Todas as roupas" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="Tirar" name="Object Detach"/> - <menu_item_call label="Tirar tudo" name="Detach All"/> - </context_menu> - <menu_item_call label="Trocar de look" name="Chenge Outfit"/> - <menu_item_call label="Editar meu look" name="Edit Outfit"/> - <menu_item_call label="Editar meu corpo" name="Edit My Shape"/> - <menu_item_call label="Meus amigos" name="Friends..."/> - <menu_item_call label="Meus grupos" name="Groups..."/> - <menu_item_call label="Meu perfil" name="Profile..."/> - <menu_item_call label="Depurar texturas" name="Debug..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_bottomtray.xml b/indra/newview/skins/minimal/xui/pt/menu_bottomtray.xml deleted file mode 100644 index 479d02512fb..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_bottomtray.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_camera_move_controls_menu"> - <menu_item_check label="Botão de gestos" name="ShowGestureButton"/> - <menu_item_check label="Botão de movimento" name="ShowMoveButton"/> - <menu_item_check label="Botão de ver" name="ShowCameraButton"/> - <menu_item_check label="Botão de fotos" name="ShowSnapshotButton"/> - <menu_item_check label="Botão da Barra lateral" name="ShowSidebarButton"/> - <menu_item_check label="Botão Construir" name="ShowBuildButton"/> - <menu_item_check label="Botão Buscar" name="ShowSearchButton"/> - <menu_item_check label="Botão Mapa" name="ShowWorldMapButton"/> - <menu_item_check label="Botão do Mini Mapa" name="ShowMiniMapButton"/> - <menu_item_call label="Cortar" name="NearbyChatBar_Cut"/> - <menu_item_call label="Copiar" name="NearbyChatBar_Copy"/> - <menu_item_call label="Colar" name="NearbyChatBar_Paste"/> - <menu_item_call label="Excluir" name="NearbyChatBar_Delete"/> - <menu_item_call label="Selecionar tudo" name="NearbyChatBar_Select_All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_cof_attachment.xml b/indra/newview/skins/minimal/xui/pt/menu_cof_attachment.xml deleted file mode 100644 index 527e3af3c93..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_cof_attachment.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Attachment"> - <menu_item_call label="Separar" name="detach"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_cof_body_part.xml b/indra/newview/skins/minimal/xui/pt/menu_cof_body_part.xml deleted file mode 100644 index 704fd226eb8..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_cof_body_part.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Body"> - <menu_item_call label="Trocar" name="replace"/> - <menu_item_call label="Editar" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_cof_clothing.xml b/indra/newview/skins/minimal/xui/pt/menu_cof_clothing.xml deleted file mode 100644 index 051323ae6aa..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_cof_clothing.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Clothing"> - <menu_item_call label="Tirar" name="take_off"/> - <menu_item_call label="Editar" name="edit"/> - <menu_item_call label="Trocar" name="replace"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_cof_gear.xml b/indra/newview/skins/minimal/xui/pt/menu_cof_gear.xml deleted file mode 100644 index 8716992a5e0..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_cof_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear COF"> - <menu label="Roupas novas" name="COF.Gear.New_Clothes"/> - <menu label="Nova parte do corpo" name="COF.Geear.New_Body_Parts"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_edit.xml b/indra/newview/skins/minimal/xui/pt/menu_edit.xml deleted file mode 100644 index ff431c9a21e..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_edit.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu label="Editar" name="Edit"> - <menu_item_call label="Desfazer" name="Undo"/> - <menu_item_call label="Repetir" name="Redo"/> - <menu_item_call label="Cortar" name="Cut"/> - <menu_item_call label="Copiar" name="Copy"/> - <menu_item_call label="Colar" name="Paste"/> - <menu_item_call label="Excluir" name="Delete"/> - <menu_item_call label="Replicar" name="Duplicate"/> - <menu_item_call label="Selecionar tudo" name="Select All"/> - <menu_item_call label="Desfazer seleção" name="Deselect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_favorites.xml b/indra/newview/skins/minimal/xui/pt/menu_favorites.xml deleted file mode 100644 index 062820fbca3..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_favorites.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Teletransportar" name="Teleport To Landmark"/> - <menu_item_call label="Ver/Editar marco" name="Landmark Open"/> - <menu_item_call label="Copiar SLurl" name="Copy slurl"/> - <menu_item_call label="Mostrar no mapa" name="Show On Map"/> - <menu_item_call label="Copiar" name="Landmark Copy"/> - <menu_item_call label="Colar" name="Landmark Paste"/> - <menu_item_call label="Excluir" name="Delete"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_gesture_gear.xml b/indra/newview/skins/minimal/xui/pt/menu_gesture_gear.xml deleted file mode 100644 index 70d8ae7a8e6..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_gesture_gear.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_gesture_gear"> - <menu_item_call label="Adicionar/remover de favoritos" name="activate"/> - <menu_item_call label="Copiar" name="copy_gesture"/> - <menu_item_call label="Colar" name="paste"/> - <menu_item_call label="Copiar UUID" name="copy_uuid"/> - <menu_item_call label="Salvar para look atual" name="save_to_outfit"/> - <menu_item_call label="Editar" name="edit_gesture"/> - <menu_item_call label="Verificar" name="inspect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_group_plus.xml b/indra/newview/skins/minimal/xui/pt/menu_group_plus.xml deleted file mode 100644 index 1083845d688..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_group_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Entrar no grupo..." name="item_join"/> - <menu_item_call label="Novo grupo..." name="item_new"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_hide_navbar.xml b/indra/newview/skins/minimal/xui/pt/menu_hide_navbar.xml deleted file mode 100644 index c2b063193ec..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_hide_navbar.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_navbar_menu"> - <menu_item_check label="Mostrar barra de navegação" name="ShowNavbarNavigationPanel"/> - <menu_item_check label="Mostrar barra de favoritos" name="ShowNavbarFavoritesPanel"/> - <menu_item_check label="Mostrar minibarra de localização" name="ShowMiniLocationPanel"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_im_well_button.xml b/indra/newview/skins/minimal/xui/pt/menu_im_well_button.xml deleted file mode 100644 index 2d37cefd6fe..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_im_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="IM Well Button Context Menu"> - <menu_item_call label="Fechar tudo" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_imchiclet_adhoc.xml b/indra/newview/skins/minimal/xui/pt/menu_imchiclet_adhoc.xml deleted file mode 100644 index ead949ba131..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_imchiclet_adhoc.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet AdHoc Menu"> - <menu_item_call label="Encerrar esta sessão" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_imchiclet_group.xml b/indra/newview/skins/minimal/xui/pt/menu_imchiclet_group.xml deleted file mode 100644 index dd177d1b8da..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_imchiclet_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet Group Menu"> - <menu_item_call label="Sobre o grupo" name="Show Profile"/> - <menu_item_call label="Mostrar sessão" name="Chat"/> - <menu_item_call label="Encerrar esta sessão" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_imchiclet_p2p.xml b/indra/newview/skins/minimal/xui/pt/menu_imchiclet_p2p.xml deleted file mode 100644 index d821b3ded0c..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_imchiclet_p2p.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet P2P Menu"> - <menu_item_call label="Ver perfil" name="Show Profile"/> - <menu_item_call label="Adicionar amigo..." name="Add Friend"/> - <menu_item_call label="Mostrar sessão" name="Send IM"/> - <menu_item_call label="Encerrar esta sessão" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_inspect_avatar_gear.xml b/indra/newview/skins/minimal/xui/pt/menu_inspect_avatar_gear.xml deleted file mode 100644 index 90b321e0a2f..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Ver perfil" name="view_profile"/> - <menu_item_call label="Adicionar amigo..." name="add_friend"/> - <menu_item_call label="MI" name="im"/> - <menu_item_call label="Ligar" name="call"/> - <menu_item_call label="Teletransportar" name="teleport"/> - <menu_item_call label="Bloquear" name="block"/> - <menu_item_call label="Desbloquear" name="unblock"/> - <menu_item_call label="Denunciar" name="report"/> - <menu_item_call label="Congelar" name="freeze"/> - <menu_item_call label="Ejetar" name="eject"/> - <menu_item_call label="Chutar" name="kick"/> - <menu_item_call label="CSR" name="csr"/> - <menu_item_call label="Depurar texturas" name="debug"/> - <menu_item_call label="Localizar no mapa" name="find_on_map"/> - <menu_item_call label="Mais zoom" name="zoom_in"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_inspect_object_gear.xml b/indra/newview/skins/minimal/xui/pt/menu_inspect_object_gear.xml deleted file mode 100644 index 184db26538d..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_inspect_object_gear.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<menu name="Gear Menu"> - <menu_item_call label="Tocar" name="touch"/> - <menu_item_call label="Sentar" name="sit"/> - <menu_item_call label="Pagar" name="pay"/> - <menu_item_call label="Comprar" name="buy"/> - <menu_item_call label="Pegar" name="take"/> - <menu_item_call label="Pegar uma cópia" name="take_copy"/> - <menu_item_call label="Abrir" name="open"/> - <menu_item_call label="Editar" name="edit"/> - <menu_item_call label="Vestir" name="wear"/> - <menu_item_call label="Adicionar" name="add"/> - <menu_item_call label="Denunciar" name="report"/> - <menu_item_call label="Bloquear" name="block"/> - <menu_item_call label="Mais zoom" name="zoom_in"/> - <menu_item_call label="Tirar" name="remove"/> - <menu_item_call label="Mais informações" name="more_info"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_inspect_self_gear.xml b/indra/newview/skins/minimal/xui/pt/menu_inspect_self_gear.xml deleted file mode 100644 index c1f27e765d7..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_inspect_self_gear.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Self Pie"> - <menu_item_call label="Sentar" name="Sit Down Here"/> - <menu_item_call label="Ficar de pé" name="Stand Up"/> - <menu_item_call label="Meus amigos" name="Friends..."/> - <menu_item_call label="Meu perfil" name="Profile..."/> - <menu_item_call label="Depurar texturas" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_inv_offer_chiclet.xml b/indra/newview/skins/minimal/xui/pt/menu_inv_offer_chiclet.xml deleted file mode 100644 index c404719c956..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_inv_offer_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="InvOfferChiclet Menu"> - <menu_item_call label="Fechar" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_inventory.xml b/indra/newview/skins/minimal/xui/pt/menu_inventory.xml deleted file mode 100644 index 1b1efd32704..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_inventory.xml +++ /dev/null @@ -1,86 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Compartilhar" name="Share"/> - <menu_item_call label="Comprar" name="Task Buy"/> - <menu_item_call label="Abrir" name="Task Open"/> - <menu_item_call label="Executar" name="Task Play"/> - <menu_item_call label="Propriedades" name="Task Properties"/> - <menu_item_call label="Renomear" name="Task Rename"/> - <menu_item_call label="Apagar" name="Task Remove"/> - <menu_item_call label="Limpar lixeira" name="Empty Trash"/> - <menu_item_call label="Limpar Achados & perdidos" name="Empty Lost And Found"/> - <menu_item_call label="Nova pasta" name="New Folder"/> - <menu_item_call label="Novo script" name="New Script"/> - <menu_item_call label="Nova anotação" name="New Note"/> - <menu_item_call label="Novo gesto" name="New Gesture"/> - <menu label="Novas roupas" name="New Clothes"> - <menu_item_call label="Nova camisa" name="New Shirt"/> - <menu_item_call label="Nova calça" name="New Pants"/> - <menu_item_call label="Novos sapatos" name="New Shoes"/> - <menu_item_call label="Novas meias" name="New Socks"/> - <menu_item_call label="Nova jaqueta" name="New Jacket"/> - <menu_item_call label="Nova saia" name="New Skirt"/> - <menu_item_call label="Novas luvas" name="New Gloves"/> - <menu_item_call label="Nova anágua" name="New Undershirt"/> - <menu_item_call label="Nova roupa de baixo" name="New Underpants"/> - <menu_item_call label="Nova máscara alfa" name="New Alpha Mask"/> - <menu_item_call label="Nova tatuagem" name="New Tattoo"/> - </menu> - <menu label="Nova parte do corpo" name="New Body Parts"> - <menu_item_call label="Nova forma" name="New Shape"/> - <menu_item_call label="Nova pele" name="New Skin"/> - <menu_item_call label="Novo cabelo" name="New Hair"/> - <menu_item_call label="Novos olhos" name="New Eyes"/> - </menu> - <menu label="Alterar fonte" name="Change Type"> - <menu_item_call label="Padrão" name="Default"/> - <menu_item_call label="Luvas" name="Gloves"/> - <menu_item_call label="Jaqueta" name="Jacket"/> - <menu_item_call label="Calças" name="Pants"/> - <menu_item_call label="Silhueta" name="Shape"/> - <menu_item_call label="Sapatos" name="Shoes"/> - <menu_item_call label="Camisa" name="Shirt"/> - <menu_item_call label="Saia" name="Skirt"/> - <menu_item_call label="Roupa de baixo" name="Underpants"/> - <menu_item_call label="Camiseta" name="Undershirt"/> - </menu> - <menu_item_call label="Teletransporte" name="Landmark Open"/> - <menu_item_call label="Abrir" name="Animation Open"/> - <menu_item_call label="Abrir" name="Sound Open"/> - <menu_item_call label="Substituir look" name="Replace Outfit"/> - <menu_item_call label="Adicionar a look" name="Add To Outfit"/> - <menu_item_call label="Tirar do look atual" name="Remove From Outfit"/> - <menu_item_call label="Encontrar original" name="Find Original"/> - <menu_item_call label="Remover item" name="Purge Item"/> - <menu_item_call label="Restaurar item" name="Restore Item"/> - <menu_item_call label="Abrir" name="Open"/> - <menu_item_call label="Abrir original" name="Open Original"/> - <menu_item_call label="Propriedades" name="Properties"/> - <menu_item_call label="Renomear" name="Rename"/> - <menu_item_call label="Copiar item UUID" name="Copy Asset UUID"/> - <menu_item_call label="Copiar" name="Copy"/> - <menu_item_call label="Colar" name="Paste"/> - <menu_item_call label="Colar como link" name="Paste As Link"/> - <menu_item_call label="Excluir" name="Remove Link"/> - <menu_item_call label="Apagar" name="Delete"/> - <menu_item_call label="Excluir pasta do sistema" name="Delete System Folder"/> - <menu_item_call label="Pasta conversa em conferência" name="Conference Chat Folder"/> - <menu_item_call label="Executar som" name="Sound Play"/> - <menu_item_call label="Sobre o marco" name="About Landmark"/> - <menu_item_call label="Executar animação" name="Animation Play"/> - <menu_item_call label="Executar áudio" name="Animation Audition"/> - <menu_item_call label="Mandar MI" name="Send Instant Message"/> - <menu_item_call label="Oferecer teletransporte..." name="Offer Teleport..."/> - <menu_item_call label="Bate-papo em conferência" name="Conference Chat"/> - <menu_item_call label="Ativar" name="Activate"/> - <menu_item_call label="Desativar" name="Deactivate"/> - <menu_item_call label="Salvar como" name="Save As"/> - <menu_item_call label="Tirar de si mesmo" name="Detach From Yourself"/> - <menu_item_call label="Vestir" name="Wearable And Object Wear"/> - <menu label="Anexar a" name="Attach To"/> - <menu label="Anexar ao HUD" name="Attach To HUD"/> - <menu_item_call label="Editar" name="Wearable Edit"/> - <menu_item_call label="Adicionar" name="Wearable Add"/> - <menu_item_call label="Tirar" name="Take Off"/> - <menu_item_call label="--Sem opções--" name="--no options--"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_inventory_add.xml b/indra/newview/skins/minimal/xui/pt/menu_inventory_add.xml deleted file mode 100644 index 2723f39287d..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_inventory_add.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_inventory_add"> - <menu label="Upload" name="upload"> - <menu_item_call label="Imagem (L$[COST])..." name="Upload Image"/> - <menu_item_call label="Som (L$[COST])..." name="Upload Sound"/> - <menu_item_call label="Animação (L$[COST])..." name="Upload Animation"/> - <menu_item_call label="Volume (L$[COST] per file)..." name="Bulk Upload"/> - <menu_item_call label="Autorizações de upload padrão" name="perm prefs"/> - </menu> - <menu_item_call label="Nova pasta" name="New Folder"/> - <menu_item_call label="Novo script" name="New Script"/> - <menu_item_call label="Nova anotação" name="New Note"/> - <menu_item_call label="Novo gesto" name="New Gesture"/> - <menu label="Novas roupas" name="New Clothes"> - <menu_item_call label="Nova camisa" name="New Shirt"/> - <menu_item_call label="Novas calças" name="New Pants"/> - <menu_item_call label="Novos sapatos" name="New Shoes"/> - <menu_item_call label="Novas meias" name="New Socks"/> - <menu_item_call label="Nova blusa" name="New Jacket"/> - <menu_item_call label="Nova saia" name="New Skirt"/> - <menu_item_call label="Novas luvas" name="New Gloves"/> - <menu_item_call label="Nova camiseta" name="New Undershirt"/> - <menu_item_call label="Novas roupa de baixo" name="New Underpants"/> - <menu_item_call label="Novo alpha" name="New Alpha"/> - <menu_item_call label="Nova tatuagem" name="New Tattoo"/> - </menu> - <menu label="Nova parte do corpo" name="New Body Parts"> - <menu_item_call label="Nova forma" name="New Shape"/> - <menu_item_call label="Nova pele" name="New Skin"/> - <menu_item_call label="Novo cabelo" name="New Hair"/> - <menu_item_call label="Novos olhos" name="New Eyes"/> - </menu> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_inventory_gear_default.xml b/indra/newview/skins/minimal/xui/pt/menu_inventory_gear_default.xml deleted file mode 100644 index 3400578d9a9..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_inventory_gear_default.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_gear_default"> - <menu_item_call label="Nova janela de inventário" name="new_window"/> - <menu_item_check label="Ordenar por nome" name="sort_by_name"/> - <menu_item_check label="Ordenar por mais recente" name="sort_by_recent"/> - <menu_item_check label="Pastas do sistema no topo" name="sort_system_folders_to_top"/> - <menu_item_call label="Mostrar filtros" name="show_filters"/> - <menu_item_call label="Restabelecer filtros" name="reset_filters"/> - <menu_item_call label="Fechar todas as pastas" name="close_folders"/> - <menu_item_call label="Esvaziar achados e perdidos" name="empty_lostnfound"/> - <menu_item_call label="Salvar textura como" name="Save Texture As"/> - <menu_item_call label="Compartilhar" name="Share"/> - <menu_item_call label="Encontrar original" name="Find Original"/> - <menu_item_call label="Encontrar todos os links" name="Find All Links"/> - <menu_item_call label="Esvaziar lixeira" name="empty_trash"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_land.xml b/indra/newview/skins/minimal/xui/pt/menu_land.xml deleted file mode 100644 index 9182ce321af..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_land.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Land Pie"> - <menu_item_call label="Sobre terrenos" name="Place Information..."/> - <menu_item_call label="Sentar aqui" name="Sit Here"/> - <menu_item_call label="Comprar este terreno" name="Land Buy"/> - <menu_item_call label="Comprar passe" name="Land Buy Pass"/> - <menu_item_call label="Construir" name="Create"/> - <menu_item_call label="Editar a topografia" name="Edit Terrain"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_landmark.xml b/indra/newview/skins/minimal/xui/pt/menu_landmark.xml deleted file mode 100644 index 6accfebee7e..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_landmark.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="landmark_overflow_menu"> - <menu_item_call label="Copiar SLurl" name="copy"/> - <menu_item_call label="Excluir" name="delete"/> - <menu_item_call label="Criar destaque" name="pick"/> - <menu_item_call label="Adicionar à barra de favoritos" name="add_to_favbar"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_login.xml b/indra/newview/skins/minimal/xui/pt/menu_login.xml deleted file mode 100644 index 3dff3d7c8a9..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_login.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Login Menu"> - <menu label="Eu" name="File"> - <menu_item_call label="Preferências" name="Preferences..."/> - <menu_item_call label="Sair do [APP_NAME]" name="Quit"/> - </menu> - <menu label="Ajuda" name="Help"> - <menu_item_call label="Ajuda do [SECOND_LIFE]" name="Second Life Help"/> - <menu_item_call label="Sobre [APP_NAME]" name="About Second Life"/> - </menu> - <menu_item_check label="Exibir menu de depuração" name="Show Debug Menu"/> - <menu label="Depurar" name="Debug"> - <menu_item_call label="Mostrar configurações" name="Debug Settings"/> - <menu_item_call label="Configurações da interface e cor" name="UI/Color Settings"/> - <menu label="Testes de UI" name="UI Tests"/> - <menu_item_call label="Definir tamanho da janela:" name="Set Window Size..."/> - <menu_item_call label="Mostrar TOS" name="TOS"/> - <menu_item_call label="Mostrar mensagem crÃtica" name="Critical"/> - <menu_item_call label="Teste de mÃdia do navegador" name="Web Browser Test"/> - <menu_item_call label="Teste de conteúdo web" name="Web Content Floater Test"/> - <menu_item_check label="Exibir seletor da grade" name="Show Grid Picker"/> - <menu_item_call label="Exibir painel de notificações" name="Show Notifications Console"/> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/pt/menu_mini_map.xml b/indra/newview/skins/minimal/xui/pt/menu_mini_map.xml deleted file mode 100644 index 6a3fe55de52..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_mini_map.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Zoom Perto" name="Zoom Close"/> - <menu_item_call label="Zoom Médio" name="Zoom Medium"/> - <menu_item_call label="Zoom Longe" name="Zoom Far"/> - <menu_item_call label="Zoom padrão" name="Zoom Default"/> - <menu_item_check label="Girar mapa" name="Rotate Map"/> - <menu_item_check label="Auto Center" name="Auto Center"/> - <menu_item_call label="Parar Acompanhamento" name="Stop Tracking"/> - <menu_item_call label="Mapa-múndi" name="World Map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_navbar.xml b/indra/newview/skins/minimal/xui/pt/menu_navbar.xml deleted file mode 100644 index 57c1471de31..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_navbar.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Navbar Menu"> - <menu_item_check label="Mostrar coordenadas" name="Show Coordinates"/> - <menu_item_check label="Mostrar as propriedades do terreno" name="Show Parcel Properties"/> - <menu_item_call label="Marco" name="Landmark"/> - <menu_item_call label="Cortar" name="Cut"/> - <menu_item_call label="Copiar" name="Copy"/> - <menu_item_call label="Colar" name="Paste"/> - <menu_item_call label="Excluir" name="Delete"/> - <menu_item_call label="Selecionar tudo" name="Select All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_nearby_chat.xml b/indra/newview/skins/minimal/xui/pt/menu_nearby_chat.xml deleted file mode 100644 index f1ea83c837f..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_nearby_chat.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="NearBy Chat Menu"> - <menu_item_call label="Mostrar quem está aqui..." name="nearby_people"/> - <menu_item_check label="Mostrar texto bloqueado" name="muted_text"/> - <menu_item_check label="Mostrar Ãcones de amigos" name="show_buddy_icons"/> - <menu_item_check label="Mostrar nomes" name="show_names"/> - <menu_item_check label="Mostrar Ãcones e nomes" name="show_icons_and_names"/> - <menu_item_call label="Tamanho da fonte" name="font_size"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_notification_well_button.xml b/indra/newview/skins/minimal/xui/pt/menu_notification_well_button.xml deleted file mode 100644 index 43ad4134ec1..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_notification_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Notification Well Button Context Menu"> - <menu_item_call label="Fechar tudo" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_object.xml b/indra/newview/skins/minimal/xui/pt/menu_object.xml deleted file mode 100644 index bf948596998..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_object.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Object Pie"> - <menu_item_call label="Tocar" name="Object Touch"> - <menu_item_call.on_enable name="EnableTouch" parameter="Tocar"/> - </menu_item_call> - <menu_item_call label="Editar" name="Edit..."/> - <menu_item_call label="Construir" name="Build"/> - <menu_item_call label="Abrir" name="Open"/> - <menu_item_call label="Sentar aqui" name="Object Sit"/> - <menu_item_call label="Ficar de pé" name="Object Stand Up"/> - <menu_item_call label="Perfil do objeto" name="Object Inspect"/> - <menu_item_call label="Mais zoom" name="Zoom In"/> - <context_menu label="Colocar no(a)" name="Put On"> - <menu_item_call label="Vestir" name="Wear"/> - <menu_item_call label="Adicionar" name="Add"/> - <context_menu label="Anexar" name="Object Attach"/> - <context_menu label="Anexar o HUD" name="Object Attach HUD"/> - </context_menu> - <context_menu label="Tirar" name="Remove"> - <menu_item_call label="Denunciar abuso" name="Report Abuse..."/> - <menu_item_call label="Bloquear" name="Object Mute"/> - <menu_item_call label="Devolver" name="Return..."/> - <menu_item_call label="Excluir" name="Delete"/> - </context_menu> - <menu_item_call label="Pegar" name="Pie Object Take"/> - <menu_item_call label="Pegar uma cópia" name="Take Copy"/> - <menu_item_call label="Pagar" name="Pay..."/> - <menu_item_call label="Comprar" name="Buy..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_object_icon.xml b/indra/newview/skins/minimal/xui/pt/menu_object_icon.xml deleted file mode 100644 index 7af760a6ee4..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_object_icon.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Object Icon Menu"> - <menu_item_call label="Perfil do objeto..." name="Object Profile"/> - <menu_item_call label="Bloquear..." name="Block"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_outfit_gear.xml b/indra/newview/skins/minimal/xui/pt/menu_outfit_gear.xml deleted file mode 100644 index 11b3e653c66..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_outfit_gear.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Outfit"> - <menu_item_call label="Vestir - Substituir look atual" name="wear"/> - <menu_item_call label="Vestir - Adicionar ao look atual" name="wear_add"/> - <menu_item_call label="Tirar - Tirar do look atual" name="take_off"/> - <menu label="Roupas novas" name="New Clothes"> - <menu_item_call label="Nova camisa" name="New Shirt"/> - <menu_item_call label="Novas calças" name="New Pants"/> - <menu_item_call label="Novos sapatos" name="New Shoes"/> - <menu_item_call label="Novas meias" name="New Socks"/> - <menu_item_call label="Nova blusa" name="New Jacket"/> - <menu_item_call label="Nova saia" name="New Skirt"/> - <menu_item_call label="Novas luvas" name="New Gloves"/> - <menu_item_call label="Nova camiseta" name="New Undershirt"/> - <menu_item_call label="Novas roupa de baixo" name="New Underpants"/> - <menu_item_call label="Novo alpha" name="New Alpha"/> - <menu_item_call label="Nova tatuagem" name="New Tattoo"/> - </menu> - <menu label="Nova parte do corpo" name="New Body Parts"> - <menu_item_call label="Nova silhueta" name="New Shape"/> - <menu_item_call label="Nova pele" name="New Skin"/> - <menu_item_call label="Novo cabelo" name="New Hair"/> - <menu_item_call label="Novos olhos" name="New Eyes"/> - </menu> - <menu_item_call label="Renomear look" name="rename"/> - <menu_item_call label="Excluir visual" name="delete_outfit"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_outfit_tab.xml b/indra/newview/skins/minimal/xui/pt/menu_outfit_tab.xml deleted file mode 100644 index 8db5e405b31..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_outfit_tab.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit"> - <menu_item_call label="Vestir - Substituir look atual" name="wear_replace"/> - <menu_item_call label="Vestir - Sem tirar look atual" name="wear_add"/> - <menu_item_call label="Tirar - Tirar do look atual" name="take_off"/> - <menu_item_call label="Editar look" name="edit"/> - <menu_item_call label="Renomear look" name="rename"/> - <menu_item_call label="Excluir visual" name="delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_participant_list.xml b/indra/newview/skins/minimal/xui/pt/menu_participant_list.xml deleted file mode 100644 index 01f1d4ef805..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_participant_list.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Participant List Context Menu"> - <menu_item_check label="Ordenar por nome" name="SortByName"/> - <menu_item_check label="Ordenar por conversas mais recentes" name="SortByRecentSpeakers"/> - <menu_item_call label="Ver perfil" name="View Profile"/> - <menu_item_call label="Adicionar amigo..." name="Add Friend"/> - <menu_item_call label="MI" name="IM"/> - <menu_item_call label="Ligar" name="Call"/> - <menu_item_call label="Compartilhar" name="Share"/> - <menu_item_call label="Pagar" name="Pay"/> - <menu_item_check label="Ver Ãcones de pessoas" name="View Icons"/> - <menu_item_check label="Bloquear voz" name="Block/Unblock"/> - <menu_item_check label="Bloquear texto" name="MuteText"/> - <context_menu label="Opções do moderador >" name="Moderator Options"> - <menu_item_check label="Pode bater papo por escrito" name="AllowTextChat"/> - <menu_item_call label="Silenciar este participante" name="ModerateVoiceMuteSelected"/> - <menu_item_call label="Desfazer silenciar deste participante" name="ModerateVoiceUnMuteSelected"/> - <menu_item_call label="Silenciar todos" name="ModerateVoiceMute"/> - <menu_item_call label="Desfazer silenciar para todos" name="ModerateVoiceUnmute"/> - </context_menu> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_people_friends_view_sort.xml b/indra/newview/skins/minimal/xui/pt/menu_people_friends_view_sort.xml deleted file mode 100644 index e7c325010fb..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Ordenar por nome" name="sort_name"/> - <menu_item_check label="Ordenar por status" name="sort_status"/> - <menu_item_check label="Ver Ãcones de pessoas" name="view_icons"/> - <menu_item_check label="Autorizações de visualização dadas" name="view_permissions"/> - <menu_item_call label="Ver residentes e objetos bloqueados" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_people_groups.xml b/indra/newview/skins/minimal/xui/pt/menu_people_groups.xml deleted file mode 100644 index 9a924ad7b93..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_people_groups.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Ver dados" name="View Info"/> - <menu_item_call label="Bate-papo" name="Chat"/> - <menu_item_call label="Ligar" name="Call"/> - <menu_item_call label="Ativar" name="Activate"/> - <menu_item_call label="Sair" name="Leave"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_people_groups_view_sort.xml b/indra/newview/skins/minimal/xui/pt/menu_people_groups_view_sort.xml deleted file mode 100644 index 86a9d2263f3..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Mostrar Ãcones de grupos" name="Display Group Icons"/> - <menu_item_call label="Sair do grupo selecionado" name="Leave Selected Group"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_people_nearby.xml b/indra/newview/skins/minimal/xui/pt/menu_people_nearby.xml deleted file mode 100644 index b446a2fe81a..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_people_nearby.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Avatar Context Menu"> - <menu_item_call label="Ver perfil" name="View Profile"/> - <menu_item_call label="Adicionar amigo" name="Add Friend"/> - <menu_item_call label="Remover amigo" name="Remove Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="Ligar" name="Call"/> - <menu_item_call label="Mapa" name="Map"/> - <menu_item_call label="Compartilhar" name="Share"/> - <menu_item_call label="Pagar" name="Pay"/> - <menu_item_check label="Bloquear/desbloquear" name="Block/Unblock"/> - <menu_item_call label="Teletransportar?" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_people_nearby_multiselect.xml b/indra/newview/skins/minimal/xui/pt/menu_people_nearby_multiselect.xml deleted file mode 100644 index 79edb96b1c6..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_people_nearby_multiselect.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Multi-Selected People Context Menu"> - <menu_item_call label="Adicionar amigo..." name="Add Friends"/> - <menu_item_call label="Remover amigo..." name="Remove Friend"/> - <menu_item_call label="MI" name="IM"/> - <menu_item_call label="Ligar" name="Call"/> - <menu_item_call label="Compartilhar" name="Share"/> - <menu_item_call label="Pagar" name="Pay"/> - <menu_item_call label="Teletransportar?" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_people_nearby_view_sort.xml b/indra/newview/skins/minimal/xui/pt/menu_people_nearby_view_sort.xml deleted file mode 100644 index 228ce46a319..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Ordenar por conversas mais recentes" name="sort_by_recent_speakers"/> - <menu_item_check label="Ordenar por nome" name="sort_name"/> - <menu_item_check label="Ordenar por distância" name="sort_distance"/> - <menu_item_check label="Ver Ãcones de pessoas" name="view_icons"/> - <menu_item_call label="Ver residentes e objetos bloqueados" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_people_recent_view_sort.xml b/indra/newview/skins/minimal/xui/pt/menu_people_recent_view_sort.xml deleted file mode 100644 index f3b89e01cd5..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Ordenar por mais recente" name="sort_most"/> - <menu_item_check label="Ordenar por nome" name="sort_name"/> - <menu_item_check label="Ver Ãcones de pessoas" name="view_icons"/> - <menu_item_call label="Ver residentes e objetos bloqueados" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_picks.xml b/indra/newview/skins/minimal/xui/pt/menu_picks.xml deleted file mode 100644 index 8b9e10fc02a..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_picks.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Picks"> - <menu_item_call label="Info" name="pick_info"/> - <menu_item_call label="Editar" name="pick_edit"/> - <menu_item_call label="Teletransportar" name="pick_teleport"/> - <menu_item_call label="Mapa" name="pick_map"/> - <menu_item_call label="Excluir" name="pick_delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_picks_plus.xml b/indra/newview/skins/minimal/xui/pt/menu_picks_plus.xml deleted file mode 100644 index 95a7c052623..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_picks_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="picks_plus_menu"> - <menu_item_call label="Adicionar" name="create_pick"/> - <menu_item_call label="Novo anúncio" name="create_classified"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_place.xml b/indra/newview/skins/minimal/xui/pt/menu_place.xml deleted file mode 100644 index 282ea20a7a1..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_place.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="place_overflow_menu"> - <menu_item_call label="Criar marco" name="landmark"/> - <menu_item_call label="Criar destaque" name="pick"/> - <menu_item_call label="Comprar passe" name="pass"/> - <menu_item_call label="Editar" name="edit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_place_add_button.xml b/indra/newview/skins/minimal/xui/pt/menu_place_add_button.xml deleted file mode 100644 index d099d04f8d6..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_place_add_button.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_folder_gear"> - <menu_item_call label="Adicionar pasta" name="add_folder"/> - <menu_item_call label="Adicionar marco" name="add_landmark"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_places_gear_folder.xml b/indra/newview/skins/minimal/xui/pt/menu_places_gear_folder.xml deleted file mode 100644 index 2059a9ed2d6..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_places_gear_folder.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_folder_gear"> - <menu_item_call label="Adicionar marco" name="add_landmark"/> - <menu_item_call label="Adicionar pasta" name="add_folder"/> - <menu_item_call label="Cortar" name="cut"/> - <menu_item_call label="Copiar" name="copy_folder"/> - <menu_item_call label="Colar" name="paste"/> - <menu_item_call label="Renomear" name="rename"/> - <menu_item_call label="Excluir" name="delete"/> - <menu_item_call label="Expanda" name="expand"/> - <menu_item_call label="Recolher" name="collapse"/> - <menu_item_call label="Expandir todas as pastas" name="expand_all"/> - <menu_item_call label="Recolher todas as pastas" name="collapse_all"/> - <menu_item_check label="Ordenar por data" name="sort_by_date"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_places_gear_landmark.xml b/indra/newview/skins/minimal/xui/pt/menu_places_gear_landmark.xml deleted file mode 100644 index 52a9d137359..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_places_gear_landmark.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_ladmark_gear"> - <menu_item_call label="Teletransportar" name="teleport"/> - <menu_item_call label="Mais informações" name="more_info"/> - <menu_item_call label="Mostrar no mapa" name="show_on_map"/> - <menu_item_call label="Adicionar marco" name="add_landmark"/> - <menu_item_call label="Adicionar pasta" name="add_folder"/> - <menu_item_call label="Cortar" name="cut"/> - <menu_item_call label="Copiar marco" name="copy_landmark"/> - <menu_item_call label="Copiar SLurl" name="copy_slurl"/> - <menu_item_call label="Colar" name="paste"/> - <menu_item_call label="Renomear" name="rename"/> - <menu_item_call label="Excluir" name="delete"/> - <menu_item_call label="Expandir todas as pastas" name="expand_all"/> - <menu_item_call label="Recolher todas as pastas" name="collapse_all"/> - <menu_item_check label="Ordenar por data" name="sort_by_date"/> - <menu_item_call label="Criar destaque" name="create_pick"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_profile_overflow.xml b/indra/newview/skins/minimal/xui/pt/menu_profile_overflow.xml deleted file mode 100644 index d41ecbd7558..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_profile_overflow.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="profile_overflow_menu"> - <menu_item_call label="Mapa" name="show_on_map"/> - <menu_item_call label="Pagar" name="pay"/> - <menu_item_call label="Compartilhar" name="share"/> - <menu_item_call label="Bloquear" name="block"/> - <menu_item_call label="Desbloquear" name="unblock"/> - <menu_item_call label="Chutar" name="kick"/> - <menu_item_call label="Congelar" name="freeze"/> - <menu_item_call label="Descongelar" name="unfreeze"/> - <menu_item_call label="CSR" name="csr"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_save_outfit.xml b/indra/newview/skins/minimal/xui/pt/menu_save_outfit.xml deleted file mode 100644 index 61c6b9202f7..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_save_outfit.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="save_outfit_menu"> - <menu_item_call label="Salvar" name="save_outfit"/> - <menu_item_call label="Salvar como" name="save_as_new_outfit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_script_chiclet.xml b/indra/newview/skins/minimal/xui/pt/menu_script_chiclet.xml deleted file mode 100644 index ccf3878e142..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_script_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="ScriptChiclet Menu"> - <menu_item_call label="Fechar" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_slurl.xml b/indra/newview/skins/minimal/xui/pt/menu_slurl.xml deleted file mode 100644 index 6d4c84fc3c3..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_slurl.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Sobre a URL" name="about_url"/> - <menu_item_call label="Teletransporte para a URL" name="teleport_to_url"/> - <menu_item_call label="Mapa" name="show_on_map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_teleport_history_gear.xml b/indra/newview/skins/minimal/xui/pt/menu_teleport_history_gear.xml deleted file mode 100644 index f034509be86..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_teleport_history_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Teleport History Gear Context Menu"> - <menu_item_call label="Expandir todas as pastas" name="Expand all folders"/> - <menu_item_call label="Recolher todas as pastas" name="Collapse all folders"/> - <menu_item_call label="Limpar histórico de teletransporte" name="Clear Teleport History"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_teleport_history_item.xml b/indra/newview/skins/minimal/xui/pt/menu_teleport_history_item.xml deleted file mode 100644 index ec1e7a09502..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_teleport_history_item.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Teletransportar" name="Teleport"/> - <menu_item_call label="Mais informações" name="More Information"/> - <menu_item_call label="Copiar" name="CopyToClipboard"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_teleport_history_tab.xml b/indra/newview/skins/minimal/xui/pt/menu_teleport_history_tab.xml deleted file mode 100644 index 6a633cf74ce..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_teleport_history_tab.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Abrir" name="TabOpen"/> - <menu_item_call label="Fechar" name="TabClose"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_text_editor.xml b/indra/newview/skins/minimal/xui/pt/menu_text_editor.xml deleted file mode 100644 index 31c284c6eda..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_text_editor.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Text editor context menu"> - <menu_item_call label="Cortar" name="Cut"/> - <menu_item_call label="Copiar" name="Copy"/> - <menu_item_call label="Colar" name="Paste"/> - <menu_item_call label="Excluir" name="Delete"/> - <menu_item_call label="Selecionar tudo" name="Select All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_topinfobar.xml b/indra/newview/skins/minimal/xui/pt/menu_topinfobar.xml deleted file mode 100644 index d9347950b12..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_topinfobar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_topinfobar"> - <menu_item_check label="Mostrar coordenadas" name="Show Coordinates"/> - <menu_item_check label="Mostrar as propriedades do terreno" name="Show Parcel Properties"/> - <menu_item_call label="Marco" name="Landmark"/> - <menu_item_call label="Copiar" name="Copy"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_url_agent.xml b/indra/newview/skins/minimal/xui/pt/menu_url_agent.xml deleted file mode 100644 index ba5e0551248..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_url_agent.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar perfil de residente" name="show_agent"/> - <menu_item_call label="Copiar nome para área de transferência" name="url_copy_label"/> - <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_url_group.xml b/indra/newview/skins/minimal/xui/pt/menu_url_group.xml deleted file mode 100644 index 5b67a69c9a1..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_url_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar informações do grupo" name="show_group"/> - <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy_label"/> - <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_url_http.xml b/indra/newview/skins/minimal/xui/pt/menu_url_http.xml deleted file mode 100644 index e53a2572b82..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_url_http.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Abrir página da web" name="url_open"/> - <menu_item_call label="Abrir no navegador do SL" name="url_open_internal"/> - <menu_item_call label="Abrir no navegador externo" name="url_open_external"/> - <menu_item_call label="Copiar URL para área de transferência" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_url_inventory.xml b/indra/newview/skins/minimal/xui/pt/menu_url_inventory.xml deleted file mode 100644 index 45c14355d07..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_url_inventory.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar item de inventário" name="show_item"/> - <menu_item_call label="Copiar nome para área de transferência" name="url_copy_label"/> - <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_url_map.xml b/indra/newview/skins/minimal/xui/pt/menu_url_map.xml deleted file mode 100644 index ba114cccaab..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_url_map.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar no mapa" name="show_on_map"/> - <menu_item_call label="Teletransportar para este lugar" name="teleport_to_location"/> - <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_url_objectim.xml b/indra/newview/skins/minimal/xui/pt/menu_url_objectim.xml deleted file mode 100644 index c1974441815..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_url_objectim.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar informações sobre o objeto" name="show_object"/> - <menu_item_call label="Mostrar no mapa" name="show_on_map"/> - <menu_item_call label="Teletransportar para lugar do objeto" name="teleport_to_object"/> - <menu_item_call label="Copiar nome do objeto para área de transferência" name="url_copy_label"/> - <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_url_parcel.xml b/indra/newview/skins/minimal/xui/pt/menu_url_parcel.xml deleted file mode 100644 index 6cc668bfd3d..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_url_parcel.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar informações sobre este lote" name="show_parcel"/> - <menu_item_call label="Mostrar no mapa" name="show_on_map"/> - <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_url_slapp.xml b/indra/newview/skins/minimal/xui/pt/menu_url_slapp.xml deleted file mode 100644 index d0784149acb..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_url_slapp.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Executar este comando" name="run_slapp"/> - <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_url_slurl.xml b/indra/newview/skins/minimal/xui/pt/menu_url_slurl.xml deleted file mode 100644 index 7216ccf0b30..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_url_slurl.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar informações sobre este lugar" name="show_place"/> - <menu_item_call label="Mostrar no mapa" name="show_on_map"/> - <menu_item_call label="Teletransportar para este lugar" name="teleport_to_location"/> - <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_url_teleport.xml b/indra/newview/skins/minimal/xui/pt/menu_url_teleport.xml deleted file mode 100644 index f007425646a..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_url_teleport.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Teletransportar para este lugar" name="teleport"/> - <menu_item_call label="Mostrar no mapa" name="show_on_map"/> - <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_viewer.xml b/indra/newview/skins/minimal/xui/pt/menu_viewer.xml deleted file mode 100644 index 2bd1e88279e..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_viewer.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Main Menu"> - <menu label="Ajuda" name="Help"> - <menu_item_call label="[SECOND_LIFE] Ajuda" name="Second Life Help"/> - </menu> - <menu label="Avançado" name="Advanced"> - <menu label="Atalhos" name="Shortcuts"> - <menu_item_check label="Voar" name="Fly"/> - <menu_item_call label="Fechar janela" name="Close Window"/> - <menu_item_call label="Fechar todas as janelas" name="Close All Windows"/> - <menu_item_call label="Visão padrão" name="Reset View"/> - </menu> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/pt/menu_wearable_list_item.xml b/indra/newview/skins/minimal/xui/pt/menu_wearable_list_item.xml deleted file mode 100644 index 2487f6779f6..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_wearable_list_item.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit Wearable Context Menu"> - <menu_item_call label="Trocar" name="wear_replace"/> - <menu_item_call label="Vestir" name="wear_wear"/> - <menu_item_call label="Adicionar" name="wear_add"/> - <menu_item_call label="Tirar / Separar" name="take_off_or_detach"/> - <menu_item_call label="Separar" name="detach"/> - <context_menu label="Colocar em" name="wearable_attach_to"/> - <context_menu label="Anexar ao HUD" name="wearable_attach_to_hud"/> - <menu_item_call label="Tirar" name="take_off"/> - <menu_item_call label="Editar" name="edit"/> - <menu_item_call label="Perfil do item" name="object_profile"/> - <menu_item_call label="Mostrar original" name="show_original"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_wearing_gear.xml b/indra/newview/skins/minimal/xui/pt/menu_wearing_gear.xml deleted file mode 100644 index 7b6ce4d87ec..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_wearing_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Wearing"> - <menu_item_call label="Editar look" name="edit"/> - <menu_item_call label="Tirar" name="takeoff"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_wearing_tab.xml b/indra/newview/skins/minimal/xui/pt/menu_wearing_tab.xml deleted file mode 100644 index 4e6e52ebc70..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_wearing_tab.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Wearing"> - <menu_item_call label="Tirar" name="take_off"/> - <menu_item_call label="Tirar" name="detach"/> - <menu_item_call label="Editar look" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/notifications.xml b/indra/newview/skins/minimal/xui/pt/notifications.xml deleted file mode 100644 index 9e5ff6fe60b..00000000000 --- a/indra/newview/skins/minimal/xui/pt/notifications.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<notifications> - <notification name="UserGiveItem"> - [NAME_SLURL] quer lhe dar [ITEM_SLURL]. Esta ação requer o modo Avançado. Passe para o modo avançado e você verá o item em seu inventário. Para passar para o modo avançado, feche e reinicialize esse aplicativo e mude o modo (indicado na tela de login). - <form name="form"> - <button name="Show" text="Guardar item"/> - <button name="Discard" text="Recusar item"/> - <button name="Mute" text="Bloquear usuário"/> - </form> - </notification> - <notification name="ObjectGiveItem"> - Um objeto chamado <nolink>[OBJECTFROMNAME]</nolink>, de [NAME_SLURL], está lhe oferecendo <nolink>[ITEM_SLURL]</nolink>. Esta ação requer o modo Avançado. Passe para o modo Avançado e você verá o item em seu Inventário. Para passar para o modo Avançado, feche e reinicialize esse aplicativo e mude o modo (indicado na tela de login). - <form name="form"> - <button name="Keep" text="Guardar item"/> - <button name="Discard" text="Recusar item"/> - <button name="Mute" text="Bloquear objeto"/> - </form> - </notification> -</notifications> diff --git a/indra/newview/skins/minimal/xui/pt/panel_adhoc_control_panel.xml b/indra/newview/skins/minimal/xui/pt/panel_adhoc_control_panel.xml deleted file mode 100644 index bd50d4953d8..00000000000 --- a/indra/newview/skins/minimal/xui/pt/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="call_btn_panel"> - <button label="Ligar" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Desligar" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Controles de voz" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/pt/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/pt/panel_bottomtray.xml deleted file mode 100644 index 9b4eb2c2b8a..00000000000 --- a/indra/newview/skins/minimal/xui/pt/panel_bottomtray.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="bottom_tray"> - <string name="DragIndicationImageName" value="Accordion_ArrowOpened_Off"/> - <string name="SpeakBtnToolTip" value="Liga e desliga o microfone"/> - <string name="VoiceControlBtnToolTip" value="Mostra/oculta os controles de voz"/> - <layout_stack name="toolbar_stack"> - <layout_panel name="speak_panel"> - <button label="Falar" name="speak_btn" tool_tip="Ligar/desligar seu microfone"/> - </layout_panel> - <layout_panel name="speak_flyout_panel"> - <button label="" name="flyout_btn" tool_tip="Mudar as preferências de áudio"/> - </layout_panel> - <layout_panel name="gesture_panel"> - <gesture_combo_list label="Gesto" name="Gesture" tool_tip="Fazer seu avatar agir"/> - </layout_panel> - <layout_panel name="cam_panel"> - <bottomtray_button label="Exibir" name="camera_btn" tool_tip="Controlar ângulo da câmera"/> - </layout_panel> - <layout_panel name="destinations_panel"> - <bottomtray_button label="Destinos" name="destination_btn" tool_tip="Viajar no Second Life"/> - </layout_panel> - <layout_panel name="avatar_panel"> - <bottomtray_button label="Meu avatar" name="avatar_btn" tool_tip="Trocar seu visual"/> - </layout_panel> - <layout_panel name="people_panel"> - <bottomtray_button label="Pessoas" name="show_people_button" tool_tip="Encontrar pessoas no Second Life"/> - </layout_panel> - <layout_panel name="profile_panel"> - <bottomtray_button label="Perfil" name="show_profile_btn" tool_tip="Ver e editar seu perfil"/> - </layout_panel> - <layout_panel name="howto_panel"> - <bottomtray_button label="Como..." name="show_help_btn" tool_tip="Opções de ajuda do Second Life"/> - </layout_panel> - <layout_panel name="im_well_panel"> - <chiclet_im_well name="im_well"> - <button name="Unread IM messages" tool_tip="Conversas"/> - </chiclet_im_well> - </layout_panel> - <layout_panel name="notification_well_panel"> - <chiclet_notification name="notification_well"> - <button name="Unread" tool_tip="Notificações"/> - </chiclet_notification> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/pt/panel_group_control_panel.xml b/indra/newview/skins/minimal/xui/pt/panel_group_control_panel.xml deleted file mode 100644 index 177cee28a64..00000000000 --- a/indra/newview/skins/minimal/xui/pt/panel_group_control_panel.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="end_call_btn_panel"> - <button label="Desligar" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Abrir controles de voz" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/pt/panel_im_control_panel.xml b/indra/newview/skins/minimal/xui/pt/panel_im_control_panel.xml deleted file mode 100644 index 190323c3b05..00000000000 --- a/indra/newview/skins/minimal/xui/pt/panel_im_control_panel.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="Perfil" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="Adicionar amigo..." name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="Teletransportar" name="teleport_btn" tool_tip="Oferecer teletransporte"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Ligar" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Encerrar ligação" name="end_call_btn"/> - </layout_panel> - <layout_panel name="block_btn_panel"> - <button label="Bloquear" name="block_btn"/> - </layout_panel> - <layout_panel name="unblock_btn_panel"> - <button label="Desbloquear" name="unblock_btn"/> - </layout_panel> - <layout_panel name="volume_ctrl_panel"> - <slider name="volume_slider" tool_tip="Volume da ligação" value="0.5"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/pt/panel_login.xml b/indra/newview/skins/minimal/xui/pt/panel_login.xml deleted file mode 100644 index de9717874f3..00000000000 --- a/indra/newview/skins/minimal/xui/pt/panel_login.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_login"> - <panel.string name="create_account_url"> - http://join.secondlife.com/ - </panel.string> - <panel.string name="forgot_password_url"> - http://secondlife.com/account/request.php?lang=pt - </panel.string> - <layout_stack name="login_widgets"> - <layout_panel name="login"> - <text name="username_text"> - Nome de usuário: - </text> - <combo_box name="username_combo" tool_tip="O nome de usuário que você escolheu ao fazer seu cadastro, como zecazc12 or Magia Solar"/> - <text name="password_text"> - Senha: - </text> - <check_box label="Lembrar senha" name="remember_check"/> - <button label="conectar" name="connect_btn"/> - <text name="mode_selection_text"> - Modo: - </text> - <combo_box name="mode_combo" tool_tip="Selecione o modo. O modo Básico é mais rápido e ideal para explorar e conversar. Use o modo Avançado para acessar mais recursos."> - <combo_box.item label="Básico" name="Basic"/> - <combo_box.item label="Avançado" name="Advanced"/> - </combo_box> - </layout_panel> - <layout_panel name="links"> - <text name="create_new_account_text"> - Cadastre-se - </text> - <text name="forgot_password_text"> - Esqueceu seu nome ou senha? - </text> - <text name="login_help"> - Precisa de ajuda ao conectar? - </text> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/pt/panel_navigation_bar.xml b/indra/newview/skins/minimal/xui/pt/panel_navigation_bar.xml deleted file mode 100644 index 01930bf3b35..00000000000 --- a/indra/newview/skins/minimal/xui/pt/panel_navigation_bar.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="navigation_bar"> - <panel name="navigation_panel"> - <pull_button name="back_btn" tool_tip="Voltar para região anterior"/> - <pull_button name="forward_btn" tool_tip="Avançar uma região"/> - <button name="home_btn" tool_tip="Teletransportar para meu inÃcio"/> - <location_input label="Onde" name="location_combo"/> - <search_combo_box label="Busca" name="search_combo_box" tool_tip="Busca"> - <combo_editor label="Buscar no [SECOND_LIFE]" name="search_combo_editor"/> - </search_combo_box> - </panel> - <favorites_bar name="favorite" tool_tip="Arraste marcos para cá para acessar seus lugares preferidos do Second Life!"> - <label name="favorites_bar_label" tool_tip="Arraste marcos para cá para acessar seus lugares preferidos do Second Life!"> - Barra Destaques - </label> - <chevron_button name=">>" tool_tip="Mostrar mais favoritos"/> - </favorites_bar> -</panel> diff --git a/indra/newview/skins/minimal/xui/pt/panel_people.xml b/indra/newview/skins/minimal/xui/pt/panel_people.xml deleted file mode 100644 index 0e98c586c65..00000000000 --- a/indra/newview/skins/minimal/xui/pt/panel_people.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- Side tray panel --> -<panel label="Pessoas" name="people_panel"> - <string name="no_recent_people" value="Ninguém, recentemente. Em busca de alguém para conversar? Confira o botão Destinos abaixo."/> - <string name="no_filtered_recent_people" value="Não há ninguém com esse nome ultimamente."/> - <string name="no_one_near" value="Ninguém por perto Em busca de alguém para conversar? Confira o botão Destinos abaixo."/> - <string name="no_one_filtered_near" value="Não há ninguém com esse nome por perto."/> - <string name="no_friends_online" value="Nenhum amigo online"/> - <string name="no_friends" value="Nenhum amigo"/> - <string name="no_friends_msg"> - Clique em um residente com o botão direito to mouse para adicioná-lo como amigo. -Em busca de alguém para conversar? Confira o botão Destinos abaixo. - </string> - <string name="no_filtered_friends_msg"> - Não encontrou o que procura? Confira o botão Destinos abaixo. - </string> - <string name="people_filter_label" value="Filtro de pessoas"/> - <string name="groups_filter_label" value="Filtro de grupos"/> - <string name="no_filtered_groups_msg" value="Não encontrou o que procura? Tente buscar no [secondlife:///app/search/groups/[SEARCH_TERM] Search]."/> - <string name="no_groups_msg" value="À procura de grupos interessantes? Tente fazer uma [secondlife:///app/search/groups Busca]."/> - <string name="MiniMapToolTipMsg" value="[REGION](Clique duplo para abrir o Mapa, botão Shift e arrastar para ver mais)"/> - <string name="AltMiniMapToolTipMsg" value="[REGION](Clique duplo para se teletransportar, botão Shift e arrastar para ver mais)"/> - <filter_editor label="Filtro" name="filter_input"/> - <tab_container name="tabs"> - <panel label="PROXIMIDADE" name="nearby_panel"> - <panel label="bottom_panel" name="bottom_panel"/> - </panel> - <panel label="MEUS AMIGOS" name="friends_panel"> - <accordion name="friends_accordion"> - <accordion_tab name="tab_online" title="Online"/> - <accordion_tab name="tab_all" title="Todos"/> - </accordion> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel"> - <layout_panel name="trash_btn_panel"> - <dnd_button name="del_btn" tool_tip="Remover a pessoa selecionada da sua lista de amigos"/> - </layout_panel> - </layout_stack> - </panel> - </panel> - <panel label="RECENTE" name="recent_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <button name="add_friend_btn" tool_tip="Adicionar o residente selecionado para sua lista de amigos"/> - </panel> - </panel> - </tab_container> - <panel name="button_bar"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="view_profile_btn_lp"> - <button label="Perfil" name="view_profile_btn" tool_tip="Exibir fotografia, grupos e outras informações dos residentes"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="MI" name="im_btn" tool_tip="Abrir sessão de mensagem instantânea"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Ligar" name="call_btn" tool_tip="Ligar para este residente"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teletransportar" name="teleport_btn" tool_tip="Oferecer teletransporte"/> - </layout_panel> - </layout_stack> - <layout_stack name="bottom_bar_ls1"> - <layout_panel name="group_info_btn_lp"> - <button label="Perfil do grupo" name="group_info_btn" tool_tip="Exibir dados do grupo"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="Bate-papo de grupo" name="chat_btn" tool_tip="Nova sessão de bate-papo"/> - </layout_panel> - <layout_panel name="group_call_btn_lp"> - <button label="Ligar para o grupo" name="group_call_btn" tool_tip="Ligar para este grupo"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/minimal/xui/pt/panel_side_tray_tab_caption.xml b/indra/newview/skins/minimal/xui/pt/panel_side_tray_tab_caption.xml deleted file mode 100644 index 09444a55356..00000000000 --- a/indra/newview/skins/minimal/xui/pt/panel_side_tray_tab_caption.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="sidetray_tab_panel"> - <text name="sidetray_tab_title" value="Bandeja lateral"/> - <button name="undock" tool_tip="Soltar janela"/> - <button name="dock" tool_tip="Ancorar janela"/> - <button name="show_help" tool_tip="Mostrar ajuda"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/pt/panel_status_bar.xml b/indra/newview/skins/minimal/xui/pt/panel_status_bar.xml deleted file mode 100644 index f7890ae57d6..00000000000 --- a/indra/newview/skins/minimal/xui/pt/panel_status_bar.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="status"> - <panel.string name="StatBarDaysOfWeek"> - Domingo:Segunda-feira:Terça-feira:Quarta-feira:Quinta-feira:Sexta-feira:Sábado - </panel.string> - <panel.string name="StatBarMonthsOfYear"> - Janeiro:Fevereiro:Março:Abril:Maio:Junho:Julho:Agosto:Setembro:Outubro:Novembro:Dezembro - </panel.string> - <panel.string name="packet_loss_tooltip"> - Perda de pacote - </panel.string> - <panel.string name="bandwidth_tooltip"> - Banda - </panel.string> - <panel.string name="time"> - [hour12, datetime, slt]:[min, datetime, slt] [ampm, datetime, slt] [timezone,datetime, slt] - </panel.string> - <panel.string name="timeTooltip"> - [weekday, datetime, slt], [day, datetime, slt] [month, datetime, slt] [year, datetime, slt] - </panel.string> - <panel.string name="buycurrencylabel"> - L$ [AMT] - </panel.string> - <panel name="balance_bg"> - <text name="balance" tool_tip="Atualizar saldo de L$" value="L$20"/> - <button label="Comprar L$" name="buyL" tool_tip="Comprar mais L$"/> - </panel> - <text name="TimeText" tool_tip="Hora atual (PacÃfico)"> - 24:00 AM PST - </text> - <button name="media_toggle_btn" tool_tip="Tocar/Pausar todas mÃdias (música, vÃdeo, páginas web)"/> - <button name="volume_btn" tool_tip="Volume geral"/> -</panel> -- GitLab From 8a846bd3747ac9192691b8b588bbae8d5e0de403 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 20 Sep 2011 19:02:11 -0700 Subject: [PATCH 009/256] EXP-1230 FIX As a resident, I want to not have to choose a UI mode cleaned up status and navigation bars --- .../skins/default/xui/en/panel_navigation_bar.xml | 4 ++-- .../skins/default/xui/en/panel_status_bar.xml | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml index 9749b6fdd46..8a7bd53054b 100644 --- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml @@ -97,7 +97,7 @@ mouse_opaque="false" name="location_combo" top_delta="0" - width="226"> + width="266"> <combo_list mouse_wheel_opaque="true"/> <!-- *TODO: Delete. Let the location_input use the correct art sizes. @@ -137,7 +137,7 @@ name="search_combo_box" tool_tip="Search" top_delta="0" - width="244" > + width="200" > <combo_editor label="Search [SECOND_LIFE]" name="search_combo_editor"/> diff --git a/indra/newview/skins/default/xui/en/panel_status_bar.xml b/indra/newview/skins/default/xui/en/panel_status_bar.xml index 3fb9aa0f3b9..cf684781b69 100644 --- a/indra/newview/skins/default/xui/en/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml @@ -35,7 +35,7 @@ </panel.string> <panel height="18" - left="-355" + left="-315" width="95" top="1" follows="right|top" @@ -76,18 +76,18 @@ width="55" /> </panel> <text - left_pad="5" - type="string" + type="string" font="SansSerifSmall" text_readonly_color="TimeTextColor" follows="right|top" - halign="center" + halign="right" height="16" top="5" layout="topleft" + left_pad="0" name="TimeText" tool_tip="Current time (Pacific)" - width="75"> + width="145"> 24:00 AM PST </text> <button @@ -98,7 +98,7 @@ image_pressed="Pause_Press" image_pressed_selected="Play_Press" is_toggle="true" - left_pad="10" + left_pad="15" top="1" name="media_toggle_btn" tool_tip="Start/Stop All Media (Music, Video, Web pages)" -- GitLab From 00ba099a9e23103900399803ffc375873fbfe4a3 Mon Sep 17 00:00:00 2001 From: Seth ProductEngine <slitovchuk@productengine.com> Date: Wed, 21 Sep 2011 19:28:16 +0300 Subject: [PATCH 010/256] EXP-1221 FIXED Added a floater container class that provides an interface for all former Side Tray panels. The container implements a unified behavior similar to Side Tray tabs for all floaters: - LLSD params are passed to the main panel (root panel containing other child panels) upon opening the floater via LLFloaterReg, - LLSD params can be passed to one of the child panels using LLFloaterSidePanelContainer::openChildPanel() - transient floaters (e.g. IM windows) should not hide when the container floater is clicked, so that it's possible to drag an inventory item from My Inventory floater to a docked IM window. --- indra/newview/CMakeLists.txt | 2 + indra/newview/llfloatersidepanelcontainer.cpp | 77 +++++++++++++++++++ indra/newview/llfloatersidepanelcontainer.h | 54 +++++++++++++ 3 files changed, 133 insertions(+) create mode 100644 indra/newview/llfloatersidepanelcontainer.cpp create mode 100644 indra/newview/llfloatersidepanelcontainer.h diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 11b19ca4fec..4001cd39750 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -228,6 +228,7 @@ set(viewer_SOURCE_FILES llfloatersearch.cpp llfloatersellland.cpp llfloatersettingsdebug.cpp + llfloatersidepanelcontainer.cpp llfloatersidetraytab.cpp llfloatersnapshot.cpp llfloatersounddevices.cpp @@ -791,6 +792,7 @@ set(viewer_HEADER_FILES llfloatersearch.h llfloatersellland.h llfloatersettingsdebug.h + llfloatersidepanelcontainer.h llfloatersidetraytab.h llfloatersnapshot.h llfloatersounddevices.h diff --git a/indra/newview/llfloatersidepanelcontainer.cpp b/indra/newview/llfloatersidepanelcontainer.cpp new file mode 100644 index 00000000000..54cdb574b33 --- /dev/null +++ b/indra/newview/llfloatersidepanelcontainer.cpp @@ -0,0 +1,77 @@ +/** + * @file llfloatersidepanelcontainer.cpp + * @brief LLFloaterSidePanelContainer class definition + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#include "llviewerprecompiledheaders.h" + +#include "llfloatersidepanelcontainer.h" + +// newview includes +#include "llsidetraypanelcontainer.h" +#include "lltransientfloatermgr.h" + +LLFloaterSidePanelContainer::LLFloaterSidePanelContainer(const LLSD& key, const Params& params) +: LLFloater(key, params) +{ + // Prevent transient floaters (e.g. IM windows) from hiding + // when this floater is clicked. + LLTransientFloaterMgr::getInstance()->addControlView(LLTransientFloaterMgr::GLOBAL, this); +} + +LLFloaterSidePanelContainer::~LLFloaterSidePanelContainer() +{ + LLTransientFloaterMgr::getInstance()->removeControlView(LLTransientFloaterMgr::GLOBAL, this); +} + +void LLFloaterSidePanelContainer::onOpen(const LLSD& key) +{ + getChild<LLPanel>("main_panel")->onOpen(key); +} + +LLPanel* LLFloaterSidePanelContainer::openChildPanel(const std::string& panel_name, const LLSD& params) +{ + LLView* view = findChildView(panel_name, true); + if (!view) return NULL; + + openFloater(); + + LLPanel* panel = NULL; + + LLSideTrayPanelContainer* container = dynamic_cast<LLSideTrayPanelContainer*>(view->getParent()); + if (container) + { + LLSD new_params = params; + new_params[LLSideTrayPanelContainer::PARAM_SUB_PANEL_NAME] = panel_name; + container->onOpen(new_params); + + panel = container->getCurrentPanel(); + } + else if (panel = dynamic_cast<LLPanel*>(view)) + { + panel->onOpen(params); + } + + return panel; +} diff --git a/indra/newview/llfloatersidepanelcontainer.h b/indra/newview/llfloatersidepanelcontainer.h new file mode 100644 index 00000000000..37d65a13544 --- /dev/null +++ b/indra/newview/llfloatersidepanelcontainer.h @@ -0,0 +1,54 @@ +/** + * @file llfloatersidepanelcontainer.h + * @brief LLFloaterSidePanelContainer class + * + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#ifndef LL_LLFLOATERSIDEPANELCONTAINER_H +#define LL_LLFLOATERSIDEPANELCONTAINER_H + +#include "llfloater.h" + +/** + * Class LLFloaterSidePanelContainer + * + * Provides an interface for all former Side Tray panels. + * + * This class helps to make sure that clicking a floater containing the side panel + * doesn't make transient floaters (e.g. IM windows) hide, so that it's possible to + * drag an inventory item from My Inventory window to a docked IM window, + * i.e. share the item (see VWR-22891). + */ +class LLFloaterSidePanelContainer : public LLFloater +{ +public: + LLFloaterSidePanelContainer(const LLSD& key, const Params& params = getDefaultParams()); + ~LLFloaterSidePanelContainer(); + + /*virtual*/ void onOpen(const LLSD& key); + + LLPanel* openChildPanel(const std::string& panel_name, const LLSD& params); +}; + +#endif // LL_LLFLOATERSIDEPANELCONTAINER_H -- GitLab From 305b65f6f600b81de9a78e1246d2a5353cc3189b Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Wed, 21 Sep 2011 12:11:23 -0700 Subject: [PATCH 011/256] EXP-1205 PROGRESS -- As a User, I want a toybox which will contain all buttons that I can d&d into the toolbars EXP-1210 FIX -- Implement new toybox floater window EXP-1231 FIX -- Add menu option to toggle the toybox floater on and off * Basic toybox floater implemented as its own class * Toybox is available through "Me -> Toolbars..." menu option or ctrl-T shortcut * Toolbars now have "side" type rather than simple orientation, as well as button state for "icons only" or "icons with text". Reviewed by Richard --- indra/llui/lltoolbar.cpp | 58 ++++++++-- indra/llui/lltoolbar.h | 55 ++++++++-- indra/newview/CMakeLists.txt | 2 + indra/newview/llfloatertoybox.cpp | 103 ++++++++++++++++++ indra/newview/llfloatertoybox.h | 58 ++++++++++ indra/newview/llviewerfloaterreg.cpp | 2 + .../skins/default/xui/en/floater_toybox.xml | 63 +++++++++++ .../skins/default/xui/en/menu_login.xml | 2 +- .../skins/default/xui/en/menu_viewer.xml | 14 ++- 9 files changed, 336 insertions(+), 21 deletions(-) create mode 100644 indra/newview/llfloatertoybox.cpp create mode 100644 indra/newview/llfloatertoybox.h create mode 100644 indra/newview/skins/default/xui/en/floater_toybox.xml diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index cdd3a502053..2c1e141ca79 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -32,23 +32,45 @@ //static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar"); + +namespace LLToolBarEnums +{ + LLLayoutStack::ELayoutOrientation getOrientation(SideType sideType) + { + LLLayoutStack::ELayoutOrientation orientation = LLLayoutStack::HORIZONTAL; + + if ((sideType == SIDE_LEFT) || (sideType == SIDE_RIGHT)) + { + orientation = LLLayoutStack::VERTICAL; + } + + return orientation; + } +} + + LLToolBar::Params::Params() -: orientation("orientation"), - buttons("button") +: button_display_mode("button_display_mode"), + buttons("button"), + side("side") {} LLToolBar::LLToolBar(const Params& p) : LLUICtrl(p), - mOrientation(p.orientation), + mButtonType(p.button_display_mode), + mSideType(p.side), mStack(NULL) -{} +{ +} void LLToolBar::initFromParams(const LLToolBar::Params& p) { + LLLayoutStack::ELayoutOrientation orientation = LLToolBarEnums::getOrientation(p.side); + LLLayoutStack::Params centering_stack_p; centering_stack_p.rect = getLocalRect(); centering_stack_p.follows.flags = FOLLOWS_ALL; - centering_stack_p.orientation = p.orientation; + centering_stack_p.orientation = orientation; centering_stack_p.name = "centering_stack"; LLLayoutPanel::Params border_panel_p; @@ -75,8 +97,8 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) LLLayoutStack::Params stack_p; stack_p.rect = getLocalRect(); stack_p.name = "button_stack"; - stack_p.orientation = p.orientation; - stack_p.follows.flags = (mOrientation == LLLayoutStack::HORIZONTAL) + stack_p.orientation = orientation; + stack_p.follows.flags = (orientation == LLLayoutStack::HORIZONTAL) ? (FOLLOWS_TOP|FOLLOWS_BOTTOM) // horizontal : (FOLLOWS_LEFT|FOLLOWS_RIGHT); // vertical @@ -88,7 +110,7 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) // remove any offset from button LLRect button_rect(button_p.rect); - if (mOrientation == LLLayoutStack::HORIZONTAL) + if (orientation == LLLayoutStack::HORIZONTAL) { button_rect.setOriginAndSize(0, 0, 0, getRect().getHeight()); } @@ -139,7 +161,7 @@ void LLToolBar::updateLayout() max_height = llmax(button->getRect().getHeight(), max_height); } - if (mOrientation == LLLayoutStack::HORIZONTAL) + if (LLToolBarEnums::getOrientation(mSideType) == LLLayoutStack::HORIZONTAL) { mStack->reshape(total_width, mStack->getParent()->getRect().getHeight()); } @@ -153,6 +175,24 @@ void LLToolBar::updateLayout() void LLToolBar::draw() { + //gl_rect_2d(getLocalRect(), LLColor4::blue, TRUE); LLUICtrl::draw(); } +namespace LLInitParam +{ + void TypeValues<LLToolBarEnums::ButtonType>::declareValues() + { + declare("icons_only", LLToolBarEnums::BTNTYPE_ICONS_ONLY); + declare("icons_with_text", LLToolBarEnums::BTNTYPE_ICONS_WITH_TEXT); + } + + void TypeValues<LLToolBarEnums::SideType>::declareValues() + { + declare("none", LLToolBarEnums::SIDE_NONE); + declare("bottom", LLToolBarEnums::SIDE_BOTTOM); + declare("left", LLToolBarEnums::SIDE_LEFT); + declare("right", LLToolBarEnums::SIDE_RIGHT); + declare("top", LLToolBarEnums::SIDE_TOP); + } +} diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index fb03095c566..60a848a6e39 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -32,6 +32,7 @@ #include "lllayoutstack.h" #include "llbutton.h" + class LLToolBarButton : public LLButton { public: @@ -40,9 +41,44 @@ class LLToolBarButton : public LLButton }; LLToolBarButton(const Params& p) : LLButton(p) {} - }; + +namespace LLToolBarEnums +{ + enum ButtonType + { + BTNTYPE_ICONS_ONLY = 0, + BTNTYPE_ICONS_WITH_TEXT, + }; + + enum SideType + { + SIDE_NONE = 0, + SIDE_BOTTOM, + SIDE_LEFT, + SIDE_RIGHT, + SIDE_TOP, + }; +} + +// NOTE: This needs to occur before Param block declaration for proper compilation. +namespace LLInitParam +{ + template<> + struct TypeValues<LLToolBarEnums::ButtonType> : public TypeValuesHelper<LLToolBarEnums::ButtonType> + { + static void declareValues(); + }; + + template<> + struct TypeValues<LLToolBarEnums::SideType> : public TypeValuesHelper<LLToolBarEnums::SideType> + { + static void declareValues(); + }; +} + + class LLToolBar : public LLUICtrl { @@ -50,26 +86,29 @@ class LLToolBar struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> { - Mandatory<LLLayoutStack::ELayoutOrientation, - LLLayoutStack::OrientationNames> orientation; - Multiple<LLToolBarButton::Params> buttons; + Mandatory<LLToolBarEnums::ButtonType> button_display_mode; + Multiple<LLToolBarButton::Params> buttons; + Mandatory<LLToolBarEnums::SideType> side; Params(); }; - /*virtual*/ void draw(); + // virtuals + void draw(); protected: friend class LLUICtrlFactory; LLToolBar(const Params&); + void initFromParams(const Params&); void addButton(LLToolBarButton* buttonp); void updateLayout(); private: - LLLayoutStack::ELayoutOrientation mOrientation; - LLLayoutStack* mStack; - std::list<LLToolBarButton*> mButtons; + std::list<LLToolBarButton*> mButtons; + LLToolBarEnums::ButtonType mButtonType; + LLToolBarEnums::SideType mSideType; + LLLayoutStack* mStack; }; diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 73511447658..18e092eb4a3 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -237,6 +237,7 @@ set(viewer_SOURCE_FILES llfloatertools.cpp llfloatertopobjects.cpp llfloatertos.cpp + llfloatertoybox.cpp llfloateruipreview.cpp llfloaterurlentry.cpp llfloatervoiceeffect.cpp @@ -800,6 +801,7 @@ set(viewer_HEADER_FILES llfloatertools.h llfloatertopobjects.h llfloatertos.h + llfloatertoybox.h llfloateruipreview.h llfloaterurlentry.h llfloatervoiceeffect.h diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp new file mode 100644 index 00000000000..b4fb2e45ab9 --- /dev/null +++ b/indra/newview/llfloatertoybox.cpp @@ -0,0 +1,103 @@ +/** + * @file llfloatertoybox.cpp + * @brief The toybox for flexibilizing the UI. + * + * $LicenseInfo:firstyear=2002&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#include "llviewerprecompiledheaders.h" + +#include "llfloatertoybox.h" + +#include "llbutton.h" +#include "llpanel.h" + + +LLFloaterToybox::LLFloaterToybox(const LLSD& key) + : LLFloater(key) + , mBtnRestoreDefaults(NULL) +{ + mCommitCallbackRegistrar.add("Toybox.RestoreDefaults", boost::bind(&LLFloaterToybox::onBtnRestoreDefaults, this)); +} + +LLFloaterToybox::~LLFloaterToybox() +{ +} + +BOOL LLFloaterToybox::postBuild() +{ + center(); + + mBtnRestoreDefaults = getChild<LLButton>("btn_restore_defaults"); + + // + // Create Buttons + // +/* + LLToyboxButtons::load(); + + for (size_t i = 0; i < LLToyboxButtons::buttonCount(); i++) + { + LLToyboxButton * button = LLToyboxButtons::get(i); + + // Panel opacity depends on whether or not button position is established + LLPanel * buttonPanel = createPanelForButton(button); + + mToolBar->add(buttonPanel); + } +*/ + + return TRUE; +} + +void LLFloaterToybox::onOpen(const LLSD& key) +{ + +} + +BOOL LLFloaterToybox::canClose() +{ + return TRUE; +} + +void LLFloaterToybox::onClose(bool app_quitting) +{ + +} + +void LLFloaterToybox::draw() +{ + LLFloater::draw(); +} + +void LLFloaterToybox::onFocusReceived() +{ + +} + +void LLFloaterToybox::onBtnRestoreDefaults() +{ + +} + + +// eof diff --git a/indra/newview/llfloatertoybox.h b/indra/newview/llfloatertoybox.h new file mode 100644 index 00000000000..bb9392a0e3b --- /dev/null +++ b/indra/newview/llfloatertoybox.h @@ -0,0 +1,58 @@ +/** + * @file llfloatertoybox.h + * @brief The toybox for flexibilizing the UI. + * + * $LicenseInfo:firstyear=2002&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#ifndef LL_LLFLOATERTOYBOX_H +#define LL_LLFLOATERTOYBOX_H + +#include "llfloater.h" + + +class LLButton; + + +class LLFloaterToybox +: public LLFloater +{ +public: + LLFloaterToybox(const LLSD& key); + virtual ~LLFloaterToybox(); + + // virtuals + BOOL postBuild(); + void onOpen(const LLSD& key); + BOOL canClose(); + void onClose(bool app_quitting); + void draw(); + void onFocusReceived(); + +protected: + void onBtnRestoreDefaults(); + +public: + LLButton * mBtnRestoreDefaults; +}; + +#endif // LL_LLFLOATERTOYBOX_H diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 4af5fdd9f36..375ee3ad33b 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -103,6 +103,7 @@ #include "llfloatertools.h" #include "llfloatertos.h" #include "llfloatertopobjects.h" +#include "llfloatertoybox.h" #include "llfloateruipreview.h" #include "llfloatervoiceeffect.h" #include "llfloaterwhitelistentry.h" @@ -255,6 +256,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("test_text_editor", "floater_test_text_editor.xml", &LLFloaterReg::build<LLFloater>); LLFloaterReg::add("test_widgets", "floater_test_widgets.xml", &LLFloaterReg::build<LLFloater>); LLFloaterReg::add("top_objects", "floater_top_objects.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterTopObjects>); + LLFloaterReg::add("toybox", "floater_toybox.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterToybox>); LLFloaterReg::add("reporter", "floater_report_abuse.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterReporter>); LLFloaterReg::add("reset_queue", "floater_script_queue.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterResetQueue>); diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml new file mode 100644 index 00000000000..19514973091 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + can_close="true" + can_dock="false" + can_minimize="false" + can_resize="false" + default_tab_group="1" + height="460" + help_topic="toybox" + layout="topleft" + legacy_header_height="18" + name="Toybox" + open_centered="true" + single_instance="true" + title="Customize toolbars" + width="658"> + <text + follows="left|top" + font="SansSerifMedium" + halign="left" + height="20" + layout="topleft" + left="40" + length="1" + name="toybox label 1" + right="-40" + top="35" + type="string"> + Add or remove buttons by dragging them to or from the toolbars. + </text> + <text + follows="left|top" + font="SansSerifMedium" + halign="left" + height="20" + layout="topleft" + left="40" + length="1" + name="toybox label 2" + right="-40" + top="55" + type="string"> + Buttons will appear as shown or as icon-only depending on each toolbar's settings. + </text> + <toolbar + bottom="395" + left="40" + right="-40" + top="85"> + </toolbar> + <button + follows="left|bottom" + height="23" + label="Restore defaults" + label_selected="Restore defaults" + layout="topleft" + left="40" + name="btn_restore_defaults" + top="415" + width="130"> + <button.commit_callback function="Toybox.RestoreDefaults" /> + </button> +</floater> diff --git a/indra/newview/skins/default/xui/en/menu_login.xml b/indra/newview/skins/default/xui/en/menu_login.xml index 4c4ff3e5c45..bb58dd500f0 100644 --- a/indra/newview/skins/default/xui/en/menu_login.xml +++ b/indra/newview/skins/default/xui/en/menu_login.xml @@ -13,7 +13,7 @@ tear_off="true" name="File"> <menu_item_call - label="Preferences" + label="Preferences..." name="Preferences..." shortcut="control|P"> <menu_item_call.on_click diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 36ebe737532..2e93243b0f0 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -9,14 +9,22 @@ name="Me" tear_off="true"> <menu_item_call - label="Preferences" + label="Preferences..." name="Preferences" shortcut="control|P"> <menu_item_call.on_click function="Floater.Show" parameter="preferences" /> </menu_item_call> - <menu_item_call + <menu_item_call + label="Toolbars..." + name="Toolbars" + shortcut="control|T"> + <menu_item_call.on_click + function="Floater.Toggle" + parameter="toybox" /> + </menu_item_call> + <menu_item_call label="My Dashboard" name="Manage My Account"> <menu_item_call.on_click @@ -2855,7 +2863,7 @@ function="ToggleControl" parameter="BottomPanelNew" /> </menu_item_check>--> - <menu_item_call + <menu_item_call label="Media Browser Test" name="Web Browser Test"> <menu_item_call.on_click -- GitLab From 3dfc05c2e84923bc0aef5256d227f566aaa37868 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Wed, 21 Sep 2011 13:51:59 -0700 Subject: [PATCH 012/256] Updating toolbar test floater to use new side definition rather than orientation --- indra/newview/skins/default/xui/en/floater_test_toolbar.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml index 55cfd462acc..76bba4e72e4 100644 --- a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml +++ b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml @@ -13,7 +13,7 @@ width="500" left="0" top="20" - orientation="horizontal"> + side="top"> <button width="0" auto_resize="true" label="Button 1"/> @@ -30,7 +30,7 @@ width="100" left="0" top="70" - orientation="vertical"> + side="left"> <button height="30" label="Button 1"/> <button height="50" -- GitLab From 7bc6e626f40a910b4a3e5b88161e96b9967bd24d Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Wed, 21 Sep 2011 14:24:38 -0700 Subject: [PATCH 013/256] EXP-1207 : LLToolbarView skeleton, nothing operational yet... --- indra/llui/CMakeLists.txt | 2 + indra/llui/lltoolbarview.cpp | 74 +++++++++++++++++++ indra/llui/lltoolbarview.h | 52 +++++++++++++ indra/newview/app_settings/settings.xml | 11 +++ indra/newview/llviewerwindow.cpp | 10 +++ .../skins/default/xui/en/main_view.xml | 35 +++++++++ 6 files changed, 184 insertions(+) create mode 100644 indra/llui/lltoolbarview.cpp create mode 100644 indra/llui/lltoolbarview.h diff --git a/indra/llui/CMakeLists.txt b/indra/llui/CMakeLists.txt index cf3f9b1a7b3..d81801a0d26 100644 --- a/indra/llui/CMakeLists.txt +++ b/indra/llui/CMakeLists.txt @@ -100,6 +100,7 @@ set(llui_SOURCE_FILES lltransutil.cpp lltoggleablemenu.cpp lltoolbar.cpp + lltoolbarview.cpp lltooltip.cpp llui.cpp lluicolortable.cpp @@ -202,6 +203,7 @@ set(llui_HEADER_FILES lltimectrl.h lltoggleablemenu.h lltoolbar.h + lltoolbarview.h lltooltip.h lltransutil.h lluicolortable.h diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp new file mode 100644 index 00000000000..40d1ac3418e --- /dev/null +++ b/indra/llui/lltoolbarview.cpp @@ -0,0 +1,74 @@ +/** + * @file lltoolbarview.cpp + * @author Merov Linden + * @brief User customizable toolbar class + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#include "linden_common.h" + +#include "lltoolbarview.h" +#include "llbutton.h" + +LLToolBarView* gToolBarView = NULL; + +static LLDefaultChildRegistry::Register<LLToolBarView> r("toolbar_view"); + +LLToolBarView::LLToolBarView(const Params& p) +: LLUICtrl(p) +{ +} + +BOOL LLToolBarView::postBuild() +{ + LLButton* btn = getChild<LLButton>("color_pipette"); + btn->setVisible(TRUE); + LLRect ctrl_rect = getRect(); + LLRect btn_rect = btn->getRect(); + llinfos << "Merov debug : control rect = " << ctrl_rect.mLeft << ", " << ctrl_rect.mTop << ", " << ctrl_rect.mRight << ", " << ctrl_rect.mBottom << llendl; + llinfos << "Merov debug : button rect = " << btn_rect.mLeft << ", " << btn_rect.mTop << ", " << btn_rect.mRight << ", " << btn_rect.mBottom << llendl; + btn_rect.mLeft = 0; + btn_rect.mTop = ctrl_rect.getHeight(); + btn_rect.mRight = 28; + btn_rect.mBottom = btn_rect.mTop - 28; + btn->setRect(btn_rect); + btn_rect = btn->getRect(); + llinfos << "Merov debug : button rect = " << btn_rect.mLeft << ", " << btn_rect.mTop << ", " << btn_rect.mRight << ", " << btn_rect.mBottom << llendl; + return TRUE; +} + +void LLToolBarView::draw() +{ + LLButton* btn = getChild<LLButton>("color_pipette"); + btn->setVisible(TRUE); + static bool debug_print = true; + if (debug_print) + { + LLRect ctrl_rect = getRect(); + LLRect btn_rect = btn->getRect(); + llinfos << "Merov debug : draw control rect = " << ctrl_rect.mLeft << ", " << ctrl_rect.mTop << ", " << ctrl_rect.mRight << ", " << ctrl_rect.mBottom << llendl; + llinfos << "Merov debug : draw button rect = " << btn_rect.mLeft << ", " << btn_rect.mTop << ", " << btn_rect.mRight << ", " << btn_rect.mBottom << llendl; + debug_print = false; + } + LLUICtrl::draw(); +} diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h new file mode 100644 index 00000000000..0bd0070ab77 --- /dev/null +++ b/indra/llui/lltoolbarview.h @@ -0,0 +1,52 @@ +/** + * @file lltoolbarview.h + * @author Merov Linden + * @brief User customizable toolbar class + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#ifndef LL_LLTOOLBARVIEW_H +#define LL_LLTOOLBARVIEW_H + +#include "lluictrl.h" + +// Parent of all LLToolBar + +class LLToolBarView : public LLUICtrl +{ +public: + struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> {}; + void draw(); + /*virtual*/ BOOL postBuild(); + +protected: + friend class LLUICtrlFactory; + LLToolBarView(const Params&); + +private: + LLHandle<LLView> mSnapView; +}; + +extern LLToolBarView* gToolBarView; + +#endif // LL_LLTOOLBARVIEW_H diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 7ab9f36b87f..edebbcb8cf2 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -2652,6 +2652,17 @@ <key>Value</key> <integer>-1</integer> </map> + <key>DebugToolbarFUI</key> + <map> + <key>Comment</key> + <string>Turn on the FUI Toolbars</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>Boolean</string> + <key>Value</key> + <integer>1</integer> + </map> <key>DebugViews</key> <map> <key>Comment</key> diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 5893259d964..e92e7f11836 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -76,6 +76,7 @@ #include "lltimer.h" #include "timing.h" #include "llviewermenu.h" +#include "lltoolbarview.h" #include "lltooltip.h" #include "llmediaentry.h" #include "llurldispatcher.h" @@ -1778,6 +1779,14 @@ void LLViewerWindow::initBase() mHintHolder = main_view->getChild<LLView>("hint_holder")->getHandle(); mLoginPanelHolder = main_view->getChild<LLView>("login_panel_holder")->getHandle(); + // Update the toolbar global holder + // *TODO: Eventually, suppress the existence of this debug setting and turn toolbar FUI on permanently + if (gSavedSettings.getBOOL("DebugToolbarFUI")) + { + gToolBarView = main_view->getChild<LLToolBarView>("Toolbar View"); + } + + // Constrain floaters to inside the menu and status bar regions. gFloaterView = main_view->getChild<LLFloaterView>("Floater View"); gFloaterView->setFloaterSnapView(main_view->getChild<LLView>("floater_snap_region")->getHandle()); @@ -2000,6 +2009,7 @@ void LLViewerWindow::shutdownViews() gIMMgr = NULL; gToolTipView = NULL; + gToolBarView = NULL; gFloaterView = NULL; gMorphView = NULL; diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index a7d1aa963c7..54badb13862 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -162,6 +162,41 @@ top="0" width="1024"/> </panel> + + <panel follows="left|top" + layout="topleft" + height="500" + left="0" + mouse_opaque="false" + name="toolbar_view_holder" + tab_stop="false" + top="0" + visible="true" + width="1024"> + <toolbar_view follows="left|top" + layout="topleft" + height="100" + left="100" + mouse_opaque="false" + name="Toolbar View" + tab_stop="false" + top="100" + visible="true" + width="512"> + <button + follows="left|top" + height="28" + image_selected="eye_button_active.tga" + image_unselected="eye_button_inactive.tga" + layout="topleft" + top="0" + left="0" + name="color_pipette" + width="28" + visible="true" /> + </toolbar_view> + </panel> + </layout_panel> </layout_stack> <panel mouse_opaque="false" -- GitLab From 412e29ed9d62e975a5290c6008558a739b88065d Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Wed, 21 Sep 2011 17:25:38 -0700 Subject: [PATCH 014/256] EXP-1205 PROGRESS -- As a User, I want a toybox which will contain all buttons that I can d&d into the toolbars EXP-1232 FIX -- Create class to load and hold all of the command meta data associated with FUI toolbar actions * Added basic commands.xml file to define FUI-related toolbar actions. For now a basic "avatar" and "places" button are defined. * Added basic command manager to parse and hold strings that define potential toolbar command actions. * Broke out a separate floater function as a placeholder for the 3-state toolbar floater toggling. * LLUI::initClass now parses the new commands.xml file Reviewed by Richard. --- indra/llui/CMakeLists.txt | 2 + indra/llui/llcommandmanager.cpp | 138 ++++++++++++++++++ indra/llui/llcommandmanager.h | 97 ++++++++++++ indra/llui/llfloaterreg.cpp | 11 ++ indra/llui/llfloaterreg.h | 1 + indra/llui/llui.cpp | 5 + indra/newview/CMakeLists.txt | 1 + indra/newview/app_settings/commands.xml | 17 +++ .../skins/default/textures/textures.xml | 3 + .../newview/skins/default/xui/en/strings.xml | 8 +- 10 files changed, 282 insertions(+), 1 deletion(-) create mode 100644 indra/llui/llcommandmanager.cpp create mode 100644 indra/llui/llcommandmanager.h create mode 100644 indra/newview/app_settings/commands.xml diff --git a/indra/llui/CMakeLists.txt b/indra/llui/CMakeLists.txt index cf3f9b1a7b3..0687cf55d8c 100644 --- a/indra/llui/CMakeLists.txt +++ b/indra/llui/CMakeLists.txt @@ -35,6 +35,7 @@ set(llui_SOURCE_FILES llcheckboxctrl.cpp llclipboard.cpp llcombobox.cpp + llcommandmanager.cpp llconsole.cpp llcontainerview.cpp llctrlselectioninterface.cpp @@ -132,6 +133,7 @@ set(llui_HEADER_FILES llcheckboxctrl.h llclipboard.h llcombobox.h + llcommandmanager.h llconsole.h llcontainerview.h llctrlselectioninterface.h diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp new file mode 100644 index 00000000000..306b357d6a9 --- /dev/null +++ b/indra/llui/llcommandmanager.cpp @@ -0,0 +1,138 @@ +/** + * @file llcommandmanager.cpp + * @brief LLCommandManager class + * + * $LicenseInfo:firstyear=2001&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +// A control that displays the name of the chosen item, which when +// clicked shows a scrolling box of options. + +#include "linden_common.h" + +#include "llcommandmanager.h" +#include "lldir.h" +#include "llerror.h" +#include "llxuiparser.h" + +#include <boost/foreach.hpp> + + +// +// LLCommand class +// + +LLCommand::Params::Params() + : function("function") + , icon("icon") + , label_ref("label_ref") + , name("name") + , param("param") + , tooltip_ref("tooltip_ref") +{ +} + +LLCommand::LLCommand(const LLCommand::Params& p) + : mFunction(p.function) + , mIcon(p.icon) + , mLabelRef(p.label_ref) + , mName(p.name) + , mParam(p.param) + , mTooltipRef(p.tooltip_ref) +{ +} + + +// +// LLCommandManager class +// + +LLCommandManager::LLCommandManager() +{ +} + +LLCommandManager::~LLCommandManager() +{ +} + +U32 LLCommandManager::count() const +{ + return mCommands.size(); +} + +LLCommand * LLCommandManager::getCommand(U32 commandIndex) +{ + return mCommands[commandIndex]; +} + +LLCommand * LLCommandManager::getCommand(const std::string& commandName) +{ + LLCommand * command_name_match = NULL; + + for (CommandVector::iterator it = mCommands.begin(); it != mCommands.end(); ++it) + { + LLCommand * command = *it; + + if (command->name() == commandName) + { + command_name_match = command; + break; + } + } + + return command_name_match; +} + +//static +bool LLCommandManager::load() +{ + LLCommandManager& mgr = LLCommandManager::instance(); + + std::string commands_file = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "commands.xml"); + + LLCommandManager::Params commandsParams; + + LLSimpleXUIParser parser; + + if (!parser.readXUI(commands_file, commandsParams)) + { + llerrs << "Unable to load xml file: " << commands_file << llendl; + return false; + } + + if (!commandsParams.validateBlock()) + { + llerrs << "Unable to validate commands param block from file: " << commands_file << llendl; + return false; + } + + BOOST_FOREACH(LLCommand::Params& commandParams, commandsParams.commands) + { + LLCommand * command = new LLCommand(commandParams); + + mgr.mCommands.push_back(command); + + llinfos << "Successfully loaded command: " << command->name() << llendl; + } + + return true; +} diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h new file mode 100644 index 00000000000..4f3c9b2ada5 --- /dev/null +++ b/indra/llui/llcommandmanager.h @@ -0,0 +1,97 @@ +/** + * @file llcommandmanager.h + * @brief LLCommandManager class to hold commands + * + * $LicenseInfo:firstyear=2001&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#ifndef LL_COMMANDMANAGER_H +#define LL_COMMANDMANAGER_H + +#include "llinitparam.h" +#include "llsingleton.h" + + +class LLCommand +{ +public: + struct Params : public LLInitParam::Block<Params> + { + Mandatory<std::string> function; + Mandatory<std::string> icon; + Mandatory<std::string> label_ref; + Mandatory<std::string> name; + Optional<std::string> param; + Mandatory<std::string> tooltip_ref; + + Params(); + }; + + LLCommand(const LLCommand::Params& p); + + const std::string& functionName() const { return mFunction; } + const std::string& icon() const { return mIcon; } + const std::string& labelRef() const { return mLabelRef; } + const std::string& name() const { return mName; } + const std::string& param() const { return mParam; } + const std::string& tooltipRef() const { return mTooltipRef; } + +private: + std::string mFunction; + std::string mIcon; + std::string mLabelRef; + std::string mName; + std::string mParam; + std::string mTooltipRef; +}; + + +class LLCommandManager +: public LLSingleton<LLCommandManager> +{ +public: + struct Params : public LLInitParam::Block<Params> + { + Multiple< LLCommand::Params, AtLeast<1> > commands; + + Params() + : commands("command") + { + } + }; + + LLCommandManager(); + ~LLCommandManager(); + + U32 count() const; + LLCommand * getCommand(U32 commandIndex); + LLCommand * getCommand(const std::string& commandName); + + static bool load(); + +private: + typedef std::vector<LLCommand *> CommandVector; + CommandVector mCommands; +}; + + +#endif // LL_COMMANDMANAGER_H diff --git a/indra/llui/llfloaterreg.cpp b/indra/llui/llfloaterreg.cpp index fc7dcfcc4e3..bc740dde171 100644 --- a/indra/llui/llfloaterreg.cpp +++ b/indra/llui/llfloaterreg.cpp @@ -452,6 +452,17 @@ void LLFloaterReg::toggleFloaterInstance(const LLSD& sdname) toggleInstance(name, key); } +//static +void LLFloaterReg::toggleToolbarFloaterInstance(const LLSD& sdname) +{ + // Do some extra logic here for 3-state toolbar floater toggling madness :) + + LLSD key; + std::string name = sdname.asString(); + parse_name_key(name, key); + toggleInstance(name, key); +} + //static bool LLFloaterReg::floaterInstanceVisible(const LLSD& sdname) { diff --git a/indra/llui/llfloaterreg.h b/indra/llui/llfloaterreg.h index a2027a77a00..6239d98a7d7 100644 --- a/indra/llui/llfloaterreg.h +++ b/indra/llui/llfloaterreg.h @@ -127,6 +127,7 @@ class LLFloaterReg static void showFloaterInstance(const LLSD& sdname); static void hideFloaterInstance(const LLSD& sdname); static void toggleFloaterInstance(const LLSD& sdname); + static void toggleToolbarFloaterInstance(const LLSD& sdname); static bool floaterInstanceVisible(const LLSD& sdname); static bool floaterInstanceMinimized(const LLSD& sdname); diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp index 593354ee9ba..1bc575438c3 100644 --- a/indra/llui/llui.cpp +++ b/indra/llui/llui.cpp @@ -41,6 +41,7 @@ #include "llgl.h" // Project includes +#include "llcommandmanager.h" #include "llcontrol.h" #include "llui.h" #include "lluicolortable.h" @@ -1617,6 +1618,7 @@ void LLUI::initClass(const settings_map_t& settings, // Callbacks for associating controls with floater visibilty: reg.add("Floater.Toggle", boost::bind(&LLFloaterReg::toggleFloaterInstance, _2)); + reg.add("Floater.ToolbarToggle", boost::bind(&LLFloaterReg::toggleToolbarFloaterInstance, _2)); reg.add("Floater.Show", boost::bind(&LLFloaterReg::showFloaterInstance, _2)); reg.add("Floater.Hide", boost::bind(&LLFloaterReg::hideFloaterInstance, _2)); reg.add("Floater.InitToVisibilityControl", boost::bind(&LLFloaterReg::initUICtrlToFloaterVisibilityControl, _1, _2)); @@ -1635,6 +1637,9 @@ void LLUI::initClass(const settings_map_t& settings, // Used by menus along with Floater.Toggle to display visibility as a checkmark LLUICtrl::EnableCallbackRegistry::defaultRegistrar().add("Floater.Visible", boost::bind(&LLFloaterReg::floaterInstanceVisible, _2)); + + // Parse the master list of commands + LLCommandManager::load(); } void LLUI::cleanupClass() diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 18e092eb4a3..597a1dd603a 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1409,6 +1409,7 @@ list(APPEND viewer_SOURCE_FILES ${viewer_XUI_FILES}) set(viewer_APPSETTINGS_FILES app_settings/anim.ini app_settings/cmd_line.xml + app_settings/commands.xml app_settings/grass.xml app_settings/high_graphics.xml app_settings/ignorable_dialogs.xml diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml new file mode 100644 index 00000000000..8e45e866ca4 --- /dev/null +++ b/indra/newview/app_settings/commands.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<commands> + <command name="avatar" + icon="Command_Avatar_Icon" + label_ref="Command_Avatar_Label" + tooltip_ref="Command_Avatar_Tooltip" + function="Floater.ToolbarToggle" + param="avatar" + /> + <command name="places" + icon="Command_Places_Icon" + label_ref="Command_Places_Label" + tooltip_ref="Command_Places_Tooltip" + function="Floater.ToolbarToggle" + param="places" + /> +</commands> diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 4d83ec29021..598e39730cc 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -125,6 +125,9 @@ with the same filename but different name <texture name="Checkbox_Press" file_name="widgets/Checkbox_Press.png" preload="true" /> <texture name="Check_Mark" file_name="icons/check_mark" preload="true" /> + <texture name="Command_Avatar_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Places_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="ComboButton_Disabled" file_name="widgets/ComboButton_Disabled.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> <texture name="ComboButton_Selected" file_name="widgets/ComboButton_Selected.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> <texture name="ComboButton_UpSelected" file_name="widgets/ComboButton_UpSelected.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index c0154ae9b3c..3b986664dbc 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -3651,4 +3651,10 @@ Try enclosing path to the editor with double quotes. <string name="BeaconMedia">Viewing media beacons (white)</string> <string name="ParticleHiding">Hiding Particles</string> - </strings> + <!-- commands --> + <string name="Command_Avatar_Label">Avatar</string> + <string name="Command_Avatar_Tooltip">Customize your avatar</string> + <string name="Command_Places_Label">Places</string> + <string name="Command_Places_Tooltip">Destination guide</string> + +</strings> -- GitLab From f72115059e7b1450e221a8006d2030ac35767b5a Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 21 Sep 2011 17:57:49 -0700 Subject: [PATCH 015/256] EXP-1230 FIX As a resident, I want to not have to choose a UI mode for existing configs that point to settings_minimal.xml, make it a valid, but empty file --- indra/newview/app_settings/settings_minimal.xml | 1 + 1 file changed, 1 insertion(+) create mode 100644 indra/newview/app_settings/settings_minimal.xml diff --git a/indra/newview/app_settings/settings_minimal.xml b/indra/newview/app_settings/settings_minimal.xml new file mode 100644 index 00000000000..01a70f26713 --- /dev/null +++ b/indra/newview/app_settings/settings_minimal.xml @@ -0,0 +1 @@ +<llsd/> \ No newline at end of file -- GitLab From 7e308b551c7fde9178e354dba005a5b35f793245 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 21 Sep 2011 18:48:39 -0700 Subject: [PATCH 016/256] EXP-1239 WIP make toolbars wrap when there is not enough room initial pass at wrapping --- indra/llui/lltoolbar.cpp | 196 ++++++++++++------ indra/llui/lltoolbar.h | 27 ++- .../default/xui/en/floater_test_toolbar.xml | 13 +- 3 files changed, 165 insertions(+), 71 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 2c1e141ca79..1e8be93f17a 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -30,9 +30,10 @@ #include "boost/foreach.hpp" #include "lltoolbar.h" +// uncomment this and remove the one in llui.cpp when there is an external reference to this translation unit +// thanks, MSVC! //static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar"); - namespace LLToolBarEnums { LLLayoutStack::ELayoutOrientation getOrientation(SideType sideType) @@ -47,85 +48,88 @@ namespace LLToolBarEnums return orientation; } } - +using namespace LLToolBarEnums; LLToolBar::Params::Params() : button_display_mode("button_display_mode"), buttons("button"), - side("side") + side("side"), + button_icon("button_icon"), + button_icon_and_text("button_icon_and_text"), + wrap("wrap", true), + min_width("min_width", 0), + max_width("max_width", S32_MAX), + background_image("background_image") {} LLToolBar::LLToolBar(const Params& p) : LLUICtrl(p), mButtonType(p.button_display_mode), mSideType(p.side), - mStack(NULL) + mWrap(p.wrap), + mNeedsLayout(false), + mCenterPanel(NULL), + mCenteringStack(NULL), + mMinWidth(p.min_width), + mMaxWidth(p.max_width), + mBackgroundImage(p.background_image) { } void LLToolBar::initFromParams(const LLToolBar::Params& p) { - LLLayoutStack::ELayoutOrientation orientation = LLToolBarEnums::getOrientation(p.side); + LLLayoutStack::ELayoutOrientation orientation = getOrientation(p.side); LLLayoutStack::Params centering_stack_p; + centering_stack_p.name = "centering_stack"; centering_stack_p.rect = getLocalRect(); centering_stack_p.follows.flags = FOLLOWS_ALL; centering_stack_p.orientation = orientation; - centering_stack_p.name = "centering_stack"; + mCenteringStack = LLUICtrlFactory::create<LLLayoutStack>(centering_stack_p); + addChild(mCenteringStack); + LLLayoutPanel::Params border_panel_p; border_panel_p.name = "border_panel"; border_panel_p.rect = getLocalRect(); border_panel_p.auto_resize = true; border_panel_p.user_resize = false; - - LLLayoutStack* centering_stack = LLUICtrlFactory::create<LLLayoutStack>(centering_stack_p); - addChild(centering_stack); + mCenteringStack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); + LLLayoutPanel::Params center_panel_p; center_panel_p.name = "center_panel"; center_panel_p.rect = getLocalRect(); center_panel_p.auto_resize = false; center_panel_p.user_resize = false; center_panel_p.fit_content = true; + mCenterPanel = LLUICtrlFactory::create<LLLayoutPanel>(center_panel_p); + mCenteringStack->addChild(mCenterPanel); + + mCenteringStack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); - centering_stack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); - LLLayoutPanel* center_panel = LLUICtrlFactory::create<LLLayoutPanel>(center_panel_p); - centering_stack->addChild(center_panel); - centering_stack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); - - LLLayoutStack::Params stack_p; - stack_p.rect = getLocalRect(); - stack_p.name = "button_stack"; - stack_p.orientation = orientation; - stack_p.follows.flags = (orientation == LLLayoutStack::HORIZONTAL) - ? (FOLLOWS_TOP|FOLLOWS_BOTTOM) // horizontal - : (FOLLOWS_LEFT|FOLLOWS_RIGHT); // vertical - - mStack = LLUICtrlFactory::create<LLLayoutStack>(stack_p); - center_panel->addChild(mStack); + addRow(); BOOST_FOREACH (LLToolBarButton::Params button_p, p.buttons) { - // remove any offset from button LLRect button_rect(button_p.rect); - - if (orientation == LLLayoutStack::HORIZONTAL) - { - button_rect.setOriginAndSize(0, 0, 0, getRect().getHeight()); + { // remove any offset from button + if (orientation == LLLayoutStack::HORIZONTAL) + { + button_rect.setOriginAndSize(0, 0, mMinWidth, getRect().getHeight()); + } + else // VERTICAL + { + button_rect.setOriginAndSize(0, 0, mMinWidth, button_rect.getHeight()); + } } - else // VERTICAL - { - button_rect.setOriginAndSize(0, 0, 0, button_rect.getHeight()); - } - button_p.follows.flags = FOLLOWS_NONE; - button_p.rect = button_rect; - button_p.chrome = true; - button_p.auto_resize = true; - LLToolBarButton* button = LLUICtrlFactory::create<LLToolBarButton>(button_p); + button_p.fillFrom((mButtonType == BTNTYPE_ICONS_ONLY) + ? p.button_icon // icon only + : p.button_icon_and_text); // icon + text - addButton(button); + mButtons.push_back(LLUICtrlFactory::create<LLToolBarButton>(button_p)); + mNeedsLayout = true; } updateLayout(); @@ -142,57 +146,127 @@ void LLToolBar::addButton(LLToolBarButton* buttonp) LLLayoutPanel* panel = LLUICtrlFactory::create<LLLayoutPanel>(panel_p); panel->addChild(buttonp); - mStack->addChild(panel); - mButtons.push_back(buttonp); + mStacks.back()->addChild(panel); } void LLToolBar::updateLayout() { - S32 total_width = 0; - S32 total_height = 0; - S32 max_width = getRect().getWidth(); - S32 max_height = getRect().getHeight(); + mCenteringStack->updateLayout(); + + if (!mNeedsLayout) return; + mNeedsLayout = false; + + { // clean up existing rows + BOOST_FOREACH(LLToolBarButton* button, mButtons) + { + if (button->getParent()) + { + button->getParent()->removeChild(button); + } + } + + BOOST_FOREACH(LLLayoutStack* stack, mStacks) + { + delete stack; + } + mStacks.clear(); + } + // start with one row of buttons + addRow(); + S32 total_width = 0, total_height = 0; + S32 max_total_width = 0, max_total_height = 0; + S32 max_width = getRect().getWidth(), max_height = getRect().getHeight(); BOOST_FOREACH(LLToolBarButton* button, mButtons) { - total_width += button->getRect().getWidth(); - total_height += button->getRect().getHeight(); + S32 button_width = button->getRect().getWidth(); + S32 button_height = button->getRect().getHeight(); + + if (getOrientation(mSideType) == LLLayoutStack::HORIZONTAL + && total_width + button_height > getRect().getWidth()) + { + addRow(); + total_width = 0; + } + addButton(button); + + total_width += button_width; + total_height += button_height; + max_total_width = llmax(max_total_width, total_width); + max_total_height = llmax(max_total_height, total_height); max_width = llmax(button->getRect().getWidth(), max_width); max_height = llmax(button->getRect().getHeight(), max_height); } - if (LLToolBarEnums::getOrientation(mSideType) == LLLayoutStack::HORIZONTAL) + if (getOrientation(mSideType) == LLLayoutStack::HORIZONTAL) { - mStack->reshape(total_width, mStack->getParent()->getRect().getHeight()); + BOOST_FOREACH(LLLayoutStack* stack, mStacks) + { + stack->reshape(max_total_width, stack->getParent()->getRect().getHeight()); + stack->updateLayout(); + } } else { - mStack->reshape(mStack->getParent()->getRect().getWidth(), total_height); - reshape(max_width, getRect().getHeight()); + BOOST_FOREACH(LLLayoutStack* stack, mStacks) + { + stack->reshape(stack->getParent()->getRect().getWidth(), max_total_height); + stack->updateLayout(); + } + + reshape(max_total_width, getRect().getHeight()); } } void LLToolBar::draw() { - //gl_rect_2d(getLocalRect(), LLColor4::blue, TRUE); + updateLayout(); + + { // draw background + LLRect bg_rect; + localRectToOtherView(mCenterPanel->getRect(),&bg_rect, this); + mBackgroundImage->draw(bg_rect); + } LLUICtrl::draw(); } +void LLToolBar::addRow() +{ + LLLayoutStack::ELayoutOrientation orientation = getOrientation(mSideType); + + LLLayoutStack::Params stack_p; + stack_p.rect = getLocalRect(); + stack_p.name = llformat("button_stack_%d", mStacks.size()); + stack_p.orientation = orientation; + stack_p.follows.flags = (orientation == LLLayoutStack::HORIZONTAL) + ? (FOLLOWS_TOP|FOLLOWS_BOTTOM) // horizontal + : (FOLLOWS_LEFT|FOLLOWS_RIGHT); // vertical + + mStacks.push_back(LLUICtrlFactory::create<LLLayoutStack>(stack_p)); + mCenterPanel->addChild(mStacks.back()); +} + +void LLToolBar::reshape(S32 width, S32 height, BOOL called_from_parent) +{ + LLUICtrl::reshape(width, height, called_from_parent); + mNeedsLayout = true; +} + namespace LLInitParam { - void TypeValues<LLToolBarEnums::ButtonType>::declareValues() + void TypeValues<ButtonType>::declareValues() { - declare("icons_only", LLToolBarEnums::BTNTYPE_ICONS_ONLY); - declare("icons_with_text", LLToolBarEnums::BTNTYPE_ICONS_WITH_TEXT); + declare("icons_only", BTNTYPE_ICONS_ONLY); + declare("icons_with_text", BTNTYPE_ICONS_WITH_TEXT); } - void TypeValues<LLToolBarEnums::SideType>::declareValues() + void TypeValues<SideType>::declareValues() { - declare("none", LLToolBarEnums::SIDE_NONE); - declare("bottom", LLToolBarEnums::SIDE_BOTTOM); - declare("left", LLToolBarEnums::SIDE_LEFT); - declare("right", LLToolBarEnums::SIDE_RIGHT); - declare("top", LLToolBarEnums::SIDE_TOP); + declare("none", SIDE_NONE); + declare("bottom", SIDE_BOTTOM); + declare("left", SIDE_LEFT); + declare("right", SIDE_RIGHT); + declare("top", SIDE_TOP); } } diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 60a848a6e39..3a593e42d91 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -87,14 +87,25 @@ class LLToolBar struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> { Mandatory<LLToolBarEnums::ButtonType> button_display_mode; - Multiple<LLToolBarButton::Params> buttons; Mandatory<LLToolBarEnums::SideType> side; + Optional<LLToolBarButton::Params> button_icon, + button_icon_and_text; + + Optional<bool> wrap; + Optional<S32> min_width, + max_width; + // get rid of this + Multiple<LLToolBarButton::Params> buttons; + + Optional<LLUIImage*> background_image; + Params(); }; // virtuals void draw(); + void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); protected: friend class LLUICtrlFactory; @@ -105,10 +116,22 @@ class LLToolBar void updateLayout(); private: + void addRow(); + std::list<LLToolBarButton*> mButtons; LLToolBarEnums::ButtonType mButtonType; + LLLayoutStack* mCenteringStack; + LLLayoutStack* mWrapStack; + LLLayoutPanel* mCenterPanel; LLToolBarEnums::SideType mSideType; - LLLayoutStack* mStack; + + std::vector<LLLayoutStack*> mStacks; + bool mWrap; + bool mNeedsLayout; + S32 mMinWidth, + mMaxWidth; + + LLUIImagePtr mBackgroundImage; }; diff --git a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml index 55cfd462acc..138322eca7b 100644 --- a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml +++ b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml @@ -13,15 +13,12 @@ width="500" left="0" top="20" - orientation="horizontal"> - <button width="0" - auto_resize="true" + side="top"> + <button auto_resize="true" label="Button 1"/> - <button width="0" - auto_resize="true" + <button auto_resize="true" label="Button with long label"/> - <button width="0" - auto_resize="true" + <button auto_resize="true" label="Button with longest label of all"/> </toolbar> <toolbar name="test_toolbar_vertical" @@ -30,7 +27,7 @@ width="100" left="0" top="70" - orientation="vertical"> + side="left"> <button height="30" label="Button 1"/> <button height="50" -- GitLab From d9b96097cd67f1d72410c262973ac67fd0f82493 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 21 Sep 2011 18:48:51 -0700 Subject: [PATCH 017/256] EXP-1239 WIP make toolbars wrap when there is not enough room initial pass at wrapping --- .../skins/default/xui/en/widgets/toolbar.xml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 indra/newview/skins/default/xui/en/widgets/toolbar.xml diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml new file mode 100644 index 00000000000..a7f73c0c7c6 --- /dev/null +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toolbar background_image = "Rounded_Rect"> + <button_icon_and_text + follows="none" + height="30" + chrome="true" + auto_resize="true" + /> + <button_icon + follows="none" + height="30" + chrome="true" + auto_resize="true" + /> +</toolbar> -- GitLab From 65892a01cad5d22403f36a10187af40b37b48383 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Wed, 21 Sep 2011 19:31:07 -0700 Subject: [PATCH 018/256] EXP-1207 : More work on LLToolbarView, still not operational... --- indra/llui/lltoolbarview.cpp | 35 +++++++----- indra/newview/app_settings/settings.xml | 2 +- indra/newview/llviewerwindow.cpp | 11 +++- .../skins/default/xui/en/main_view.xml | 44 +++------------ .../default/xui/en/panel_toolbar_view.xml | 55 +++++++++++++++++++ 5 files changed, 95 insertions(+), 52 deletions(-) create mode 100644 indra/newview/skins/default/xui/en/panel_toolbar_view.xml diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 40d1ac3418e..0e54c91ceaa 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -28,6 +28,7 @@ #include "linden_common.h" #include "lltoolbarview.h" +#include "lltoolbar.h" #include "llbutton.h" LLToolBarView* gToolBarView = NULL; @@ -41,34 +42,40 @@ LLToolBarView::LLToolBarView(const Params& p) BOOL LLToolBarView::postBuild() { - LLButton* btn = getChild<LLButton>("color_pipette"); - btn->setVisible(TRUE); LLRect ctrl_rect = getRect(); + LLButton* btn = getChild<LLButton>("test"); LLRect btn_rect = btn->getRect(); llinfos << "Merov debug : control rect = " << ctrl_rect.mLeft << ", " << ctrl_rect.mTop << ", " << ctrl_rect.mRight << ", " << ctrl_rect.mBottom << llendl; - llinfos << "Merov debug : button rect = " << btn_rect.mLeft << ", " << btn_rect.mTop << ", " << btn_rect.mRight << ", " << btn_rect.mBottom << llendl; - btn_rect.mLeft = 0; - btn_rect.mTop = ctrl_rect.getHeight(); - btn_rect.mRight = 28; - btn_rect.mBottom = btn_rect.mTop - 28; - btn->setRect(btn_rect); - btn_rect = btn->getRect(); - llinfos << "Merov debug : button rect = " << btn_rect.mLeft << ", " << btn_rect.mTop << ", " << btn_rect.mRight << ", " << btn_rect.mBottom << llendl; + llinfos << "Merov debug : test rect = " << btn_rect.mLeft << ", " << btn_rect.mTop << ", " << btn_rect.mRight << ", " << btn_rect.mBottom << llendl; return TRUE; } void LLToolBarView::draw() { - LLButton* btn = getChild<LLButton>("color_pipette"); - btn->setVisible(TRUE); static bool debug_print = true; + + LLToolBar* toolbar_bottom = getChild<LLToolBar>("toolbar_bottom"); + LLToolBar* toolbar_left = getChild<LLToolBar>("toolbar_left"); + LLToolBar* toolbar_right = getChild<LLToolBar>("toolbar_right"); + + LLRect bottom_rect = toolbar_bottom->getRect(); + LLRect left_rect = toolbar_left->getRect(); + LLRect right_rect = toolbar_right->getRect(); + if (debug_print) { LLRect ctrl_rect = getRect(); - LLRect btn_rect = btn->getRect(); llinfos << "Merov debug : draw control rect = " << ctrl_rect.mLeft << ", " << ctrl_rect.mTop << ", " << ctrl_rect.mRight << ", " << ctrl_rect.mBottom << llendl; - llinfos << "Merov debug : draw button rect = " << btn_rect.mLeft << ", " << btn_rect.mTop << ", " << btn_rect.mRight << ", " << btn_rect.mBottom << llendl; + llinfos << "Merov debug : draw bottom rect = " << bottom_rect.mLeft << ", " << bottom_rect.mTop << ", " << bottom_rect.mRight << ", " << bottom_rect.mBottom << llendl; + llinfos << "Merov debug : draw left rect = " << left_rect.mLeft << ", " << left_rect.mTop << ", " << left_rect.mRight << ", " << left_rect.mBottom << llendl; + llinfos << "Merov debug : draw right rect = " << right_rect.mLeft << ", " << right_rect.mTop << ", " << right_rect.mRight << ", " << right_rect.mBottom << llendl; debug_print = false; } + // Debug draw + gl_rect_2d(getLocalRect(), LLColor4::blue, TRUE); + gl_rect_2d(bottom_rect, LLColor4::red, TRUE); + gl_rect_2d(left_rect, LLColor4::green, TRUE); + gl_rect_2d(right_rect, LLColor4::yellow, TRUE); + LLUICtrl::draw(); } diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index cc9e17409f6..148b80e817c 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -1858,7 +1858,7 @@ <key>Type</key> <string>Boolean</string> <key>Value</key> - <integer>1</integer> + <integer>0</integer> </map> <key>Cursor3D</key> <map> diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 1055fd373b0..d197782eed1 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1783,10 +1783,17 @@ void LLViewerWindow::initBase() // *TODO: Eventually, suppress the existence of this debug setting and turn toolbar FUI on permanently if (gSavedSettings.getBOOL("DebugToolbarFUI")) { - gToolBarView = main_view->getChild<LLToolBarView>("Toolbar View"); + llinfos << "Merov debug : Creating the toolbar view" << llendl; + // Get a pointer to the toolbar view holder + LLPanel* panel_holder = main_view->getChild<LLPanel>("toolbar_view_holder"); + llinfos << "Merov debug : panel_holder = " << panel_holder << llendl; + // Load the toolbar view from file + gToolBarView = LLUICtrlFactory::getInstance()->createFromFile<LLToolBarView>("panel_toolbar_view.xml", NULL, LLPanel::child_registry_t::instance()); + llinfos << "Merov debug : gToolBarView = " << gToolBarView << llendl; + // Attach it to the toolbar view holder + panel_holder->addChild(gToolBarView); } - // Constrain floaters to inside the menu and status bar regions. gFloaterView = main_view->getChild<LLFloaterView>("Floater View"); gFloaterView->setFloaterSnapView(main_view->getChild<LLView>("floater_snap_region")->getHandle()); diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index 54badb13862..a21c988bb8f 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -162,41 +162,15 @@ top="0" width="1024"/> </panel> - - <panel follows="left|top" - layout="topleft" - height="500" - left="0" - mouse_opaque="false" - name="toolbar_view_holder" - tab_stop="false" - top="0" - visible="true" - width="1024"> - <toolbar_view follows="left|top" - layout="topleft" - height="100" - left="100" - mouse_opaque="false" - name="Toolbar View" - tab_stop="false" - top="100" - visible="true" - width="512"> - <button - follows="left|top" - height="28" - image_selected="eye_button_active.tga" - image_unselected="eye_button_inactive.tga" - layout="topleft" - top="0" - left="0" - name="color_pipette" - width="28" - visible="true" /> - </toolbar_view> - </panel> - + <panel name="toolbar_view_holder" + follows="all" + layout="topleft" + height="500" + width="1024" + top="0" + left="0" + mouse_opaque="false" + tab_stop="false"/> </layout_panel> </layout_stack> <panel mouse_opaque="false" diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml new file mode 100644 index 00000000000..b58f8e837a7 --- /dev/null +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<ui_ctrl + follows="all" + layout="topleft" + name="toolbar view" + height="500" + width="1024" + mouse_opaque="false" + tab_stop="false" + visible="true"> + <toolbar + follows="top|bottom|left" + layout="topleft" + name="toolbar_left" + height="500" + width="30" + left="0" + top="0" + button_display_mode="icons_only" + side="left" + visible="true" /> + <toolbar + follows="right|bottom|left" + layout="topleft" + name="toolbar_bottom" + height="30" + width="964" + left="30" + top="470" + button_display_mode="icons_with_text" + side="bottom" + visible="true" /> + <toolbar + follows="top|bottom|right" + layout="topleft" + name="toolbar_right" + height="500" + width="30" + left="994" + top="0" + button_display_mode="icons_only" + side="right" + visible="true" /> + <button + follows="none" + name="test" + layout="topleft" + top="100" + left="100" + height="28" + width="28" + image_selected="eye_button_active.tga" + image_unselected="eye_button_inactive.tga" + visible="true" /> +</ui_ctrl> -- GitLab From cdba1674c5293f5d55c059ada18eb1a1b75cf1e8 Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Thu, 22 Sep 2011 13:27:59 +0300 Subject: [PATCH 019/256] EXP-1203 ADDITIONAL FIX (As a FUI user, I want the address bar and favorites to be on one line) - Changed member variable name mChevronButton to mMoreTextBox - Fixed some bugs which PE testers have found: 1. Parcel characteristics icons from location bar overlay other ui elements 2. Navigation & Favorites bar are displayed after exitting mouselook mode although 'Show Navigation & Favorites bar' is unchecked --- indra/newview/llagent.cpp | 2 +- indra/newview/llfavoritesbar.cpp | 30 +++++++++---------- indra/newview/llfavoritesbar.h | 2 +- .../default/xui/en/panel_navigation_bar.xml | 16 +++++----- 4 files changed, 25 insertions(+), 25 deletions(-) diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 642a1907f00..1587ed2dd7e 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -1797,7 +1797,7 @@ void LLAgent::endAnimationUpdateUI() gViewerWindow->showCursor(); // show menus gMenuBarView->setVisible(TRUE); - LLNavigationBar::getInstance()->setVisible(TRUE); + LLNavigationBar::getInstance()->setVisible(TRUE && gSavedSettings.getBOOL("ShowNavbarNavigationPanel")); gStatusBar->setVisibleForMouselook(true); if (gSavedSettings.getBOOL("ShowMiniLocationPanel")) diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index 63519b7c214..e10767af309 100644 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -390,9 +390,9 @@ LLFavoritesBarCtrl::LLFavoritesBarCtrl(const LLFavoritesBarCtrl::Params& p) //make chevron button LLTextBox::Params more_button_params(p.more_button); - mChevronButton = LLUICtrlFactory::create<LLTextBox> (more_button_params); - mChevronButton->setClickedCallback(boost::bind(&LLFavoritesBarCtrl::showDropDownMenu, this)); - addChild(mChevronButton); + mMoreTextBox = LLUICtrlFactory::create<LLTextBox> (more_button_params); + mMoreTextBox->setClickedCallback(boost::bind(&LLFavoritesBarCtrl::showDropDownMenu, this)); + addChild(mMoreTextBox); LLTextBox::Params label_param(p.label); mBarLabel = LLUICtrlFactory::create<LLTextBox> (label_param); @@ -692,7 +692,7 @@ void LLFavoritesBarCtrl::updateButtons() const child_list_t* childs = getChildList(); child_list_const_iter_t child_it = childs->begin(); int first_changed_item_index = 0; - int rightest_point = getRect().mRight - mChevronButton->getRect().getWidth(); + int rightest_point = getRect().mRight - mMoreTextBox->getRect().getWidth(); //lets find first changed button while (child_it != childs->end() && first_changed_item_index < mItems.count()) { @@ -735,9 +735,9 @@ void LLFavoritesBarCtrl::updateButtons() } // we have to remove ChevronButton to make sure that the last item will be LandmarkButton to get the right aligning // keep in mind that we are cutting all buttons in space between the last visible child of favbar and ChevronButton - if (mChevronButton->getParent() == this) + if (mMoreTextBox->getParent() == this) { - removeChild(mChevronButton); + removeChild(mMoreTextBox); } int last_right_edge = 0; //calculate new buttons offset @@ -777,13 +777,13 @@ void LLFavoritesBarCtrl::updateButtons() S32 buttonHGap = button_params.rect.left; // default value LLRect rect; // Chevron button should stay right aligned - rect.setOriginAndSize(getRect().mRight - mChevronButton->getRect().getWidth() - buttonHGap, 0, - mChevronButton->getRect().getWidth(), - mChevronButton->getRect().getHeight()); + rect.setOriginAndSize(getRect().mRight - mMoreTextBox->getRect().getWidth() - buttonHGap, 0, + mMoreTextBox->getRect().getWidth(), + mMoreTextBox->getRect().getHeight()); - addChild(mChevronButton); - mChevronButton->setRect(rect); - mChevronButton->setVisible(TRUE); + addChild(mMoreTextBox); + mMoreTextBox->setRect(rect); + mMoreTextBox->setVisible(TRUE); } // Update overflow menu LLToggleableMenu* overflow_menu = static_cast <LLToggleableMenu*> (mOverflowMenuHandle.get()); @@ -816,8 +816,8 @@ LLButton* LLFavoritesBarCtrl::createButton(const LLPointer<LLViewerInventoryItem int width = required_width > def_button_width? def_button_width : required_width; LLFavoriteLandmarkButton* fav_btn = NULL; - // do we have a place for next button + double buttonHGap + mChevronButton ? - if(curr_x + width + 2*button_x_delta + mChevronButton->getRect().getWidth() > getRect().mRight ) + // do we have a place for next button + double buttonHGap + mMoreTextBox ? + if(curr_x + width + 2*button_x_delta + mMoreTextBox->getRect().getWidth() > getRect().mRight ) { return NULL; } @@ -967,7 +967,7 @@ void LLFavoritesBarCtrl::showDropDownMenu() menu->buildDrawLabels(); menu->updateParent(LLMenuGL::sMenuContainer); - menu->setButtonRect(mChevronButton->getRect(), this); + menu->setButtonRect(mMoreTextBox->getRect(), this); LLMenuGL::showPopup(this, menu, getRect().getWidth() - max_width, 0); } diff --git a/indra/newview/llfavoritesbar.h b/indra/newview/llfavoritesbar.h index 3811de3e2f7..a41795a0807 100644 --- a/indra/newview/llfavoritesbar.h +++ b/indra/newview/llfavoritesbar.h @@ -135,7 +135,7 @@ class LLFavoritesBarCtrl : public LLUICtrl, public LLInventoryObserver BOOL mShowDragMarker; LLUICtrl* mLandingTab; LLUICtrl* mLastTab; - LLTextBox* mChevronButton; + LLTextBox* mMoreTextBox; LLTextBox* mBarLabel; LLUUID mDragItemId; diff --git a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml index 9aa2da5abd2..54befa38e9a 100644 --- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml @@ -9,7 +9,7 @@ layout="topleft" name="navigation_bar" chrome="true" - width="600"> + width="800"> <icon follows="all" image_name="NavBar_BG" @@ -54,15 +54,15 @@ name="nvp_stack" orientation="horizontal" top="0" - width="600"> + width="800"> <layout_panel follows="top|left" layout="topleft" auto_resize="true" user_resize="true" - min_width="400" + min_width="500" name="navigation_layout_panel" - width="400"> + width="500"> <panel background_visible="false" follows="left|top|right" @@ -71,7 +71,7 @@ layout="topleft" left="0" name="navigation_panel" - width="400"> + width="500"> <pull_button follows="left|top" direction="down" @@ -118,7 +118,7 @@ mouse_opaque="false" name="location_combo" top_delta="0" - width="113"> + width="213"> <combo_list mouse_wheel_opaque="true"/> </location_input> @@ -174,7 +174,7 @@ user_resize="true" min_width="190" name="favorites_layout_panel" - width="190"> + width="290"> <favorites_bar follows="left|right|top" font="SansSerifSmall" @@ -184,7 +184,7 @@ name="favorite" image_drag_indication="Accordion_ArrowOpened_Off" tool_tip="Drag Landmarks here for quick access to your favorite places in Second Life!" - width="190"> + width="290"> <label follows="left|top" height="15" -- GitLab From 0cd1988ef7f6f0b0330938fc44c7e35004114609 Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Thu, 22 Sep 2011 14:41:44 +0300 Subject: [PATCH 020/256] EXP-1223 FIXED (Create and register a floater for Places side tab) - Added xml for a new floater and registred it in the floaterreg - Removed side tray dependencies - Added static helper method: LLFloaterSidePanelContainer::showPanel --- indra/newview/llfavoritesbar.cpp | 3 ++- indra/newview/llfloatersidepanelcontainer.cpp | 10 +++++++ indra/newview/llfloatersidepanelcontainer.h | 2 ++ indra/newview/llinventorybridge.cpp | 3 ++- indra/newview/lllocationinputctrl.cpp | 13 ++++----- indra/newview/llpanellandmarks.cpp | 13 ++++++--- indra/newview/llpanelplaces.cpp | 27 ++++++++++++------- indra/newview/llpanelplaces.h | 7 +++++ indra/newview/llpanelteleporthistory.cpp | 10 +++++-- indra/newview/llpanelteleporthistory.h | 2 ++ indra/newview/llpaneltopinfobar.cpp | 8 +++--- indra/newview/llurldispatcher.cpp | 3 ++- indra/newview/llviewerfloaterreg.cpp | 2 ++ indra/newview/llviewermenu.cpp | 5 ++-- indra/newview/llviewermessage.cpp | 7 +++-- indra/newview/llviewertexteditor.cpp | 3 ++- .../skins/default/xui/en/floater_places.xml | 19 +++++++++++++ 17 files changed, 103 insertions(+), 34 deletions(-) create mode 100644 indra/newview/skins/default/xui/en/floater_places.xml diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index e10767af309..d855252d8b0 100644 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -41,6 +41,7 @@ #include "llinventoryclipboard.h" #include "llinventorybridge.h" #include "llinventoryfunctions.h" +#include "llfloatersidepanelcontainer.h" #include "llfloaterworldmap.h" #include "lllandmarkactions.h" #include "llnotificationsutil.h" @@ -1057,7 +1058,7 @@ void LLFavoritesBarCtrl::doToSelected(const LLSD& userdata) key["type"] = "landmark"; key["id"] = mSelectedItemID; - LLSideTray::getInstance()->showPanel("panel_places", key); + LLFloaterSidePanelContainer::showPanel("places", key); } else if (action == "copy_slurl") { diff --git a/indra/newview/llfloatersidepanelcontainer.cpp b/indra/newview/llfloatersidepanelcontainer.cpp index 54cdb574b33..cff46e80eb2 100644 --- a/indra/newview/llfloatersidepanelcontainer.cpp +++ b/indra/newview/llfloatersidepanelcontainer.cpp @@ -26,6 +26,7 @@ #include "llviewerprecompiledheaders.h" +#include "llfloaterreg.h" #include "llfloatersidepanelcontainer.h" // newview includes @@ -75,3 +76,12 @@ LLPanel* LLFloaterSidePanelContainer::openChildPanel(const std::string& panel_na return panel; } + +void LLFloaterSidePanelContainer::showPanel(const std::string& floater_name, const LLSD& panel_name) +{ + LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>(floater_name); + if (floaterp) + { + floaterp->openChildPanel("main_panel", panel_name); + } +} diff --git a/indra/newview/llfloatersidepanelcontainer.h b/indra/newview/llfloatersidepanelcontainer.h index 37d65a13544..7b4e7643aed 100644 --- a/indra/newview/llfloatersidepanelcontainer.h +++ b/indra/newview/llfloatersidepanelcontainer.h @@ -49,6 +49,8 @@ class LLFloaterSidePanelContainer : public LLFloater /*virtual*/ void onOpen(const LLSD& key); LLPanel* openChildPanel(const std::string& panel_name, const LLSD& params); + + static void showPanel(const std::string& floater_name, const LLSD& panel_name); }; #endif // LL_LLFLOATERSIDEPANELCONTAINER_H diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index a36aa3dedf9..0b3d6d80303 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -39,6 +39,7 @@ #include "llavataractions.h" #include "llfloateropenobject.h" #include "llfloaterreg.h" +#include "llfloatersidepanelcontainer.h" #include "llfloaterworldmap.h" #include "llfolderview.h" #include "llfriendcard.h" @@ -3851,7 +3852,7 @@ void LLLandmarkBridge::performAction(LLInventoryModel* model, std::string action key["type"] = "landmark"; key["id"] = item->getUUID(); - LLSideTray::getInstance()->showPanel("panel_places", key); + LLFloaterSidePanelContainer::showPanel("places", key); } } else diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp index 1c8f6b6c986..f519ad759e7 100644 --- a/indra/newview/lllocationinputctrl.cpp +++ b/indra/newview/lllocationinputctrl.cpp @@ -44,6 +44,7 @@ // newview includes #include "llagent.h" +#include "llfloatersidepanelcontainer.h" #include "llinventoryobserver.h" #include "lllandmarkactions.h" #include "lllandmarklist.h" @@ -600,7 +601,7 @@ void LLLocationInputCtrl::reshape(S32 width, S32 height, BOOL called_from_parent void LLLocationInputCtrl::onInfoButtonClicked() { - LLSideTray::getInstance()->showPanel("panel_places", LLSD().with("type", "agent")); + LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "agent")); } void LLLocationInputCtrl::onForSaleButtonClicked() @@ -618,11 +619,11 @@ void LLLocationInputCtrl::onAddLandmarkButtonClicked() key["type"] = "landmark"; key["id"] = landmark->getUUID(); - LLSideTray::getInstance()->showPanel("panel_places", key); + LLFloaterSidePanelContainer::showPanel("places", key); } else { - LLSideTray::getInstance()->showPanel("panel_places", LLSD().with("type", "create_landmark")); + LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "create_landmark")); } } @@ -1087,12 +1088,12 @@ void LLLocationInputCtrl::onLocationContextMenuItemClicked(const LLSD& userdata) if(!landmark) { - LLSideTray::getInstance()->showPanel("panel_places", LLSD().with("type", "create_landmark")); + LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "create_landmark")); } else { - LLSideTray::getInstance()->showPanel("panel_places", - LLSD().with("type", "landmark").with("id",landmark->getUUID())); + LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "landmark").with("id",landmark->getUUID())); + } } else if (item == "cut") diff --git a/indra/newview/llpanellandmarks.cpp b/indra/newview/llpanellandmarks.cpp index a9cc247d1b8..1b9eb4813bf 100644 --- a/indra/newview/llpanellandmarks.cpp +++ b/indra/newview/llpanellandmarks.cpp @@ -42,6 +42,7 @@ #include "llagentui.h" #include "llcallbacklist.h" #include "lldndbutton.h" +#include "llfloatersidepanelcontainer.h" #include "llfloaterworldmap.h" #include "llfolderviewitem.h" #include "llinventorymodelbackgroundfetch.h" @@ -367,7 +368,7 @@ void LLLandmarksPanel::onSelectorButtonClicked() key["type"] = "landmark"; key["id"] = listenerp->getUUID(); - LLSideTray::getInstance()->showPanel("panel_places", key); + LLFloaterSidePanelContainer::showPanel("places", key); } } @@ -786,7 +787,7 @@ void LLLandmarksPanel::onAddAction(const LLSD& userdata) const } else { - LLSideTray::getInstance()->showPanel("panel_places", LLSD().with("type", "create_landmark")); + LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "create_landmark")); } } else if ("category" == command_name) @@ -1309,7 +1310,13 @@ void LLLandmarksPanel::doProcessParcelInfo(LLLandmark* landmark, landmark->getGlobalPos(landmark_global_pos); // let's toggle pick panel into panel places - LLPanel* panel_places = LLSideTray::getInstance()->getPanel("panel_places");//-> sidebar_places + LLPanel* panel_places = NULL; + LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>("places"); + if (floaterp) + { + panel_places = floaterp->findChild<LLPanel>("main_panel"); + } + if (!panel_places) { llassert(NULL != panel_places); diff --git a/indra/newview/llpanelplaces.cpp b/indra/newview/llpanelplaces.cpp index 1e510a2d7b4..0129ac753ab 100644 --- a/indra/newview/llpanelplaces.cpp +++ b/indra/newview/llpanelplaces.cpp @@ -39,6 +39,7 @@ #include "llfiltereditor.h" #include "llfirstuse.h" #include "llfloaterreg.h" +#include "llfloatersidepanelcontainer.h" #include "llmenubutton.h" #include "llnotificationsutil.h" #include "lltabcontainer.h" @@ -115,7 +116,7 @@ class LLParcelHandler : public LLCommandHandler LLSD key; key["type"] = "remote_place"; key["id"] = parcel_id; - LLSideTray::getInstance()->showPanel("panel_places", key); + LLFloaterSidePanelContainer::showPanel("places", key); return true; } } @@ -151,18 +152,16 @@ class LLPlacesInventoryObserver : public LLInventoryAddedObserver { public: LLPlacesInventoryObserver(LLPanelPlaces* places_panel) : - mPlaces(places_panel), - mTabsCreated(false) + mPlaces(places_panel) {} /*virtual*/ void changed(U32 mask) { LLInventoryAddedObserver::changed(mask); - if (!mTabsCreated && mPlaces) + if (mPlaces && !mPlaces->tabsCreated()) { mPlaces->createTabs(); - mTabsCreated = true; } } @@ -175,7 +174,6 @@ class LLPlacesInventoryObserver : public LLInventoryAddedObserver private: LLPanelPlaces* mPlaces; - bool mTabsCreated; }; class LLPlacesRemoteParcelInfoObserver : public LLRemoteParcelInfoObserver @@ -244,7 +242,8 @@ LLPanelPlaces::LLPanelPlaces() mPlaceMenu(NULL), mLandmarkMenu(NULL), mPosGlobal(), - isLandmarkEditModeOn(false) + isLandmarkEditModeOn(false), + mTabsCreated(false) { mParcelObserver = new LLPlacesParcelObserver(this); mInventoryObserver = new LLPlacesInventoryObserver(this); @@ -252,7 +251,7 @@ LLPanelPlaces::LLPanelPlaces() gInventory.addObserver(mInventoryObserver); - LLViewerParcelMgr::getInstance()->addAgentParcelChangedCallback( + mAgentParcelChangedConnection = LLViewerParcelMgr::getInstance()->addAgentParcelChangedCallback( boost::bind(&LLPanelPlaces::updateVerbs, this)); //buildFromFile( "panel_places.xml"); // Called from LLRegisterPanelClass::defaultPanelClassBuilder() @@ -268,6 +267,11 @@ LLPanelPlaces::~LLPanelPlaces() delete mInventoryObserver; delete mParcelObserver; delete mRemoteParcelObserver; + + if (mAgentParcelChangedConnection.connected()) + { + mAgentParcelChangedConnection.disconnect(); + } } BOOL LLPanelPlaces::postBuild() @@ -349,6 +353,9 @@ BOOL LLPanelPlaces::postBuild() LLComboBox* folder_combo = mLandmarkInfo->getChild<LLComboBox>("folder_combo"); folder_combo->setCommitCallback(boost::bind(&LLPanelPlaces::onEditButtonClicked, this)); + createTabs(); + updateVerbs(); + return TRUE; } @@ -1025,7 +1032,7 @@ void LLPanelPlaces::changedParcelSelection() void LLPanelPlaces::createTabs() { - if (!(gInventory.isInventoryUsable() && LLTeleportHistory::getInstance())) + if (!(gInventory.isInventoryUsable() && LLTeleportHistory::getInstance() && !mTabsCreated)) return; LLLandmarksPanel* landmarks_panel = new LLLandmarksPanel(); @@ -1059,6 +1066,8 @@ void LLPanelPlaces::createTabs() // Filter applied to show all items. if (mActivePanel) mActivePanel->onSearchEdit(mActivePanel->getFilterSubString()); + + mTabsCreated = true; } void LLPanelPlaces::changedGlobalPos(const LLVector3d &global_pos) diff --git a/indra/newview/llpanelplaces.h b/indra/newview/llpanelplaces.h index b335f88a484..85bdc2c4e1f 100644 --- a/indra/newview/llpanelplaces.h +++ b/indra/newview/llpanelplaces.h @@ -77,6 +77,8 @@ class LLPanelPlaces : public LLPanel std::string getPlaceInfoType() { return mPlaceInfoType; } + bool tabsCreated() { return mTabsCreated;} + /*virtual*/ S32 notifyParent(const LLSD& info); private: @@ -146,7 +148,12 @@ class LLPanelPlaces : public LLPanel bool isLandmarkEditModeOn; + // Holds info whether "My Landmarks" and "Teleport History" tabs have been created. + bool mTabsCreated; + LLSafeHandle<LLParcelSelection> mParcel; + + boost::signals2::connection mAgentParcelChangedConnection; }; #endif //LL_LLPANELPLACES_H diff --git a/indra/newview/llpanelteleporthistory.cpp b/indra/newview/llpanelteleporthistory.cpp index 9b35e78134a..a253c3845cf 100644 --- a/indra/newview/llpanelteleporthistory.cpp +++ b/indra/newview/llpanelteleporthistory.cpp @@ -39,6 +39,7 @@ #include "llaccordionctrl.h" #include "llaccordionctrltab.h" #include "llflatlistview.h" +#include "llfloatersidepanelcontainer.h" #include "llnotificationsutil.h" #include "lltextbox.h" #include "lltoggleablemenu.h" @@ -221,7 +222,7 @@ void LLTeleportHistoryFlatItem::showPlaceInfoPanel(S32 index) params["id"] = index; params["type"] = "teleport_history"; - LLSideTray::getInstance()->showPanel("panel_places", params); + LLFloaterSidePanelContainer::showPanel("places", params); } void LLTeleportHistoryFlatItem::onProfileBtnClick() @@ -389,6 +390,11 @@ LLTeleportHistoryPanel::~LLTeleportHistoryPanel() { LLTeleportHistoryFlatItemStorage::instance().purge(); LLView::deleteViewByHandle(mGearMenuHandle); + + if (mTeleportHistoryChangedConnection.connected()) + { + mTeleportHistoryChangedConnection.disconnect(); + } } BOOL LLTeleportHistoryPanel::postBuild() @@ -396,7 +402,7 @@ BOOL LLTeleportHistoryPanel::postBuild() mTeleportHistory = LLTeleportHistoryStorage::getInstance(); if (mTeleportHistory) { - mTeleportHistory->setHistoryChangedCallback(boost::bind(&LLTeleportHistoryPanel::onTeleportHistoryChange, this, _1)); + mTeleportHistoryChangedConnection = mTeleportHistory->setHistoryChangedCallback(boost::bind(&LLTeleportHistoryPanel::onTeleportHistoryChange, this, _1)); } mHistoryAccordion = getChild<LLAccordionCtrl>("history_accordion"); diff --git a/indra/newview/llpanelteleporthistory.h b/indra/newview/llpanelteleporthistory.h index 3d29454d153..47b607a2f46 100644 --- a/indra/newview/llpanelteleporthistory.h +++ b/indra/newview/llpanelteleporthistory.h @@ -119,6 +119,8 @@ class LLTeleportHistoryPanel : public LLPanelPlacesTab LLContextMenu* mAccordionTabMenu; LLHandle<LLView> mGearMenuHandle; LLMenuButton* mMenuGearButton; + + boost::signals2::connection mTeleportHistoryChangedConnection; }; diff --git a/indra/newview/llpaneltopinfobar.cpp b/indra/newview/llpaneltopinfobar.cpp index 7087541fc80..b6e32dba78e 100644 --- a/indra/newview/llpaneltopinfobar.cpp +++ b/indra/newview/llpaneltopinfobar.cpp @@ -31,6 +31,7 @@ #include "llagent.h" #include "llagentui.h" #include "llclipboard.h" +#include "llfloatersidepanelcontainer.h" #include "lllandmarkactions.h" #include "lllocationinputctrl.h" #include "llnotificationsutil.h" @@ -436,12 +437,11 @@ void LLPanelTopInfoBar::onContextMenuItemClicked(const LLSD::String& item) if(landmark == NULL) { - LLSideTray::getInstance()->showPanel("panel_places", LLSD().with("type", "create_landmark")); + LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "create_landmark")); } else { - LLSideTray::getInstance()->showPanel("panel_places", - LLSD().with("type", "landmark").with("id",landmark->getUUID())); + LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "landmark").with("id",landmark->getUUID())); } } else if (item == "copy") @@ -456,5 +456,5 @@ void LLPanelTopInfoBar::onContextMenuItemClicked(const LLSD::String& item) void LLPanelTopInfoBar::onInfoButtonClicked() { - LLSideTray::getInstance()->showPanel("panel_places", LLSD().with("type", "agent")); + LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "agent")); } diff --git a/indra/newview/llurldispatcher.cpp b/indra/newview/llurldispatcher.cpp index ed4d278e906..477718d118b 100644 --- a/indra/newview/llurldispatcher.cpp +++ b/indra/newview/llurldispatcher.cpp @@ -32,6 +32,7 @@ #include "llcommandhandler.h" #include "llfloaterhelpbrowser.h" #include "llfloaterreg.h" +#include "llfloatersidepanelcontainer.h" #include "llfloaterworldmap.h" #include "llpanellogin.h" #include "llregionhandle.h" @@ -246,7 +247,7 @@ void LLURLDispatcherImpl::regionHandleCallback(U64 region_handle, const LLSLURL& key["y"] = global_pos.mdV[VY]; key["z"] = global_pos.mdV[VZ]; - LLSideTray::getInstance()->showPanel("panel_places", key); + LLFloaterSidePanelContainer::showPanel("places", key); } } diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index fecc6d91bd8..b28373c6d50 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -93,6 +93,7 @@ #include "llfloaterscriptlimits.h" #include "llfloatersellland.h" #include "llfloatersettingsdebug.h" +#include "llfloatersidepanelcontainer.h" #include "llfloatersidetraytab.h" #include "llfloatersnapshot.h" #include "llfloatersounddevices.h" @@ -230,6 +231,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("outgoing_call", "floater_outgoing_call.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLOutgoingCallDialog>); LLFloaterPayUtil::registerFloater(); + LLFloaterReg::add("places", "floater_places.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("postcard", "floater_postcard.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPostcard>); LLFloaterReg::add("preferences", "floater_preferences.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPreference>); LLFloaterReg::add("prefs_proxy", "floater_preferences_proxy.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPreferenceProxy>); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 26599f557e7..63d6e0ac304 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -30,6 +30,7 @@ // linden library includes #include "llavatarnamecache.h" // IDEVO #include "llfloaterreg.h" +#include "llfloatersidepanelcontainer.h" #include "llcombobox.h" #include "llinventorypanel.h" #include "llnotifications.h" @@ -5324,7 +5325,7 @@ class LLWorldCreateLandmark : public view_listener_t { bool handleEvent(const LLSD& userdata) { - LLSideTray::getInstance()->showPanel("panel_places", LLSD().with("type", "create_landmark")); + LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "create_landmark")); return true; } @@ -5334,7 +5335,7 @@ class LLWorldPlaceProfile : public view_listener_t { bool handleEvent(const LLSD& userdata) { - LLSideTray::getInstance()->showPanel("panel_places", LLSD().with("type", "agent")); + LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "agent")); return true; } diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 68745d5aeb9..c6baa8da299 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -61,6 +61,7 @@ #include "llfloaterlandholdings.h" #include "llfloaterpostcard.h" #include "llfloaterpreference.h" +#include "llfloatersidepanelcontainer.h" #include "llhudeffecttrail.h" #include "llhudmanager.h" #include "llinventoryfunctions.h" @@ -1192,9 +1193,7 @@ void open_inventory_offer(const uuid_vec_t& objects, const std::string& from_nam LLInventoryCategory* parent_folder = gInventory.getCategory(item->getParentUUID()); if ("inventory_handler" == from_name) { - //we have to filter inventory_handler messages to avoid notification displaying - LLSideTray::getInstance()->showPanel("panel_places", - LLSD().with("type", "landmark").with("id", item->getUUID())); + LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "landmark").with("id", item->getUUID())); } else if("group_offer" == from_name) { @@ -1203,7 +1202,7 @@ void open_inventory_offer(const uuid_vec_t& objects, const std::string& from_nam LLSD args; args["type"] = "landmark"; args["id"] = obj_id; - LLSideTray::getInstance()->showPanel("panel_places", args); + LLFloaterSidePanelContainer::showPanel("places", args); continue; } diff --git a/indra/newview/llviewertexteditor.cpp b/indra/newview/llviewertexteditor.cpp index 4798bb536f1..b308e952adf 100644 --- a/indra/newview/llviewertexteditor.cpp +++ b/indra/newview/llviewertexteditor.cpp @@ -32,6 +32,7 @@ #include "llaudioengine.h" #include "llavataractions.h" #include "llfloaterreg.h" +#include "llfloatersidepanelcontainer.h" #include "llfloaterworldmap.h" #include "llfocusmgr.h" #include "llinventorybridge.h" @@ -80,7 +81,7 @@ class LLEmbeddedLandmarkCopied: public LLInventoryCallback LLSD key; key["type"] = "landmark"; key["id"] = landmark_inv_id; - LLSideTray::getInstance()->showPanel("panel_places", key); + LLFloaterSidePanelContainer::showPanel("places", key); } static void processForeignLandmark(LLLandmark* landmark, const LLUUID& object_id, const LLUUID& notecard_inventory_id, diff --git a/indra/newview/skins/default/xui/en/floater_places.xml b/indra/newview/skins/default/xui/en/floater_places.xml new file mode 100644 index 00000000000..d589eb7d201 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_places.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> + +<floater + legacy_header_height="18" + can_resize="true" + height="588" + layout="topleft" + name="floater_places" + save_rect="true" + title="PLACES" + width="333"> + <panel + top="18" + class="panel_places" + name="main_panel" + filename="panel_places.xml" + label="Places" + font="SansSerifBold"/> +</floater> -- GitLab From f50d28303c28fdccc5f06dcbc1147a9d3223d07f Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Thu, 22 Sep 2011 10:05:53 -0700 Subject: [PATCH 021/256] Turn curl multithread setting to on by default as it should (mistakenly turned off on my machine to work around mac crasher) --- indra/newview/app_settings/settings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 148b80e817c..cc9e17409f6 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -1858,7 +1858,7 @@ <key>Type</key> <string>Boolean</string> <key>Value</key> - <integer>0</integer> + <integer>1</integer> </map> <key>Cursor3D</key> <map> -- GitLab From 89b6e92b6cb60d326db0f3f129bf5227513d3b5c Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Thu, 22 Sep 2011 11:17:42 -0700 Subject: [PATCH 022/256] removed unused toolbar files --- indra/newview/lltoolbar.cpp | 365 ------------------------------------ indra/newview/lltoolbar.h | 82 -------- 2 files changed, 447 deletions(-) delete mode 100644 indra/newview/lltoolbar.cpp delete mode 100644 indra/newview/lltoolbar.h diff --git a/indra/newview/lltoolbar.cpp b/indra/newview/lltoolbar.cpp deleted file mode 100644 index c4f599561df..00000000000 --- a/indra/newview/lltoolbar.cpp +++ /dev/null @@ -1,365 +0,0 @@ -/** - * @file lltoolbar.cpp - * @author James Cook, Richard Nelson - * @brief Large friendly buttons at bottom of screen. - * - * $LicenseInfo:firstyear=2002&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#include "llviewerprecompiledheaders.h" - -#include "lltoolbar.h" - -#include "imageids.h" -#include "llfloaterreg.h" -#include "llfontgl.h" -#include "llflyoutbutton.h" -#include "llrect.h" -#include "llparcel.h" - -#include "llagent.h" -#include "llagentwearables.h" -#include "llbutton.h" -#include "llfocusmgr.h" -#include "llviewercontrol.h" -#include "llmenucommands.h" -#include "llimview.h" -#include "lluiconstants.h" -#include "llvoavatarself.h" -#include "lltooldraganddrop.h" -#include "llfloaterinventory.h" -#include "llfloaterchatterbox.h" -#include "llfloatersnapshot.h" -#include "llinventorypanel.h" -#include "lltoolmgr.h" -#include "llui.h" -#include "llviewermenu.h" -//#include "llfirstuse.h" -#include "llpanelblockedlist.h" -#include "llscrolllistctrl.h" -#include "llscrolllistitem.h" -#include "llscrolllistcell.h" -#include "llviewerparcelmgr.h" -#include "lluictrlfactory.h" -#include "llviewerwindow.h" -#include "lltoolgrab.h" -#include "llcombobox.h" -#include "lllayoutstack.h" - -#if LL_DARWIN - - #include "llresizehandle.h" - -#endif // LL_DARWIN - -// -// Globals -// - -LLToolBar *gToolBar = NULL; - -// -// Statics -// -F32 LLToolBar::sInventoryAutoOpenTime = 1.f; - -// -// Functions -// - -LLToolBar::LLToolBar() - : LLPanel(), - - mInventoryAutoOpen(FALSE), - mNumUnreadIMs(0) -#if LL_DARWIN - , mResizeHandle(NULL) -#endif // LL_DARWIN -{ - setIsChrome(TRUE); - setFocusRoot(TRUE); - - mCommitCallbackRegistrar.add("HandleCommunicate", &LLToolBar::onClickCommunicate); -} - - -BOOL LLToolBar::postBuild() -{ - for (child_list_const_iter_t child_iter = getChildList()->begin(); - child_iter != getChildList()->end(); ++child_iter) - { - LLView *view = *child_iter; - LLButton* buttonp = dynamic_cast<LLButton*>(view); - if(buttonp) - { - buttonp->setSoundFlags(LLView::SILENT); - } - } - -#if LL_DARWIN - if(mResizeHandle == NULL) - { - LLRect rect(0, 0, RESIZE_HANDLE_WIDTH, RESIZE_HANDLE_HEIGHT); - LLResizeHandle::Params p; - p.name(""); - p.rect(rect); - p.min_width(RESIZE_HANDLE_WIDTH); - p.min_height(RESIZE_HANDLE_HEIGHT); - p.enabled(false); - mResizeHandle = LLUICtrlFactory::create<LLResizeHandle>(p); - addChildInBack(mResizeHandle); - LLLayoutStack* toolbar_stack = getChild<LLLayoutStack>("toolbar_stack"); - toolbar_stack->reshape(toolbar_stack->getRect().getWidth() - RESIZE_HANDLE_WIDTH, toolbar_stack->getRect().getHeight()); - } -#endif // LL_DARWIN - - layoutButtons(); - - return TRUE; -} - -LLToolBar::~LLToolBar() -{ - // LLView destructor cleans up children -} - - -BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, - EDragAndDropType cargo_type, - void* cargo_data, - EAcceptance* accept, - std::string& tooltip_msg) -{ - LLButton* inventory_btn = getChild<LLButton>("inventory_btn"); - if (!inventory_btn) return FALSE; - - LLRect button_screen_rect; - inventory_btn->localRectToScreen(inventory_btn->getRect(),&button_screen_rect); - - const LLInventoryPanel *active_panel = LLInventoryPanel::getActiveInventoryPanel(); - if(active_panel) - { - mInventoryAutoOpen = FALSE; - } - else if (button_screen_rect.pointInRect(x, y)) - { - if (mInventoryAutoOpen) - { - if (!active_panel && - mInventoryAutoOpenTimer.getElapsedTimeF32() > sInventoryAutoOpenTime) - { - LLFloaterInventory::showAgentInventory(); - } - } - else - { - mInventoryAutoOpen = TRUE; - mInventoryAutoOpenTimer.reset(); - } - } - - return LLPanel::handleDragAndDrop(x, y, mask, drop, cargo_type, cargo_data, accept, tooltip_msg); -} - -// static -void LLToolBar::toggle(void*) -{ - BOOL show = gSavedSettings.getBOOL("ShowToolBar"); - gSavedSettings.setBOOL("ShowToolBar", !show); - gToolBar->setVisible(!show); -} - - -// static -BOOL LLToolBar::visible(void*) -{ - return gToolBar->getVisible(); -} - - -void LLToolBar::layoutButtons() -{ -#if LL_DARWIN - const S32 FUDGE_WIDTH_OF_SCREEN = 4; - S32 width = gViewerWindow->getWindowWidthScaled() + FUDGE_WIDTH_OF_SCREEN; - S32 pad = 2; - - // this function may be called before postBuild(), in which case mResizeHandle won't have been set up yet. - if(mResizeHandle != NULL) - { - // Only when running in windowed mode on the Mac, leave room for a resize widget on the right edge of the bar. - width -= RESIZE_HANDLE_WIDTH; - - LLRect r; - r.mLeft = width - pad; - r.mBottom = 0; - r.mRight = r.mLeft + RESIZE_HANDLE_WIDTH; - r.mTop = r.mBottom + RESIZE_HANDLE_HEIGHT; - mResizeHandle->setRect(r); - mResizeHandle->setVisible(TRUE); - } -#endif // LL_DARWIN -} - - -// virtual -void LLToolBar::reshape(S32 width, S32 height, BOOL called_from_parent) -{ - LLPanel::reshape(width, height, called_from_parent); - - layoutButtons(); -} - - -// Per-frame updates of visibility -void LLToolBar::refresh() -{ - BOOL show = gSavedSettings.getBOOL("ShowToolBar"); - BOOL mouselook = gAgent.cameraMouselook(); - setVisible(show && !mouselook); - - if (isInVisibleChain()) - { - updateCommunicateList(); - } -} - -void LLToolBar::updateCommunicateList() -{ - LLFlyoutButton* communicate_button = getChild<LLFlyoutButton>("communicate_btn"); - LLSD selected = communicate_button->getValue(); - - communicate_button->removeall(); - - //LLFloater* frontmost_floater = LLFloaterChatterBox::getInstance()->getActiveFloater(); - LLScrollListItem* itemp = NULL; - - LLSD contact_sd; - contact_sd["value"] = "contacts"; - /*contact_sd["columns"][0]["value"] = LLFloaterMyFriends::getInstance()->getShortTitle(); - if (LLFloaterMyFriends::getInstance() == frontmost_floater) - { - contact_sd["columns"][0]["font"]["name"] = "SANSSERIF_SMALL"; - contact_sd["columns"][0]["font"]["style"] = "BOLD"; - // make sure current tab is selected in list - if (selected.isUndefined()) - { - selected = "contacts"; - } - }*/ - itemp = communicate_button->addElement(contact_sd, ADD_TOP); - - communicate_button->addSeparator(ADD_TOP); - communicate_button->add(getString("Redock Windows"), LLSD("redock"), ADD_TOP); - communicate_button->addSeparator(ADD_TOP); - communicate_button->add(getString("Blocked List"), LLSD("mute list"), ADD_TOP); - - std::set<LLHandle<LLFloater> >::const_iterator floater_handle_it; - - /*if (gIMMgr->getIMFloaterHandles().size() > 0) - { - communicate_button->addSeparator(ADD_TOP); - } - - for(floater_handle_it = gIMMgr->getIMFloaterHandles().begin(); floater_handle_it != gIMMgr->getIMFloaterHandles().end(); ++floater_handle_it) - { - LLFloaterIMPanel* im_floaterp = (LLFloaterIMPanel*)floater_handle_it->get(); - if (im_floaterp) - { - std::string floater_title = im_floaterp->getNumUnreadMessages() > 0 ? "*" : ""; - floater_title.append(im_floaterp->getShortTitle()); - LLSD im_sd; - im_sd["value"] = im_floaterp->getSessionID(); - im_sd["columns"][0]["value"] = floater_title; - if (im_floaterp == frontmost_floater) - { - im_sd["columns"][0]["font"]["name"] = "SANSSERIF_SMALL"; - im_sd["columns"][0]["font"]["style"] = "BOLD"; - if (selected.isUndefined()) - { - selected = im_floaterp->getSessionID(); - } - } - itemp = communicate_button->addElement(im_sd, ADD_TOP); - } - }*/ - - communicate_button->setValue(selected); -} - - -// static -void LLToolBar::onClickCommunicate(LLUICtrl* ctrl, const LLSD& user_data) -{ - LLFlyoutButton* communicate_button = dynamic_cast<LLFlyoutButton*>(ctrl); - llassert_always(communicate_button); - - LLSD selected_option = communicate_button->getValue(); - - if (selected_option.asString() == "contacts") - { - LLFloaterReg::showInstance("contacts", "friends"); - } - else if (selected_option.asString() == "local chat") - { - LLFloaterReg::showInstance("communicate", "local"); - } - else if (selected_option.asString() == "redock") - { - /*LLFloaterChatterBox* chatterbox_instance = LLFloaterChatterBox::getInstance(); - if(chatterbox_instance) - { - chatterbox_instance->addFloater(LLFloaterMyFriends::getInstance(), FALSE); - - LLUUID session_to_show; - - std::set<LLHandle<LLFloater> >::const_iterator floater_handle_it; - for(floater_handle_it = gIMMgr->getIMFloaterHandles().begin(); floater_handle_it != gIMMgr->getIMFloaterHandles().end(); ++floater_handle_it) - { - LLFloater* im_floaterp = floater_handle_it->get(); - if (im_floaterp) - { - if (im_floaterp->isFrontmost()) - { - session_to_show = ((LLFloaterIMPanel*)im_floaterp)->getSessionID(); - } - chatterbox_instance->addFloater(im_floaterp, FALSE); - } - } - LLFloaterReg::showInstance("communicate", session_to_show); - }*/ - } - else if (selected_option.asString() == "mute list") - { - LLPanelBlockedList::showPanelAndSelect(LLUUID::null); - } - else if (selected_option.isUndefined()) // user just clicked the communicate button, treat as toggle - { - /*LLFloaterReg::toggleInstance("communicate");*/ - } - else // otherwise selection_option is undifined or a specific IM session id - { - /*LLFloaterReg::showInstance("communicate", selected_option);*/ - } -} - - diff --git a/indra/newview/lltoolbar.h b/indra/newview/lltoolbar.h deleted file mode 100644 index 217b3c0ac80..00000000000 --- a/indra/newview/lltoolbar.h +++ /dev/null @@ -1,82 +0,0 @@ -/** - * @file lltoolbar.h - * @brief Large friendly buttons at bottom of screen. - * - * $LicenseInfo:firstyear=2002&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#ifndef LL_LLTOOLBAR_H -#define LL_LLTOOLBAR_H - -#include "llpanel.h" - -#include "llframetimer.h" - -class LLResizeHandle; - -class LLToolBar -: public LLPanel -{ -public: - LLToolBar(); - ~LLToolBar(); - - /*virtual*/ BOOL postBuild(); - - /*virtual*/ BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, - EDragAndDropType cargo_type, - void* cargo_data, - EAcceptance* accept, - std::string& tooltip_msg); - - /*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); - - static void toggle(void*); - static BOOL visible(void*); - - // Move buttons to appropriate locations based on rect. - void layoutButtons(); - - // Per-frame refresh call - void refresh(); - - // callbacks - static void onClickCommunicate(LLUICtrl*, const LLSD&); - - static F32 sInventoryAutoOpenTime; - -private: - void updateCommunicateList(); - - -private: - BOOL mInventoryAutoOpen; - LLFrameTimer mInventoryAutoOpenTimer; - S32 mNumUnreadIMs; -#if LL_DARWIN - LLResizeHandle *mResizeHandle; -#endif // LL_DARWIN -}; - -extern LLToolBar *gToolBar; - -#endif -- GitLab From 00f66ccf409b0f7fb974f23cd157cdd0b8a6ab96 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Thu, 22 Sep 2011 15:08:59 -0700 Subject: [PATCH 023/256] EXP-1239 WIP make toolbars wrap when there is not enough room added more toolbars to floater_test_toolbar.xml removed layout stack and got basic wrapping working reviewed by Leslie --- indra/llui/lltoolbar.cpp | 196 ++++++++++-------- indra/llui/lltoolbar.h | 13 +- indra/newview/lldndbutton.cpp | 9 +- indra/newview/lldndbutton.h | 5 +- .../default/xui/en/floater_test_toolbar.xml | 47 ++++- 5 files changed, 150 insertions(+), 120 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 1e8be93f17a..f623d99dc76 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -57,8 +57,8 @@ LLToolBar::Params::Params() button_icon("button_icon"), button_icon_and_text("button_icon_and_text"), wrap("wrap", true), - min_width("min_width", 0), - max_width("max_width", S32_MAX), + min_button_width("min_button_width", 0), + max_button_width("max_button_width", S32_MAX), background_image("background_image") {} @@ -70,8 +70,8 @@ LLToolBar::LLToolBar(const Params& p) mNeedsLayout(false), mCenterPanel(NULL), mCenteringStack(NULL), - mMinWidth(p.min_width), - mMaxWidth(p.max_width), + mMinButtonWidth(p.min_button_width), + mMaxButtonWidth(p.max_button_width), mBackgroundImage(p.background_image) { } @@ -108,120 +108,148 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) mCenteringStack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); - addRow(); - BOOST_FOREACH (LLToolBarButton::Params button_p, p.buttons) { + // buttons always follow left and top, for all orientations + button_p.follows.flags = FOLLOWS_LEFT|FOLLOWS_TOP; + button_p.fillFrom((mButtonType == BTNTYPE_ICONS_ONLY) + ? p.button_icon // icon only + : p.button_icon_and_text); // icon + text + LLRect button_rect(button_p.rect); { // remove any offset from button if (orientation == LLLayoutStack::HORIZONTAL) { - button_rect.setOriginAndSize(0, 0, mMinWidth, getRect().getHeight()); + button_rect.setOriginAndSize(0, 0, mMinButtonWidth, button_rect.getHeight()); } else // VERTICAL { - button_rect.setOriginAndSize(0, 0, mMinWidth, button_rect.getHeight()); + button_rect.setOriginAndSize(0, 0, mMinButtonWidth, button_rect.getHeight()); } } - button_p.fillFrom((mButtonType == BTNTYPE_ICONS_ONLY) - ? p.button_icon // icon only - : p.button_icon_and_text); // icon + text + // use our calculated rect + button_p.rect = button_rect; + LLToolBarButton* buttonp = LLUICtrlFactory::create<LLToolBarButton>(button_p); + + mButtons.push_back(buttonp); + mCenterPanel->addChild(buttonp); - mButtons.push_back(LLUICtrlFactory::create<LLToolBarButton>(button_p)); mNeedsLayout = true; } - - updateLayout(); } -void LLToolBar::addButton(LLToolBarButton* buttonp) +void LLToolBar::updateLayoutAsNeeded() { - LLLayoutPanel::Params panel_p; - panel_p.name = buttonp->getName() + "_panel"; - panel_p.user_resize = false; - panel_p.auto_resize= false; - panel_p.fit_content = true; + if (!mNeedsLayout) return; - LLLayoutPanel* panel = LLUICtrlFactory::create<LLLayoutPanel>(panel_p); - - panel->addChild(buttonp); - mStacks.back()->addChild(panel); -} + LLLayoutStack::ELayoutOrientation orientation = getOrientation(mSideType); -void LLToolBar::updateLayout() -{ - mCenteringStack->updateLayout(); + // our terminology for orientation-agnostic layout is that + // length refers to a distance in the direction we stack the buttons + // and girth refers to a distance in the direction buttons wrap + S32 total_length = 0; + S32 max_length = (orientation == LLLayoutStack::HORIZONTAL) + ? getRect().getWidth() + : getRect().getHeight(); + S32 max_row_girth = 0; + S32 cur_start = 0; + S32 cur_row = 0; - if (!mNeedsLayout) return; - mNeedsLayout = false; + LLRect panel_rect = mCenterPanel->getLocalRect(); - { // clean up existing rows - BOOST_FOREACH(LLToolBarButton* button, mButtons) - { - if (button->getParent()) + std::vector<LLToolBarButton*> buttons_in_row; + + BOOST_FOREACH(LLToolBarButton* button, mButtons) + { + S32 button_clamped_width = llclamp(button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth); + S32 button_length = (orientation == LLLayoutStack::HORIZONTAL) + ? button_clamped_width + : button->getRect().getHeight(); + S32 button_girth = (orientation == LLLayoutStack::HORIZONTAL) + ? button->getRect().getHeight() + : button_clamped_width; + + // handle wrapping + if (total_length + button_length > max_length + && cur_start != 0) // not first button in row + { // go ahead and wrap + if (orientation == LLLayoutStack::VERTICAL) + { + // row girth is clamped to allowable button widths + max_row_girth = llclamp(max_row_girth, mMinButtonWidth, mMaxButtonWidth); + } + // make buttons in current row all same girth + BOOST_FOREACH(LLToolBarButton* button, buttons_in_row) { - button->getParent()->removeChild(button); + if (orientation == LLLayoutStack::HORIZONTAL) + { + button->reshape(llclamp(button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth), max_row_girth); + } + else // VERTICAL + { + button->reshape(max_row_girth, button->getRect().getHeight()); + } } - } + buttons_in_row.clear(); - BOOST_FOREACH(LLLayoutStack* stack, mStacks) - { - delete stack; + total_length = 0; + cur_start = 0; + cur_row += max_row_girth; + max_row_girth = 0; } - mStacks.clear(); - } - // start with one row of buttons - addRow(); - - S32 total_width = 0, total_height = 0; - S32 max_total_width = 0, max_total_height = 0; - S32 max_width = getRect().getWidth(), max_height = getRect().getHeight(); - BOOST_FOREACH(LLToolBarButton* button, mButtons) - { - S32 button_width = button->getRect().getWidth(); - S32 button_height = button->getRect().getHeight(); - if (getOrientation(mSideType) == LLLayoutStack::HORIZONTAL - && total_width + button_height > getRect().getWidth()) + LLRect button_rect; + if (orientation == LLLayoutStack::HORIZONTAL) + { + button_rect.setLeftTopAndSize(cur_start, panel_rect.mTop - cur_row, button_clamped_width, button->getRect().getHeight()); + } + else // VERTICAL { - addRow(); - total_width = 0; + button_rect.setLeftTopAndSize(cur_row, panel_rect.mTop - cur_start, button_clamped_width, button->getRect().getHeight()); } - addButton(button); - - total_width += button_width; - total_height += button_height; - max_total_width = llmax(max_total_width, total_width); - max_total_height = llmax(max_total_height, total_height); - max_width = llmax(button->getRect().getWidth(), max_width); - max_height = llmax(button->getRect().getHeight(), max_height); + button->setShape(button_rect); + + buttons_in_row.push_back(button); + + total_length += button_length; + cur_start = total_length; + max_row_girth = llmax(button_girth, max_row_girth); } - if (getOrientation(mSideType) == LLLayoutStack::HORIZONTAL) + // final resizing in "girth" direction + S32 total_girth = cur_row + max_row_girth; // increment by size of final row + + // grow and optionally shift toolbar to accomodate buttons + if (orientation == LLLayoutStack::HORIZONTAL) { - BOOST_FOREACH(LLLayoutStack* stack, mStacks) - { - stack->reshape(max_total_width, stack->getParent()->getRect().getHeight()); - stack->updateLayout(); + if (mSideType == SIDE_TOP) + { // shift down to maintain top edge + translate(0, getRect().getHeight() - total_girth); } + + reshape(getRect().getWidth(), total_girth); } - else + else // VERTICAL { - BOOST_FOREACH(LLLayoutStack* stack, mStacks) - { - stack->reshape(stack->getParent()->getRect().getWidth(), max_total_height); - stack->updateLayout(); + if (mSideType == SIDE_RIGHT) + { // shift left to maintain right edge + translate(getRect().getWidth() - total_girth, 0); } - - reshape(max_total_width, getRect().getHeight()); + reshape(total_girth, getRect().getHeight()); } + + // recenter toolbar buttons + mCenteringStack->updateLayout(); + + // don't clear flag until after we've resized ourselves, to avoid laying out every frame + mNeedsLayout = false; } void LLToolBar::draw() { - updateLayout(); + updateLayoutAsNeeded(); { // draw background LLRect bg_rect; @@ -231,22 +259,6 @@ void LLToolBar::draw() LLUICtrl::draw(); } -void LLToolBar::addRow() -{ - LLLayoutStack::ELayoutOrientation orientation = getOrientation(mSideType); - - LLLayoutStack::Params stack_p; - stack_p.rect = getLocalRect(); - stack_p.name = llformat("button_stack_%d", mStacks.size()); - stack_p.orientation = orientation; - stack_p.follows.flags = (orientation == LLLayoutStack::HORIZONTAL) - ? (FOLLOWS_TOP|FOLLOWS_BOTTOM) // horizontal - : (FOLLOWS_LEFT|FOLLOWS_RIGHT); // vertical - - mStacks.push_back(LLUICtrlFactory::create<LLLayoutStack>(stack_p)); - mCenterPanel->addChild(mStacks.back()); -} - void LLToolBar::reshape(S32 width, S32 height, BOOL called_from_parent) { LLUICtrl::reshape(width, height, called_from_parent); diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 3a593e42d91..31729e32b49 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -93,8 +93,8 @@ class LLToolBar button_icon_and_text; Optional<bool> wrap; - Optional<S32> min_width, - max_width; + Optional<S32> min_button_width, + max_button_width; // get rid of this Multiple<LLToolBarButton::Params> buttons; @@ -112,11 +112,9 @@ class LLToolBar LLToolBar(const Params&); void initFromParams(const Params&); - void addButton(LLToolBarButton* buttonp); - void updateLayout(); private: - void addRow(); + void updateLayoutAsNeeded(); std::list<LLToolBarButton*> mButtons; LLToolBarEnums::ButtonType mButtonType; @@ -125,11 +123,10 @@ class LLToolBar LLLayoutPanel* mCenterPanel; LLToolBarEnums::SideType mSideType; - std::vector<LLLayoutStack*> mStacks; bool mWrap; bool mNeedsLayout; - S32 mMinWidth, - mMaxWidth; + S32 mMinButtonWidth, + mMaxButtonWidth; LLUIImagePtr mBackgroundImage; }; diff --git a/indra/newview/lldndbutton.cpp b/indra/newview/lldndbutton.cpp index 8a38c8a6437..7c9dda6b1dd 100644 --- a/indra/newview/lldndbutton.cpp +++ b/indra/newview/lldndbutton.cpp @@ -31,16 +31,9 @@ static LLDefaultChildRegistry::Register<LLDragAndDropButton> r("dnd_button"); -LLDragAndDropButton::Params::Params() -{ - -} - LLDragAndDropButton::LLDragAndDropButton(const Params& params) : LLButton(params) -{ - -} +{} BOOL LLDragAndDropButton::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EDragAndDropType cargo_type, void* cargo_data, EAcceptance* accept, std::string& tooltip_msg) { diff --git a/indra/newview/lldndbutton.h b/indra/newview/lldndbutton.h index 0642cbb7b91..53ea2f5ea7b 100644 --- a/indra/newview/lldndbutton.h +++ b/indra/newview/lldndbutton.h @@ -43,10 +43,7 @@ class LLDragAndDropButton : public LLButton { public: - struct Params : public LLInitParam::Block<Params, LLButton::Params> - { - Params(); - }; + struct Params : public LLInitParam::Block<Params, LLButton::Params> {}; LLDragAndDropButton(const Params& params); diff --git a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml index 138322eca7b..85f0f104fcf 100644 --- a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml +++ b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml @@ -7,33 +7,64 @@ name="floater_test_toolbar" translate="false" width="500"> - <toolbar name="test_toolbar_horizontal" + <toolbar name="test_toolbar_top" follows="left|right|top" height="50" width="500" left="0" top="20" + min_width="100" side="top"> <button auto_resize="true" - label="Button 1"/> + label="Button"/> <button auto_resize="true" label="Button with long label"/> <button auto_resize="true" label="Button with longest label of all"/> </toolbar> - <toolbar name="test_toolbar_vertical" + <toolbar name="test_toolbar_left" follows="left|bottom|top" - height="430" + height="380" width="100" left="0" top="70" + min_width="100" side="left"> <button height="30" - label="Button 1"/> + label="Button"/> <button height="50" - label="Button 2"/> + label="Button with long label"/> <button height="60" - label="Button 3"/> + label="Button with longest label of all"/> + </toolbar> + <toolbar name="test_toolbar_right" + follows="right|bottom|top" + height="380" + width="100" + right="500" + top="70" + min_width="100" + side="right"> + <button auto_resize="true" + label="Button 1"/> + <button auto_resize="true" + label="Button with long label"/> + <button auto_resize="true" + label="Button with longest label of all"/> + </toolbar> + <toolbar name="test_toolbar_bottom" + follows="left|right|bottom" + height="50" + width="500" + left="0" + bottom="500" + min_width="100" + side="bottom"> + <button auto_resize="true" + label="Button"/> + <button auto_resize="true" + label="Button with long label"/> + <button auto_resize="true" + label="Button with longest label of all"/> </toolbar> - </floater> -- GitLab From 6c209d0fc8c8b171262074e1970c4e9ff299f9f0 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Thu, 22 Sep 2011 15:10:30 -0700 Subject: [PATCH 024/256] variable rename --- indra/llui/lltoolbar.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index f623d99dc76..8ed828efd3f 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -148,7 +148,7 @@ void LLToolBar::updateLayoutAsNeeded() // our terminology for orientation-agnostic layout is that // length refers to a distance in the direction we stack the buttons // and girth refers to a distance in the direction buttons wrap - S32 total_length = 0; + S32 row_running_length = 0; S32 max_length = (orientation == LLLayoutStack::HORIZONTAL) ? getRect().getWidth() : getRect().getHeight(); @@ -171,7 +171,7 @@ void LLToolBar::updateLayoutAsNeeded() : button_clamped_width; // handle wrapping - if (total_length + button_length > max_length + if (row_running_length + button_length > max_length && cur_start != 0) // not first button in row { // go ahead and wrap if (orientation == LLLayoutStack::VERTICAL) @@ -193,7 +193,7 @@ void LLToolBar::updateLayoutAsNeeded() } buttons_in_row.clear(); - total_length = 0; + row_running_length = 0; cur_start = 0; cur_row += max_row_girth; max_row_girth = 0; @@ -212,8 +212,8 @@ void LLToolBar::updateLayoutAsNeeded() buttons_in_row.push_back(button); - total_length += button_length; - cur_start = total_length; + row_running_length += button_length; + cur_start = row_running_length; max_row_girth = llmax(button_girth, max_row_girth); } -- GitLab From 565483ee1f2ea7b8d525c6d89700452216481c5e Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Thu, 22 Sep 2011 15:43:08 -0700 Subject: [PATCH 025/256] EXP-1205 PROGRESS -- As a User, I want a toybox which will contain all buttons that I can d&d into the toolbars EXP-1233 PROGRESS -- Populate the toybox floater window with all FUI toolbar buttons EXP-1236 FIX -- The toybox floater should remember its position for the user * Basic addCommand function to the LLToolBar. Need proper implementation. * Added map for faster lookup of commands * Toybox now adds commands to its toolbar for basic button setup Reviewed by Richard. --- indra/llui/llcommandmanager.cpp | 32 +++++--- indra/llui/llcommandmanager.h | 16 ++-- indra/llui/lltoolbar.cpp | 77 +++++++++++++++---- indra/llui/lltoolbar.h | 9 +++ indra/newview/llfloatertoybox.cpp | 18 ++--- indra/newview/llfloatertoybox.h | 5 +- .../skins/default/xui/en/floater_toybox.xml | 5 ++ 7 files changed, 120 insertions(+), 42 deletions(-) diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp index 306b357d6a9..6be616b9809 100644 --- a/indra/llui/llcommandmanager.cpp +++ b/indra/llui/llcommandmanager.cpp @@ -72,9 +72,15 @@ LLCommandManager::LLCommandManager() LLCommandManager::~LLCommandManager() { + for (CommandVector::iterator cmdIt = mCommands.begin(); cmdIt != mCommands.end(); ++cmdIt) + { + LLCommand * command = *cmdIt; + + delete command; + } } -U32 LLCommandManager::count() const +U32 LLCommandManager::commandCount() const { return mCommands.size(); } @@ -88,20 +94,24 @@ LLCommand * LLCommandManager::getCommand(const std::string& commandName) { LLCommand * command_name_match = NULL; - for (CommandVector::iterator it = mCommands.begin(); it != mCommands.end(); ++it) + CommandIndexMap::const_iterator found = mCommandIndices.find(commandName); + + if (found != mCommandIndices.end()) { - LLCommand * command = *it; - - if (command->name() == commandName) - { - command_name_match = command; - break; - } + command_name_match = mCommands[found->second]; } return command_name_match; } +void LLCommandManager::addCommand(LLCommand * command) +{ + mCommandIndices[command->name()] = mCommands.size(); + mCommands.push_back(command); + + llinfos << "Successfully added command: " << command->name() << llendl; +} + //static bool LLCommandManager::load() { @@ -129,9 +139,7 @@ bool LLCommandManager::load() { LLCommand * command = new LLCommand(commandParams); - mgr.mCommands.push_back(command); - - llinfos << "Successfully loaded command: " << command->name() << llendl; + mgr.addCommand(command); } return true; diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index 4f3c9b2ada5..24378ecd620 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -24,8 +24,8 @@ * $/LicenseInfo$ */ -#ifndef LL_COMMANDMANAGER_H -#define LL_COMMANDMANAGER_H +#ifndef LL_LLCOMMANDMANAGER_H +#define LL_LLCOMMANDMANAGER_H #include "llinitparam.h" #include "llsingleton.h" @@ -82,16 +82,22 @@ class LLCommandManager LLCommandManager(); ~LLCommandManager(); - U32 count() const; + U32 commandCount() const; LLCommand * getCommand(U32 commandIndex); LLCommand * getCommand(const std::string& commandName); static bool load(); +protected: + void addCommand(LLCommand * command); + private: + typedef std::map<std::string, U32> CommandIndexMap; typedef std::vector<LLCommand *> CommandVector; - CommandVector mCommands; + + CommandVector mCommands; + CommandIndexMap mCommandIndices; }; -#endif // LL_COMMANDMANAGER_H +#endif // LL_LLCOMMANDMANAGER_H diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 8ed828efd3f..bbd7706a111 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -27,9 +27,12 @@ #include "linden_common.h" -#include "boost/foreach.hpp" +#include <boost/foreach.hpp> #include "lltoolbar.h" +#include "llcommandmanager.h" +#include "lltrans.h" + // uncomment this and remove the one in llui.cpp when there is an external reference to this translation unit // thanks, MSVC! //static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar"); @@ -74,6 +77,8 @@ LLToolBar::LLToolBar(const Params& p) mMaxButtonWidth(p.max_button_width), mBackgroundImage(p.background_image) { + mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_ONLY] = p.button_icon; + mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_WITH_TEXT] = p.button_icon_and_text; } void LLToolBar::initFromParams(const LLToolBar::Params& p) @@ -112,9 +117,7 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) { // buttons always follow left and top, for all orientations button_p.follows.flags = FOLLOWS_LEFT|FOLLOWS_TOP; - button_p.fillFrom((mButtonType == BTNTYPE_ICONS_ONLY) - ? p.button_icon // icon only - : p.button_icon_and_text); // icon + text + button_p.fillFrom(mButtonParams[mButtonType]); LLRect button_rect(button_p.rect); { // remove any offset from button @@ -139,12 +142,58 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) } } +bool LLToolBar::addCommand(LLCommand * command) +{ + // + // Init basic toolbar button params + // + + LLToolBarButton::Params button_p; + button_p.fillFrom(mButtonParams[mButtonType]); + + button_p.name = command->name(); + button_p.label = LLTrans::getString(command->labelRef()); + button_p.tool_tip = LLTrans::getString(command->tooltipRef()); + + // + // Set up the button rectangle + // + + S32 btn_width = mMinButtonWidth; + S32 btn_height = mButtonParams[mButtonType].rect.height; + + if ((mSideType == LLToolBarEnums::SIDE_BOTTOM) || (mSideType == LLToolBarEnums::SIDE_TOP)) + { + btn_height = getRect().getHeight(); + } + + LLRect button_rect; + button_rect.setOriginAndSize(0, 0, btn_width, btn_height); + + button_p.rect = button_rect; + + // + // Add it to the list of buttons + // + + LLToolBarButton * toolbar_button = LLUICtrlFactory::create<LLToolBarButton>(button_p); + + toolbar_button->reshape(llclamp(toolbar_button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth), toolbar_button->getRect().getHeight()); + + mButtons.push_back(toolbar_button); + mCenterPanel->addChild(toolbar_button); + + mNeedsLayout = true; + + return true; +} + void LLToolBar::updateLayoutAsNeeded() { if (!mNeedsLayout) return; LLLayoutStack::ELayoutOrientation orientation = getOrientation(mSideType); - + // our terminology for orientation-agnostic layout is that // length refers to a distance in the direction we stack the buttons // and girth refers to a distance in the direction buttons wrap @@ -160,8 +209,8 @@ void LLToolBar::updateLayoutAsNeeded() std::vector<LLToolBarButton*> buttons_in_row; - BOOST_FOREACH(LLToolBarButton* button, mButtons) - { + BOOST_FOREACH(LLToolBarButton* button, mButtons) + { S32 button_clamped_width = llclamp(button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth); S32 button_length = (orientation == LLLayoutStack::HORIZONTAL) ? button_clamped_width @@ -185,23 +234,23 @@ void LLToolBar::updateLayoutAsNeeded() if (orientation == LLLayoutStack::HORIZONTAL) { button->reshape(llclamp(button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth), max_row_girth); - } + } else // VERTICAL - { + { button->reshape(max_row_girth, button->getRect().getHeight()); } - } + } buttons_in_row.clear(); row_running_length = 0; cur_start = 0; cur_row += max_row_girth; max_row_girth = 0; - } + } LLRect button_rect; if (orientation == LLLayoutStack::HORIZONTAL) - { + { button_rect.setLeftTopAndSize(cur_start, panel_rect.mTop - cur_row, button_clamped_width, button->getRect().getHeight()); } else // VERTICAL @@ -209,7 +258,7 @@ void LLToolBar::updateLayoutAsNeeded() button_rect.setLeftTopAndSize(cur_row, panel_rect.mTop - cur_start, button_clamped_width, button->getRect().getHeight()); } button->setShape(button_rect); - + buttons_in_row.push_back(button); row_running_length += button_length; @@ -237,7 +286,7 @@ void LLToolBar::updateLayoutAsNeeded() translate(getRect().getWidth() - total_girth, 0); } reshape(total_girth, getRect().getHeight()); - } + } // recenter toolbar buttons mCenteringStack->updateLayout(); diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 31729e32b49..85cd6d5170b 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -33,6 +33,9 @@ #include "llbutton.h" +class LLCommand; + + class LLToolBarButton : public LLButton { public: @@ -50,6 +53,8 @@ namespace LLToolBarEnums { BTNTYPE_ICONS_ONLY = 0, BTNTYPE_ICONS_WITH_TEXT, + + BTNTYPE_COUNT }; enum SideType @@ -107,6 +112,8 @@ class LLToolBar void draw(); void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); + bool addCommand(LLCommand * command); + protected: friend class LLUICtrlFactory; LLToolBar(const Params&); @@ -129,6 +136,8 @@ class LLToolBar mMaxButtonWidth; LLUIImagePtr mBackgroundImage; + + LLToolBarButton::Params mButtonParams[LLToolBarEnums::BTNTYPE_COUNT]; }; diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp index b4fb2e45ab9..eaaaeb3357a 100644 --- a/indra/newview/llfloatertoybox.cpp +++ b/indra/newview/llfloatertoybox.cpp @@ -29,12 +29,15 @@ #include "llfloatertoybox.h" #include "llbutton.h" +#include "llcommandmanager.h" #include "llpanel.h" +#include "lltoolbar.h" LLFloaterToybox::LLFloaterToybox(const LLSD& key) : LLFloater(key) , mBtnRestoreDefaults(NULL) + , mToolBar(NULL) { mCommitCallbackRegistrar.add("Toybox.RestoreDefaults", boost::bind(&LLFloaterToybox::onBtnRestoreDefaults, this)); } @@ -48,23 +51,20 @@ BOOL LLFloaterToybox::postBuild() center(); mBtnRestoreDefaults = getChild<LLButton>("btn_restore_defaults"); + mToolBar = getChild<LLToolBar>("toybox_toolbar"); // // Create Buttons // -/* - LLToyboxButtons::load(); - for (size_t i = 0; i < LLToyboxButtons::buttonCount(); i++) - { - LLToyboxButton * button = LLToyboxButtons::get(i); + LLCommandManager& cmdMgr = LLCommandManager::instance(); - // Panel opacity depends on whether or not button position is established - LLPanel * buttonPanel = createPanelForButton(button); + for (U32 i = 0; i < cmdMgr.commandCount(); i++) + { + LLCommand * command = cmdMgr.getCommand(i); - mToolBar->add(buttonPanel); + mToolBar->addCommand(command); } -*/ return TRUE; } diff --git a/indra/newview/llfloatertoybox.h b/indra/newview/llfloatertoybox.h index bb9392a0e3b..3574e060bf4 100644 --- a/indra/newview/llfloatertoybox.h +++ b/indra/newview/llfloatertoybox.h @@ -31,10 +31,10 @@ class LLButton; +class LLToolBar; -class LLFloaterToybox -: public LLFloater +class LLFloaterToybox : public LLFloater { public: LLFloaterToybox(const LLSD& key); @@ -53,6 +53,7 @@ class LLFloaterToybox public: LLButton * mBtnRestoreDefaults; + LLToolBar * mToolBar; }; #endif // LL_LLFLOATERTOYBOX_H diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index 19514973091..5f3a59d9647 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -11,6 +11,7 @@ legacy_header_height="18" name="Toybox" open_centered="true" + save_rect="true" single_instance="true" title="Customize toolbars" width="658"> @@ -45,7 +46,11 @@ <toolbar bottom="395" left="40" + max_button_width="140" + min_button_width="140" + name="toybox_toolbar" right="-40" + side="top" top="85"> </toolbar> <button -- GitLab From c155483fc206768e21d180fac9ccdd85db8f582e Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Thu, 22 Sep 2011 17:34:42 -0700 Subject: [PATCH 026/256] EXP-1239 WIP make toolbars wrap when there is not enough room toolbar button height configured by button_height attribute vertical toolbar buttons now share common width wrap attribute now controls wrapping --- indra/llui/lltoolbar.cpp | 60 ++++++++++++------- indra/llui/lltoolbar.h | 7 ++- .../default/xui/en/floater_test_toolbar.xml | 10 ++-- .../skins/default/xui/en/widgets/toolbar.xml | 23 ++++--- 4 files changed, 58 insertions(+), 42 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 8ed828efd3f..e10a254197a 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -59,6 +59,7 @@ LLToolBar::Params::Params() wrap("wrap", true), min_button_width("min_button_width", 0), max_button_width("max_button_width", S32_MAX), + button_height("button_height"), background_image("background_image") {} @@ -72,6 +73,7 @@ LLToolBar::LLToolBar(const Params& p) mCenteringStack(NULL), mMinButtonWidth(p.min_button_width), mMaxButtonWidth(p.max_button_width), + mButtonHeight(p.button_height), mBackgroundImage(p.background_image) { } @@ -120,11 +122,11 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) { // remove any offset from button if (orientation == LLLayoutStack::HORIZONTAL) { - button_rect.setOriginAndSize(0, 0, mMinButtonWidth, button_rect.getHeight()); + button_rect.setOriginAndSize(0, 0, mMinButtonWidth, mButtonHeight); } else // VERTICAL { - button_rect.setOriginAndSize(0, 0, mMinButtonWidth, button_rect.getHeight()); + button_rect.setOriginAndSize(0, 0, mMinButtonWidth, mButtonHeight); } } @@ -139,19 +141,38 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) } } +void LLToolBar::resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row, S32 max_row_girth) +{ + // make buttons in current row all same girth + BOOST_FOREACH(LLToolBarButton* button, buttons_in_row) + { + if (getOrientation(mSideType) == LLLayoutStack::HORIZONTAL) + { + button->reshape(llclamp(button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth), max_row_girth); + } + else // VERTICAL + { + button->reshape(max_row_girth, button->getRect().getHeight()); + } + } +} + void LLToolBar::updateLayoutAsNeeded() { if (!mNeedsLayout) return; LLLayoutStack::ELayoutOrientation orientation = getOrientation(mSideType); - // our terminology for orientation-agnostic layout is that + // our terminology for orientation-agnostic layout is such that // length refers to a distance in the direction we stack the buttons // and girth refers to a distance in the direction buttons wrap S32 row_running_length = 0; S32 max_length = (orientation == LLLayoutStack::HORIZONTAL) ? getRect().getWidth() : getRect().getHeight(); + S32 max_total_girth = (orientation == LLLayoutStack::HORIZONTAL) + ? getRect().getHeight() + : getRect().getWidth(); S32 max_row_girth = 0; S32 cur_start = 0; S32 cur_row = 0; @@ -170,27 +191,18 @@ void LLToolBar::updateLayoutAsNeeded() ? button->getRect().getHeight() : button_clamped_width; - // handle wrapping - if (row_running_length + button_length > max_length - && cur_start != 0) // not first button in row - { // go ahead and wrap + // wrap if needed + if (mWrap + && row_running_length + button_length > max_length // out of room... + && cur_start != 0) // ...and not first button in row + { if (orientation == LLLayoutStack::VERTICAL) - { - // row girth is clamped to allowable button widths + { // row girth (width in this case) is clamped to allowable button widths max_row_girth = llclamp(max_row_girth, mMinButtonWidth, mMaxButtonWidth); } + // make buttons in current row all same girth - BOOST_FOREACH(LLToolBarButton* button, buttons_in_row) - { - if (orientation == LLLayoutStack::HORIZONTAL) - { - button->reshape(llclamp(button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth), max_row_girth); - } - else // VERTICAL - { - button->reshape(max_row_girth, button->getRect().getHeight()); - } - } + resizeButtonsInRow(buttons_in_row, max_row_girth); buttons_in_row.clear(); row_running_length = 0; @@ -218,9 +230,11 @@ void LLToolBar::updateLayoutAsNeeded() } // final resizing in "girth" direction - S32 total_girth = cur_row + max_row_girth; // increment by size of final row + S32 total_girth = cur_row // current row position... + + max_row_girth; // ...incremented by size of final row + resizeButtonsInRow(buttons_in_row, max_row_girth); - // grow and optionally shift toolbar to accomodate buttons + // grow and optionally shift toolbar to accommodate buttons if (orientation == LLLayoutStack::HORIZONTAL) { if (mSideType == SIDE_TOP) @@ -239,7 +253,7 @@ void LLToolBar::updateLayoutAsNeeded() reshape(total_girth, getRect().getHeight()); } - // recenter toolbar buttons + // re-center toolbar buttons mCenteringStack->updateLayout(); // don't clear flag until after we've resized ourselves, to avoid laying out every frame diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 31729e32b49..83e482a946a 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -94,7 +94,8 @@ class LLToolBar Optional<bool> wrap; Optional<S32> min_button_width, - max_button_width; + max_button_width, + button_height; // get rid of this Multiple<LLToolBarButton::Params> buttons; @@ -115,6 +116,7 @@ class LLToolBar private: void updateLayoutAsNeeded(); + void resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row, S32 max_row_girth); std::list<LLToolBarButton*> mButtons; LLToolBarEnums::ButtonType mButtonType; @@ -126,7 +128,8 @@ class LLToolBar bool mWrap; bool mNeedsLayout; S32 mMinButtonWidth, - mMaxButtonWidth; + mMaxButtonWidth, + mButtonHeight; LLUIImagePtr mBackgroundImage; }; diff --git a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml index 85f0f104fcf..da964b88e2e 100644 --- a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml +++ b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml @@ -13,13 +13,16 @@ width="500" left="0" top="20" - min_width="100" + min_button_width="0" + max_button_width="100" side="top"> <button auto_resize="true" + use_ellipses="true" label="Button"/> <button auto_resize="true" label="Button with long label"/> <button auto_resize="true" + use_ellipses="true" label="Button with longest label of all"/> </toolbar> <toolbar name="test_toolbar_left" @@ -28,7 +31,7 @@ width="100" left="0" top="70" - min_width="100" + min_button_width="100" side="left"> <button height="30" label="Button"/> @@ -43,7 +46,6 @@ width="100" right="500" top="70" - min_width="100" side="right"> <button auto_resize="true" label="Button 1"/> @@ -58,7 +60,7 @@ width="500" left="0" bottom="500" - min_width="100" + min_button_width="100" side="bottom"> <button auto_resize="true" label="Button"/> diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index a7f73c0c7c6..f9cc9b7c69a 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -1,15 +1,12 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toolbar background_image = "Rounded_Rect"> - <button_icon_and_text - follows="none" - height="30" - chrome="true" - auto_resize="true" - /> - <button_icon - follows="none" - height="30" - chrome="true" - auto_resize="true" - /> +<toolbar background_image = "Rounded_Rect" + button_height="30"> + <button_icon_and_text follows="none" + chrome="true" + use_ellipses="true" + auto_resize="true"/> + <button_icon follows="none" + chrome="true" + use_ellipses="true" + auto_resize="true"/> </toolbar> -- GitLab From 53a8e1299305a4acad83f52401679c86485fcf51 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 23 Sep 2011 09:45:28 -0700 Subject: [PATCH 027/256] EXP-1205 PROGRESS -- As a User, I want a toybox which will contain all buttons that I can d&d into the toolbars EXP-1233 PROGRESS -- Populate the toybox floater window with all FUI toolbar buttons * Added all documented FUI commands from the wiki, 20 in all, with text, tooltips and placeholder icons. * Note current toolbar checked in toolbar code does not lay these commands out properly. --- indra/newview/app_settings/commands.xml | 126 ++++++++++++++++++ .../skins/default/textures/textures.xml | 22 ++- .../newview/skins/default/xui/en/strings.xml | 38 +++++- 3 files changed, 183 insertions(+), 3 deletions(-) diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 8e45e866ca4..5cb8ddffcd4 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -7,6 +7,83 @@ function="Floater.ToolbarToggle" param="avatar" /> + <command name="build" + icon="Command_Build_Icon" + label_ref="Command_Build_Label" + tooltip_ref="Command_Build_Tooltip" + function="Floater.ToolbarToggle" + param="build" + /> + <command name="chat" + icon="Command_Chat_Icon" + label_ref="Command_Chat_Label" + tooltip_ref="Command_Chat_Tooltip" + function="Floater.ToolbarToggle" + param="chat" + /> + <command name="compass" + icon="Command_Compass_Icon" + label_ref="Command_Compass_Label" + tooltip_ref="Command_Compass_Tooltip" + function="Floater.ToolbarToggle" + param="compass" + /> + <command name="gestures" + icon="Command_Gestures_Icon" + label_ref="Command_Gestures_Label" + tooltip_ref="Command_Gestures_Tooltip" + function="Floater.ToolbarToggle" + param="gestures" + /> + <command name="howto" + icon="Command_HowTo_Icon" + label_ref="Command_HowTo_Label" + tooltip_ref="Command_HowTo_Tooltip" + function="Floater.ToolbarToggle" + param="howto" + /> + <command name="landmarks" + icon="Command_Landmarks_Icon" + label_ref="Command_Landmarks_Label" + tooltip_ref="Command_Landmarks_Tooltip" + function="Floater.ToolbarToggle" + param="landmarks" + /> + <command name="map" + icon="Command_Map_Icon" + label_ref="Command_Map_Label" + tooltip_ref="Command_Map_Tooltip" + function="Floater.ToolbarToggle" + param="map" + /> + <command name="move" + icon="Command_Move_Icon" + label_ref="Command_Move_Label" + tooltip_ref="Command_Move_Tooltip" + function="Floater.ToolbarToggle" + param="move" + /> + <command name="myland" + icon="Command_MyLand_Icon" + label_ref="Command_MyLand_Label" + tooltip_ref="Command_MyLand_Tooltip" + function="Floater.ToolbarToggle" + param="myland" + /> + <command name="mystuff" + icon="Command_MyStuff_Icon" + label_ref="Command_MyStuff_Label" + tooltip_ref="Command_MyStuff_Tooltip" + function="Floater.ToolbarToggle" + param="mystuff" + /> + <command name="people" + icon="Command_People_Icon" + label_ref="Command_People_Label" + tooltip_ref="Command_People_Tooltip" + function="Floater.ToolbarToggle" + param="people" + /> <command name="places" icon="Command_Places_Icon" label_ref="Command_Places_Label" @@ -14,4 +91,53 @@ function="Floater.ToolbarToggle" param="places" /> + <command name="search" + icon="Command_Search_Icon" + label_ref="Command_Search_Label" + tooltip_ref="Command_Search_Tooltip" + function="Floater.ToolbarToggle" + param="search" + /> + <command name="settings" + icon="Command_Settings_Icon" + label_ref="Command_Settings_Label" + tooltip_ref="Command_Settings_Tooltip" + function="Floater.ToolbarToggle" + param="settings" + /> + <command name="shop" + icon="Command_Shop_Icon" + label_ref="Command_Shop_Label" + tooltip_ref="Command_Shop_Tooltip" + function="Floater.ToolbarToggle" + param="shop" + /> + <command name="snapshot" + icon="Command_Snapshot_Icon" + label_ref="Command_Snapshot_Label" + tooltip_ref="Command_Snapshot_Tooltip" + function="Floater.ToolbarToggle" + param="snapshot" + /> + <command name="speak" + icon="Command_Speak_Icon" + label_ref="Command_Speak_Label" + tooltip_ref="Command_Speak_Tooltip" + function="Floater.ToolbarToggle" + param="speak" + /> + <command name="upload" + icon="Command_Upload_Icon" + label_ref="Command_Upload_Label" + tooltip_ref="Command_Upload_Tooltip" + function="Floater.ToolbarToggle" + param="upload" + /> + <command name="view" + icon="Command_View_Icon" + label_ref="Command_View_Label" + tooltip_ref="Command_View_Tooltip" + function="Floater.ToolbarToggle" + param="view" + /> </commands> diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 598e39730cc..d68594097ce 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -125,8 +125,26 @@ with the same filename but different name <texture name="Checkbox_Press" file_name="widgets/Checkbox_Press.png" preload="true" /> <texture name="Check_Mark" file_name="icons/check_mark" preload="true" /> - <texture name="Command_Avatar_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Places_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Avatar_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Build_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Chat_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Compass_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Gestures_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_HowTo_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Landmarks_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Map_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Move_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_MyLand_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_MyStuff_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_People_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Places_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Search_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Settings_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Shop_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Snapshot_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Speak_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Upload_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_View_Icon" file_name="icons/SL_Logo.png" preload="true" /> <texture name="ComboButton_Disabled" file_name="widgets/ComboButton_Disabled.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> <texture name="ComboButton_Selected" file_name="widgets/ComboButton_Selected.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 3b986664dbc..d4c2bc50ca4 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -3653,8 +3653,44 @@ Try enclosing path to the editor with double quotes. <!-- commands --> <string name="Command_Avatar_Label">Avatar</string> - <string name="Command_Avatar_Tooltip">Customize your avatar</string> + <string name="Command_Avatar_Tooltip">Change the appearance of your avatar</string> + <string name="Command_Build_Label">Build</string> + <string name="Command_Build_Tooltip">Building, reshaping terrain</string> + <string name="Command_Chat_Label">Chat</string> + <string name="Command_Chat_Tooltip">Chat with people nearby</string> + <string name="Command_Compass_Label">Compass</string> + <string name="Command_Compass_Tooltip"></string> + <string name="Command_Gestures_Label">Gestures</string> + <string name="Command_Gestures_Tooltip"></string> + <string name="Command_HowTo_Label">How To</string> + <string name="Command_HowTo_Tooltip"></string> + <string name="Command_Landmarks_Label">Landmarks</string> + <string name="Command_Landmarks_Tooltip"></string> + <string name="Command_Map_Label">Map</string> + <string name="Command_Map_Tooltip"></string> + <string name="Command_Move_Label">Move</string> + <string name="Command_Move_Tooltip"></string> + <string name="Command_MyLand_Label">My Land</string> + <string name="Command_MyLand_Tooltip">Information about the land you're visiting</string> + <string name="Command_MyStuff_Label">My Stuff</string> + <string name="Command_MyStuff_Tooltip">View and use your belongings</string> + <string name="Command_People_Label">People</string> + <string name="Command_People_Tooltip"></string> <string name="Command_Places_Label">Places</string> <string name="Command_Places_Tooltip">Destination guide</string> + <string name="Command_Search_Label">Search</string> + <string name="Command_Search_Tooltip">Find...</string> + <string name="Command_Settings_Label">Settings</string> + <string name="Command_Settings_Tooltip">Preferences</string> + <string name="Command_Shop_Label">Shop</string> + <string name="Command_Shop_Tooltip"></string> + <string name="Command_Snapshot_Label">Snapshot</string> + <string name="Command_Snapshot_Tooltip">Take a picture</string> + <string name="Command_Speak_Label">Speak</string> + <string name="Command_Speak_Tooltip">Speak with people nearby using your microphone</string> + <string name="Command_Upload_Label">Upload</string> + <string name="Command_Upload_Tooltip"></string> + <string name="Command_View_Label">View</string> + <string name="Command_View_Tooltip">Changing your view of the world</string> </strings> -- GitLab From 1bcf6882c5faa94385f045e1c591da96408bb032 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Fri, 23 Sep 2011 15:09:37 -0700 Subject: [PATCH 028/256] EXP-1207 : More on lltoolbarview. Still not rendering --- indra/llui/lltoolbar.cpp | 9 ++--- indra/llui/lltoolbarview.cpp | 36 ++++++++++++------- indra/llui/lltoolbarview.h | 8 +++-- indra/llui/llui.cpp | 1 - indra/llui/lluictrlfactory.h | 4 +-- indra/newview/llviewerwindow.cpp | 7 ++-- .../skins/default/xui/en/main_view.xml | 3 +- .../default/xui/en/panel_toolbar_view.xml | 28 +++++++-------- 8 files changed, 55 insertions(+), 41 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 1e8be93f17a..167dbfcc472 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -30,9 +30,7 @@ #include "boost/foreach.hpp" #include "lltoolbar.h" -// uncomment this and remove the one in llui.cpp when there is an external reference to this translation unit -// thanks, MSVC! -//static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar"); +static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar"); namespace LLToolBarEnums { @@ -62,7 +60,7 @@ LLToolBar::Params::Params() background_image("background_image") {} -LLToolBar::LLToolBar(const Params& p) +LLToolBar::LLToolBar(const LLToolBar::Params& p) : LLUICtrl(p), mButtonType(p.button_display_mode), mSideType(p.side), @@ -78,6 +76,9 @@ LLToolBar::LLToolBar(const Params& p) void LLToolBar::initFromParams(const LLToolBar::Params& p) { + // Initialize the base object + LLUICtrl::initFromParams(p); + LLLayoutStack::ELayoutOrientation orientation = getOrientation(p.side); LLLayoutStack::Params centering_stack_p; diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 0e54c91ceaa..590cd4ffcaf 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -28,6 +28,7 @@ #include "linden_common.h" #include "lltoolbarview.h" + #include "lltoolbar.h" #include "llbutton.h" @@ -35,33 +36,39 @@ LLToolBarView* gToolBarView = NULL; static LLDefaultChildRegistry::Register<LLToolBarView> r("toolbar_view"); -LLToolBarView::LLToolBarView(const Params& p) +LLToolBarView::LLToolBarView(const LLToolBarView::Params& p) : LLUICtrl(p) { } -BOOL LLToolBarView::postBuild() +void LLToolBarView::initFromParams(const LLToolBarView::Params& p) +{ + // Initialize the base object + LLUICtrl::initFromParams(p); +} + +LLToolBarView::~LLToolBarView() { - LLRect ctrl_rect = getRect(); - LLButton* btn = getChild<LLButton>("test"); - LLRect btn_rect = btn->getRect(); - llinfos << "Merov debug : control rect = " << ctrl_rect.mLeft << ", " << ctrl_rect.mTop << ", " << ctrl_rect.mRight << ", " << ctrl_rect.mBottom << llendl; - llinfos << "Merov debug : test rect = " << btn_rect.mLeft << ", " << btn_rect.mTop << ", " << btn_rect.mRight << ", " << btn_rect.mBottom << llendl; - return TRUE; } void LLToolBarView::draw() { static bool debug_print = true; + static S32 old_width = 0; + static S32 old_height = 0; LLToolBar* toolbar_bottom = getChild<LLToolBar>("toolbar_bottom"); LLToolBar* toolbar_left = getChild<LLToolBar>("toolbar_left"); LLToolBar* toolbar_right = getChild<LLToolBar>("toolbar_right"); + LLPanel* sizer_left = getChild<LLPanel>("sizer_left"); LLRect bottom_rect = toolbar_bottom->getRect(); LLRect left_rect = toolbar_left->getRect(); LLRect right_rect = toolbar_right->getRect(); + LLRect sizer_left_rect = sizer_left->getRect(); + if ((old_width != getRect().getWidth()) || (old_height != getRect().getHeight())) + debug_print = true; if (debug_print) { LLRect ctrl_rect = getRect(); @@ -69,13 +76,18 @@ void LLToolBarView::draw() llinfos << "Merov debug : draw bottom rect = " << bottom_rect.mLeft << ", " << bottom_rect.mTop << ", " << bottom_rect.mRight << ", " << bottom_rect.mBottom << llendl; llinfos << "Merov debug : draw left rect = " << left_rect.mLeft << ", " << left_rect.mTop << ", " << left_rect.mRight << ", " << left_rect.mBottom << llendl; llinfos << "Merov debug : draw right rect = " << right_rect.mLeft << ", " << right_rect.mTop << ", " << right_rect.mRight << ", " << right_rect.mBottom << llendl; + llinfos << "Merov debug : draw s left rect = " << sizer_left_rect.mLeft << ", " << sizer_left_rect.mTop << ", " << sizer_left_rect.mRight << ", " << sizer_left_rect.mBottom << llendl; + old_width = ctrl_rect.getWidth(); + old_height = ctrl_rect.getHeight(); debug_print = false; } // Debug draw - gl_rect_2d(getLocalRect(), LLColor4::blue, TRUE); - gl_rect_2d(bottom_rect, LLColor4::red, TRUE); - gl_rect_2d(left_rect, LLColor4::green, TRUE); - gl_rect_2d(right_rect, LLColor4::yellow, TRUE); + LLColor4 back_color = LLColor4::blue; + back_color[VALPHA] = 0.5f; +// gl_rect_2d(getLocalRect(), back_color, TRUE); +// gl_rect_2d(bottom_rect, LLColor4::red, TRUE); +// gl_rect_2d(left_rect, LLColor4::green, TRUE); +// gl_rect_2d(right_rect, LLColor4::yellow, TRUE); LLUICtrl::draw(); } diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index 0bd0070ab77..73278e226b0 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -30,19 +30,23 @@ #include "lluictrl.h" +class LLUICtrlFactory; + // Parent of all LLToolBar class LLToolBarView : public LLUICtrl { public: struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> {}; - void draw(); - /*virtual*/ BOOL postBuild(); + virtual ~LLToolBarView(); + virtual void draw(); protected: friend class LLUICtrlFactory; LLToolBarView(const Params&); + void initFromParams(const Params&); + private: LLHandle<LLView> mSnapView; }; diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp index 1bc575438c3..a4303780fd3 100644 --- a/indra/llui/llui.cpp +++ b/indra/llui/llui.cpp @@ -93,7 +93,6 @@ std::list<std::string> gUntranslated; static LLDefaultChildRegistry::Register<LLFilterEditor> register_filter_editor("filter_editor"); static LLDefaultChildRegistry::Register<LLFlyoutButton> register_flyout_button("flyout_button"); static LLDefaultChildRegistry::Register<LLSearchEditor> register_search_editor("search_editor"); -static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar"); // register other widgets which otherwise may not be linked in static LLDefaultChildRegistry::Register<LLLoadingIndicator> register_loading_indicator("loading_indicator"); diff --git a/indra/llui/lluictrlfactory.h b/indra/llui/lluictrlfactory.h index d345ad4cd01..71c38237c19 100644 --- a/indra/llui/lluictrlfactory.h +++ b/indra/llui/lluictrlfactory.h @@ -172,7 +172,7 @@ class LLUICtrlFactory : public LLSingleton<LLUICtrlFactory> static T* createFromFile(const std::string &filename, LLView *parent, const widget_registry_t& registry, LLXMLNodePtr output_node = NULL) { T* widget = NULL; - + std::string skinned_filename = findSkinnedFilename(filename); instance().pushFileName(filename); { @@ -201,10 +201,10 @@ class LLUICtrlFactory : public LLSingleton<LLUICtrlFactory> // not of right type, so delete it if (!widget) { + llwarns << "Widget in " << filename << " was of type " << typeid(view).name() << " instead of expected type " << typeid(T).name() << llendl; delete view; view = NULL; } - } } fail: diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index d197782eed1..e851398bf55 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1783,15 +1783,12 @@ void LLViewerWindow::initBase() // *TODO: Eventually, suppress the existence of this debug setting and turn toolbar FUI on permanently if (gSavedSettings.getBOOL("DebugToolbarFUI")) { - llinfos << "Merov debug : Creating the toolbar view" << llendl; // Get a pointer to the toolbar view holder LLPanel* panel_holder = main_view->getChild<LLPanel>("toolbar_view_holder"); - llinfos << "Merov debug : panel_holder = " << panel_holder << llendl; // Load the toolbar view from file - gToolBarView = LLUICtrlFactory::getInstance()->createFromFile<LLToolBarView>("panel_toolbar_view.xml", NULL, LLPanel::child_registry_t::instance()); - llinfos << "Merov debug : gToolBarView = " << gToolBarView << llendl; + gToolBarView = LLUICtrlFactory::getInstance()->createFromFile<LLToolBarView>("panel_toolbar_view.xml", panel_holder, LLPanel::child_registry_t::instance()); // Attach it to the toolbar view holder - panel_holder->addChild(gToolBarView); + //panel_holder->addChild(gToolBarView); } // Constrain floaters to inside the menu and status bar regions. diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index a21c988bb8f..448f10a93cd 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -170,7 +170,8 @@ top="0" left="0" mouse_opaque="false" - tab_stop="false"/> + tab_stop="false"> + </panel> </layout_panel> </layout_stack> <panel mouse_opaque="false" diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index b58f8e837a7..33a19bcdb0e 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<ui_ctrl +<toolbar_view follows="all" layout="topleft" name="toolbar view" @@ -16,7 +16,6 @@ width="30" left="0" top="0" - button_display_mode="icons_only" side="left" visible="true" /> <toolbar @@ -27,7 +26,6 @@ width="964" left="30" top="470" - button_display_mode="icons_with_text" side="bottom" visible="true" /> <toolbar @@ -38,18 +36,20 @@ width="30" left="994" top="0" - button_display_mode="icons_only" side="right" visible="true" /> - <button - follows="none" - name="test" + <panel + follows="right|bottom|left" layout="topleft" - top="100" - left="100" - height="28" - width="28" - image_selected="eye_button_active.tga" - image_unselected="eye_button_inactive.tga" + name="sizer_left" + height="500" + width="30" + left="0" + top="0" + background_opaque="false" + border_visible="false" + background_visible="true" + bg_opaque_image="Toast_Over" + bg_alpha_image="Toast_Background" visible="true" /> -</ui_ctrl> +</toolbar_view> -- GitLab From 74d9663ff6444899bd5eedd29da197746a3ae226 Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Fri, 23 Sep 2011 16:14:13 -0700 Subject: [PATCH 029/256] EXP-1246 Create chat bar floater reviewed by Leslie --- indra/newview/app_settings/settings.xml | 2 +- indra/newview/llbottomtray.cpp | 30 +++++++------ indra/newview/llnearbychat.cpp | 2 +- indra/newview/llnearbychatbar.cpp | 35 ++++++++------- indra/newview/llnearbychatbar.h | 8 ++-- indra/newview/llviewerfloaterreg.cpp | 2 + indra/newview/llviewerwindow.cpp | 57 ++++++++++++++----------- 7 files changed, 72 insertions(+), 64 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 7ab9f36b87f..238e4296cf5 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -1493,7 +1493,7 @@ <key>Type</key> <string>S32</string> <key>Value</key> - <integer>0</integer> + <integer>1</integer> </map> <key>ChatBubbleOpacity</key> <map> diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp index 79e6c7b66bd..bcb89b379e2 100644 --- a/indra/newview/llbottomtray.cpp +++ b/indra/newview/llbottomtray.cpp @@ -165,13 +165,13 @@ class LLBottomTrayLite mChatBarContainer(NULL), mGesturePanel(NULL) { - mFactoryMap["chat_bar"] = LLCallbackMap(LLBottomTray::createNearbyChatBar, NULL); + //mFactoryMap["chat_bar"] = LLCallbackMap(LLBottomTray::createNearbyChatBar, NULL); buildFromFile("panel_bottomtray_lite.xml"); } BOOL postBuild() { - mNearbyChatBar = findChild<LLNearbyChatBar>("chat_bar"); + //mNearbyChatBar = findChild<LLNearbyChatBar>("chat_bar"); mChatBarContainer = getChild<LLLayoutPanel>("chat_bar_layout_panel"); mGesturePanel = getChild<LLPanel>("gesture_panel"); @@ -223,7 +223,7 @@ LLBottomTray::LLBottomTray(const LLSD&) // before chiclets do that. LLIMMgr::getInstance()->addSessionObserver(this); - mFactoryMap["chat_bar"] = LLCallbackMap(LLBottomTray::createNearbyChatBar, NULL); + //mFactoryMap["chat_bar"] = LLCallbackMap(LLBottomTray::createNearbyChatBar, NULL); buildFromFile("panel_bottomtray.xml"); @@ -270,7 +270,8 @@ LLBottomTray::~LLBottomTray() // *TODO Vadim: why void* ? void* LLBottomTray::createNearbyChatBar(void* userdata) { - return new LLNearbyChatBar(); + //return new LLNearbyChatBar(); + return NULL; } LLNearbyChatBar* LLBottomTray::getNearbyChatBar() @@ -536,10 +537,10 @@ BOOL LLBottomTray::postBuild() mBottomTrayContextMenu = LLUICtrlFactory::getInstance()->createFromFile<LLMenuGL>("menu_bottomtray.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance()); gMenuHolder->addChild(mBottomTrayContextMenu); - mNearbyChatBar = findChild<LLNearbyChatBar>("chat_bar"); - LLHints::registerHintTarget("chat_bar", mNearbyChatBar->LLView::getHandle()); + //mNearbyChatBar = findChild<LLNearbyChatBar>("chat_bar"); + //LLHints::registerHintTarget("chat_bar", mNearbyChatBar->LLView::getHandle()); - mListener.reset(new LLNearbyChatBarListener(*mNearbyChatBar)); + //mListener.reset(new LLNearbyChatBarListener(*mNearbyChatBar)); mChatBarContainer = getChild<LLLayoutPanel>("chat_bar_layout_panel"); mNearbyCharResizeHandlePanel = getChild<LLPanel>("chat_bar_resize_handle_panel"); @@ -576,7 +577,7 @@ BOOL LLBottomTray::postBuild() // Registering Chat Bar to receive Voice client status change notifications. LLVoiceClient::getInstance()->addObserver(this); - mNearbyChatBar->getChatBox()->setContextMenu(NULL); + //mNearbyChatBar->getChatBox()->setContextMenu(NULL); mChicletPanel = getChild<LLChicletPanel>("chiclet_list"); @@ -881,6 +882,7 @@ void LLBottomTray::draw() bool LLBottomTray::onContextMenuItemEnabled(const LLSD& userdata) { std::string item = userdata.asString(); + /* LLLineEditor* edit_box = mNearbyChatBar->findChild<LLLineEditor>("chat_box"); if (item == "can_cut") @@ -902,13 +904,13 @@ bool LLBottomTray::onContextMenuItemEnabled(const LLSD& userdata) else if (item == "can_select_all") { return edit_box->canSelectAll() && (edit_box->getLength()>0); - } + }*/ return true; } void LLBottomTray::onContextMenuItemClicked(const LLSD& userdata) -{ +{/* std::string item = userdata.asString(); LLLineEditor* edit_box = mNearbyChatBar->findChild<LLLineEditor>("chat_box"); @@ -932,7 +934,7 @@ void LLBottomTray::onContextMenuItemClicked(const LLSD& userdata) else if (item == "select_all") { edit_box->selectAll(); - } + }*/ } void LLBottomTray::log(LLView* panel, const std::string& descr) @@ -1115,7 +1117,7 @@ S32 LLBottomTray::processWidthDecreased(S32 delta_width) if(delta_panel > 0) { lldebugs << "Shrinking nearby chat bar by " << delta_panel << " px " << llendl; - mChatBarContainer->reshape(mNearbyChatBar->getRect().getWidth() - delta_panel, mChatBarContainer->getRect().getHeight()); + //mChatBarContainer->reshape(mNearbyChatBar->getRect().getWidth() - delta_panel, mChatBarContainer->getRect().getHeight()); } log(mNearbyChatBar, "after processing panel decreasing via nearby chatbar panel"); @@ -1141,8 +1143,8 @@ S32 LLBottomTray::processWidthDecreased(S32 delta_width) if (buttons_freed_width > 0) { - S32 nearby_needed_width = mDesiredNearbyChatWidth - mNearbyChatBar->getRect().getWidth(); - if (nearby_needed_width > 0) + S32 nearby_needed_width = mDesiredNearbyChatWidth; + if ( 0) { S32 compensative_width = nearby_needed_width > buttons_freed_width ? buttons_freed_width : nearby_needed_width; log(mNearbyChatBar, "before applying compensative width"); diff --git a/indra/newview/llnearbychat.cpp b/indra/newview/llnearbychat.cpp index 03ebc344f17..361912a5cb4 100644 --- a/indra/newview/llnearbychat.cpp +++ b/indra/newview/llnearbychat.cpp @@ -92,7 +92,7 @@ BOOL LLNearbyChat::postBuild() if (getDockControl() == NULL) { setDockControl(new LLDockControl( - LLBottomTray::getInstance()->getNearbyChatBar(), this, + LLFloaterReg::getInstance("chat_bar"), this, getDockTongue(), LLDockControl::TOP, boost::bind(&LLNearbyChat::getAllowedRect, this, _1))); } diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp index 4b961db5f95..185acb14148 100644 --- a/indra/newview/llnearbychatbar.cpp +++ b/indra/newview/llnearbychatbar.cpp @@ -411,8 +411,9 @@ LLCtrlListInterface* LLGestureComboList::getListInterface() return mList; } -LLNearbyChatBar::LLNearbyChatBar() -: mChatBox(NULL) +LLNearbyChatBar::LLNearbyChatBar(const LLSD& key) + : LLFloater(key), + mChatBox(NULL) { mSpeakerMgr = LLLocalSpeakerMgr::getInstance(); } @@ -457,19 +458,13 @@ void LLNearbyChatBar::onChatFontChange(LLFontGL* fontp) //static LLNearbyChatBar* LLNearbyChatBar::getInstance() { - return LLBottomTray::getInstance() ? LLBottomTray::getInstance()->getNearbyChatBar() : NULL; -} - -//static -bool LLNearbyChatBar::instanceExists() -{ - return LLBottomTray::instanceExists() && LLBottomTray::getInstance()->getNearbyChatBar() != NULL; + return LLFloaterReg::getTypedInstance<LLNearbyChatBar>("chat_bar"); } void LLNearbyChatBar::draw() { displaySpeakingIndicator(); - LLPanel::draw(); + LLFloater::draw(); } std::string LLNearbyChatBar::getCurrentChat() @@ -780,17 +775,12 @@ void LLNearbyChatBar::sendChatFromViewer(const LLWString &wtext, EChatType type, // static void LLNearbyChatBar::startChat(const char* line) { - LLBottomTray *bt = LLBottomTray::getInstance(); - - if (!bt) - return; - - LLNearbyChatBar* cb = bt->getNearbyChatBar(); + LLNearbyChatBar* cb = LLNearbyChatBar::getInstance(); if (!cb ) return; - bt->setVisible(TRUE); + cb->setVisible(TRUE); cb->mChatBox->setFocus(TRUE); if (line) @@ -811,7 +801,7 @@ void LLNearbyChatBar::stopChat() if (!bt) return; - LLNearbyChatBar* cb = bt->getNearbyChatBar(); + LLNearbyChatBar* cb = LLNearbyChatBar::getInstance(); if (!cb) return; @@ -822,6 +812,15 @@ void LLNearbyChatBar::stopChat() gAgent.stopTyping(); } +void LLNearbyChatBar::onClose(bool app_quitting) +{ + LLFloater* nearby_chat = LLFloaterReg::findInstance("nearby_chat", LLSD()); + if (nearby_chat) + { + nearby_chat->closeFloater(app_quitting); + } +} + // If input of the form "/20foo" or "/20 foo", returns "foo" and channel 20. // Otherwise returns input and channel 0. LLWString LLNearbyChatBar::stripChannelNumber(const LLWString &mesg, S32* channel) diff --git a/indra/newview/llnearbychatbar.h b/indra/newview/llnearbychatbar.h index efddec942fd..f4a8605e18e 100644 --- a/indra/newview/llnearbychatbar.h +++ b/indra/newview/llnearbychatbar.h @@ -93,23 +93,23 @@ class LLGestureComboList }; class LLNearbyChatBar -: public LLPanel +: public LLFloater { public: // constructor for inline chat-bars (e.g. hosted in chat history window) - LLNearbyChatBar(); + LLNearbyChatBar(const LLSD& key); ~LLNearbyChatBar() {} virtual BOOL postBuild(); static LLNearbyChatBar* getInstance(); - static bool instanceExists(); - LLLineEditor* getChatBox() { return mChatBox; } virtual void draw(); + virtual void onClose(bool app_quitting); + std::string getCurrentChat(); virtual BOOL handleKeyHere( KEY key, MASK mask ); diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index fecc6d91bd8..30fd631d4f1 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -127,6 +127,7 @@ #include "llscriptfloater.h" #include "llfloatermodelpreview.h" #include "llcommandhandler.h" +#include "llnearbychatbar.h" // *NOTE: Please add files in alphabetical order to keep merges easy. @@ -177,6 +178,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("camera", "floater_camera.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterCamera>); LLFloaterReg::add("nearby_chat", "floater_nearby_chat.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLNearbyChat>); + LLFloaterReg::add("chat_bar", "floater_chat_bar.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLNearbyChatBar>); LLFloaterReg::add("compile_queue", "floater_script_queue.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterCompileQueue>); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 5893259d964..6381f58f63c 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -2467,38 +2467,43 @@ BOOL LLViewerWindow::handleKey(KEY key, MASK mask) // Traverses up the hierarchy if( keyboard_focus ) { - LLLineEditor* chat_editor = LLBottomTray::instanceExists() ? LLBottomTray::getInstance()->getNearbyChatBar()->getChatBox() : NULL; - // arrow keys move avatar while chatting hack - if (chat_editor && chat_editor->hasFocus()) + LLNearbyChatBar* nearby_chat = LLFloaterReg::findTypedInstance<LLNearbyChatBar>("chat_bar"); + + if (nearby_chat) { - // If text field is empty, there's no point in trying to move - // cursor with arrow keys, so allow movement - if (chat_editor->getText().empty() - || gSavedSettings.getBOOL("ArrowKeysAlwaysMove")) + LLLineEditor* chat_editor = nearby_chat->getChatBox(); + + // arrow keys move avatar while chatting hack + if (chat_editor && chat_editor->hasFocus()) { - // let Control-Up and Control-Down through for chat line history, - if (!(key == KEY_UP && mask == MASK_CONTROL) - && !(key == KEY_DOWN && mask == MASK_CONTROL)) + // If text field is empty, there's no point in trying to move + // cursor with arrow keys, so allow movement + if (chat_editor->getText().empty() + || gSavedSettings.getBOOL("ArrowKeysAlwaysMove")) { - switch(key) + // let Control-Up and Control-Down through for chat line history, + if (!(key == KEY_UP && mask == MASK_CONTROL) + && !(key == KEY_DOWN && mask == MASK_CONTROL)) { - case KEY_LEFT: - case KEY_RIGHT: - case KEY_UP: - case KEY_DOWN: - case KEY_PAGE_UP: - case KEY_PAGE_DOWN: - case KEY_HOME: - // when chatbar is empty or ArrowKeysAlwaysMove set, - // pass arrow keys on to avatar... - return FALSE; - default: - break; + switch(key) + { + case KEY_LEFT: + case KEY_RIGHT: + case KEY_UP: + case KEY_DOWN: + case KEY_PAGE_UP: + case KEY_PAGE_DOWN: + case KEY_HOME: + // when chatbar is empty or ArrowKeysAlwaysMove set, + // pass arrow keys on to avatar... + return FALSE; + default: + break; + } } } } } - if (keyboard_focus->handleKey(key, mask, FALSE)) { return TRUE; @@ -2529,11 +2534,11 @@ BOOL LLViewerWindow::handleKey(KEY key, MASK mask) if ( gSavedSettings.getS32("LetterKeysFocusChatBar") && !gAgentCamera.cameraMouselook() && !keyboard_focus && key < 0x80 && (mask == MASK_NONE || mask == MASK_SHIFT) ) { - LLLineEditor* chat_editor = LLBottomTray::instanceExists() ? LLBottomTray::getInstance()->getNearbyChatBar()->getChatBox() : NULL; + LLLineEditor* chat_editor = LLFloaterReg::getTypedInstance<LLNearbyChatBar>("chat_bar")->getChatBox(); if (chat_editor) { // passing NULL here, character will be added later when it is handled by character handler. - LLBottomTray::getInstance()->getNearbyChatBar()->startChat(NULL); + LLNearbyChatBar::getInstance()->startChat(NULL); return TRUE; } } -- GitLab From b6d7f99f065c87f7409a1e5e1ba1b59f3f4a3efb Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Fri, 23 Sep 2011 17:01:15 -0700 Subject: [PATCH 030/256] EXP-1239 FIX make toolbars wrap when there is not enough room spacing between buttons now configurable and correct background art now wraps buttons correctly created customizable panel for button background --- indra/llui/lltoolbar.cpp | 235 ++++++++++-------- indra/llui/lltoolbar.h | 20 +- .../default/xui/en/floater_test_toolbar.xml | 4 +- .../skins/default/xui/en/widgets/toolbar.xml | 17 +- 4 files changed, 154 insertions(+), 122 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index b2cf7e6554f..3311ed4a1b9 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -53,17 +53,40 @@ namespace LLToolBarEnums } using namespace LLToolBarEnums; + +namespace LLInitParam +{ + void TypeValues<ButtonType>::declareValues() + { + declare("icons_only", BTNTYPE_ICONS_ONLY); + declare("icons_with_text", BTNTYPE_ICONS_WITH_TEXT); + } + + void TypeValues<SideType>::declareValues() + { + declare("bottom", SIDE_BOTTOM); + declare("left", SIDE_LEFT); + declare("right", SIDE_RIGHT); + declare("top", SIDE_TOP); + } +} + LLToolBar::Params::Params() : button_display_mode("button_display_mode"), buttons("button"), - side("side"), + side("side", SIDE_TOP), button_icon("button_icon"), button_icon_and_text("button_icon_and_text"), wrap("wrap", true), min_button_width("min_button_width", 0), max_button_width("max_button_width", S32_MAX), button_height("button_height"), - background_image("background_image") + pad_left("pad_left"), + pad_top("pad_top"), + pad_right("pad_right"), + pad_bottom("pad_bottom"), + pad_between("pad_between"), + button_panel("button_panel") {} LLToolBar::LLToolBar(const Params& p) @@ -72,12 +95,16 @@ LLToolBar::LLToolBar(const Params& p) mSideType(p.side), mWrap(p.wrap), mNeedsLayout(false), - mCenterPanel(NULL), + mButtonPanel(NULL), mCenteringStack(NULL), - mMinButtonWidth(p.min_button_width), - mMaxButtonWidth(p.max_button_width), + mMinButtonWidth(llmin(p.min_button_width(), p.max_button_width())), + mMaxButtonWidth(llmax(p.max_button_width(), p.min_button_width())), mButtonHeight(p.button_height), - mBackgroundImage(p.background_image) + mPadLeft(p.pad_left), + mPadRight(p.pad_right), + mPadTop(p.pad_top), + mPadBottom(p.pad_bottom), + mPadBetween(p.pad_between) { mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_ONLY] = p.button_icon; mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_WITH_TEXT] = p.button_icon_and_text; @@ -110,102 +137,81 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) center_panel_p.auto_resize = false; center_panel_p.user_resize = false; center_panel_p.fit_content = true; - mCenterPanel = LLUICtrlFactory::create<LLLayoutPanel>(center_panel_p); - mCenteringStack->addChild(mCenterPanel); + LLLayoutPanel* center_panel = LLUICtrlFactory::create<LLLayoutPanel>(center_panel_p); + mCenteringStack->addChild(center_panel); + + LLPanel::Params button_panel_p(p.button_panel); + button_panel_p.rect = center_panel->getLocalRect(); + switch(p.side()) + { + case SIDE_LEFT: + button_panel_p.follows.flags = FOLLOWS_BOTTOM|FOLLOWS_LEFT; + break; + case SIDE_RIGHT: + button_panel_p.follows.flags = FOLLOWS_BOTTOM|FOLLOWS_RIGHT; + break; + case SIDE_TOP: + button_panel_p.follows.flags = FOLLOWS_TOP|FOLLOWS_LEFT; + break; + case SIDE_BOTTOM: + button_panel_p.follows.flags = FOLLOWS_BOTTOM|FOLLOWS_LEFT; + break; + } + mButtonPanel = LLUICtrlFactory::create<LLPanel>(button_panel_p); + center_panel->addChild(mButtonPanel); mCenteringStack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); BOOST_FOREACH (LLToolBarButton::Params button_p, p.buttons) { - // buttons always follow left and top, for all orientations - button_p.follows.flags = FOLLOWS_LEFT|FOLLOWS_TOP; button_p.fillFrom(mButtonParams[mButtonType]); - - LLRect button_rect(button_p.rect); - { // remove any offset from button - if (orientation == LLLayoutStack::HORIZONTAL) - { - button_rect.setOriginAndSize(0, 0, mMinButtonWidth, mButtonHeight); - } - else // VERTICAL - { - button_rect.setOriginAndSize(0, 0, mMinButtonWidth, mButtonHeight); - } - } - - // use our calculated rect - button_p.rect = button_rect; LLToolBarButton* buttonp = LLUICtrlFactory::create<LLToolBarButton>(button_p); mButtons.push_back(buttonp); - mCenterPanel->addChild(buttonp); + mButtonPanel->addChild(buttonp); mNeedsLayout = true; } } -void LLToolBar::resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row, S32 max_row_girth) -{ - // make buttons in current row all same girth - BOOST_FOREACH(LLToolBarButton* button, buttons_in_row) - { - if (getOrientation(mSideType) == LLLayoutStack::HORIZONTAL) - { - button->reshape(llclamp(button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth), max_row_girth); - } - else // VERTICAL - { - button->reshape(max_row_girth, button->getRect().getHeight()); - } - } -} - bool LLToolBar::addCommand(LLCommand * command) { // // Init basic toolbar button params // - - LLToolBarButton::Params button_p; - button_p.fillFrom(mButtonParams[mButtonType]); - + LLToolBarButton::Params button_p(mButtonParams[mButtonType]); button_p.name = command->name(); button_p.label = LLTrans::getString(command->labelRef()); button_p.tool_tip = LLTrans::getString(command->tooltipRef()); - // - // Set up the button rectangle - // - - S32 btn_width = mMinButtonWidth; - S32 btn_height = mButtonParams[mButtonType].rect.height; - - if ((mSideType == LLToolBarEnums::SIDE_BOTTOM) || (mSideType == LLToolBarEnums::SIDE_TOP)) - { - btn_height = getRect().getHeight(); - } - - LLRect button_rect; - button_rect.setOriginAndSize(0, 0, btn_width, btn_height); - - button_p.rect = button_rect; - // // Add it to the list of buttons // - LLToolBarButton * toolbar_button = LLUICtrlFactory::create<LLToolBarButton>(button_p); - - toolbar_button->reshape(llclamp(toolbar_button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth), toolbar_button->getRect().getHeight()); - mButtons.push_back(toolbar_button); - mCenterPanel->addChild(toolbar_button); + mButtonPanel->addChild(toolbar_button); mNeedsLayout = true; return true; } +void LLToolBar::resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row, S32 max_row_girth) +{ + // make buttons in current row all same girth + BOOST_FOREACH(LLToolBarButton* button, buttons_in_row) + { + if (getOrientation(mSideType) == LLLayoutStack::HORIZONTAL) + { + button->reshape(llclamp(button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth), max_row_girth); + } + else // VERTICAL + { + button->reshape(max_row_girth, button->getRect().getHeight()); + } + } +} + void LLToolBar::updateLayoutAsNeeded() { if (!mNeedsLayout) return; @@ -215,23 +221,51 @@ void LLToolBar::updateLayoutAsNeeded() // our terminology for orientation-agnostic layout is such that // length refers to a distance in the direction we stack the buttons // and girth refers to a distance in the direction buttons wrap - S32 row_running_length = 0; - S32 max_length = (orientation == LLLayoutStack::HORIZONTAL) - ? getRect().getWidth() - : getRect().getHeight(); - S32 max_total_girth = (orientation == LLLayoutStack::HORIZONTAL) - ? getRect().getHeight() - : getRect().getWidth(); S32 max_row_girth = 0; - S32 cur_start = 0; - S32 cur_row = 0; + S32 max_row_length = 0; - LLRect panel_rect = mCenterPanel->getLocalRect(); + S32 max_length; + S32 max_total_girth; + S32 cur_start; + S32 cur_row ; + S32 row_pad_start; + S32 row_pad_end; + S32 girth_pad_end; + S32 row_running_length; + + if (orientation == LLLayoutStack::HORIZONTAL) + { + max_length = getRect().getWidth() - mPadLeft - mPadRight; + max_total_girth = getRect().getHeight() - mPadTop - mPadBottom; + row_pad_start = mPadLeft; + row_running_length = row_pad_start; + row_pad_end = mPadRight; + cur_row = mPadTop; + girth_pad_end = mPadBottom; + } + else // VERTICAL + { + max_length = getRect().getHeight() - mPadTop - mPadBottom; + max_total_girth = getRect().getWidth() - mPadLeft - mPadRight; + row_pad_start = mPadTop; + row_running_length = row_pad_start; + row_pad_end = mPadBottom; + cur_row = mPadLeft; + girth_pad_end = mPadRight; + } + + cur_start = row_pad_start; + + + LLRect panel_rect = mButtonPanel->getLocalRect(); std::vector<LLToolBarButton*> buttons_in_row; BOOST_FOREACH(LLToolBarButton* button, mButtons) { + button->reshape(mMinButtonWidth, mButtonHeight); + button->autoResize(); + S32 button_clamped_width = llclamp(button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth); S32 button_length = (orientation == LLLayoutStack::HORIZONTAL) ? button_clamped_width @@ -254,9 +288,10 @@ void LLToolBar::updateLayoutAsNeeded() resizeButtonsInRow(buttons_in_row, max_row_girth); buttons_in_row.clear(); - row_running_length = 0; - cur_start = 0; - cur_row += max_row_girth; + max_row_length = llmax(max_row_length, row_running_length); + row_running_length = row_pad_start; + cur_start = row_pad_start; + cur_row += max_row_girth + mPadBetween; max_row_girth = 0; } @@ -273,14 +308,17 @@ void LLToolBar::updateLayoutAsNeeded() buttons_in_row.push_back(button); - row_running_length += button_length; + row_running_length += button_length + mPadBetween; cur_start = row_running_length; max_row_girth = llmax(button_girth, max_row_girth); } // final resizing in "girth" direction S32 total_girth = cur_row // current row position... - + max_row_girth; // ...incremented by size of final row + + max_row_girth // ...incremented by size of final row... + + girth_pad_end; // ...plus padding reserved on end + max_row_length = llmax(max_row_length, row_running_length - mPadBetween + row_pad_end); + resizeButtonsInRow(buttons_in_row, max_row_girth); // grow and optionally shift toolbar to accommodate buttons @@ -288,18 +326,18 @@ void LLToolBar::updateLayoutAsNeeded() { if (mSideType == SIDE_TOP) { // shift down to maintain top edge - translate(0, getRect().getHeight() - total_girth); + mButtonPanel->translate(0, mButtonPanel->getRect().getHeight() - total_girth); } - reshape(getRect().getWidth(), total_girth); + mButtonPanel->reshape(max_row_length, total_girth); } else // VERTICAL { if (mSideType == SIDE_RIGHT) { // shift left to maintain right edge - translate(getRect().getWidth() - total_girth, 0); + mButtonPanel->translate(mButtonPanel->getRect().getWidth() - total_girth, 0); } - reshape(total_girth, getRect().getHeight()); + mButtonPanel->reshape(total_girth, max_row_length); } // re-center toolbar buttons @@ -313,12 +351,6 @@ void LLToolBar::updateLayoutAsNeeded() void LLToolBar::draw() { updateLayoutAsNeeded(); - - { // draw background - LLRect bg_rect; - localRectToOtherView(mCenterPanel->getRect(),&bg_rect, this); - mBackgroundImage->draw(bg_rect); - } LLUICtrl::draw(); } @@ -328,20 +360,3 @@ void LLToolBar::reshape(S32 width, S32 height, BOOL called_from_parent) mNeedsLayout = true; } -namespace LLInitParam -{ - void TypeValues<ButtonType>::declareValues() - { - declare("icons_only", BTNTYPE_ICONS_ONLY); - declare("icons_with_text", BTNTYPE_ICONS_WITH_TEXT); - } - - void TypeValues<SideType>::declareValues() - { - declare("none", SIDE_NONE); - declare("bottom", SIDE_BOTTOM); - declare("left", SIDE_LEFT); - declare("right", SIDE_RIGHT); - declare("top", SIDE_TOP); - } -} diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 9b08b26ce40..92c289cd3f7 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -59,7 +59,6 @@ namespace LLToolBarEnums enum SideType { - SIDE_NONE = 0, SIDE_BOTTOM, SIDE_LEFT, SIDE_RIGHT, @@ -101,10 +100,16 @@ class LLToolBar Optional<S32> min_button_width, max_button_width, button_height; + + Optional<S32> pad_left, + pad_top, + pad_right, + pad_bottom, + pad_between; // get rid of this Multiple<LLToolBarButton::Params> buttons; - Optional<LLUIImage*> background_image; + Optional<LLPanel::Params> button_panel; Params(); }; @@ -129,16 +134,19 @@ class LLToolBar LLToolBarEnums::ButtonType mButtonType; LLLayoutStack* mCenteringStack; LLLayoutStack* mWrapStack; - LLLayoutPanel* mCenterPanel; + LLPanel* mButtonPanel; LLToolBarEnums::SideType mSideType; bool mWrap; bool mNeedsLayout; S32 mMinButtonWidth, mMaxButtonWidth, - mButtonHeight; - - LLUIImagePtr mBackgroundImage; + mButtonHeight, + mPadLeft, + mPadRight, + mPadTop, + mPadBottom, + mPadBetween; LLToolBarButton::Params mButtonParams[LLToolBarEnums::BTNTYPE_COUNT]; }; diff --git a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml index da964b88e2e..b58c006b3f5 100644 --- a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml +++ b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml @@ -28,7 +28,7 @@ <toolbar name="test_toolbar_left" follows="left|bottom|top" height="380" - width="100" + width="200" left="0" top="70" min_button_width="100" @@ -43,7 +43,7 @@ <toolbar name="test_toolbar_right" follows="right|bottom|top" height="380" - width="100" + width="200" right="500" top="70" side="right"> diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index f9cc9b7c69a..45210277b2a 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -1,11 +1,20 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toolbar background_image = "Rounded_Rect" - button_height="30"> - <button_icon_and_text follows="none" +<toolbar button_height="30" + pad_left="5" + pad_right="5" + pad_top="5" + pad_bottom="5" + pad_between="5"> + + <button_panel name="button_panel" + bg_opaque_image="Rounded_Rect" + background_visible="true" + background_opaque="true"/> + <button_icon_and_text follows="left|top" chrome="true" use_ellipses="true" auto_resize="true"/> - <button_icon follows="none" + <button_icon follows="left|top" chrome="true" use_ellipses="true" auto_resize="true"/> -- GitLab From c27d6ee5aa8428cf82486264779f266b9a2fb00a Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Fri, 23 Sep 2011 17:19:38 -0700 Subject: [PATCH 031/256] EXP-1239 FIX make toolbars wrap when there is not enough room fixed overeager wrapping --- indra/llui/lltoolbar.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 3311ed4a1b9..e5ffe391a6e 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -277,7 +277,7 @@ void LLToolBar::updateLayoutAsNeeded() // wrap if needed if (mWrap && row_running_length + button_length > max_length // out of room... - && cur_start != 0) // ...and not first button in row + && cur_start != row_pad_start) // ...and not first button in row { if (orientation == LLLayoutStack::VERTICAL) { // row girth (width in this case) is clamped to allowable button widths -- GitLab From 105b15436d37149f6df71866125871448ee4fbcb Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Fri, 23 Sep 2011 19:24:55 -0700 Subject: [PATCH 032/256] EXP-1027 : Fix the children creation code in LLToolBarView. Only a left panel is displayed now. --- indra/llui/lltoolbar.cpp | 2 +- indra/llui/lltoolbarview.cpp | 8 ++++---- indra/llui/lltoolbarview.h | 3 +++ indra/llui/llui.cpp | 1 + indra/newview/llviewerwindow.cpp | 2 +- indra/newview/skins/default/xui/en/panel_toolbar_view.xml | 4 +++- 6 files changed, 13 insertions(+), 7 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index e052c1c8765..ac07e6dd0bf 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -33,7 +33,7 @@ #include "llcommandmanager.h" #include "lltrans.h" -static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar"); +//static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar"); namespace LLToolBarEnums { diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 590cd4ffcaf..c99b573b358 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -84,10 +84,10 @@ void LLToolBarView::draw() // Debug draw LLColor4 back_color = LLColor4::blue; back_color[VALPHA] = 0.5f; -// gl_rect_2d(getLocalRect(), back_color, TRUE); -// gl_rect_2d(bottom_rect, LLColor4::red, TRUE); -// gl_rect_2d(left_rect, LLColor4::green, TRUE); -// gl_rect_2d(right_rect, LLColor4::yellow, TRUE); + //gl_rect_2d(getLocalRect(), back_color, TRUE); + //gl_rect_2d(bottom_rect, LLColor4::red, TRUE); + //gl_rect_2d(left_rect, LLColor4::green, TRUE); + //gl_rect_2d(right_rect, LLColor4::yellow, TRUE); LLUICtrl::draw(); } diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index 73278e226b0..0e6545015d5 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -41,6 +41,9 @@ class LLToolBarView : public LLUICtrl virtual ~LLToolBarView(); virtual void draw(); + // valid children for LLToolBarView are stored in this registry + typedef LLDefaultChildRegistry child_registry_t; + protected: friend class LLUICtrlFactory; LLToolBarView(const Params&); diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp index a4303780fd3..4f129ccfba1 100644 --- a/indra/llui/llui.cpp +++ b/indra/llui/llui.cpp @@ -96,6 +96,7 @@ static LLDefaultChildRegistry::Register<LLSearchEditor> register_search_editor(" // register other widgets which otherwise may not be linked in static LLDefaultChildRegistry::Register<LLLoadingIndicator> register_loading_indicator("loading_indicator"); +static LLDefaultChildRegistry::Register<LLToolBar> register_toolbar("toolbar"); // // Functions diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index e851398bf55..c651e86606f 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1786,7 +1786,7 @@ void LLViewerWindow::initBase() // Get a pointer to the toolbar view holder LLPanel* panel_holder = main_view->getChild<LLPanel>("toolbar_view_holder"); // Load the toolbar view from file - gToolBarView = LLUICtrlFactory::getInstance()->createFromFile<LLToolBarView>("panel_toolbar_view.xml", panel_holder, LLPanel::child_registry_t::instance()); + gToolBarView = LLUICtrlFactory::getInstance()->createFromFile<LLToolBarView>("panel_toolbar_view.xml", panel_holder, LLDefaultChildRegistry::instance()); // Attach it to the toolbar view holder //panel_holder->addChild(gToolBarView); } diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 33a19bcdb0e..12c442d8f1d 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -5,6 +5,8 @@ name="toolbar view" height="500" width="1024" + left="0" + top="0" mouse_opaque="false" tab_stop="false" visible="true"> @@ -39,7 +41,7 @@ side="right" visible="true" /> <panel - follows="right|bottom|left" + follows="top|bottom|left" layout="topleft" name="sizer_left" height="500" -- GitLab From 6aa7ddc238b1a8f8a4dd184dd2758f93f6a55bec Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Fri, 23 Sep 2011 19:56:07 -0700 Subject: [PATCH 033/256] fix for widget registration and crash on login --- indra/llui/lldockcontrol.cpp | 1 + indra/llui/lltoolbar.cpp | 14 ++++++-------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/indra/llui/lldockcontrol.cpp b/indra/llui/lldockcontrol.cpp index b1c27126d9b..7b9084671d8 100644 --- a/indra/llui/lldockcontrol.cpp +++ b/indra/llui/lldockcontrol.cpp @@ -97,6 +97,7 @@ void LLDockControl::getAllowedRect(LLRect& rect) void LLDockControl::repositionDockable() { + if (!mDockWidget) return; LLRect dockRect = mDockWidget->calcScreenRect(); LLRect rootRect; mGetAllowedRectCallback(rootRect); diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 31a18dc7073..96f892d974e 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -33,9 +33,7 @@ #include "llcommandmanager.h" #include "lltrans.h" -// uncomment this and remove the one in llui.cpp when there is an external reference to this translation unit -// thanks, MSVC! -//static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar"); +static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar"); namespace LLToolBarEnums { @@ -264,8 +262,8 @@ void LLToolBar::updateLayoutAsNeeded() std::vector<LLToolBarButton*> buttons_in_row; - BOOST_FOREACH(LLToolBarButton* button, mButtons) - { + BOOST_FOREACH(LLToolBarButton* button, mButtons) + { button->reshape(mMinButtonWidth, mButtonHeight); button->autoResize(); @@ -296,11 +294,11 @@ void LLToolBar::updateLayoutAsNeeded() cur_start = row_pad_start; cur_row += max_row_girth + mPadBetween; max_row_girth = 0; - } + } LLRect button_rect; if (orientation == LLLayoutStack::HORIZONTAL) - { + { button_rect.setLeftTopAndSize(cur_start, panel_rect.mTop - cur_row, button_clamped_width, button->getRect().getHeight()); } else // VERTICAL @@ -341,7 +339,7 @@ void LLToolBar::updateLayoutAsNeeded() mButtonPanel->translate(mButtonPanel->getRect().getWidth() - total_girth, 0); } mButtonPanel->reshape(total_girth, max_row_length); - } + } // re-center toolbar buttons mCenteringStack->updateLayout(); -- GitLab From c5d930b280c71dfd6ba2f63960c91895083ecc19 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Fri, 23 Sep 2011 20:06:35 -0700 Subject: [PATCH 034/256] made LLView a possible parent for all default widgets --- indra/llui/llpanel.h | 3 --- indra/llui/llview.h | 6 ++---- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/indra/llui/llpanel.h b/indra/llui/llpanel.h index 790025cb2dc..ab1c87caffe 100644 --- a/indra/llui/llpanel.h +++ b/indra/llui/llpanel.h @@ -96,9 +96,6 @@ class LLPanel : public LLUICtrl, public LLBadgeHolder Params(); }; - // valid children for LLPanel are stored in this registry - typedef LLDefaultChildRegistry child_registry_t; - protected: friend class LLUICtrlFactory; // RN: for some reason you can't just use LLUICtrlFactory::getDefaultParams as a default argument in VC8 diff --git a/indra/llui/llview.h b/indra/llui/llview.h index 594a5eec6be..43986a3a84d 100644 --- a/indra/llui/llview.h +++ b/indra/llui/llview.h @@ -95,9 +95,6 @@ class LLViewDrawContext static std::vector<LLViewDrawContext*> sDrawContextStack; }; -class LLViewWidgetRegistry : public LLChildRegistry<LLViewWidgetRegistry> -{}; - class LLView : public LLMouseHandler, public LLMortician, public LLFocusableElement { public: @@ -150,7 +147,8 @@ class LLView : public LLMouseHandler, public LLMortician, public LLFocusableElem Params(); }; - typedef LLViewWidgetRegistry child_registry_t; + // most widgets are valid children of LLView + typedef LLDefaultChildRegistry child_registry_t; void initFromParams(const LLView::Params&); -- GitLab From a80d5f2b46b21a8d1a48da4b4d2c740cb8260928 Mon Sep 17 00:00:00 2001 From: Seth ProductEngine <slitovchuk@productengine.com> Date: Mon, 26 Sep 2011 15:21:46 +0300 Subject: [PATCH 035/256] EXP-1222 FIXED Added a floater for My Profile side tab. - Replaced calls to LLSideTray with LLFloaterSidePanelContainer. - Removed obsolete code implementing the tri-state behavior of Profile side panel. - Added People panel XUI which is referenced from Profile panel. --- indra/newview/llpanelme.cpp | 40 ------------------ indra/newview/llpanelme.h | 1 - indra/newview/llpanelpicks.cpp | 17 ++++---- indra/newview/llviewerfloaterreg.cpp | 2 + .../default/xui/en/floater_my_profile.xml | 19 +++++++++ .../skins/default/xui/en/floater_people.xml | 41 +++++++++++++++++++ 6 files changed, 72 insertions(+), 48 deletions(-) create mode 100644 indra/newview/skins/default/xui/en/floater_my_profile.xml create mode 100644 indra/newview/skins/default/xui/en/floater_people.xml diff --git a/indra/newview/llpanelme.cpp b/indra/newview/llpanelme.cpp index 1347a02a520..4d86fa15dfd 100644 --- a/indra/newview/llpanelme.cpp +++ b/indra/newview/llpanelme.cpp @@ -37,7 +37,6 @@ #include "llfirstuse.h" #include "llfloaterreg.h" #include "llhints.h" -#include "llsidetray.h" #include "llviewercontrol.h" #include "llviewerdisplayname.h" @@ -89,45 +88,6 @@ void LLPanelMe::onOpen(const LLSD& key) //} } -bool LLPanelMe::notifyChildren(const LLSD& info) -{ - if (info.has("task-panel-action") && info["task-panel-action"].asString() == "handle-tri-state") - { - // Implement task panel tri-state behavior. - // - // When the button of an active open task panel is clicked, side tray - // calls notifyChildren() on the panel, passing task-panel-action=>handle-tri-state as an argument. - // The task panel is supposed to handle this by reverting to the default view, - // i.e. closing any dependent panels like "pick info" or "profile edit". - - bool on_default_view = true; - - const LLRect& task_panel_rect = getRect(); - for (LLView* child = getFirstChild(); child; child = findNextSibling(child)) - { - LLPanel* panel = dynamic_cast<LLPanel*>(child); - if (!panel) - continue; - - // *HACK: implement panel stack instead (e.g. me->pick_info->pick_edit). - if (panel->getRect().getWidth() == task_panel_rect.getWidth() && - panel->getRect().getHeight() == task_panel_rect.getHeight() && - panel->getVisible()) - { - panel->setVisible(FALSE); - on_default_view = false; - } - } - - if (on_default_view) - LLSideTray::getInstance()->collapseSideBar(); - - return true; // this notification is only supposed to be handled by task panels - } - - return LLPanel::notifyChildren(info); -} - void LLPanelMe::buildEditPanel() { if (NULL == mEditPanel) diff --git a/indra/newview/llpanelme.h b/indra/newview/llpanelme.h index f27f5a268e7..22cbb9e055a 100644 --- a/indra/newview/llpanelme.h +++ b/indra/newview/llpanelme.h @@ -49,7 +49,6 @@ class LLPanelMe : public LLPanelProfile LLPanelMe(); /*virtual*/ void onOpen(const LLSD& key); - /*virtual*/ bool notifyChildren(const LLSD& info); /*virtual*/ BOOL postBuild(); diff --git a/indra/newview/llpanelpicks.cpp b/indra/newview/llpanelpicks.cpp index ddce83c616d..15b5fc8301e 100755 --- a/indra/newview/llpanelpicks.cpp +++ b/indra/newview/llpanelpicks.cpp @@ -48,11 +48,11 @@ #include "llaccordionctrl.h" #include "llaccordionctrltab.h" #include "llavatarpropertiesprocessor.h" +#include "llfloatersidepanelcontainer.h" #include "llpanelavatar.h" #include "llpanelprofile.h" #include "llpanelpick.h" #include "llpanelclassified.h" -#include "llsidetray.h" static const std::string XML_BTN_NEW = "new_btn"; static const std::string XML_BTN_DELETE = "trash_btn"; @@ -133,7 +133,7 @@ class LLPickHandler : public LLCommandHandler, params["id"] = gAgent.getID(); params["open_tab_name"] = "panel_picks"; params["show_tab_panel"] = "create_pick"; - LLSideTray::getInstance()->showPanel("panel_me", params); + LLFloaterSidePanelContainer::showPanel("my_profile", params); } void editPick(LLPickData* pick_info) @@ -146,8 +146,7 @@ class LLPickHandler : public LLCommandHandler, params["snapshot_id"] = pick_info->snapshot_id; params["pick_name"] = pick_info->name; params["pick_desc"] = pick_info->desc; - - LLSideTray::getInstance()->showPanel("panel_me", params); + LLFloaterSidePanelContainer::showPanel("my_profile", params); } /*virtual*/ void processProperties(void* data, EAvatarProcessorType type) @@ -252,7 +251,7 @@ class LLClassifiedHandler : params["id"] = gAgent.getID(); params["open_tab_name"] = "panel_picks"; params["show_tab_panel"] = "create_classified"; - LLSideTray::getInstance()->showPanel("panel_me", params); + LLFloaterSidePanelContainer::showPanel("my_profile", params); } void openClassified(LLAvatarClassifiedInfo* c_info) @@ -270,7 +269,11 @@ class LLClassifiedHandler : params["classified_name"] = c_info->name; params["classified_desc"] = c_info->description; params["from_search"] = true; - LLSideTray::getInstance()->showPanel("panel_profile_view", params); + LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>("people"); + if (floaterp) + { + floaterp->openChildPanel("panel_profile_view", params); + } } else if (mRequestVerb == "edit") { @@ -283,7 +286,7 @@ class LLClassifiedHandler : params["open_tab_name"] = "panel_picks"; params["show_tab_panel"] = "edit_classified"; params["classified_id"] = c_info->classified_id; - LLSideTray::getInstance()->showPanel("panel_me", params); + LLFloaterSidePanelContainer::showPanel("my_profile", params); } else { diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index b28373c6d50..b30ef11978a 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -223,6 +223,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("moveview", "floater_moveview.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMove>); LLFloaterReg::add("mute_object_by_name", "floater_mute_object.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterGetBlockedObjectName>); LLFloaterReg::add("mini_map", "floater_map.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMap>); + LLFloaterReg::add("my_profile", "floater_my_profile.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("notifications_console", "floater_notifications_console.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterNotificationConsole>); LLFloaterReg::add("notification_well_window", "floater_sys_well.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLNotificationWellWindow>); @@ -231,6 +232,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("outgoing_call", "floater_outgoing_call.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLOutgoingCallDialog>); LLFloaterPayUtil::registerFloater(); + LLFloaterReg::add("people", "floater_people.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("places", "floater_places.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("postcard", "floater_postcard.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPostcard>); LLFloaterReg::add("preferences", "floater_preferences.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPreference>); diff --git a/indra/newview/skins/default/xui/en/floater_my_profile.xml b/indra/newview/skins/default/xui/en/floater_my_profile.xml new file mode 100644 index 00000000000..b3ebe7f7917 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_my_profile.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<floater + can_close="true" + can_resize="true" + height="570" + help_topic="sidebar_me" + min_width="333" + min_height="440" + name="floater_profile" + save_rect="true" + save_visibility="true" + title="My Profile" + width="333" > + <panel + class="panel_me" + name="main_panel" + filename="panel_me.xml" + follows="all"/> +</floater> diff --git a/indra/newview/skins/default/xui/en/floater_people.xml b/indra/newview/skins/default/xui/en/floater_people.xml new file mode 100644 index 00000000000..13e0738e522 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_people.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<floater + can_close="true" + can_resize="true" + height="570" + help_topic="sidebar_people" + min_width="333" + min_height="440" + name="floater_people" + save_rect="true" + save_visibility="true" + title="People" + width="333" > + <panel_container + follows="all" + height="570" + name="main_panel" + default_panel_name="panel_people" + width="333"> + <panel + class="panel_people" + name="panel_people" + filename="panel_people.xml"/> + <panel + class="panel_profile_view" + name="panel_profile_view" + filename="panel_profile_view.xml"/> + <panel + class="panel_group_info_sidetray" + name="panel_group_info_sidetray" + filename="panel_group_info_sidetray.xml" + label="Group Profile" + font="SansSerifBold"/> + <panel + class="panel_block_list_sidetray" + name="panel_block_list_sidetray" + filename="panel_block_list_sidetray.xml" + label="Blocked Residents & Objects" + font="SansSerifBold"/> + </panel_container> +</floater> -- GitLab From b72c8df1f6aac0932ae587a6a94fd87db5007366 Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Mon, 26 Sep 2011 19:38:12 +0300 Subject: [PATCH 036/256] Fixed Linux TeamCity build --- indra/newview/llfloatersidepanelcontainer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llfloatersidepanelcontainer.cpp b/indra/newview/llfloatersidepanelcontainer.cpp index cff46e80eb2..cf66fd1792d 100644 --- a/indra/newview/llfloatersidepanelcontainer.cpp +++ b/indra/newview/llfloatersidepanelcontainer.cpp @@ -69,7 +69,7 @@ LLPanel* LLFloaterSidePanelContainer::openChildPanel(const std::string& panel_na panel = container->getCurrentPanel(); } - else if (panel = dynamic_cast<LLPanel*>(view)) + else if ((panel = dynamic_cast<LLPanel*>(view)) != NULL) { panel->onOpen(params); } -- GitLab From 679a028fcc5615b9725bf11f6949634617fad06d Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Mon, 26 Sep 2011 20:37:02 +0300 Subject: [PATCH 037/256] EXP-1203 ADDITIONAL FIX (As a FUI user, I want the address bar and favorites to be on one line) - Removed search combobox by spec - Fixed EXP-1243 (Parcel characteristics icons from location bar overlay other ui elements) - Fixed EXP-1245 (More spillover list "jumps" on copying landmarks) --- indra/newview/llnavigationbar.cpp | 38 +------------------ indra/newview/llnavigationbar.h | 4 -- .../default/xui/en/panel_navigation_bar.xml | 37 ++++-------------- 3 files changed, 8 insertions(+), 71 deletions(-) diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp index 133168f0baa..4c0823874c2 100644 --- a/indra/newview/llnavigationbar.cpp +++ b/indra/newview/llnavigationbar.cpp @@ -269,7 +269,6 @@ LLNavigationBar::LLNavigationBar() mBtnForward(NULL), mBtnHome(NULL), mCmbLocation(NULL), - mSearchComboBox(NULL), mPurgeTPHistoryItems(false), mSaveToLocationHistory(false) { @@ -291,10 +290,7 @@ BOOL LLNavigationBar::postBuild() mBtnForward = getChild<LLPullButton>("forward_btn"); mBtnHome = getChild<LLButton>("home_btn"); - mCmbLocation= getChild<LLLocationInputCtrl>("location_combo"); - mSearchComboBox = getChild<LLSearchComboBox>("search_combo_box"); - - fillSearchComboBox(); + mCmbLocation= getChild<LLLocationInputCtrl>("location_combo"); mBtnBack->setEnabled(FALSE); mBtnBack->setClickedCallback(boost::bind(&LLNavigationBar::onBackButtonClicked, this)); @@ -309,8 +305,6 @@ BOOL LLNavigationBar::postBuild() mBtnHome->setClickedCallback(boost::bind(&LLNavigationBar::onHomeButtonClicked, this)); mCmbLocation->setCommitCallback(boost::bind(&LLNavigationBar::onLocationSelection, this)); - - mSearchComboBox->setCommitCallback(boost::bind(&LLNavigationBar::onSearchCommit, this)); mTeleportFinishConnection = LLViewerParcelMgr::getInstance()-> setTeleportFinishedCallback(boost::bind(&LLNavigationBar::onTeleportFinished, this, _1)); @@ -344,26 +338,6 @@ void LLNavigationBar::setVisible(BOOL visible) } } - -void LLNavigationBar::fillSearchComboBox() -{ - if(!mSearchComboBox) - { - return; - } - - LLSearchHistory::getInstance()->load(); - - LLSearchHistory::search_history_list_t search_list = - LLSearchHistory::getInstance()->getSearchHistoryList(); - LLSearchHistory::search_history_list_t::const_iterator it = search_list.begin(); - for( ; search_list.end() != it; ++it) - { - LLSearchHistory::LLSearchHistoryItem item = *it; - mSearchComboBox->add(item.search_query); - } -} - void LLNavigationBar::draw() { if(mPurgeTPHistoryItems) @@ -416,16 +390,6 @@ void LLNavigationBar::onHomeButtonClicked() gAgent.teleportHome(); } -void LLNavigationBar::onSearchCommit() -{ - std::string search_query = mSearchComboBox->getSimple(); - if(!search_query.empty()) - { - LLSearchHistory::getInstance()->addEntry(search_query); - } - invokeSearch(search_query); -} - void LLNavigationBar::onTeleportHistoryMenuItemClicked(const LLSD& userdata) { int idx = userdata.asInteger(); diff --git a/indra/newview/llnavigationbar.h b/indra/newview/llnavigationbar.h index f200253de57..e4ce9e3998e 100644 --- a/indra/newview/llnavigationbar.h +++ b/indra/newview/llnavigationbar.h @@ -118,7 +118,6 @@ class LLNavigationBar void onHomeButtonClicked(); void onLocationSelection(); void onLocationPrearrange(const LLSD& data); - void onSearchCommit(); void onTeleportFinished(const LLVector3d& global_agent_pos); void onTeleportFailed(); void onRegionNameResponse( @@ -128,8 +127,6 @@ class LLNavigationBar U64 region_handle, const std::string& url, const LLUUID& snapshot_id, bool teleport); - void fillSearchComboBox(); - static void destroyClass() { if (LLNavigationBar::instanceExists()) @@ -142,7 +139,6 @@ class LLNavigationBar LLPullButton* mBtnBack; LLPullButton* mBtnForward; LLButton* mBtnHome; - LLSearchComboBox* mSearchComboBox; LLLocationInputCtrl* mCmbLocation; LLRect mDefaultNbRect; LLRect mDefaultFpRect; diff --git a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml index 54befa38e9a..719d3531ed1 100644 --- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml @@ -60,9 +60,9 @@ layout="topleft" auto_resize="true" user_resize="true" - min_width="500" + min_width="340" name="navigation_layout_panel" - width="500"> + width="340"> <panel background_visible="false" follows="left|top|right" @@ -71,7 +71,7 @@ layout="topleft" left="0" name="navigation_panel" - width="500"> + width="340"> <pull_button follows="left|top" direction="down" @@ -118,33 +118,10 @@ mouse_opaque="false" name="location_combo" top_delta="0" - width="213"> + width="215"> <combo_list mouse_wheel_opaque="true"/> </location_input> - <search_combo_box - follows="top|right" - halign="right" - height="23" - label="Search" - layout="topleft" - left_pad="7" - mouse_opaque="false" - name="search_combo_box" - tool_tip="Search" - top_delta="0" - width="152" > - <combo_editor - label="Search [SECOND_LIFE]" - name="search_combo_editor"/> - <combo_list - draw_border="true" - border.highlight_light_color="FocusColor" - border.highlight_dark_color="FocusColor" - border.shadow_light_color="FocusColor" - border.shadow_dark_color="FocusColor" - mouse_wheel_opaque="true"/> - </search_combo_box> </panel> </layout_panel> @@ -172,9 +149,9 @@ layout="topleft" auto_resize="true" user_resize="true" - min_width="190" + min_width="335" name="favorites_layout_panel" - width="290"> + width="335"> <favorites_bar follows="left|right|top" font="SansSerifSmall" @@ -184,7 +161,7 @@ name="favorite" image_drag_indication="Accordion_ArrowOpened_Off" tool_tip="Drag Landmarks here for quick access to your favorite places in Second Life!" - width="290"> + width="331"> <label follows="left|top" height="15" -- GitLab From 16fead6429eba35bdfb8ef01610780a508e062df Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Mon, 26 Sep 2011 11:19:30 -0700 Subject: [PATCH 038/256] EXP-1207 : add button display mode mandatory param to toolbars --- indra/newview/skins/default/xui/en/panel_toolbar_view.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 12c442d8f1d..67012668878 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -19,6 +19,7 @@ left="0" top="0" side="left" + button_display_mode="icons_only" visible="true" /> <toolbar follows="right|bottom|left" @@ -29,6 +30,7 @@ left="30" top="470" side="bottom" + button_display_mode="icons_with_text" visible="true" /> <toolbar follows="top|bottom|right" @@ -39,6 +41,7 @@ left="994" top="0" side="right" + button_display_mode="icons_only" visible="true" /> <panel follows="top|bottom|left" -- GitLab From 9da5a8d01085f13c0586bba4c818ed540335ae2e Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Mon, 26 Sep 2011 14:34:42 -0700 Subject: [PATCH 039/256] EXP-1205 PROGRESS -- As a User, I want a toybox which will contain all buttons that I can d&d into the toolbars EXP-1233 PROGRESS -- Populate the toybox floater window with all FUI toolbar buttons EXP-1235 FIX -- Make the toybox available through the context menus associated with the other toolbars EXP-1248 FIX -- Implement context menu on toolbars * New commands are listed * Toolbars can now be made read-only (as in the toybox) or editable (as in the others) * Toolbars that are not read-only have a context menu that allows button type editing. Reviewed by Richard. --- indra/llui/lltoolbar.cpp | 113 ++++++++++++++++-- indra/llui/lltoolbar.h | 18 ++- indra/newview/app_settings/commands.xml | 9 ++ .../skins/default/textures/textures.xml | 1 + .../skins/default/xui/en/floater_toybox.xml | 4 +- .../skins/default/xui/en/menu_toolbars.xml | 29 +++++ .../newview/skins/default/xui/en/strings.xml | 2 + .../skins/default/xui/en/widgets/toolbar.xml | 3 +- 8 files changed, 166 insertions(+), 13 deletions(-) create mode 100644 indra/newview/skins/default/xui/en/menu_toolbars.xml diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 31a18dc7073..a9513b759a8 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -31,6 +31,7 @@ #include "lltoolbar.h" #include "llcommandmanager.h" +#include "llmenugl.h" #include "lltrans.h" // uncomment this and remove the one in llui.cpp when there is an external reference to this translation unit @@ -51,6 +52,7 @@ namespace LLToolBarEnums return orientation; } } + using namespace LLToolBarEnums; @@ -58,8 +60,8 @@ namespace LLInitParam { void TypeValues<ButtonType>::declareValues() { - declare("icons_only", BTNTYPE_ICONS_ONLY); declare("icons_with_text", BTNTYPE_ICONS_WITH_TEXT); + declare("icons_only", BTNTYPE_ICONS_ONLY); } void TypeValues<SideType>::declareValues() @@ -77,6 +79,7 @@ LLToolBar::Params::Params() side("side", SIDE_TOP), button_icon("button_icon"), button_icon_and_text("button_icon_and_text"), + read_only("read_only", false), wrap("wrap", true), min_button_width("min_button_width", 0), max_button_width("max_button_width", S32_MAX), @@ -91,6 +94,7 @@ LLToolBar::Params::Params() LLToolBar::LLToolBar(const LLToolBar::Params& p) : LLUICtrl(p), + mReadOnly(p.read_only), mButtonType(p.button_display_mode), mSideType(p.side), mWrap(p.wrap), @@ -104,10 +108,47 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p) mPadRight(p.pad_right), mPadTop(p.pad_top), mPadBottom(p.pad_bottom), - mPadBetween(p.pad_between) + mPadBetween(p.pad_between), + mPopupMenuHandle() { - mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_ONLY] = p.button_icon; mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_WITH_TEXT] = p.button_icon_and_text; + mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_ONLY] = p.button_icon; +} + +LLToolBar::~LLToolBar() +{ + LLView::deleteViewByHandle(mPopupMenuHandle); +} + +BOOL LLToolBar::postBuild() +{ + if (!mReadOnly) + { + LLUICtrl::CommitCallbackRegistry::Registrar& commit_reg = LLUICtrl::CommitCallbackRegistry::defaultRegistrar(); + commit_reg.add("Toolbars.EnableSetting", boost::bind(&LLToolBar::onSettingEnable, this, _2)); + + LLUICtrl::EnableCallbackRegistry::Registrar& enable_reg = LLUICtrl::EnableCallbackRegistry::defaultRegistrar(); + enable_reg.add("Toolbars.CheckSetting", boost::bind(&LLToolBar::isSettingChecked, this, _2)); + + // + // Setup the context menu + // + + LLMenuGL* menu = LLUICtrlFactory::instance().createFromFile<LLMenuGL>("menu_toolbars.xml", LLMenuGL::sMenuContainer, LLMenuHolderGL::child_registry_t::instance()); + + if (menu) + { + menu->setBackgroundColor(LLUIColorTable::instance().getColor("MenuPopupBgColor")); + + mPopupMenuHandle = menu->getHandle(); + } + else + { + llwarns << "Unable to load toolbars context menu." << llendl; + } + } + + return TRUE; } void LLToolBar::initFromParams(const LLToolBar::Params& p) @@ -199,6 +240,61 @@ bool LLToolBar::addCommand(LLCommand * command) return true; } +BOOL LLToolBar::handleRightMouseDown(S32 x, S32 y, MASK mask) +{ + BOOL handle_it_here = !mReadOnly; + + if (handle_it_here) + { + LLMenuGL * menu = (LLMenuGL *) mPopupMenuHandle.get(); + + if (menu) + { + LLMenuGL::showPopup(this, menu, x, y); + } + } + + return handle_it_here; +} + +BOOL LLToolBar::isSettingChecked(const LLSD& userdata) +{ + BOOL retval = FALSE; + + const std::string setting_name = userdata.asString(); + + if (setting_name == "icons_and_labels") + { + retval = (mButtonType == BTNTYPE_ICONS_WITH_TEXT); + } + else if (setting_name == "icons_only") + { + retval = (mButtonType == BTNTYPE_ICONS_ONLY); + } + + return retval; +} + +void LLToolBar::onSettingEnable(const LLSD& userdata) +{ + llassert(!mReadOnly); + + const std::string setting_name = userdata.asString(); + + const ButtonType current_button_type = mButtonType; + + if (setting_name == "icons_and_labels") + { + mButtonType = BTNTYPE_ICONS_WITH_TEXT; + } + else if (setting_name == "icons_only") + { + mButtonType = BTNTYPE_ICONS_ONLY; + } + + mNeedsLayout |= (current_button_type != mButtonType); +} + void LLToolBar::resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row, S32 max_row_girth) { // make buttons in current row all same girth @@ -264,8 +360,8 @@ void LLToolBar::updateLayoutAsNeeded() std::vector<LLToolBarButton*> buttons_in_row; - BOOST_FOREACH(LLToolBarButton* button, mButtons) - { + BOOST_FOREACH(LLToolBarButton* button, mButtons) + { button->reshape(mMinButtonWidth, mButtonHeight); button->autoResize(); @@ -296,11 +392,11 @@ void LLToolBar::updateLayoutAsNeeded() cur_start = row_pad_start; cur_row += max_row_girth + mPadBetween; max_row_girth = 0; - } + } LLRect button_rect; if (orientation == LLLayoutStack::HORIZONTAL) - { + { button_rect.setLeftTopAndSize(cur_start, panel_rect.mTop - cur_row, button_clamped_width, button->getRect().getHeight()); } else // VERTICAL @@ -340,8 +436,9 @@ void LLToolBar::updateLayoutAsNeeded() { // shift left to maintain right edge mButtonPanel->translate(mButtonPanel->getRect().getWidth() - total_girth, 0); } + mButtonPanel->reshape(total_girth, max_row_length); - } + } // re-center toolbar buttons mCenteringStack->updateLayout(); diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 92c289cd3f7..5028c39fb83 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -51,8 +51,8 @@ namespace LLToolBarEnums { enum ButtonType { - BTNTYPE_ICONS_ONLY = 0, - BTNTYPE_ICONS_WITH_TEXT, + BTNTYPE_ICONS_WITH_TEXT = 0, + BTNTYPE_ICONS_ONLY, BTNTYPE_COUNT }; @@ -96,7 +96,9 @@ class LLToolBar Optional<LLToolBarButton::Params> button_icon, button_icon_and_text; - Optional<bool> wrap; + Optional<bool> read_only, + wrap; + Optional<S32> min_button_width, max_button_width, button_height; @@ -116,6 +118,7 @@ class LLToolBar // virtuals void draw(); + BOOL postBuild(); void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); bool addCommand(LLCommand * command); @@ -123,13 +126,20 @@ class LLToolBar protected: friend class LLUICtrlFactory; LLToolBar(const Params&); + ~LLToolBar(); void initFromParams(const Params&); + BOOL handleRightMouseDown(S32 x, S32 y, MASK mask); + BOOL isSettingChecked(const LLSD& userdata); + void onSettingEnable(const LLSD& userdata); + private: void updateLayoutAsNeeded(); void resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row, S32 max_row_girth); + const bool mReadOnly; + std::list<LLToolBarButton*> mButtons; LLToolBarEnums::ButtonType mButtonType; LLLayoutStack* mCenteringStack; @@ -149,6 +159,8 @@ class LLToolBar mPadBetween; LLToolBarButton::Params mButtonParams[LLToolBarEnums::BTNTYPE_COUNT]; + + LLHandle<LLView> mPopupMenuHandle; }; diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 5cb8ddffcd4..dbb0e8b7ca2 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -21,6 +21,7 @@ function="Floater.ToolbarToggle" param="chat" /> + <!-- Compass it not supported by the viewer yet <command name="compass" icon="Command_Compass_Icon" label_ref="Command_Compass_Label" @@ -28,6 +29,7 @@ function="Floater.ToolbarToggle" param="compass" /> + --> <command name="gestures" icon="Command_Gestures_Icon" label_ref="Command_Gestures_Label" @@ -56,6 +58,13 @@ function="Floater.ToolbarToggle" param="map" /> + <command name="minimap" + icon="Command_MiniMap_Icon" + label_ref="Command_MiniMap_Label" + tooltip_ref="Command_MiniMap_Tooltip" + function="Floater.ToolbarToggle" + param="minimap" + /> <command name="move" icon="Command_Move_Icon" label_ref="Command_Move_Label" diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index d68594097ce..8f2194e652d 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -133,6 +133,7 @@ with the same filename but different name <texture name="Command_HowTo_Icon" file_name="icons/SL_Logo.png" preload="true" /> <texture name="Command_Landmarks_Icon" file_name="icons/SL_Logo.png" preload="true" /> <texture name="Command_Map_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_MiniMap_Icon" file_name="icons/SL_Logo.png" preload="true" /> <texture name="Command_Move_Icon" file_name="icons/SL_Logo.png" preload="true" /> <texture name="Command_MyLand_Icon" file_name="icons/SL_Logo.png" preload="true" /> <texture name="Command_MyStuff_Icon" file_name="icons/SL_Logo.png" preload="true" /> diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index 5f3a59d9647..1c9f20c496f 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -45,10 +45,12 @@ </text> <toolbar bottom="395" + button_display_mode="icons_with_text" left="40" max_button_width="140" - min_button_width="140" + min_button_width="70" name="toybox_toolbar" + read_only="true" right="-40" side="top" top="85"> diff --git a/indra/newview/skins/default/xui/en/menu_toolbars.xml b/indra/newview/skins/default/xui/en/menu_toolbars.xml new file mode 100644 index 00000000000..b3ecd3dcb67 --- /dev/null +++ b/indra/newview/skins/default/xui/en/menu_toolbars.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<menu bottom="825" + layout="topleft" + name="Toolbars Popup" + visible="false"> + <menu_item_call label="Choose buttons..." + layout="topleft" + name="Chose Buttons"> + <menu_item_call.on_click function="Floater.Show" + parameter="toybox" /> + </menu_item_call> + <menu_item_separator layout="topleft" /> + <menu_item_check label="Icons and labels" + layout="topleft" + name="icons_and_labels"> + <on_click function="Toolbars.EnableSetting" + parameter="icons_and_labels" /> + <on_check function="Toolbars.CheckSetting" + parameter="icons_and_labels" /> + </menu_item_check> + <menu_item_check label="Icons only" + layout="topleft" + name="icons_only"> + <on_click function="Toolbars.EnableSetting" + parameter="icons_only" /> + <on_check function="Toolbars.CheckSetting" + parameter="icons_only" /> + </menu_item_check> +</menu> diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index d4c2bc50ca4..feea555fdcf 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -3668,6 +3668,8 @@ Try enclosing path to the editor with double quotes. <string name="Command_Landmarks_Tooltip"></string> <string name="Command_Map_Label">Map</string> <string name="Command_Map_Tooltip"></string> + <string name="Command_MiniMap_Label">Mini Map</string> + <string name="Command_MiniMap_Tooltip"></string> <string name="Command_Move_Label">Move</string> <string name="Command_Move_Tooltip"></string> <string name="Command_MyLand_Label">My Land</string> diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 45210277b2a..7346e5ce2d9 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -4,7 +4,8 @@ pad_right="5" pad_top="5" pad_bottom="5" - pad_between="5"> + pad_between="5" + read_only="false"> <button_panel name="button_panel" bg_opaque_image="Rounded_Rect" -- GitLab From e3199b98be55c7d3355258e836b6cab522922cfa Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Mon, 26 Sep 2011 15:19:04 -0700 Subject: [PATCH 040/256] EXP-1207 : Display toolbars only after login, use correct position (temporary), follow resize correctly, store pointers to toolbars, debug display (temporary) --- indra/llui/lltoolbarview.cpp | 35 +++++++++++----- indra/llui/lltoolbarview.h | 8 +++- indra/newview/app_settings/settings.xml | 2 +- indra/newview/llviewerwindow.cpp | 12 ++++-- .../default/xui/en/panel_toolbar_view.xml | 40 +++++++++---------- 5 files changed, 62 insertions(+), 35 deletions(-) diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index c99b573b358..0b0fcef52c7 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -37,7 +37,10 @@ LLToolBarView* gToolBarView = NULL; static LLDefaultChildRegistry::Register<LLToolBarView> r("toolbar_view"); LLToolBarView::LLToolBarView(const LLToolBarView::Params& p) -: LLUICtrl(p) +: LLUICtrl(p), + mToolbarLeft(NULL), + mToolbarRight(NULL), + mToolbarBottom(NULL) { } @@ -51,20 +54,28 @@ LLToolBarView::~LLToolBarView() { } +BOOL LLToolBarView::postBuild() +{ + mToolbarLeft = getChild<LLToolBar>("toolbar_left"); + mToolbarRight = getChild<LLToolBar>("toolbar_right"); + mToolbarBottom = getChild<LLToolBar>("toolbar_bottom"); + return TRUE; +} + void LLToolBarView::draw() { static bool debug_print = true; static S32 old_width = 0; static S32 old_height = 0; - LLToolBar* toolbar_bottom = getChild<LLToolBar>("toolbar_bottom"); - LLToolBar* toolbar_left = getChild<LLToolBar>("toolbar_left"); - LLToolBar* toolbar_right = getChild<LLToolBar>("toolbar_right"); LLPanel* sizer_left = getChild<LLPanel>("sizer_left"); - LLRect bottom_rect = toolbar_bottom->getRect(); - LLRect left_rect = toolbar_left->getRect(); - LLRect right_rect = toolbar_right->getRect(); + LLRect bottom_rect, left_rect, right_rect; + + if (mToolbarBottom) bottom_rect = mToolbarBottom->getRect(); + if (mToolbarLeft) left_rect = mToolbarLeft->getRect(); + if (mToolbarRight) right_rect = mToolbarRight->getRect(); + LLRect sizer_left_rect = sizer_left->getRect(); if ((old_width != getRect().getWidth()) || (old_height != getRect().getHeight())) @@ -83,11 +94,15 @@ void LLToolBarView::draw() } // Debug draw LLColor4 back_color = LLColor4::blue; + LLColor4 back_color_vert = LLColor4::red; + LLColor4 back_color_hori = LLColor4::yellow; back_color[VALPHA] = 0.5f; + back_color_hori[VALPHA] = 0.5f; + back_color_vert[VALPHA] = 0.5f; //gl_rect_2d(getLocalRect(), back_color, TRUE); - //gl_rect_2d(bottom_rect, LLColor4::red, TRUE); - //gl_rect_2d(left_rect, LLColor4::green, TRUE); - //gl_rect_2d(right_rect, LLColor4::yellow, TRUE); + gl_rect_2d(bottom_rect, back_color_hori, TRUE); + gl_rect_2d(left_rect, back_color_vert, TRUE); + gl_rect_2d(right_rect, back_color_vert, TRUE); LLUICtrl::draw(); } diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index 0e6545015d5..24735d69e95 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -29,6 +29,7 @@ #define LL_LLTOOLBARVIEW_H #include "lluictrl.h" +#include "lltoolbar.h" class LLUICtrlFactory; @@ -38,7 +39,10 @@ class LLToolBarView : public LLUICtrl { public: struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> {}; + virtual ~LLToolBarView(); + /*virtual*/ BOOL postBuild(); + virtual void draw(); // valid children for LLToolBarView are stored in this registry @@ -51,7 +55,9 @@ class LLToolBarView : public LLUICtrl void initFromParams(const Params&); private: - LLHandle<LLView> mSnapView; + LLToolBar* mToolbarLeft; + LLToolBar* mToolbarRight; + LLToolBar* mToolbarBottom; }; extern LLToolBarView* gToolBarView; diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index f1db72e5cc0..9a06423422f 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -1858,7 +1858,7 @@ <key>Type</key> <string>Boolean</string> <key>Value</key> - <integer>1</integer> + <integer>0</integer> </map> <key>Cursor3D</key> <map> diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 947f0ec1840..34ee8935947 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1779,7 +1779,7 @@ void LLViewerWindow::initBase() mHintHolder = main_view->getChild<LLView>("hint_holder")->getHandle(); mLoginPanelHolder = main_view->getChild<LLView>("login_panel_holder")->getHandle(); - // Update the toolbar global holder + // Create the toolbar view // *TODO: Eventually, suppress the existence of this debug setting and turn toolbar FUI on permanently if (gSavedSettings.getBOOL("DebugToolbarFUI")) { @@ -1787,8 +1787,8 @@ void LLViewerWindow::initBase() LLPanel* panel_holder = main_view->getChild<LLPanel>("toolbar_view_holder"); // Load the toolbar view from file gToolBarView = LLUICtrlFactory::getInstance()->createFromFile<LLToolBarView>("panel_toolbar_view.xml", panel_holder, LLDefaultChildRegistry::instance()); - // Attach it to the toolbar view holder - //panel_holder->addChild(gToolBarView); + // Hide the toolbars for the moment: we'll make them visible after logging in world (see LLViewerWindow::initWorldUI()) + gToolBarView->setVisible(FALSE); } // Constrain floaters to inside the menu and status bar regions. @@ -1953,6 +1953,12 @@ void LLViewerWindow::initWorldUI() buttons_panel->setShape(buttons_panel_container->getLocalRect()); buttons_panel->setFollowsAll(); buttons_panel_container->addChild(buttons_panel); + + // Make the toolbars visible + if (gToolBarView) + { + gToolBarView->setVisible(TRUE); + } } // Destroy the UI diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 67012668878..7503da1d36d 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -3,18 +3,32 @@ follows="all" layout="topleft" name="toolbar view" - height="500" + height="716" width="1024" left="0" top="0" mouse_opaque="false" tab_stop="false" visible="true"> + <panel + follows="top|bottom|left" + layout="topleft" + name="sizer_left" + height="686" + width="30" + left="0" + top="0" + background_opaque="false" + border_visible="false" + background_visible="true" + bg_opaque_image="Toast_Over" + bg_alpha_image="Toast_Background" + visible="true" /> <toolbar follows="top|bottom|left" layout="topleft" name="toolbar_left" - height="500" + height="686" width="30" left="0" top="0" @@ -26,9 +40,9 @@ layout="topleft" name="toolbar_bottom" height="30" - width="964" - left="30" - top="470" + width="1024" + left="0" + top="686" side="bottom" button_display_mode="icons_with_text" visible="true" /> @@ -36,25 +50,11 @@ follows="top|bottom|right" layout="topleft" name="toolbar_right" - height="500" + height="686" width="30" left="994" top="0" side="right" button_display_mode="icons_only" visible="true" /> - <panel - follows="top|bottom|left" - layout="topleft" - name="sizer_left" - height="500" - width="30" - left="0" - top="0" - background_opaque="false" - border_visible="false" - background_visible="true" - bg_opaque_image="Toast_Over" - bg_alpha_image="Toast_Background" - visible="true" /> </toolbar_view> -- GitLab From bb1776de6865715b2dd96185140d35e46d63c837 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Mon, 26 Sep 2011 16:06:57 -0700 Subject: [PATCH 041/256] EXP-1207 : Introduced an hasCommand() method for toolbars and toolbar view --- indra/llui/lltoolbar.cpp | 14 ++++++++++++++ indra/llui/lltoolbar.h | 1 + indra/llui/lltoolbarview.cpp | 18 ++++++++++++++++++ indra/llui/lltoolbarview.h | 2 ++ 4 files changed, 35 insertions(+) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index a9513b759a8..5802d2adda6 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -240,6 +240,20 @@ bool LLToolBar::addCommand(LLCommand * command) return true; } +bool LLToolBar::hasCommand(const std::string& command_name) +{ + bool has_command = false; + for (std::list<LLToolBarButton*>::iterator cmd = mButtons.begin(); cmd != mButtons.end(); cmd++) + { + if ((*cmd)->getName() == command_name) + { + has_command = true; + break; + } + } + return has_command; +} + BOOL LLToolBar::handleRightMouseDown(S32 x, S32 y, MASK mask) { BOOL handle_it_here = !mReadOnly; diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 5028c39fb83..00e6ed131a1 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -122,6 +122,7 @@ class LLToolBar void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); bool addCommand(LLCommand * command); + bool hasCommand(const std::string& command_name); protected: friend class LLUICtrlFactory; diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 0b0fcef52c7..3b4960fdd57 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -62,6 +62,24 @@ BOOL LLToolBarView::postBuild() return TRUE; } +bool LLToolBarView::hasCommand(const std::string& command_name) +{ + bool has_command = false; + if (mToolbarLeft && !has_command) + { + has_command = mToolbarLeft->hasCommand(command_name); + } + if (mToolbarRight && !has_command) + { + has_command = mToolbarRight->hasCommand(command_name); + } + if (mToolbarBottom && !has_command) + { + has_command = mToolbarBottom->hasCommand(command_name); + } + return has_command; +} + void LLToolBarView::draw() { static bool debug_print = true; diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index 24735d69e95..65d339315b8 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -45,6 +45,8 @@ class LLToolBarView : public LLUICtrl virtual void draw(); + bool hasCommand(const std::string& command_name); + // valid children for LLToolBarView are stored in this registry typedef LLDefaultChildRegistry child_registry_t; -- GitLab From a465f816b8e7674aa3f22023d7708106ca35b350 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 26 Sep 2011 17:36:07 -0700 Subject: [PATCH 042/256] EXP-1239 FIX make toolbars wrap when there is not enough room toolbars resize to fit buttons toolbar view uses layout stacks to organize toolbars reviewed by Leslie --- indra/llui/llcommandmanager.cpp | 2 +- indra/llui/lldockcontrol.cpp | 3 +- indra/llui/lltoolbar.cpp | 27 ++-- indra/llui/lltoolbarview.cpp | 3 - indra/newview/llviewerwindow.cpp | 1 + .../default/xui/en/panel_toolbar_view.xml | 146 ++++++++++++------ .../skins/default/xui/en/widgets/toolbar.xml | 3 +- 7 files changed, 114 insertions(+), 71 deletions(-) diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp index 6be616b9809..071ab24cda7 100644 --- a/indra/llui/llcommandmanager.cpp +++ b/indra/llui/llcommandmanager.cpp @@ -109,7 +109,7 @@ void LLCommandManager::addCommand(LLCommand * command) mCommandIndices[command->name()] = mCommands.size(); mCommands.push_back(command); - llinfos << "Successfully added command: " << command->name() << llendl; + lldebugs << "Successfully added command: " << command->name() << llendl; } //static diff --git a/indra/llui/lldockcontrol.cpp b/indra/llui/lldockcontrol.cpp index b1c27126d9b..6e39fcd714f 100644 --- a/indra/llui/lldockcontrol.cpp +++ b/indra/llui/lldockcontrol.cpp @@ -97,6 +97,7 @@ void LLDockControl::getAllowedRect(LLRect& rect) void LLDockControl::repositionDockable() { + if (!mDockWidget) return; LLRect dockRect = mDockWidget->calcScreenRect(); LLRect rootRect; mGetAllowedRectCallback(rootRect); @@ -160,7 +161,7 @@ bool LLDockControl::isDockVisible() case TOP: { // check is dock inside parent rect - // assume that parent for all dockable flaoters + // assume that parent for all dockable floaters // is the root view LLRect dockParentRect = mDockWidget->getRootView()->calcScreenRect(); diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 31a18dc7073..90ade136e82 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -122,6 +122,7 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) centering_stack_p.rect = getLocalRect(); centering_stack_p.follows.flags = FOLLOWS_ALL; centering_stack_p.orientation = orientation; + centering_stack_p.mouse_opaque = false; mCenteringStack = LLUICtrlFactory::create<LLLayoutStack>(centering_stack_p); addChild(mCenteringStack); @@ -131,6 +132,7 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) border_panel_p.rect = getLocalRect(); border_panel_p.auto_resize = true; border_panel_p.user_resize = false; + border_panel_p.mouse_opaque = false; mCenteringStack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); @@ -145,21 +147,7 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) LLPanel::Params button_panel_p(p.button_panel); button_panel_p.rect = center_panel->getLocalRect(); - switch(p.side()) - { - case SIDE_LEFT: - button_panel_p.follows.flags = FOLLOWS_BOTTOM|FOLLOWS_LEFT; - break; - case SIDE_RIGHT: - button_panel_p.follows.flags = FOLLOWS_BOTTOM|FOLLOWS_RIGHT; - break; - case SIDE_TOP: - button_panel_p.follows.flags = FOLLOWS_TOP|FOLLOWS_LEFT; - break; - case SIDE_BOTTOM: - button_panel_p.follows.flags = FOLLOWS_BOTTOM|FOLLOWS_LEFT; - break; - } + button_panel_p.follows.flags = FOLLOWS_BOTTOM|FOLLOWS_LEFT; mButtonPanel = LLUICtrlFactory::create<LLPanel>(button_panel_p); center_panel->addChild(mButtonPanel); @@ -329,19 +317,22 @@ void LLToolBar::updateLayoutAsNeeded() { if (mSideType == SIDE_TOP) { // shift down to maintain top edge - mButtonPanel->translate(0, mButtonPanel->getRect().getHeight() - total_girth); + translate(0, getRect().getHeight() - total_girth); } + reshape(getRect().getWidth(), total_girth); mButtonPanel->reshape(max_row_length, total_girth); } else // VERTICAL { if (mSideType == SIDE_RIGHT) { // shift left to maintain right edge - mButtonPanel->translate(mButtonPanel->getRect().getWidth() - total_girth, 0); + translate(getRect().getWidth() - total_girth, 0); } + + reshape(total_girth, getRect().getHeight()); mButtonPanel->reshape(total_girth, max_row_length); - } + } // re-center toolbar buttons mCenteringStack->updateLayout(); diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index c99b573b358..27d67184d8e 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -60,12 +60,10 @@ void LLToolBarView::draw() LLToolBar* toolbar_bottom = getChild<LLToolBar>("toolbar_bottom"); LLToolBar* toolbar_left = getChild<LLToolBar>("toolbar_left"); LLToolBar* toolbar_right = getChild<LLToolBar>("toolbar_right"); - LLPanel* sizer_left = getChild<LLPanel>("sizer_left"); LLRect bottom_rect = toolbar_bottom->getRect(); LLRect left_rect = toolbar_left->getRect(); LLRect right_rect = toolbar_right->getRect(); - LLRect sizer_left_rect = sizer_left->getRect(); if ((old_width != getRect().getWidth()) || (old_height != getRect().getHeight())) debug_print = true; @@ -76,7 +74,6 @@ void LLToolBarView::draw() llinfos << "Merov debug : draw bottom rect = " << bottom_rect.mLeft << ", " << bottom_rect.mTop << ", " << bottom_rect.mRight << ", " << bottom_rect.mBottom << llendl; llinfos << "Merov debug : draw left rect = " << left_rect.mLeft << ", " << left_rect.mTop << ", " << left_rect.mRight << ", " << left_rect.mBottom << llendl; llinfos << "Merov debug : draw right rect = " << right_rect.mLeft << ", " << right_rect.mTop << ", " << right_rect.mRight << ", " << right_rect.mBottom << llendl; - llinfos << "Merov debug : draw s left rect = " << sizer_left_rect.mLeft << ", " << sizer_left_rect.mTop << ", " << sizer_left_rect.mRight << ", " << sizer_left_rect.mBottom << llendl; old_width = ctrl_rect.getWidth(); old_height = ctrl_rect.getHeight(); debug_print = false; diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 947f0ec1840..4a20be63f6a 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1787,6 +1787,7 @@ void LLViewerWindow::initBase() LLPanel* panel_holder = main_view->getChild<LLPanel>("toolbar_view_holder"); // Load the toolbar view from file gToolBarView = LLUICtrlFactory::getInstance()->createFromFile<LLToolBarView>("panel_toolbar_view.xml", panel_holder, LLDefaultChildRegistry::instance()); + gToolBarView->setShape(panel_holder->getLocalRect()); // Attach it to the toolbar view holder //panel_holder->addChild(gToolBarView); } diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 67012668878..b24f5c33476 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -10,51 +10,103 @@ mouse_opaque="false" tab_stop="false" visible="true"> - <toolbar - follows="top|bottom|left" - layout="topleft" - name="toolbar_left" - height="500" - width="30" - left="0" - top="0" - side="left" - button_display_mode="icons_only" - visible="true" /> - <toolbar - follows="right|bottom|left" - layout="topleft" - name="toolbar_bottom" - height="30" - width="964" - left="30" - top="470" - side="bottom" - button_display_mode="icons_with_text" - visible="true" /> - <toolbar - follows="top|bottom|right" - layout="topleft" - name="toolbar_right" - height="500" - width="30" - left="994" - top="0" - side="right" - button_display_mode="icons_only" - visible="true" /> - <panel - follows="top|bottom|left" - layout="topleft" - name="sizer_left" - height="500" - width="30" - left="0" - top="0" - background_opaque="false" - border_visible="false" - background_visible="true" - bg_opaque_image="Toast_Over" - bg_alpha_image="Toast_Background" - visible="true" /> + <layout_stack name="bottom_toolbar_stack" + orientation="vertical" + left="0" + top="0" + width="1024" + height="500" + follows="all" + mouse_opaque="false"> + <layout_panel name="vertical_toolbar_panel" + auto_resize="true" + user_resize="false" + width="1024" + height="500" + mouse_opaque="false"> + <layout_stack name="vertical_toolbar_stack" + orientation="horizontal" + left="0" + top="0" + width="1024" + height="500" + follows="all" + mouse_opaque="false"> + <layout_panel name="left_toolbar_panel" + fit_content="true" + auto_resize="false" + user_resize="false" + height="500" + width="30" + mouse_opaque="false"> + <toolbar follows="left|top|bottom" + name="toolbar_left" + height="500" + width="30" + left="0" + top="0" + side="left" + button_display_mode="icons_only"> + <button name="button1" label="Left Toolbar"/> + <button name="button2" label="Left Toolbar"/> + <button name="button3" label="Left Toolbar"/> + <button name="button4" label="Left Toolbar"/> + <button name="button5" label="Left Toolbar"/> + </toolbar> + </layout_panel> + <layout_panel name="non_toolbar_panel" + auto_resize="true" + user_resize="false" + mouse_opaque="false"/> + <layout_panel name="right_toolbar_panel" + fit_content="true" + auto_resize="false" + user_resize="false" + height="500" + width="30" + mouse_opaque="false"> + <toolbar + follows="right|top|bottom" + name="toolbar_right" + height="500" + width="30" + left="0" + top="0" + side="right" + button_display_mode="icons_only"> + <button name="button1" label="Right Toolbar"/> + <button name="button2" label="Right Toolbar"/> + <button name="button3" label="Right Toolbar"/> + <button name="button4" label="Right Toolbar"/> + <button name="button5" label="Right Toolbar"/> + </toolbar> + </layout_panel> + </layout_stack> + </layout_panel> + <layout_panel name="bottom_toolbar_panel" + fit_content="true" + auto_resize="false" + user_resize="false" + height="30" + width="1024" + mouse_opaque="false"> + <toolbar layout="topleft" + name="toolbar_bottom" + height="30" + width="1024" + left="0" + top="0" + side="bottom" + follows="left|right|bottom" + button_display_mode="icons_with_text" + visible="true"> + <button name="button1" label="Bottom toolbar"/> + <button name="button2" label="Bottom toolbar"/> + <button name="button3" label="Bottom toolbar"/> + <button name="button4" label="Bottom toolbar"/> + <button name="button5" label="Bottom toolbar"/> + <button name="button6" label="Bottom toolbar"/> + </toolbar> + </layout_panel> + </layout_stack> </toolbar_view> diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 45210277b2a..69fd6f569c4 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -4,7 +4,8 @@ pad_right="5" pad_top="5" pad_bottom="5" - pad_between="5"> + pad_between="5" + mouse_opaque="false"> <button_panel name="button_panel" bg_opaque_image="Rounded_Rect" -- GitLab From 53a486649381af53d21de28aced388bc2aacac0f Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Mon, 26 Sep 2011 17:38:10 -0700 Subject: [PATCH 043/256] EXP-1205 PROGRESS -- As a User, I want a toybox which will contain all buttons that I can d&d into the toolbars * Command buttons are now enabled/disabled in toybox based on whether or not the LLToolBarView has them anywhere. * Commands now have argument to specify whether or not they should be in the toybox. * LLCommandId is now used a universal reference for commands. Reviewed by Richard. --- indra/llui/llcommandmanager.cpp | 24 ++++--- indra/llui/llcommandmanager.h | 50 +++++++++++-- indra/llui/lltoolbar.cpp | 71 +++++++++++++------ indra/llui/lltoolbar.h | 11 +-- indra/llui/lltoolbarview.cpp | 8 +-- indra/llui/lltoolbarview.h | 3 +- indra/newview/app_settings/commands.xml | 23 +++++- indra/newview/llfloatertoybox.cpp | 9 ++- .../skins/default/xui/en/floater_toybox.xml | 21 +++--- 9 files changed, 167 insertions(+), 53 deletions(-) diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp index 6be616b9809..62e1d186f57 100644 --- a/indra/llui/llcommandmanager.cpp +++ b/indra/llui/llcommandmanager.cpp @@ -37,12 +37,19 @@ #include <boost/foreach.hpp> +// +// LLCommandId class +// + +const LLCommandId LLCommandId::null("null command"); + // // LLCommand class // LLCommand::Params::Params() : function("function") + , available_in_toybox("available_in_toybox", false) , icon("icon") , label_ref("label_ref") , name("name") @@ -53,9 +60,10 @@ LLCommand::Params::Params() LLCommand::LLCommand(const LLCommand::Params& p) : mFunction(p.function) + , mAvailableInToybox(p.available_in_toybox) , mIcon(p.icon) + , mIdentifier(p.name) , mLabelRef(p.label_ref) - , mName(p.name) , mParam(p.param) , mTooltipRef(p.tooltip_ref) { @@ -90,26 +98,26 @@ LLCommand * LLCommandManager::getCommand(U32 commandIndex) return mCommands[commandIndex]; } -LLCommand * LLCommandManager::getCommand(const std::string& commandName) +LLCommand * LLCommandManager::getCommand(const LLCommandId& commandId) { - LLCommand * command_name_match = NULL; + LLCommand * command_match = NULL; - CommandIndexMap::const_iterator found = mCommandIndices.find(commandName); + CommandIndexMap::const_iterator found = mCommandIndices.find(commandId); if (found != mCommandIndices.end()) { - command_name_match = mCommands[found->second]; + command_match = mCommands[found->second]; } - return command_name_match; + return command_match; } void LLCommandManager::addCommand(LLCommand * command) { - mCommandIndices[command->name()] = mCommands.size(); + mCommandIndices[command->id()] = mCommands.size(); mCommands.push_back(command); - llinfos << "Successfully added command: " << command->name() << llendl; + llinfos << "Successfully added command: " << command->id().name() << llendl; } //static diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index 24378ecd620..5b53b655001 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -31,11 +31,50 @@ #include "llsingleton.h" +class LLCommand; +class LLCommandManager; + + +class LLCommandId +{ +public: + friend LLCommand; + friend LLCommandManager; + + LLCommandId(const std::string& name) + : mName(name) + { + } + + const std::string& name() const { return mName; } + + bool operator!=(const LLCommandId& command) const + { + return (mName != command.mName); + } + + bool operator==(const LLCommandId& command) const + { + return (mName == command.mName); + } + + bool operator<(const LLCommandId& command) const + { + return (mName < command.mName); + } + + static const LLCommandId null; + +private: + std::string mName; +}; + class LLCommand { public: struct Params : public LLInitParam::Block<Params> { + Mandatory<bool> available_in_toybox; Mandatory<std::string> function; Mandatory<std::string> icon; Mandatory<std::string> label_ref; @@ -48,18 +87,21 @@ class LLCommand LLCommand(const LLCommand::Params& p); + const bool availableInToybox() const { return mAvailableInToybox; } const std::string& functionName() const { return mFunction; } const std::string& icon() const { return mIcon; } + const LLCommandId& id() const { return mIdentifier; } const std::string& labelRef() const { return mLabelRef; } - const std::string& name() const { return mName; } const std::string& param() const { return mParam; } const std::string& tooltipRef() const { return mTooltipRef; } private: + LLCommandId mIdentifier; + + bool mAvailableInToybox; std::string mFunction; std::string mIcon; std::string mLabelRef; - std::string mName; std::string mParam; std::string mTooltipRef; }; @@ -84,7 +126,7 @@ class LLCommandManager U32 commandCount() const; LLCommand * getCommand(U32 commandIndex); - LLCommand * getCommand(const std::string& commandName); + LLCommand * getCommand(const LLCommandId& commandId); static bool load(); @@ -92,7 +134,7 @@ class LLCommandManager void addCommand(LLCommand * command); private: - typedef std::map<std::string, U32> CommandIndexMap; + typedef std::map<LLCommandId, U32> CommandIndexMap; typedef std::vector<LLCommand *> CommandVector; CommandVector mCommands; diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 5802d2adda6..1e1cb16fbb9 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -30,7 +30,6 @@ #include <boost/foreach.hpp> #include "lltoolbar.h" -#include "llcommandmanager.h" #include "llmenugl.h" #include "lltrans.h" @@ -212,48 +211,79 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) LLToolBarButton* buttonp = LLUICtrlFactory::create<LLToolBarButton>(button_p); mButtons.push_back(buttonp); + mButtonCommands.push_back(LLCommandId::null); mButtonPanel->addChild(buttonp); mNeedsLayout = true; } } -bool LLToolBar::addCommand(LLCommand * command) +bool LLToolBar::addCommand(const LLCommandId& commandId) { + LLCommand * command = LLCommandManager::instance().getCommand(commandId); + + bool add_command = (command != NULL); + // // Init basic toolbar button params // - LLToolBarButton::Params button_p(mButtonParams[mButtonType]); - button_p.name = command->name(); - button_p.label = LLTrans::getString(command->labelRef()); - button_p.tool_tip = LLTrans::getString(command->tooltipRef()); + if (add_command) + { + LLToolBarButton::Params button_p(mButtonParams[mButtonType]); + button_p.name = commandId.name(); + button_p.label = LLTrans::getString(command->labelRef()); + button_p.tool_tip = LLTrans::getString(command->tooltipRef()); - // - // Add it to the list of buttons - // - LLToolBarButton * toolbar_button = LLUICtrlFactory::create<LLToolBarButton>(button_p); - mButtons.push_back(toolbar_button); - mButtonPanel->addChild(toolbar_button); + // + // Add it to the list of buttons + // + LLToolBarButton * toolbar_button = LLUICtrlFactory::create<LLToolBarButton>(button_p); + mButtons.push_back(toolbar_button); + mButtonCommands.push_back(commandId); + mButtonPanel->addChild(toolbar_button); - mNeedsLayout = true; + mNeedsLayout = true; + } - return true; + return add_command; } -bool LLToolBar::hasCommand(const std::string& command_name) +bool LLToolBar::hasCommand(const LLCommandId& commandId) const { bool has_command = false; - for (std::list<LLToolBarButton*>::iterator cmd = mButtons.begin(); cmd != mButtons.end(); cmd++) + + if (commandId != LLCommandId::null) { - if ((*cmd)->getName() == command_name) + for (std::list<LLCommandId>::const_iterator cmd = mButtonCommands.begin(); cmd != mButtonCommands.end(); ++cmd) { - has_command = true; - break; + if ((*cmd) == commandId) + { + has_command = true; + break; + } } } + return has_command; } +bool LLToolBar::enableCommand(const LLCommandId& commandId, bool enabled) +{ + LLButton * command_button = NULL; + + if (commandId != LLCommandId::null) + { + command_button = mButtonPanel->findChild<LLButton>(commandId.name()); + + if (command_button) + { + command_button->setEnabled(enabled); + } + } + + return (command_button != NULL); +} + BOOL LLToolBar::handleRightMouseDown(S32 x, S32 y, MASK mask) { BOOL handle_it_here = !mReadOnly; @@ -351,7 +381,6 @@ void LLToolBar::updateLayoutAsNeeded() max_length = getRect().getWidth() - mPadLeft - mPadRight; max_total_girth = getRect().getHeight() - mPadTop - mPadBottom; row_pad_start = mPadLeft; - row_running_length = row_pad_start; row_pad_end = mPadRight; cur_row = mPadTop; girth_pad_end = mPadBottom; @@ -361,12 +390,12 @@ void LLToolBar::updateLayoutAsNeeded() max_length = getRect().getHeight() - mPadTop - mPadBottom; max_total_girth = getRect().getWidth() - mPadLeft - mPadRight; row_pad_start = mPadTop; - row_running_length = row_pad_start; row_pad_end = mPadBottom; cur_row = mPadLeft; girth_pad_end = mPadRight; } + row_running_length = row_pad_start; cur_start = row_pad_start; diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 00e6ed131a1..f7562b29d24 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -28,9 +28,10 @@ #ifndef LL_LLTOOLBAR_H #define LL_LLTOOLBAR_H -#include "lluictrl.h" -#include "lllayoutstack.h" #include "llbutton.h" +#include "llcommandmanager.h" +#include "lllayoutstack.h" +#include "lluictrl.h" class LLCommand; @@ -121,8 +122,9 @@ class LLToolBar BOOL postBuild(); void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); - bool addCommand(LLCommand * command); - bool hasCommand(const std::string& command_name); + bool addCommand(const LLCommandId& commandId); + bool hasCommand(const LLCommandId& commandId) const; + bool enableCommand(const LLCommandId& commandId, bool enabled); protected: friend class LLUICtrlFactory; @@ -142,6 +144,7 @@ class LLToolBar const bool mReadOnly; std::list<LLToolBarButton*> mButtons; + std::list<LLCommandId> mButtonCommands; LLToolBarEnums::ButtonType mButtonType; LLLayoutStack* mCenteringStack; LLLayoutStack* mWrapStack; diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 3b4960fdd57..6c29e566b81 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -62,20 +62,20 @@ BOOL LLToolBarView::postBuild() return TRUE; } -bool LLToolBarView::hasCommand(const std::string& command_name) +bool LLToolBarView::hasCommand(const LLCommandId& commandId) const { bool has_command = false; if (mToolbarLeft && !has_command) { - has_command = mToolbarLeft->hasCommand(command_name); + has_command = mToolbarLeft->hasCommand(commandId); } if (mToolbarRight && !has_command) { - has_command = mToolbarRight->hasCommand(command_name); + has_command = mToolbarRight->hasCommand(commandId); } if (mToolbarBottom && !has_command) { - has_command = mToolbarBottom->hasCommand(command_name); + has_command = mToolbarBottom->hasCommand(commandId); } return has_command; } diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index 65d339315b8..2e7885f3911 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -30,6 +30,7 @@ #include "lluictrl.h" #include "lltoolbar.h" +#include "llcommandmanager.h" class LLUICtrlFactory; @@ -45,7 +46,7 @@ class LLToolBarView : public LLUICtrl virtual void draw(); - bool hasCommand(const std::string& command_name); + bool hasCommand(const LLCommandId& commandId) const; // valid children for LLToolBarView are stored in this registry typedef LLDefaultChildRegistry child_registry_t; diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index dbb0e8b7ca2..4a33b24075a 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <commands> <command name="avatar" + available_in_toybox="true" icon="Command_Avatar_Icon" label_ref="Command_Avatar_Label" tooltip_ref="Command_Avatar_Tooltip" @@ -8,6 +9,7 @@ param="avatar" /> <command name="build" + available_in_toybox="true" icon="Command_Build_Icon" label_ref="Command_Build_Label" tooltip_ref="Command_Build_Tooltip" @@ -15,22 +17,23 @@ param="build" /> <command name="chat" + available_in_toybox="true" icon="Command_Chat_Icon" label_ref="Command_Chat_Label" tooltip_ref="Command_Chat_Tooltip" function="Floater.ToolbarToggle" param="chat" /> - <!-- Compass it not supported by the viewer yet <command name="compass" + available_in_toybox="false" icon="Command_Compass_Icon" label_ref="Command_Compass_Label" tooltip_ref="Command_Compass_Tooltip" function="Floater.ToolbarToggle" param="compass" /> - --> <command name="gestures" + available_in_toybox="true" icon="Command_Gestures_Icon" label_ref="Command_Gestures_Label" tooltip_ref="Command_Gestures_Tooltip" @@ -38,6 +41,7 @@ param="gestures" /> <command name="howto" + available_in_toybox="true" icon="Command_HowTo_Icon" label_ref="Command_HowTo_Label" tooltip_ref="Command_HowTo_Tooltip" @@ -45,6 +49,7 @@ param="howto" /> <command name="landmarks" + available_in_toybox="true" icon="Command_Landmarks_Icon" label_ref="Command_Landmarks_Label" tooltip_ref="Command_Landmarks_Tooltip" @@ -52,6 +57,7 @@ param="landmarks" /> <command name="map" + available_in_toybox="true" icon="Command_Map_Icon" label_ref="Command_Map_Label" tooltip_ref="Command_Map_Tooltip" @@ -59,6 +65,7 @@ param="map" /> <command name="minimap" + available_in_toybox="true" icon="Command_MiniMap_Icon" label_ref="Command_MiniMap_Label" tooltip_ref="Command_MiniMap_Tooltip" @@ -66,6 +73,7 @@ param="minimap" /> <command name="move" + available_in_toybox="true" icon="Command_Move_Icon" label_ref="Command_Move_Label" tooltip_ref="Command_Move_Tooltip" @@ -73,6 +81,7 @@ param="move" /> <command name="myland" + available_in_toybox="true" icon="Command_MyLand_Icon" label_ref="Command_MyLand_Label" tooltip_ref="Command_MyLand_Tooltip" @@ -80,6 +89,7 @@ param="myland" /> <command name="mystuff" + available_in_toybox="true" icon="Command_MyStuff_Icon" label_ref="Command_MyStuff_Label" tooltip_ref="Command_MyStuff_Tooltip" @@ -87,6 +97,7 @@ param="mystuff" /> <command name="people" + available_in_toybox="true" icon="Command_People_Icon" label_ref="Command_People_Label" tooltip_ref="Command_People_Tooltip" @@ -94,6 +105,7 @@ param="people" /> <command name="places" + available_in_toybox="true" icon="Command_Places_Icon" label_ref="Command_Places_Label" tooltip_ref="Command_Places_Tooltip" @@ -101,6 +113,7 @@ param="places" /> <command name="search" + available_in_toybox="true" icon="Command_Search_Icon" label_ref="Command_Search_Label" tooltip_ref="Command_Search_Tooltip" @@ -108,6 +121,7 @@ param="search" /> <command name="settings" + available_in_toybox="true" icon="Command_Settings_Icon" label_ref="Command_Settings_Label" tooltip_ref="Command_Settings_Tooltip" @@ -115,6 +129,7 @@ param="settings" /> <command name="shop" + available_in_toybox="true" icon="Command_Shop_Icon" label_ref="Command_Shop_Label" tooltip_ref="Command_Shop_Tooltip" @@ -122,6 +137,7 @@ param="shop" /> <command name="snapshot" + available_in_toybox="true" icon="Command_Snapshot_Icon" label_ref="Command_Snapshot_Label" tooltip_ref="Command_Snapshot_Tooltip" @@ -129,6 +145,7 @@ param="snapshot" /> <command name="speak" + available_in_toybox="true" icon="Command_Speak_Icon" label_ref="Command_Speak_Label" tooltip_ref="Command_Speak_Tooltip" @@ -136,6 +153,7 @@ param="speak" /> <command name="upload" + available_in_toybox="true" icon="Command_Upload_Icon" label_ref="Command_Upload_Label" tooltip_ref="Command_Upload_Tooltip" @@ -143,6 +161,7 @@ param="upload" /> <command name="view" + available_in_toybox="true" icon="Command_View_Icon" label_ref="Command_View_Label" tooltip_ref="Command_View_Tooltip" diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp index eaaaeb3357a..beb928ea361 100644 --- a/indra/newview/llfloatertoybox.cpp +++ b/indra/newview/llfloatertoybox.cpp @@ -32,6 +32,7 @@ #include "llcommandmanager.h" #include "llpanel.h" #include "lltoolbar.h" +#include "lltoolbarview.h" LLFloaterToybox::LLFloaterToybox(const LLSD& key) @@ -63,7 +64,13 @@ BOOL LLFloaterToybox::postBuild() { LLCommand * command = cmdMgr.getCommand(i); - mToolBar->addCommand(command); + if (command->availableInToybox()) + { + mToolBar->addCommand(command->id()); + + llassert(gToolBarView != NULL); + mToolBar->enableCommand(command->id(), !gToolBarView->hasCommand(command->id())); + } } return TRUE; diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index 1c9f20c496f..60a39b0bff7 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -14,17 +14,17 @@ save_rect="true" single_instance="true" title="Customize toolbars" - width="658"> + width="650"> <text follows="left|top" font="SansSerifMedium" halign="left" height="20" layout="topleft" - left="40" + left="20" length="1" name="toybox label 1" - right="-40" + right="-20" top="35" type="string"> Add or remove buttons by dragging them to or from the toolbars. @@ -35,10 +35,10 @@ halign="left" height="20" layout="topleft" - left="40" + left="20" length="1" name="toybox label 2" - right="-40" + right="-20" top="55" type="string"> Buttons will appear as shown or as icon-only depending on each toolbar's settings. @@ -46,12 +46,17 @@ <toolbar bottom="395" button_display_mode="icons_with_text" - left="40" + left="20" max_button_width="140" min_button_width="70" name="toybox_toolbar" + pad_left="5" + pad_right="5" + pad_top="5" + pad_bottom="5" + pad_between="15" read_only="true" - right="-40" + right="-20" side="top" top="85"> </toolbar> @@ -61,7 +66,7 @@ label="Restore defaults" label_selected="Restore defaults" layout="topleft" - left="40" + left="20" name="btn_restore_defaults" top="415" width="130"> -- GitLab From 87318979bf8ce1ba68c1e90190737cf99ecc7c50 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Mon, 26 Sep 2011 18:04:50 -0700 Subject: [PATCH 044/256] EXP-1202 : Fix Mac compilation failure --- indra/llui/llcommandmanager.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index 5b53b655001..7ed8785f17f 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -38,8 +38,8 @@ class LLCommandManager; class LLCommandId { public: - friend LLCommand; - friend LLCommandManager; + friend class LLCommand; + friend class LLCommandManager; LLCommandId(const std::string& name) : mName(name) -- GitLab From 7fd0e8c69e6dced4a770da4fac10c154eac5899f Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 26 Sep 2011 18:51:43 -0700 Subject: [PATCH 045/256] fixed toolbar context menu deprecated pointless LLView::deleteViewByHandle --- indra/llui/llmenugl.cpp | 2 +- indra/llui/lltoolbar.cpp | 18 +++++++----------- indra/llui/lltoolbar.h | 11 +++++------ indra/llui/lltoolbarview.cpp | 6 +++--- indra/llui/llview.cpp | 7 ------- indra/llui/llview.h | 1 - indra/newview/llfavoritesbar.cpp | 4 ++-- indra/newview/llfloatersnapshot.cpp | 2 +- indra/newview/llfolderview.cpp | 4 ++-- indra/newview/llgrouplist.cpp | 2 +- indra/newview/llpanelpeople.cpp | 10 +++++----- indra/newview/llpanelteleporthistory.cpp | 2 +- .../skins/default/xui/en/menu_toolbars.xml | 4 ++-- .../skins/default/xui/en/widgets/toolbar.xml | 1 - 14 files changed, 30 insertions(+), 44 deletions(-) diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp index 6cac841cdea..badba7a416c 100644 --- a/indra/llui/llmenugl.cpp +++ b/indra/llui/llmenugl.cpp @@ -947,7 +947,7 @@ LLMenuItemBranchGL::LLMenuItemBranchGL(const LLMenuItemBranchGL::Params& p) LLMenuItemBranchGL::~LLMenuItemBranchGL() { - LLView::deleteViewByHandle(mBranchHandle); + delete mBranchHandle.get(); } // virtual diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 278c04aef8e..bd45cf46567 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -116,12 +116,12 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p) LLToolBar::~LLToolBar() { - LLView::deleteViewByHandle(mPopupMenuHandle); + delete mPopupMenuHandle.get(); } -BOOL LLToolBar::postBuild() +void LLToolBar::createContextMenu() { - if (!mReadOnly) + if (!mPopupMenuHandle.get()) { LLUICtrl::CommitCallbackRegistry::Registrar& commit_reg = LLUICtrl::CommitCallbackRegistry::defaultRegistrar(); commit_reg.add("Toolbars.EnableSetting", boost::bind(&LLToolBar::onSettingEnable, this, _2)); @@ -129,11 +129,7 @@ BOOL LLToolBar::postBuild() LLUICtrl::EnableCallbackRegistry::Registrar& enable_reg = LLUICtrl::EnableCallbackRegistry::defaultRegistrar(); enable_reg.add("Toolbars.CheckSetting", boost::bind(&LLToolBar::isSettingChecked, this, _2)); - // - // Setup the context menu - // - - LLMenuGL* menu = LLUICtrlFactory::instance().createFromFile<LLMenuGL>("menu_toolbars.xml", LLMenuGL::sMenuContainer, LLMenuHolderGL::child_registry_t::instance()); + LLContextMenu* menu = LLUICtrlFactory::instance().createFromFile<LLContextMenu>("menu_toolbars.xml", LLMenuGL::sMenuContainer, LLMenuHolderGL::child_registry_t::instance()); if (menu) { @@ -146,8 +142,6 @@ BOOL LLToolBar::postBuild() llwarns << "Unable to load toolbars context menu." << llendl; } } - - return TRUE; } void LLToolBar::initFromParams(const LLToolBar::Params& p) @@ -278,10 +272,12 @@ BOOL LLToolBar::handleRightMouseDown(S32 x, S32 y, MASK mask) if (handle_it_here) { - LLMenuGL * menu = (LLMenuGL *) mPopupMenuHandle.get(); + createContextMenu(); + LLContextMenu * menu = (LLContextMenu *) mPopupMenuHandle.get(); if (menu) { + menu->show(x, y); LLMenuGL::showPopup(this, menu, x, y); } } diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index f7562b29d24..657e9283193 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -119,8 +119,8 @@ class LLToolBar // virtuals void draw(); - BOOL postBuild(); void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); + BOOL handleRightMouseDown(S32 x, S32 y, MASK mask); bool addCommand(const LLCommandId& commandId); bool hasCommand(const LLCommandId& commandId) const; @@ -133,13 +133,12 @@ class LLToolBar void initFromParams(const Params&); - BOOL handleRightMouseDown(S32 x, S32 y, MASK mask); - BOOL isSettingChecked(const LLSD& userdata); - void onSettingEnable(const LLSD& userdata); - private: + void createContextMenu(); void updateLayoutAsNeeded(); void resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row, S32 max_row_girth); + BOOL isSettingChecked(const LLSD& userdata); + void onSettingEnable(const LLSD& userdata); const bool mReadOnly; @@ -164,7 +163,7 @@ class LLToolBar LLToolBarButton::Params mButtonParams[LLToolBarEnums::BTNTYPE_COUNT]; - LLHandle<LLView> mPopupMenuHandle; + LLHandle<class LLContextMenu> mPopupMenuHandle; }; diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 21d3785c822..6ae10fbf1dc 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -90,9 +90,9 @@ void LLToolBarView::draw() LLRect bottom_rect, left_rect, right_rect; - if (mToolbarBottom) bottom_rect = mToolbarBottom->getRect(); - if (mToolbarLeft) left_rect = mToolbarLeft->getRect(); - if (mToolbarRight) right_rect = mToolbarRight->getRect(); + if (mToolbarBottom) mToolbarBottom->localRectToOtherView(mToolbarBottom->getLocalRect(), &bottom_rect, this); + if (mToolbarLeft) mToolbarLeft->localRectToOtherView(mToolbarLeft->getLocalRect(), &left_rect, this); + if (mToolbarRight) mToolbarRight->localRectToOtherView(mToolbarRight->getLocalRect(), &right_rect, this); if ((old_width != getRect().getWidth()) || (old_height != getRect().getHeight())) diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp index 60452b9ae4d..e10c2f0d1e2 100644 --- a/indra/llui/llview.cpp +++ b/indra/llui/llview.cpp @@ -1826,13 +1826,6 @@ LLView* LLView::findNextSibling(LLView* child) return (next_it != mChildList.end()) ? *next_it : NULL; } -void LLView::deleteViewByHandle(LLHandle<LLView> handle) -{ - LLView* viewp = handle.get(); - - delete viewp; -} - LLCoordGL getNeededTranslation(const LLRect& input, const LLRect& constraint, BOOL allow_partial_outside) { diff --git a/indra/llui/llview.h b/indra/llui/llview.h index 594a5eec6be..7a1b2e4ba04 100644 --- a/indra/llui/llview.h +++ b/indra/llui/llview.h @@ -482,7 +482,6 @@ class LLView : public LLMouseHandler, public LLMortician, public LLFocusableElem // return query for iterating over focus roots in tab order static const LLCtrlQuery & getFocusRootsQuery(); - static void deleteViewByHandle(LLHandle<LLView> handle); static LLWindow* getWindow(void) { return LLUI::sWindow; } // Set up params after XML load before calling new(), diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index 0b17d64eb07..836c580ea89 100644 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -403,8 +403,8 @@ LLFavoritesBarCtrl::~LLFavoritesBarCtrl() { gInventory.removeObserver(this); - LLView::deleteViewByHandle(mOverflowMenuHandle); - LLView::deleteViewByHandle(mContextMenuHandle); + delete mOverflowMenuHandle.get(); + delete mContextMenuHandle.get(); } BOOL LLFavoritesBarCtrl::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, diff --git a/indra/newview/llfloatersnapshot.cpp b/indra/newview/llfloatersnapshot.cpp index 00dc7b16275..9d020517d84 100644 --- a/indra/newview/llfloatersnapshot.cpp +++ b/indra/newview/llfloatersnapshot.cpp @@ -2112,7 +2112,7 @@ LLFloaterSnapshot::LLFloaterSnapshot(const LLSD& key) // Destroys the object LLFloaterSnapshot::~LLFloaterSnapshot() { - LLView::deleteViewByHandle(impl.mPreviewHandle); + delete impl.mPreviewHandle.get(); //unfreeze everything else gSavedSettings.setBOOL("FreezeTime", FALSE); diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp index 9ba5f827e25..6ec2598e447 100644 --- a/indra/newview/llfolderview.cpp +++ b/indra/newview/llfolderview.cpp @@ -299,7 +299,7 @@ LLFolderView::~LLFolderView( void ) mAutoOpenItems.removeAllNodes(); gIdleCallbacks.deleteFunction(idle, this); - LLView::deleteViewByHandle(mPopupMenuHandle); + delete mPopupMenuHandle.get(); mAutoOpenItems.removeAllNodes(); clearSelection(); @@ -1969,7 +1969,7 @@ BOOL LLFolderView::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, void LLFolderView::deleteAllChildren() { closeRenamer(); - LLView::deleteViewByHandle(mPopupMenuHandle); + delete mPopupMenuHandle.get(); mPopupMenuHandle = LLHandle<LLView>(); mScrollContainer = NULL; mRenameItem = NULL; diff --git a/indra/newview/llgrouplist.cpp b/indra/newview/llgrouplist.cpp index c3e6e1c2dca..f7ed1116cbd 100644 --- a/indra/newview/llgrouplist.cpp +++ b/indra/newview/llgrouplist.cpp @@ -95,7 +95,7 @@ LLGroupList::LLGroupList(const Params& p) LLGroupList::~LLGroupList() { gAgent.removeListener(this); - LLView::deleteViewByHandle(mContextMenuHandle); + delete mContextMenuHandle.get(); } // virtual diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp index e3a7b749ea6..177aa4f5c81 100644 --- a/indra/newview/llpanelpeople.cpp +++ b/indra/newview/llpanelpeople.cpp @@ -526,11 +526,11 @@ LLPanelPeople::~LLPanelPeople() LLVoiceClient::getInstance()->removeObserver(this); } - LLView::deleteViewByHandle(mGroupPlusMenuHandle); - LLView::deleteViewByHandle(mNearbyViewSortMenuHandle); - LLView::deleteViewByHandle(mFriendsViewSortMenuHandle); - LLView::deleteViewByHandle(mGroupsViewSortMenuHandle); - LLView::deleteViewByHandle(mRecentViewSortMenuHandle); + delete mGroupPlusMenuHandle.get(); + delete mNearbyViewSortMenuHandle.get(); + delete mFriendsViewSortMenuHandle.get(); + delete mGroupsViewSortMenuHandle.get(); + delete mRecentViewSortMenuHandle.get(); } diff --git a/indra/newview/llpanelteleporthistory.cpp b/indra/newview/llpanelteleporthistory.cpp index 9b35e78134a..dfa8c75493f 100644 --- a/indra/newview/llpanelteleporthistory.cpp +++ b/indra/newview/llpanelteleporthistory.cpp @@ -388,7 +388,7 @@ LLTeleportHistoryPanel::LLTeleportHistoryPanel() LLTeleportHistoryPanel::~LLTeleportHistoryPanel() { LLTeleportHistoryFlatItemStorage::instance().purge(); - LLView::deleteViewByHandle(mGearMenuHandle); + delete mGearMenuHandle.get(); } BOOL LLTeleportHistoryPanel::postBuild() diff --git a/indra/newview/skins/default/xui/en/menu_toolbars.xml b/indra/newview/skins/default/xui/en/menu_toolbars.xml index b3ecd3dcb67..de13fec6701 100644 --- a/indra/newview/skins/default/xui/en/menu_toolbars.xml +++ b/indra/newview/skins/default/xui/en/menu_toolbars.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu bottom="825" +<context_menu layout="topleft" name="Toolbars Popup" visible="false"> @@ -26,4 +26,4 @@ <on_check function="Toolbars.CheckSetting" parameter="icons_only" /> </menu_item_check> -</menu> +</context_menu> diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 95ccc6e92c5..29b5d022997 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -7,7 +7,6 @@ pad_between="5" mouse_opaque="false" read_only="false"> - <button_panel name="button_panel" bg_opaque_image="Rounded_Rect" background_visible="true" -- GitLab From f56bf69dfed63d8b7d5d8994c0c3cafced803a0f Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 26 Sep 2011 19:48:17 -0700 Subject: [PATCH 046/256] initial support for switching between icons only and icons + text --- indra/llui/llcommandmanager.h | 16 +++- indra/llui/lltoolbar.cpp | 79 ++++++++++--------- indra/llui/lltoolbar.h | 7 +- .../skins/default/textures/textures.xml | 23 ++++++ .../default/xui/en/floater_test_toolbar.xml | 38 +++------ .../default/xui/en/panel_toolbar_view.xml | 25 +++--- .../skins/default/xui/en/widgets/toolbar.xml | 2 + 7 files changed, 106 insertions(+), 84 deletions(-) diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index 7ed8785f17f..8435d915f30 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -41,10 +41,22 @@ class LLCommandId friend class LLCommand; friend class LLCommandManager; + struct Params : public LLInitParam::Block<Params> + { + Mandatory<std::string> name; + + Params() + : name("name") + {} + }; + LLCommandId(const std::string& name) : mName(name) - { - } + {} + + LLCommandId(const Params& p) + : mName(p.name) + {} const std::string& name() const { return mName; } diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index bd45cf46567..2fb9f249d48 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -74,7 +74,7 @@ namespace LLInitParam LLToolBar::Params::Params() : button_display_mode("button_display_mode"), - buttons("button"), + commands("command"), side("side", SIDE_TOP), button_icon("button_icon"), button_icon_and_text("button_icon_and_text"), @@ -187,17 +187,13 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) mCenteringStack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); - BOOST_FOREACH (LLToolBarButton::Params button_p, p.buttons) + BOOST_FOREACH (const LLCommandId::Params& command_id, p.commands) { - button_p.fillFrom(mButtonParams[mButtonType]); - LLToolBarButton* buttonp = LLUICtrlFactory::create<LLToolBarButton>(button_p); - - mButtons.push_back(buttonp); - mButtonCommands.push_back(LLCommandId::null); - mButtonPanel->addChild(buttonp); - - mNeedsLayout = true; + mButtonCommands.push_back(command_id); } + createButtons(); + + mNeedsLayout = true; } bool LLToolBar::addCommand(const LLCommandId& commandId) @@ -206,26 +202,8 @@ bool LLToolBar::addCommand(const LLCommandId& commandId) bool add_command = (command != NULL); - // - // Init basic toolbar button params - // - if (add_command) - { - LLToolBarButton::Params button_p(mButtonParams[mButtonType]); - button_p.name = commandId.name(); - button_p.label = LLTrans::getString(command->labelRef()); - button_p.tool_tip = LLTrans::getString(command->tooltipRef()); - - // - // Add it to the list of buttons - // - LLToolBarButton * toolbar_button = LLUICtrlFactory::create<LLToolBarButton>(button_p); - mButtons.push_back(toolbar_button); - mButtonCommands.push_back(commandId); - mButtonPanel->addChild(toolbar_button); - - mNeedsLayout = true; - } + mButtonCommands.push_back(commandId); + createButtons(); return add_command; } @@ -320,7 +298,10 @@ void LLToolBar::onSettingEnable(const LLSD& userdata) mButtonType = BTNTYPE_ICONS_ONLY; } - mNeedsLayout |= (current_button_type != mButtonType); + if(current_button_type != mButtonType) + { + createButtons(); + } } void LLToolBar::resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row, S32 max_row_girth) @@ -387,8 +368,8 @@ void LLToolBar::updateLayoutAsNeeded() std::vector<LLToolBarButton*> buttons_in_row; - BOOST_FOREACH(LLToolBarButton* button, mButtons) - { + BOOST_FOREACH(LLToolBarButton* button, mButtons) + { button->reshape(mMinButtonWidth, mButtonHeight); button->autoResize(); @@ -421,8 +402,8 @@ void LLToolBar::updateLayoutAsNeeded() max_row_girth = 0; } - LLRect button_rect; - if (orientation == LLLayoutStack::HORIZONTAL) + LLRect button_rect; + if (orientation == LLLayoutStack::HORIZONTAL) { button_rect.setLeftTopAndSize(cur_start, panel_rect.mTop - cur_row, button_clamped_width, button->getRect().getHeight()); } @@ -467,7 +448,7 @@ void LLToolBar::updateLayoutAsNeeded() reshape(total_girth, getRect().getHeight()); mButtonPanel->reshape(total_girth, max_row_length); - } + } // re-center toolbar buttons mCenteringStack->updateLayout(); @@ -489,3 +470,29 @@ void LLToolBar::reshape(S32 width, S32 height, BOOL called_from_parent) mNeedsLayout = true; } +void LLToolBar::createButtons() +{ + BOOST_FOREACH(LLToolBarButton* button, mButtons) + { + delete button; + } + mButtons.clear(); + + BOOST_FOREACH(LLCommandId& command_id, mButtonCommands) + { + LLCommand* commandp = LLCommandManager::instance().getCommand(command_id); + if (!commandp) continue; + + LLToolBarButton::Params button_p; + button_p.label = LLTrans::getString(commandp->labelRef()); + button_p.image_overlay = LLUI::getUIImage(commandp->icon()); + button_p.overwriteFrom(mButtonParams[mButtonType]); + LLToolBarButton* button = LLUICtrlFactory::create<LLToolBarButton>(button_p); + + mButtons.push_back(button); + mButtonPanel->addChild(button); + } + + mNeedsLayout = true; +} + diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 657e9283193..75ae499a3db 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -32,9 +32,7 @@ #include "llcommandmanager.h" #include "lllayoutstack.h" #include "lluictrl.h" - - -class LLCommand; +#include "llcommandmanager.h" class LLToolBarButton : public LLButton @@ -110,7 +108,7 @@ class LLToolBar pad_bottom, pad_between; // get rid of this - Multiple<LLToolBarButton::Params> buttons; + Multiple<LLCommandId::Params> commands; Optional<LLPanel::Params> button_panel; @@ -136,6 +134,7 @@ class LLToolBar private: void createContextMenu(); void updateLayoutAsNeeded(); + void createButtons(); void resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row, S32 max_row_girth); BOOL isSettingChecked(const LLSD& userdata); void onSettingEnable(const LLSD& userdata); diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 8f2194e652d..be68c2873e0 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -759,4 +759,27 @@ with the same filename but different name <texture name="Yellow_Gradient" file_name="windows/yellow_gradient.png"/> <texture name="Popup_Caution" file_name="icons/pop_up_caution.png"/> <texture name="Camera_Drag_Dot" file_name="world/CameraDragDot.png"/> + + <texture name="Command_Avatar_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Build_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Chat_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Compass_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Gestures_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_HowTo_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Landmarks_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Map_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_MiniMap_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Move_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_MyLand_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_MyStuff_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_People_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Places_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Search_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Settings_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Shop_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Snapshot_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Speak_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Upload_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_View_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + </textures> diff --git a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml index b58c006b3f5..fbfbe51a699 100644 --- a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml +++ b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml @@ -16,14 +16,9 @@ min_button_width="0" max_button_width="100" side="top"> - <button auto_resize="true" - use_ellipses="true" - label="Button"/> - <button auto_resize="true" - label="Button with long label"/> - <button auto_resize="true" - use_ellipses="true" - label="Button with longest label of all"/> + <command name="avatar"/> + <command name="build"/> + <command name="chat"/> </toolbar> <toolbar name="test_toolbar_left" follows="left|bottom|top" @@ -33,12 +28,9 @@ top="70" min_button_width="100" side="left"> - <button height="30" - label="Button"/> - <button height="50" - label="Button with long label"/> - <button height="60" - label="Button with longest label of all"/> + <command name="avatar"/> + <command name="build"/> + <command name="chat"/> </toolbar> <toolbar name="test_toolbar_right" follows="right|bottom|top" @@ -47,12 +39,9 @@ right="500" top="70" side="right"> - <button auto_resize="true" - label="Button 1"/> - <button auto_resize="true" - label="Button with long label"/> - <button auto_resize="true" - label="Button with longest label of all"/> + <command name="avatar"/> + <command name="build"/> + <command name="chat"/> </toolbar> <toolbar name="test_toolbar_bottom" follows="left|right|bottom" @@ -62,11 +51,8 @@ bottom="500" min_button_width="100" side="bottom"> - <button auto_resize="true" - label="Button"/> - <button auto_resize="true" - label="Button with long label"/> - <button auto_resize="true" - label="Button with longest label of all"/> + <command name="avatar"/> + <command name="build"/> + <command name="chat"/> </toolbar> </floater> diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index b24f5c33476..23ea516b867 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -47,11 +47,9 @@ top="0" side="left" button_display_mode="icons_only"> - <button name="button1" label="Left Toolbar"/> - <button name="button2" label="Left Toolbar"/> - <button name="button3" label="Left Toolbar"/> - <button name="button4" label="Left Toolbar"/> - <button name="button5" label="Left Toolbar"/> + <command name="avatar"/> + <command name="build"/> + <command name="chat"/> </toolbar> </layout_panel> <layout_panel name="non_toolbar_panel" @@ -74,11 +72,9 @@ top="0" side="right" button_display_mode="icons_only"> - <button name="button1" label="Right Toolbar"/> - <button name="button2" label="Right Toolbar"/> - <button name="button3" label="Right Toolbar"/> - <button name="button4" label="Right Toolbar"/> - <button name="button5" label="Right Toolbar"/> + <command name="avatar"/> + <command name="build"/> + <command name="chat"/> </toolbar> </layout_panel> </layout_stack> @@ -100,12 +96,9 @@ follows="left|right|bottom" button_display_mode="icons_with_text" visible="true"> - <button name="button1" label="Bottom toolbar"/> - <button name="button2" label="Bottom toolbar"/> - <button name="button3" label="Bottom toolbar"/> - <button name="button4" label="Bottom toolbar"/> - <button name="button5" label="Bottom toolbar"/> - <button name="button6" label="Bottom toolbar"/> + <command name="avatar"/> + <command name="build"/> + <command name="chat"/> </toolbar> </layout_panel> </layout_stack> diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 29b5d022997..32bc88cc9a8 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -13,9 +13,11 @@ background_opaque="true"/> <button_icon_and_text follows="left|top" chrome="true" + image_overlay_alignment="left" use_ellipses="true" auto_resize="true"/> <button_icon follows="left|top" + label="" chrome="true" use_ellipses="true" auto_resize="true"/> -- GitLab From cc56958452b8c10e1de176edb1924179ad04768a Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 26 Sep 2011 19:48:27 -0700 Subject: [PATCH 047/256] initial support for switching between icons only and icons + text --- indra/llui/llbutton.cpp | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 6c08ec74315..06781f1bdf3 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -989,11 +989,27 @@ void LLButton::resize(LLUIString label) // get current btn length S32 btn_width =getRect().getWidth(); // check if it need resize - if (mAutoResize == TRUE) + if (mAutoResize) { - if (btn_width - (mRightHPad + mLeftHPad) < label_width) + S32 min_width = label_width + mLeftHPad + mRightHPad; + if (mImageOverlay) { - setRect(LLRect( getRect().mLeft, getRect().mTop, getRect().mLeft + label_width + mLeftHPad + mRightHPad , getRect().mBottom)); + switch(mImageOverlayAlignment) + { + case LLFontGL::LEFT: + case LLFontGL::RIGHT: + min_width += mImageOverlay->getWidth() + mImgOverlayLabelSpace; + break; + case LLFontGL::HCENTER: + break; + default: + // draw nothing + break; + } + } + if (btn_width < min_width) + { + reshape(min_width, getRect().getHeight()); } } } -- GitLab From b7cf5ff947161d0b7e42a9ed8fe10741bb7af100 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 27 Sep 2011 09:33:58 -0700 Subject: [PATCH 048/256] Commenting out unused variable to fix mac build. --- indra/llui/lltoolbarview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 6ae10fbf1dc..9df6f4946f0 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -86,7 +86,7 @@ void LLToolBarView::draw() static S32 old_width = 0; static S32 old_height = 0; - LLPanel* sizer_left = getChild<LLPanel>("sizer_left"); + //LLPanel* sizer_left = getChild<LLPanel>("sizer_left"); LLRect bottom_rect, left_rect, right_rect; -- GitLab From 795ae760e8b81a4e1b0ae4666d94d80919305189 Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Tue, 27 Sep 2011 10:12:48 -0700 Subject: [PATCH 049/256] adding missing xml file --- .../skins/default/xui/en/floater_chat_bar.xml | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 indra/newview/skins/default/xui/en/floater_chat_bar.xml diff --git a/indra/newview/skins/default/xui/en/floater_chat_bar.xml b/indra/newview/skins/default/xui/en/floater_chat_bar.xml new file mode 100644 index 00000000000..d0059b281e3 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_chat_bar.xml @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + height="60" + layout="topleft" + legacy_header_height="20" + title="Nearby chat" + can_close="true" + can_minimize="true" + help_topic="chat_bar" + save_rect="true" + min_height="60" + min_width="150" + can_resize="true" + name="chat_bar" + width="380"> + <line_editor + border_style="line" + border_thickness="1" + follows="left|right" + height="23" + label="Click here to chat." + layout="topleft" + left_delta="7" + left="0" + max_length_bytes="1023" + name="chat_box" + text_pad_left="5" + text_pad_right="25" + tool_tip="Press Enter to say, Ctrl+Enter to shout" + top="27" + width="335" /> + <output_monitor + auto_update="true" + follows="right" + draw_border="false" + height="16" + layout="topleft" + left_pad="-24" + mouse_opaque="true" + name="chat_zone_indicator" + top="31" + visible="true" + width="20" /> + <button + follows="right" + is_toggle="true" + width="20" + top="27" + layout="topleft" + left_pad="12" + image_disabled="ComboButton_UpOff" + image_unselected="ComboButton_UpOff" + image_selected="ComboButton_On" + image_pressed="ComboButton_UpSelected" + image_pressed_selected="ComboButton_Selected" + height="23" + name="show_nearby_chat" + tool_tip="Shows/hides nearby chat log"> + <button.init_callback + function="Button.SetDockableFloaterToggle" + parameter="nearby_chat" /> + </button> +</floater> -- GitLab From cb699e3f2d64999e9817d0c4df5b7f9484e8e722 Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Tue, 27 Sep 2011 10:52:47 -0700 Subject: [PATCH 050/256] EXP-1252 Opening chat history crashes browser (from dev work in progress) EXP-1253 Entering text in chat bar does not show for other users (dev work in progress) --- indra/newview/llbottomtray.cpp | 6 +++--- indra/newview/llnearbychat.cpp | 39 ++++++---------------------------- indra/newview/llnearbychat.h | 6 +++--- 3 files changed, 13 insertions(+), 38 deletions(-) diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp index 7a60903950d..55c63edd740 100644 --- a/indra/newview/llbottomtray.cpp +++ b/indra/newview/llbottomtray.cpp @@ -400,7 +400,7 @@ void LLBottomTray::onMouselookModeOut() { mIsInLiteMode = false; mBottomTrayLite->setVisible(FALSE); - mNearbyChatBar->getChatBox()->setText(mBottomTrayLite->mNearbyChatBar->getChatBox()->getText()); + //mNearbyChatBar->getChatBox()->setText(mBottomTrayLite->mNearbyChatBar->getChatBox()->getText()); setVisible(TRUE); } @@ -413,8 +413,8 @@ void LLBottomTray::onMouselookModeIn() getParent()->addChild(mBottomTrayLite); mBottomTrayLite->setShape(getLocalRect()); - mBottomTrayLite->mNearbyChatBar->getChatBox()->setText(mNearbyChatBar->getChatBox()->getText()); - mBottomTrayLite->mGesturePanel->setVisible(gSavedSettings.getBOOL("ShowGestureButton")); + //mBottomTrayLite->mNearbyChatBar->getChatBox()->setText(mNearbyChatBar->getChatBox()->getText()); + //mBottomTrayLite->mGesturePanel->setVisible(gSavedSettings.getBOOL("ShowGestureButton")); mIsInLiteMode = true; } diff --git a/indra/newview/llnearbychat.cpp b/indra/newview/llnearbychat.cpp index 361912a5cb4..8d57ae3a327 100644 --- a/indra/newview/llnearbychat.cpp +++ b/indra/newview/llnearbychat.cpp @@ -58,7 +58,7 @@ static const S32 RESIZE_BAR_THICKNESS = 3; LLNearbyChat::LLNearbyChat(const LLSD& key) - : LLDockableFloater(NULL, false, false, key) + : LLFloater(key) ,mChatHistory(NULL) { @@ -86,20 +86,9 @@ BOOL LLNearbyChat::postBuild() mChatHistory = getChild<LLChatHistory>("chat_history"); - if(!LLDockableFloater::postBuild()) + if(!LLFloater::postBuild()) return false; - if (getDockControl() == NULL) - { - setDockControl(new LLDockControl( - LLFloaterReg::getInstance("chat_bar"), this, - getDockTongue(), LLDockControl::TOP, boost::bind(&LLNearbyChat::getAllowedRect, this, _1))); - } - - //fix for EXT-4621 - //chrome="true" prevents floater from stilling capture - setIsChrome(true); - //chrome="true" hides floater caption if (mDragHandle) mDragHandle->setTitleVisible(TRUE); @@ -118,20 +107,6 @@ void LLNearbyChat::applySavedVariables() setRect(rect); } } - - - if(!LLFloater::getControlGroup()->controlExists(mDocStateControl)) - { - setDocked(true); - } - else - { - if (mDocStateControl.size() > 1) - { - bool dockState = LLFloater::getControlGroup()->getBOOL(mDocStateControl); - setDocked(dockState); - } - } } std::string appendTime() @@ -229,17 +204,17 @@ void LLNearbyChat::setVisible(BOOL visible) } } - LLDockableFloater::setVisible(visible); + LLFloater::setVisible(visible); } void LLNearbyChat::onOpen(const LLSD& key ) { - LLDockableFloater::onOpen(key); + LLFloater::onOpen(key); } void LLNearbyChat::setRect (const LLRect &rect) { - LLDockableFloater::setRect(rect); + LLFloater::setRect(rect); } void LLNearbyChat::getAllowedRect(LLRect& rect) @@ -367,7 +342,7 @@ BOOL LLNearbyChat::handleMouseDown(S32 x, S32 y, MASK mask) if(mChatHistory) mChatHistory->setFocus(TRUE); - return LLDockableFloater::handleMouseDown(x, y, mask); + return LLFloater::handleMouseDown(x, y, mask); } void LLNearbyChat::draw() @@ -380,5 +355,5 @@ void LLNearbyChat::draw() setTransparencyType(hasFocus() ? TT_ACTIVE : TT_INACTIVE); } - LLDockableFloater::draw(); + LLFloater::draw(); } diff --git a/indra/newview/llnearbychat.h b/indra/newview/llnearbychat.h index 2ea79797f8e..834a31bbf04 100644 --- a/indra/newview/llnearbychat.h +++ b/indra/newview/llnearbychat.h @@ -1,4 +1,4 @@ -/** + /** * @file llnearbychat.h * @brief nearby chat history scrolling panel implementation * @@ -27,14 +27,14 @@ #ifndef LL_LLNEARBYCHAT_H_ #define LL_LLNEARBYCHAT_H_ -#include "lldockablefloater.h" #include "llscrollbar.h" #include "llviewerchat.h" +#include "llfloater.h" class LLResizeBar; class LLChatHistory; -class LLNearbyChat: public LLDockableFloater +class LLNearbyChat: public LLFloater { public: LLNearbyChat(const LLSD& key); -- GitLab From 0f3221e25d6261d7f29b5b37391156c07fde1d0c Mon Sep 17 00:00:00 2001 From: Seth ProductEngine <slitovchuk@productengine.com> Date: Tue, 27 Sep 2011 21:05:05 +0300 Subject: [PATCH 051/256] EXP-1225 FIXED Added a floater for My Inventory side tab. - Replaced calls to LLSideTray with LLFloaterSidePanelContainer. - Added LLFloaterSidePanelContainer::getPanel<T>() for getting custom type panels. --- indra/newview/llavataractions.cpp | 12 ++-- indra/newview/llfloatersidepanelcontainer.cpp | 18 +++++- indra/newview/llfloatersidepanelcontainer.h | 23 ++++++++ indra/newview/llinspectobject.cpp | 3 +- indra/newview/llinventoryfunctions.cpp | 17 ++++-- indra/newview/llinventorypanel.cpp | 57 +++++++------------ indra/newview/llpanelmaininventory.cpp | 12 +++- indra/newview/llpanelmarketplaceinbox.cpp | 16 ++++-- indra/newview/llpanelmarketplaceoutbox.cpp | 17 ++++-- indra/newview/llsidepanelinventory.cpp | 20 +++++-- indra/newview/llviewerfloaterreg.cpp | 1 + indra/newview/llviewerinventory.cpp | 3 +- indra/newview/llviewermenu.cpp | 14 ++--- .../default/xui/en/floater_my_inventory.xml | 20 +++++++ .../skins/default/xui/en/menu_viewer.xml | 4 +- .../skins/minimal/xui/en/panel_bottomtray.xml | 2 +- 16 files changed, 158 insertions(+), 81 deletions(-) create mode 100644 indra/newview/skins/default/xui/en/floater_my_inventory.xml diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index 4cdfcea64eb..efb46166b81 100755 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -47,6 +47,7 @@ #include "llfloatergroups.h" #include "llfloaterreg.h" #include "llfloaterpay.h" +#include "llfloatersidepanelcontainer.h" #include "llfloaterwebcontent.h" #include "llfloaterworldmap.h" #include "llfolderview.h" @@ -438,8 +439,7 @@ void LLAvatarActions::csr(const LLUUID& id, std::string name) void LLAvatarActions::share(const LLUUID& id) { LLSD key; - LLSideTray::getInstance()->showPanel("sidepanel_inventory", key); - + LLFloaterSidePanelContainer::showPanel("my_inventory", key); LLUUID session_id = gIMMgr->computeSessionID(IM_NOTHING_SPECIAL,id); @@ -696,9 +696,11 @@ std::set<LLUUID> LLAvatarActions::getInventorySelectedUUIDs() if (inventory_selected_uuids.empty()) { - LLSidepanelInventory * sidepanel_inventory = LLSideTray::getInstance()->getPanel<LLSidepanelInventory>("sidepanel_inventory"); - - inventory_selected_uuids = sidepanel_inventory->getInboxOrOutboxSelectionList(); + LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + if (sidepanel_inventory) + { + inventory_selected_uuids = sidepanel_inventory->getInboxOrOutboxSelectionList(); + } } return inventory_selected_uuids; diff --git a/indra/newview/llfloatersidepanelcontainer.cpp b/indra/newview/llfloatersidepanelcontainer.cpp index cf66fd1792d..c73ec90a122 100644 --- a/indra/newview/llfloatersidepanelcontainer.cpp +++ b/indra/newview/llfloatersidepanelcontainer.cpp @@ -33,6 +33,9 @@ #include "llsidetraypanelcontainer.h" #include "lltransientfloatermgr.h" +//static +const std::string LLFloaterSidePanelContainer::sMainPanelName("main_panel"); + LLFloaterSidePanelContainer::LLFloaterSidePanelContainer(const LLSD& key, const Params& params) : LLFloater(key, params) { @@ -48,7 +51,7 @@ LLFloaterSidePanelContainer::~LLFloaterSidePanelContainer() void LLFloaterSidePanelContainer::onOpen(const LLSD& key) { - getChild<LLPanel>("main_panel")->onOpen(key); + getChild<LLPanel>(sMainPanelName)->onOpen(key); } LLPanel* LLFloaterSidePanelContainer::openChildPanel(const std::string& panel_name, const LLSD& params) @@ -82,6 +85,17 @@ void LLFloaterSidePanelContainer::showPanel(const std::string& floater_name, con LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>(floater_name); if (floaterp) { - floaterp->openChildPanel("main_panel", panel_name); + floaterp->openChildPanel(sMainPanelName, panel_name); } } + +LLPanel* LLFloaterSidePanelContainer::getPanel(const std::string& floater_name, const std::string& panel_name) +{ + LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>(floater_name); + if (floaterp) + { + return floaterp->findChild<LLPanel>(panel_name, true); + } + + return NULL; +} diff --git a/indra/newview/llfloatersidepanelcontainer.h b/indra/newview/llfloatersidepanelcontainer.h index 7b4e7643aed..0d17a14c0be 100644 --- a/indra/newview/llfloatersidepanelcontainer.h +++ b/indra/newview/llfloatersidepanelcontainer.h @@ -51,6 +51,29 @@ class LLFloaterSidePanelContainer : public LLFloater LLPanel* openChildPanel(const std::string& panel_name, const LLSD& params); static void showPanel(const std::string& floater_name, const LLSD& panel_name); + + static LLPanel* getPanel(const std::string& floater_name, const std::string& panel_name = sMainPanelName); + + /** + * Gets the panel of given type T (doesn't show it or do anything else with it). + * + * @param floater_name a string specifying the floater to be searched for a child panel. + * @param panel_name a string specifying the child panel to get. + * @returns a pointer to the panel of given type T. + */ + template <typename T> + static T* getPanel(const std::string& floater_name, const std::string& panel_name = sMainPanelName) + { + T* panel = dynamic_cast<T*>(getPanel(floater_name, panel_name)); + if (!panel) + { + llwarns << "Child named \"" << panel_name << "\" of type " << typeid(T*).name() << " not found" << llendl; + } + return panel; + } + +private: + static const std::string sMainPanelName; }; #endif // LL_LLFLOATERSIDEPANELCONTAINER_H diff --git a/indra/newview/llinspectobject.cpp b/indra/newview/llinspectobject.cpp index ee076f68ea1..29d7a4a6b09 100644 --- a/indra/newview/llinspectobject.cpp +++ b/indra/newview/llinspectobject.cpp @@ -28,6 +28,7 @@ #include "llinspectobject.h" // Viewer +#include "llfloatersidepanelcontainer.h" #include "llinspect.h" #include "llmediaentry.h" #include "llnotificationsutil.h" // *TODO: Eliminate, add LLNotificationsUtil wrapper @@ -640,7 +641,7 @@ void LLInspectObject::onClickMoreInfo() { LLSD key; key["task"] = "task"; - LLSideTray::getInstance()->showPanel("sidepanel_inventory", key); + LLFloaterSidePanelContainer::showPanel("my_inventory", key); closeFloater(); } diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp index 0af013fde5e..acec02b507b 100644 --- a/indra/newview/llinventoryfunctions.cpp +++ b/indra/newview/llinventoryfunctions.cpp @@ -47,6 +47,7 @@ #include "llappviewer.h" //#include "llfirstuse.h" #include "llfloaterinventory.h" +#include "llfloatersidepanelcontainer.h" #include "llfocusmgr.h" #include "llfolderview.h" #include "llgesturemgr.h" @@ -459,22 +460,28 @@ BOOL get_is_category_renameable(const LLInventoryModel* model, const LLUUID& id) void show_task_item_profile(const LLUUID& item_uuid, const LLUUID& object_id) { - LLSideTray::getInstance()->showPanel("sidepanel_inventory", LLSD().with("id", item_uuid).with("object", object_id)); + LLFloaterSidePanelContainer::showPanel("my_inventory", LLSD().with("id", item_uuid).with("object", object_id)); } void show_item_profile(const LLUUID& item_uuid) { LLUUID linked_uuid = gInventory.getLinkedItemID(item_uuid); - LLSideTray::getInstance()->showPanel("sidepanel_inventory", LLSD().with("id", linked_uuid)); + LLFloaterSidePanelContainer::showPanel("my_inventory", LLSD().with("id", linked_uuid)); } void show_item_original(const LLUUID& item_uuid) { + LLFloater* floater_my_inventory = LLFloaterReg::getInstance("my_inventory"); + if (!floater_my_inventory) + { + llwarns << "Could not find My Inventory floater" << llendl; + return; + } + //sidetray inventory panel - LLSidepanelInventory *sidepanel_inventory = - dynamic_cast<LLSidepanelInventory *>(LLSideTray::getInstance()->getPanel("sidepanel_inventory")); + LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); - bool reset_inventory_filter = !LLSideTray::getInstance()->isPanelActive("sidepanel_inventory"); + bool reset_inventory_filter = !floater_my_inventory->isInVisibleChain(); LLInventoryPanel* active_panel = LLInventoryPanel::getActiveInventoryPanel(); if (!active_panel) diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index 173e5c6ae6a..c4f810fc935 100644 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -35,6 +35,7 @@ #include "llavataractions.h" #include "llfloaterinventory.h" #include "llfloaterreg.h" +#include "llfloatersidepanelcontainer.h" #include "llfolderview.h" #include "llimfloater.h" #include "llimview.h" @@ -1071,10 +1072,9 @@ void LLInventoryPanel::dumpSelectionInformation(void* user_data) BOOL is_inventorysp_active() { - if (!LLSideTray::getInstance()->isPanelActive("sidepanel_inventory")) return FALSE; - LLSidepanelInventory *inventorySP = dynamic_cast<LLSidepanelInventory *>(LLSideTray::getInstance()->getPanel("sidepanel_inventory")); - if (!inventorySP) return FALSE; - return inventorySP->isMainInventoryPanelActive(); + LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + if (!sidepanel_inventory || !sidepanel_inventory->isInVisibleChain()) return FALSE; + return sidepanel_inventory->isMainInventoryPanelActive(); } // static @@ -1084,34 +1084,24 @@ LLInventoryPanel* LLInventoryPanel::getActiveInventoryPanel(BOOL auto_open) LLInventoryPanel* res = NULL; LLFloater* active_inv_floaterp = NULL; - // A. If the inventory side panel is open, use that preferably. - if (is_inventorysp_active()) + LLFloater* floater_my_inventory = LLFloaterReg::getInstance("my_inventory"); + if (!floater_my_inventory) { - LLSidepanelInventory *inventorySP = dynamic_cast<LLSidepanelInventory *>(LLSideTray::getInstance()->getPanel("sidepanel_inventory")); - if (inventorySP) - { - return inventorySP->getActivePanel(); - } + llwarns << "Could not find My Inventory floater" << llendl; + return FALSE; } - // or if it is in floater undocked from sidetray get it and remember z order of floater to later compare it - // with other inventory floaters order. - else if (!LLSideTray::getInstance()->isTabAttached("sidebar_inventory")) + + LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + + // A. If the inventory side panel floater is open, use that preferably. + if (is_inventorysp_active()) { - LLSidepanelInventory *inventorySP = - dynamic_cast<LLSidepanelInventory *>(LLSideTray::getInstance()->getPanel("sidepanel_inventory")); - LLFloater* inv_floater = LLFloaterReg::findInstance("side_bar_tab", LLSD("sidebar_inventory")); - if (inventorySP && inv_floater) - { - res = inventorySP->getActivePanel(); - z_min = gFloaterView->getZOrder(inv_floater); - active_inv_floaterp = inv_floater; - } - else - { - llwarns << "Inventory tab is detached from sidetray, but either panel or floater were not found!" << llendl; - } + // Get the floater's z order to compare it to other inventory floaters' order later. + res = sidepanel_inventory->getActivePanel(); + z_min = gFloaterView->getZOrder(floater_my_inventory); + active_inv_floaterp = floater_my_inventory; } - + // B. Iterate through the inventory floaters and return whichever is on top. LLFloaterReg::const_instance_list_t& inst_list = LLFloaterReg::getFloaterList("inventory"); for (LLFloaterReg::const_instance_list_t::const_iterator iter = inst_list.begin(); iter != inst_list.end(); ++iter) @@ -1141,14 +1131,9 @@ LLInventoryPanel* LLInventoryPanel::getActiveInventoryPanel(BOOL auto_open) // C. If no panels are open and we don't want to force open a panel, then just abort out. if (!auto_open) return NULL; - // D. Open the inventory side panel and use that. - LLSD key; - LLSidepanelInventory *sidepanel_inventory = - dynamic_cast<LLSidepanelInventory *>(LLSideTray::getInstance()->showPanel("sidepanel_inventory", key)); - if (sidepanel_inventory) - { - return sidepanel_inventory->getActivePanel(); - } + // D. Open the inventory side panel floater and use that. + floater_my_inventory->openFloater(); + return sidepanel_inventory->getActivePanel(); return NULL; } diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp index 858f5cf5752..c1341af2ef8 100644 --- a/indra/newview/llpanelmaininventory.cpp +++ b/indra/newview/llpanelmaininventory.cpp @@ -38,6 +38,7 @@ #include "llinventorymodelbackgroundfetch.h" #include "llinventorypanel.h" #include "llfiltereditor.h" +#include "llfloatersidepanelcontainer.h" #include "llfloaterreg.h" #include "llmenubutton.h" #include "lloutfitobserver.h" @@ -579,8 +580,13 @@ void LLPanelMainInventory::updateItemcountText() void LLPanelMainInventory::onFocusReceived() { - LLSidepanelInventory * sidepanel_inventory = LLSideTray::getInstance()->getPanel<LLSidepanelInventory>("sidepanel_inventory"); - + LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + if (!sidepanel_inventory) + { + llwarns << "Could not find Inventory Panel in My Inventory floater" << llendl; + return; + } + sidepanel_inventory->clearSelections(false, true, true); } @@ -1164,7 +1170,7 @@ BOOL LLPanelMainInventory::isActionEnabled(const LLSD& userdata) if (command_name == "share") { - LLSidepanelInventory* parent = dynamic_cast<LLSidepanelInventory*>(LLSideTray::getInstance()->getPanel("sidepanel_inventory")); + LLSidepanelInventory* parent = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); return parent ? parent->canShare() : FALSE; } diff --git a/indra/newview/llpanelmarketplaceinbox.cpp b/indra/newview/llpanelmarketplaceinbox.cpp index 2cb91f771ff..a412eabc0aa 100644 --- a/indra/newview/llpanelmarketplaceinbox.cpp +++ b/indra/newview/llpanelmarketplaceinbox.cpp @@ -32,6 +32,7 @@ #include "llappviewer.h" #include "llbutton.h" #include "llinventorypanel.h" +#include "llfloatersidepanelcontainer.h" #include "llfolderview.h" #include "llsidepanelinventory.h" #include "llviewercontrol.h" @@ -67,7 +68,7 @@ BOOL LLPanelMarketplaceInbox::postBuild() void LLPanelMarketplaceInbox::onSelectionChange() { - LLSidepanelInventory* sidepanel_inventory = dynamic_cast<LLSidepanelInventory*>(LLSideTray::getInstance()->getPanel("sidepanel_inventory")); + LLSidepanelInventory* sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); sidepanel_inventory->updateVerbs(); } @@ -112,9 +113,11 @@ LLInventoryPanel * LLPanelMarketplaceInbox::setupInventoryPanel() void LLPanelMarketplaceInbox::onFocusReceived() { - LLSidepanelInventory * sidepanel_inventory = LLSideTray::getInstance()->getPanel<LLSidepanelInventory>("sidepanel_inventory"); - - sidepanel_inventory->clearSelections(true, false, true); + LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + if (sidepanel_inventory) + { + sidepanel_inventory->clearSelections(true, false, true); + } gSavedPerAccountSettings.setString("LastInventoryInboxActivity", LLDate::now().asString()); } @@ -185,9 +188,10 @@ std::string LLPanelMarketplaceInbox::getBadgeString() const { std::string item_count_str(""); + LLPanel *inventory_panel = LLFloaterSidePanelContainer::getPanel("my_inventory"); + // If the inbox is visible, and the side panel is collapsed or expanded and not the inventory panel - if (getParent()->getVisible() && - (LLSideTray::getInstance()->getCollapsed() || !LLSideTray::getInstance()->isPanelActive("sidepanel_inventory"))) + if (getParent()->getVisible() && inventory_panel && !inventory_panel->isInVisibleChain()) { U32 item_count = getFreshItemCount(); diff --git a/indra/newview/llpanelmarketplaceoutbox.cpp b/indra/newview/llpanelmarketplaceoutbox.cpp index 839369bffe0..f0a4b9898dd 100644 --- a/indra/newview/llpanelmarketplaceoutbox.cpp +++ b/indra/newview/llpanelmarketplaceoutbox.cpp @@ -33,6 +33,7 @@ #include "llbutton.h" #include "llcoros.h" #include "lleventcoro.h" +#include "llfloatersidepanelcontainer.h" #include "llinventorypanel.h" #include "llloadingindicator.h" #include "llnotificationsutil.h" @@ -89,16 +90,20 @@ void LLPanelMarketplaceOutbox::handleLoginComplete() void LLPanelMarketplaceOutbox::onFocusReceived() { - LLSidepanelInventory * sidepanel_inventory = LLSideTray::getInstance()->getPanel<LLSidepanelInventory>("sidepanel_inventory"); - - sidepanel_inventory->clearSelections(true, true, false); + LLSidepanelInventory * sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + if (sidepanel_inventory) + { + sidepanel_inventory->clearSelections(true, true, false); + } } void LLPanelMarketplaceOutbox::onSelectionChange() { - LLSidepanelInventory* sidepanel_inventory = dynamic_cast<LLSidepanelInventory*>(LLSideTray::getInstance()->getPanel("sidepanel_inventory")); - - sidepanel_inventory->updateVerbs(); + LLSidepanelInventory* sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + if (sidepanel_inventory) + { + sidepanel_inventory->updateVerbs(); + } } LLInventoryPanel * LLPanelMarketplaceOutbox::setupInventoryPanel() diff --git a/indra/newview/llsidepanelinventory.cpp b/indra/newview/llsidepanelinventory.cpp index 9814e5b81ac..e223de5469b 100644 --- a/indra/newview/llsidepanelinventory.cpp +++ b/indra/newview/llsidepanelinventory.cpp @@ -34,6 +34,7 @@ #include "llbutton.h" #include "lldate.h" #include "llfirstuse.h" +#include "llfloatersidepanelcontainer.h" #include "llfoldertype.h" #include "llhttpclient.h" #include "llinventorybridge.h" @@ -172,16 +173,20 @@ LLSidepanelInventory::~LLSidepanelInventory() void handleInventoryDisplayInboxChanged() { - LLSidepanelInventory* sidepanel_inventory = dynamic_cast<LLSidepanelInventory*>(LLSideTray::getInstance()->getPanel("sidepanel_inventory")); - - sidepanel_inventory->enableInbox(gSavedSettings.getBOOL("InventoryDisplayInbox")); + LLSidepanelInventory* sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + if (sidepanel_inventory) + { + sidepanel_inventory->enableInbox(gSavedSettings.getBOOL("InventoryDisplayInbox")); + } } void handleInventoryDisplayOutboxChanged() { - LLSidepanelInventory* sidepanel_inventory = dynamic_cast<LLSidepanelInventory*>(LLSideTray::getInstance()->getPanel("sidepanel_inventory")); - - sidepanel_inventory->enableOutbox(gSavedSettings.getBOOL("InventoryDisplayOutbox")); + LLSidepanelInventory* sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + if (sidepanel_inventory) + { + sidepanel_inventory->enableOutbox(gSavedSettings.getBOOL("InventoryDisplayOutbox")); + } } BOOL LLSidepanelInventory::postBuild() @@ -283,6 +288,9 @@ BOOL LLSidepanelInventory::postBuild() gSavedSettings.getControl("InventoryDisplayInbox")->getCommitSignal()->connect(boost::bind(&handleInventoryDisplayInboxChanged)); gSavedSettings.getControl("InventoryDisplayOutbox")->getCommitSignal()->connect(boost::bind(&handleInventoryDisplayOutboxChanged)); + // Update the verbs buttons state. + updateVerbs(); + return TRUE; } diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index b30ef11978a..bca166e390a 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -223,6 +223,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("moveview", "floater_moveview.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMove>); LLFloaterReg::add("mute_object_by_name", "floater_mute_object.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterGetBlockedObjectName>); LLFloaterReg::add("mini_map", "floater_map.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMap>); + LLFloaterReg::add("my_inventory", "floater_my_inventory.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("my_profile", "floater_my_profile.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("notifications_console", "floater_notifications_console.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterNotificationConsole>); diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp index ad65a8846c6..d798f1900f6 100644 --- a/indra/newview/llviewerinventory.cpp +++ b/indra/newview/llviewerinventory.cpp @@ -35,6 +35,7 @@ #include "llagentcamera.h" #include "llagentwearables.h" #include "llviewerfoldertype.h" +#include "llfloatersidepanelcontainer.h" #include "llfolderview.h" #include "llviewercontrol.h" #include "llconsole.h" @@ -220,7 +221,7 @@ class LLInventoryHandler : public LLCommandHandler // support secondlife:///app/inventory/show if (params[0].asString() == "show") { - LLSideTray::getInstance()->showPanel("sidepanel_inventory", LLSD()); + LLFloaterSidePanelContainer::showPanel("my_inventory", LLSD()); return true; } diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 63d6e0ac304..a71900167c4 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -2634,7 +2634,7 @@ void handle_object_inspect() { LLSD key; key["task"] = "task"; - LLSideTray::getInstance()->showPanel("sidepanel_inventory", key); + LLFloaterSidePanelContainer::showPanel("my_inventory", key); } /* @@ -5661,18 +5661,18 @@ class LLShowSidetrayPanel : public view_listener_t { bool handleEvent(const LLSD& userdata) { - std::string panel_name = userdata.asString(); + std::string floater_name = userdata.asString(); - LLPanel* panel = LLSideTray::getInstance()->getPanel(panel_name); + LLPanel* panel = LLFloaterSidePanelContainer::getPanel(floater_name); if (panel) { if (panel->isInVisibleChain()) { - LLSideTray::getInstance()->hidePanel(panel_name); + LLFloaterReg::getInstance(floater_name)->closeFloater(); } else { - LLSideTray::getInstance()->showPanel(panel_name); + LLFloaterReg::getInstance(floater_name)->openFloater(); } } return true; @@ -5683,9 +5683,9 @@ class LLSidetrayPanelVisible : public view_listener_t { bool handleEvent(const LLSD& userdata) { - std::string panel_name = userdata.asString(); + std::string floater_name = userdata.asString(); // Toggle the panel - if (LLSideTray::getInstance()->isPanelActive(panel_name)) + if (LLFloaterReg::getInstance(floater_name)->isInVisibleChain()) { return true; } diff --git a/indra/newview/skins/default/xui/en/floater_my_inventory.xml b/indra/newview/skins/default/xui/en/floater_my_inventory.xml new file mode 100644 index 00000000000..fd03a5324e7 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_my_inventory.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<floater + can_close="true" + can_resize="true" + height="570" + help_topic="sidebar_inventory" + min_width="333" + min_height="440" + name="floater_my_inventory" + save_rect="true" + save_visibility="true" + title="My Inventory" + width="333" > + <panel + class="sidepanel_inventory" + name="main_panel" + filename="sidepanel_inventory.xml" + follows="all" + top="0"/> +</floater> diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 36ebe737532..2e9a66de5b3 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -67,10 +67,10 @@ visible="true"> <menu_item_check.on_check function="SidetrayPanelVisible" - parameter="sidepanel_inventory" /> + parameter="my_inventory" /> <menu_item_check.on_click function="ShowSidetrayPanel" - parameter="sidepanel_inventory" /> + parameter="my_inventory" /> </menu_item_check> <menu_item_check label="My Gestures" diff --git a/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml index d722c54081a..21dcacaabb9 100644 --- a/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml +++ b/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml @@ -324,7 +324,7 @@ width="100"> <bottomtray_button.commit_callback function="ShowSidetrayPanel" - parameter="panel_people" /> + parameter="people" /> </bottomtray_button> </layout_panel> <layout_panel -- GitLab From 3c8b0ab537049141b5ce6201fdf611ff09784df4 Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Tue, 27 Sep 2011 22:06:56 +0300 Subject: [PATCH 052/256] EXP-1226 FIXED (Create and register a floater for Appearance side tab) - Added xml for a new floater Appearance and registred it in the floaterreg - Removed side tray dependencies - Added static helper method: LLFloaterSidePanelContainer::getPanel --- indra/newview/llagentwearables.cpp | 3 ++- indra/newview/llappearancemgr.cpp | 9 +++++---- indra/newview/llavataractions.cpp | 3 ++- indra/newview/llcofwearables.cpp | 5 +++-- indra/newview/llfloatersidepanelcontainer.cpp | 18 +++++++++++++++-- indra/newview/llfloatersidepanelcontainer.h | 5 +++++ indra/newview/llinventorybridge.cpp | 2 +- indra/newview/lloutfitslist.cpp | 3 ++- indra/newview/llpaneloutfitsinventory.cpp | 8 ++++---- indra/newview/llpanelwearing.cpp | 3 ++- indra/newview/llsidepanelappearance.cpp | 3 ++- indra/newview/llviewerfloaterreg.cpp | 1 + indra/newview/llviewerinventory.cpp | 3 ++- indra/newview/llviewermenu.cpp | 10 +++++----- indra/newview/llwearable.cpp | 7 ++++--- .../default/xui/en/floater_my_appearance.xml | 20 +++++++++++++++++++ 16 files changed, 76 insertions(+), 27 deletions(-) create mode 100644 indra/newview/skins/default/xui/en/floater_my_appearance.xml diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index b9125ec8d36..404cd8e5b6d 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -33,6 +33,7 @@ #include "llagentwearablesfetch.h" #include "llappearancemgr.h" #include "llcallbacklist.h" +#include "llfloatersidepanelcontainer.h" #include "llgesturemgr.h" #include "llinventorybridge.h" #include "llinventoryfunctions.h" @@ -2015,7 +2016,7 @@ void LLAgentWearables::editWearable(const LLUUID& item_id) } const BOOL disable_camera_switch = LLWearableType::getDisableCameraSwitch(wearable->getType()); - LLPanel* panel = LLSideTray::getInstance()->getPanel("sidepanel_appearance"); + LLPanel* panel = LLFloaterSidePanelContainer::getPanel("appearance"); LLSidepanelAppearance::editWearable(wearable, panel, disable_camera_switch); } diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 3cb9b77010e..c638f881a5f 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -34,6 +34,7 @@ #include "llattachmentsmgr.h" #include "llcommandhandler.h" #include "lleventtimer.h" +#include "llfloatersidepanelcontainer.h" #include "llgesturemgr.h" #include "llinventorybridge.h" #include "llinventoryfunctions.h" @@ -116,7 +117,7 @@ class LLAppearanceHandler : public LLCommandHandler return true; } - LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD()); + LLFloaterSidePanelContainer::showPanel("appearance", LLSD()); return true; } }; @@ -1505,7 +1506,7 @@ void LLAppearanceMgr::updateCOF(const LLUUID& category, bool append) void LLAppearanceMgr::updatePanelOutfitName(const std::string& name) { LLSidepanelAppearance* panel_appearance = - dynamic_cast<LLSidepanelAppearance *>(LLSideTray::getInstance()->getPanel("sidepanel_appearance")); + dynamic_cast<LLSidepanelAppearance *>(LLFloaterSidePanelContainer::getPanel("appearance")); if (panel_appearance) { panel_appearance->refreshCurrentOutfitName(name); @@ -1943,7 +1944,7 @@ void LLAppearanceMgr::wearInventoryCategoryOnAvatar( LLInventoryCategory* catego if (gAgentCamera.cameraCustomizeAvatar()) { // switching to outfit editor should automagically save any currently edited wearable - LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "edit_outfit")); + LLFloaterSidePanelContainer::showPanel("appearance", LLSD().with("type", "edit_outfit")); } LLAppearanceMgr::changeOutfit(TRUE, category->getUUID(), append); @@ -2468,7 +2469,7 @@ class LLShowCreatedOutfit: public LLInventoryCallback LLSideTray::getInstance()->showPanel("panel_outfits_inventory", key); } LLOutfitsList *outfits_list = - dynamic_cast<LLOutfitsList*>(LLSideTray::getInstance()->getPanel("outfitslist_tab")); + dynamic_cast<LLOutfitsList*>(LLFloaterSidePanelContainer::getPanel("appearance", "outfitslist_tab")); if (outfits_list) { outfits_list->setSelectedOutfitByUUID(mFolderID); diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index 4cdfcea64eb..db5bbf71670 100755 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -47,6 +47,7 @@ #include "llfloatergroups.h" #include "llfloaterreg.h" #include "llfloaterpay.h" +#include "llfloatersidepanelcontainer.h" #include "llfloaterwebcontent.h" #include "llfloaterworldmap.h" #include "llfolderview.h" @@ -462,7 +463,7 @@ namespace action_give_inventory */ static LLInventoryPanel* get_outfit_editor_inventory_panel() { - LLPanelOutfitEdit* panel_outfit_edit = dynamic_cast<LLPanelOutfitEdit*>(LLSideTray::getInstance()->getPanel("panel_outfit_edit")); + LLPanelOutfitEdit* panel_outfit_edit = dynamic_cast<LLPanelOutfitEdit*>(LLFloaterSidePanelContainer::getPanel("appearance", "panel_outfit_edit")); if (NULL == panel_outfit_edit) return NULL; LLInventoryPanel* inventory_panel = panel_outfit_edit->findChild<LLInventoryPanel>("folder_view"); diff --git a/indra/newview/llcofwearables.cpp b/indra/newview/llcofwearables.cpp index 254c0adef16..80e0cca780c 100644 --- a/indra/newview/llcofwearables.cpp +++ b/indra/newview/llcofwearables.cpp @@ -33,6 +33,7 @@ #include "llagentdata.h" #include "llagentwearables.h" #include "llappearancemgr.h" +#include "llfloatersidepanelcontainer.h" #include "llinventory.h" #include "llinventoryfunctions.h" #include "lllistcontextmenu.h" @@ -165,7 +166,7 @@ class CofClothingContextMenu : public CofContextMenu // absent instance. Explicit relations between components avoids situations // when we tries to construct instance with unsatisfied implicit input conditions. LLPanelOutfitEdit * panel_outfit_edit = - dynamic_cast<LLPanelOutfitEdit*> (LLSideTray::getInstance()->getPanel( + dynamic_cast<LLPanelOutfitEdit*> (LLFloaterSidePanelContainer::getPanel("appearance", "panel_outfit_edit")); if (panel_outfit_edit != NULL) { @@ -237,7 +238,7 @@ class CofBodyPartContextMenu : public CofContextMenu // *HACK* need to pass pointer to LLPanelOutfitEdit instead of LLSideTray::getInstance()->getPanel(). // LLSideTray::getInstance()->getPanel() is rather slow variant - LLPanelOutfitEdit* panel_oe = dynamic_cast<LLPanelOutfitEdit*>(LLSideTray::getInstance()->getPanel("panel_outfit_edit")); + LLPanelOutfitEdit* panel_oe = dynamic_cast<LLPanelOutfitEdit*>(LLFloaterSidePanelContainer::getPanel("appearance", "panel_outfit_edit")); registrar.add("BodyPart.Replace", boost::bind(&LLPanelOutfitEdit::onReplaceMenuItemClicked, panel_oe, selected_id)); registrar.add("BodyPart.Edit", boost::bind(LLAgentWearables::editWearable, selected_id)); registrar.add("BodyPart.Create", boost::bind(&CofBodyPartContextMenu::createNew, this, selected_id)); diff --git a/indra/newview/llfloatersidepanelcontainer.cpp b/indra/newview/llfloatersidepanelcontainer.cpp index cff46e80eb2..ab874e4b9f9 100644 --- a/indra/newview/llfloatersidepanelcontainer.cpp +++ b/indra/newview/llfloatersidepanelcontainer.cpp @@ -33,6 +33,9 @@ #include "llsidetraypanelcontainer.h" #include "lltransientfloatermgr.h" +//static +const std::string LLFloaterSidePanelContainer::sMainPanelName("main_panel"); + LLFloaterSidePanelContainer::LLFloaterSidePanelContainer(const LLSD& key, const Params& params) : LLFloater(key, params) { @@ -48,7 +51,7 @@ LLFloaterSidePanelContainer::~LLFloaterSidePanelContainer() void LLFloaterSidePanelContainer::onOpen(const LLSD& key) { - getChild<LLPanel>("main_panel")->onOpen(key); + getChild<LLPanel>(sMainPanelName)->onOpen(key); } LLPanel* LLFloaterSidePanelContainer::openChildPanel(const std::string& panel_name, const LLSD& params) @@ -82,6 +85,17 @@ void LLFloaterSidePanelContainer::showPanel(const std::string& floater_name, con LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>(floater_name); if (floaterp) { - floaterp->openChildPanel("main_panel", panel_name); + floaterp->openChildPanel(sMainPanelName, panel_name); } } + +LLPanel* LLFloaterSidePanelContainer::getPanel(const std::string& floater_name, const std::string& panel_name) +{ + LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>(floater_name); + if (floaterp) + { + return floaterp->findChild<LLPanel>(panel_name, true); + } + + return NULL; +} diff --git a/indra/newview/llfloatersidepanelcontainer.h b/indra/newview/llfloatersidepanelcontainer.h index 7b4e7643aed..5c05f26f458 100644 --- a/indra/newview/llfloatersidepanelcontainer.h +++ b/indra/newview/llfloatersidepanelcontainer.h @@ -42,6 +42,9 @@ */ class LLFloaterSidePanelContainer : public LLFloater { +private: + static const std::string sMainPanelName; + public: LLFloaterSidePanelContainer(const LLSD& key, const Params& params = getDefaultParams()); ~LLFloaterSidePanelContainer(); @@ -51,6 +54,8 @@ class LLFloaterSidePanelContainer : public LLFloater LLPanel* openChildPanel(const std::string& panel_name, const LLSD& params); static void showPanel(const std::string& floater_name, const LLSD& panel_name); + + static LLPanel* getPanel(const std::string& floater_name, const std::string& panel_name = sMainPanelName); }; #endif // LL_LLFLOATERSIDEPANELCONTAINER_H diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 0b3d6d80303..b6041c7f316 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -4781,7 +4781,7 @@ void remove_inventory_category_from_avatar( LLInventoryCategory* category ) if (gAgentCamera.cameraCustomizeAvatar()) { // switching to outfit editor should automagically save any currently edited wearable - LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "edit_outfit")); + LLFloaterSidePanelContainer::showPanel("appearance", LLSD().with("type", "edit_outfit")); } remove_inventory_category_from_avatar_step2(TRUE, category->getUUID() ); diff --git a/indra/newview/lloutfitslist.cpp b/indra/newview/lloutfitslist.cpp index 10887aa53aa..c2739867b10 100644 --- a/indra/newview/lloutfitslist.cpp +++ b/indra/newview/lloutfitslist.cpp @@ -35,6 +35,7 @@ #include "llaccordionctrltab.h" #include "llagentwearables.h" #include "llappearancemgr.h" +#include "llfloatersidepanelcontainer.h" #include "llinventoryfunctions.h" #include "llinventorymodel.h" #include "lllistcontextmenu.h" @@ -327,7 +328,7 @@ class LLOutfitContextMenu : public LLListContextMenu static void editOutfit() { - LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "edit_outfit")); + LLFloaterSidePanelContainer::showPanel("appearance", LLSD().with("type", "edit_outfit")); } static void renameOutfit(const LLUUID& outfit_cat_id) diff --git a/indra/newview/llpaneloutfitsinventory.cpp b/indra/newview/llpaneloutfitsinventory.cpp index a90f864ae27..3ac0d6616b3 100644 --- a/indra/newview/llpaneloutfitsinventory.cpp +++ b/indra/newview/llpaneloutfitsinventory.cpp @@ -31,6 +31,7 @@ #include "llnotificationsutil.h" #include "lltabcontainer.h" +#include "llfloatersidepanelcontainer.h" #include "llinventoryfunctions.h" #include "llinventorymodelbackgroundfetch.h" #include "llagentwearables.h" @@ -222,7 +223,7 @@ void LLPanelOutfitsInventory::onSave() //static LLPanelOutfitsInventory* LLPanelOutfitsInventory::findInstance() { - return dynamic_cast<LLPanelOutfitsInventory*>(LLSideTray::getInstance()->getPanel("panel_outfits_inventory")); + return dynamic_cast<LLPanelOutfitsInventory*>(LLFloaterSidePanelContainer::getPanel("appearance", "panel_outfits_inventory")); } ////////////////////////////////////////////////////////////////////////////////// @@ -319,8 +320,7 @@ void LLPanelOutfitsInventory::onWearablesLoading() // static LLSidepanelAppearance* LLPanelOutfitsInventory::getAppearanceSP() { - static LLSidepanelAppearance* panel_appearance = - dynamic_cast<LLSidepanelAppearance*> - (LLSideTray::getInstance()->getPanel("sidepanel_appearance")); + LLSidepanelAppearance* panel_appearance = + dynamic_cast<LLSidepanelAppearance*>(LLFloaterSidePanelContainer::getPanel("appearance")); return panel_appearance; } diff --git a/indra/newview/llpanelwearing.cpp b/indra/newview/llpanelwearing.cpp index f19b54c1d4d..87e9bb7b288 100644 --- a/indra/newview/llpanelwearing.cpp +++ b/indra/newview/llpanelwearing.cpp @@ -31,6 +31,7 @@ #include "lltoggleablemenu.h" #include "llappearancemgr.h" +#include "llfloatersidepanelcontainer.h" #include "llinventoryfunctions.h" #include "llinventorymodel.h" #include "llinventoryobserver.h" @@ -44,7 +45,7 @@ // Context menu and Gear menu helper. static void edit_outfit() { - LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "edit_outfit")); + LLFloaterSidePanelContainer::showPanel("appearance", LLSD().with("type", "edit_outfit")); } ////////////////////////////////////////////////////////////////////////// diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp index 28ec11d1c7b..a356013830d 100644 --- a/indra/newview/llsidepanelappearance.cpp +++ b/indra/newview/llsidepanelappearance.cpp @@ -32,6 +32,7 @@ #include "llagentcamera.h" #include "llagentwearables.h" #include "llappearancemgr.h" +#include "llfloatersidepanelcontainer.h" #include "llfolderview.h" #include "llinventorypanel.h" #include "llfiltereditor.h" @@ -456,7 +457,7 @@ void LLSidepanelAppearance::refreshCurrentOutfitName(const std::string& name) //static void LLSidepanelAppearance::editWearable(LLWearable *wearable, LLView *data, BOOL disable_camera_switch) { - LLSideTray::getInstance()->showPanel("sidepanel_appearance"); + LLFloaterSidePanelContainer::showPanel("appearance", LLSD()); LLSidepanelAppearance *panel = dynamic_cast<LLSidepanelAppearance*>(data); if (panel) diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index b28373c6d50..665e0a2bd61 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -161,6 +161,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterAboutUtil::registerFloater(); LLFloaterReg::add("about_land", "floater_about_land.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterLand>); + LLFloaterReg::add("appearance", "floater_my_appearance.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("auction", "floater_auction.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAuction>); LLFloaterReg::add("avatar_picker", "floater_avatar_picker.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAvatarPicker>); LLFloaterReg::add("avatar_textures", "floater_avatar_textures.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAvatarTextures>); diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp index ad65a8846c6..6b5b47d0db1 100644 --- a/indra/newview/llviewerinventory.cpp +++ b/indra/newview/llviewerinventory.cpp @@ -34,6 +34,7 @@ #include "llagent.h" #include "llagentcamera.h" #include "llagentwearables.h" +#include "llfloatersidepanelcontainer.h" #include "llviewerfoldertype.h" #include "llfolderview.h" #include "llviewercontrol.h" @@ -976,7 +977,7 @@ void ModifiedCOFCallback::fire(const LLUUID& inv_item) if( gAgentCamera.cameraCustomizeAvatar() ) { // If we're in appearance editing mode, the current tab may need to be refreshed - LLSidepanelAppearance *panel = dynamic_cast<LLSidepanelAppearance*>(LLSideTray::getInstance()->getPanel("sidepanel_appearance")); + LLSidepanelAppearance *panel = dynamic_cast<LLSidepanelAppearance*>(LLFloaterSidePanelContainer::getPanel("appearance")); if (panel) { panel->showDefaultSubpart(); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 63d6e0ac304..1dd5b058180 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -3758,7 +3758,7 @@ void handle_reset_view() if (gAgentCamera.cameraCustomizeAvatar()) { // switching to outfit selector should automagically save any currently edited wearable - LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "my_outfits")); + LLFloaterSidePanelContainer::showPanel("appearance", LLSD().with("type", "my_outfits")); } gAgentCamera.switchCameraPreset(CAMERA_PRESET_REAR_VIEW); @@ -5576,22 +5576,22 @@ void handle_viewer_disable_message_log(void*) void handle_customize_avatar() { - LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "my_outfits")); + LLFloaterSidePanelContainer::showPanel("appearance", LLSD().with("type", "my_outfits")); } void handle_edit_outfit() { - LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "edit_outfit")); + LLFloaterSidePanelContainer::showPanel("appearance", LLSD().with("type", "edit_outfit")); } void handle_edit_shape() { - LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "edit_shape")); + LLFloaterSidePanelContainer::showPanel("appearance", LLSD().with("type", "edit_shape")); } void handle_edit_physics() { - LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "edit_physics")); + LLFloaterSidePanelContainer::showPanel("appearance", LLSD().with("type", "edit_physics")); } void handle_report_abuse() diff --git a/indra/newview/llwearable.cpp b/indra/newview/llwearable.cpp index d1c0990f90d..276e8f462d4 100644 --- a/indra/newview/llwearable.cpp +++ b/indra/newview/llwearable.cpp @@ -30,6 +30,7 @@ #include "llagentcamera.h" #include "llagentwearables.h" #include "lldictionary.h" +#include "llfloatersidepanelcontainer.h" #include "lllocaltextureobject.h" #include "llnotificationsutil.h" #include "llviewertexturelist.h" @@ -697,7 +698,7 @@ void LLWearable::removeFromAvatar( LLWearableType::EType type, BOOL upload_bake if(gAgentCamera.cameraCustomizeAvatar()) { - LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "edit_outfit")); + LLFloaterSidePanelContainer::showPanel("appearance", LLSD().with("type", "edit_outfit")); } gAgentAvatarp->updateVisualParams(); @@ -967,7 +968,7 @@ void LLWearable::revertValues() syncImages(mSavedTEMap, mTEMap); - LLSidepanelAppearance *panel = dynamic_cast<LLSidepanelAppearance*>(LLSideTray::getInstance()->getPanel("sidepanel_appearance")); + LLSidepanelAppearance *panel = dynamic_cast<LLSidepanelAppearance*>(LLFloaterSidePanelContainer::getPanel("appearance")); if( panel ) { panel->updateScrollingPanelList(); @@ -1008,7 +1009,7 @@ void LLWearable::saveValues() syncImages(mTEMap, mSavedTEMap); - LLSidepanelAppearance *panel = dynamic_cast<LLSidepanelAppearance*>(LLSideTray::getInstance()->getPanel("sidepanel_appearance")); + LLSidepanelAppearance *panel = dynamic_cast<LLSidepanelAppearance*>(LLFloaterSidePanelContainer::getPanel("appearance")); if( panel ) { panel->updateScrollingPanelList(); diff --git a/indra/newview/skins/default/xui/en/floater_my_appearance.xml b/indra/newview/skins/default/xui/en/floater_my_appearance.xml new file mode 100644 index 00000000000..8f97887b3f2 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_my_appearance.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> + +<floater + legacy_header_height="18" + can_resize="true" + height="588" + layout="topleft" + name="floater_my_appearance" + save_rect="true" + single_instance="true" + title="MY APPEARANCE" + width="333"> + <panel + top="18" + class="sidepanel_appearance" + name="main_panel" + filename="sidepanel_appearance.xml" + label="Edit Appearance" + font="SansSerifBold"/> +</floater> -- GitLab From b6feeea2b550b981dbb04558902020e8cae16f7b Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 27 Sep 2011 12:40:06 -0700 Subject: [PATCH 053/256] * Updated toybox to center bottom button and add delimeter --- .../skins/default/xui/en/floater_toybox.xml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index 60a39b0bff7..092eddaa53c 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -46,6 +46,7 @@ <toolbar bottom="395" button_display_mode="icons_with_text" + follows="all" left="20" max_button_width="140" min_button_width="70" @@ -58,15 +59,22 @@ read_only="true" right="-20" side="top" - top="85"> - </toolbar> + top="85" /> + <panel + bevel_style="none" + border="true" + bottom="396" + follows="left|bottom|right" + left="20" + right="-20" + top="396" /> <button - follows="left|bottom" + follows="left|bottom|right" height="23" label="Restore defaults" label_selected="Restore defaults" layout="topleft" - left="20" + left="260" name="btn_restore_defaults" top="415" width="130"> -- GitLab From a686aeabffe619c9a467455982f1a39968fbd9e3 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 27 Sep 2011 12:40:47 -0700 Subject: [PATCH 054/256] * Modified toolbar context menus to bind to the specific instance of the toolbar --- indra/llui/lltoolbar.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 2fb9f249d48..9986eece2d7 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -123,12 +123,16 @@ void LLToolBar::createContextMenu() { if (!mPopupMenuHandle.get()) { + // Setup bindings specific to this instance for the context menu options + LLUICtrl::CommitCallbackRegistry::Registrar& commit_reg = LLUICtrl::CommitCallbackRegistry::defaultRegistrar(); commit_reg.add("Toolbars.EnableSetting", boost::bind(&LLToolBar::onSettingEnable, this, _2)); LLUICtrl::EnableCallbackRegistry::Registrar& enable_reg = LLUICtrl::EnableCallbackRegistry::defaultRegistrar(); enable_reg.add("Toolbars.CheckSetting", boost::bind(&LLToolBar::isSettingChecked, this, _2)); + // Create the context menu + LLContextMenu* menu = LLUICtrlFactory::instance().createFromFile<LLContextMenu>("menu_toolbars.xml", LLMenuGL::sMenuContainer, LLMenuHolderGL::child_registry_t::instance()); if (menu) @@ -141,6 +145,10 @@ void LLToolBar::createContextMenu() { llwarns << "Unable to load toolbars context menu." << llendl; } + + // Remove this instance's bindings + commit_reg.remove("Toolbars.EnableSetting"); + enable_reg.remove("Toolbars.CheckSetting"); } } @@ -251,11 +259,13 @@ BOOL LLToolBar::handleRightMouseDown(S32 x, S32 y, MASK mask) if (handle_it_here) { createContextMenu(); + LLContextMenu * menu = (LLContextMenu *) mPopupMenuHandle.get(); if (menu) { menu->show(x, y); + LLMenuGL::showPopup(this, menu, x, y); } } -- GitLab From 8fd2d69fdf47e0f586c6010c589411e251967038 Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Tue, 27 Sep 2011 22:51:43 +0300 Subject: [PATCH 055/256] EXP-1224 FIXED (Create and register a floater for People side tab) - Added a floater for People side tab. - Replaced calls to LLSideTray with LLFloaterSidePanelContainer. --- indra/newview/llbottomtray.cpp | 3 +- indra/newview/llchathistory.cpp | 3 +- indra/newview/llfloaterpreference.cpp | 3 +- indra/newview/llfloatersidepanelcontainer.cpp | 25 ++++++++++- indra/newview/llfloatersidepanelcontainer.h | 26 ++++++++++- indra/newview/llgroupactions.cpp | 15 ++++--- indra/newview/llnearbychat.cpp | 3 +- indra/newview/llpanelblockedlist.cpp | 3 +- indra/newview/llpanelgroup.cpp | 5 ++- indra/newview/llpanelpeople.cpp | 13 ++++++ indra/newview/llpanelpicks.cpp | 3 +- indra/newview/llviewerfloaterreg.cpp | 1 + .../skins/default/xui/en/floater_people.xml | 45 +++++++++++++++++++ .../xui/en/menu_people_friends_view_sort.xml | 2 +- .../xui/en/menu_people_nearby_view_sort.xml | 2 +- .../xui/en/menu_people_recent_view_sort.xml | 2 +- 16 files changed, 133 insertions(+), 21 deletions(-) create mode 100644 indra/newview/skins/default/xui/en/floater_people.xml diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp index 79e6c7b66bd..e6448d38eec 100644 --- a/indra/newview/llbottomtray.cpp +++ b/indra/newview/llbottomtray.cpp @@ -31,6 +31,7 @@ // library includes #include "llfloaterreg.h" +#include "llfloatersidepanelcontainer.h" #include "llflyoutbutton.h" #include "lllayoutstack.h" #include "llnotifications.h" @@ -856,7 +857,7 @@ void LLBottomTray::draw() } getChild<LLButton>("show_profile_btn")->setToggleState(LLAvatarActions::profileVisible(gAgent.getID())); - LLPanel* panel = LLSideTray::getInstance()->getPanel("panel_people"); + LLPanel* panel = LLFloaterSidePanelContainer::getPanel("people", "panel_people"); if (panel && panel->isInVisibleChain()) { getChild<LLButton>("show_people_button")->setToggleState(true); diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp index c0c9ea14516..d6773b8b295 100644 --- a/indra/newview/llchathistory.cpp +++ b/indra/newview/llchathistory.cpp @@ -42,6 +42,7 @@ #include "llavataractions.h" #include "lltrans.h" #include "llfloaterreg.h" +#include "llfloatersidepanelcontainer.h" #include "llmutelist.h" #include "llstylemap.h" #include "llslurl.h" @@ -144,7 +145,7 @@ class LLChatHistoryHeader: public LLPanel { LLMuteList::getInstance()->add(LLMute(getAvatarId(), mFrom, LLMute::OBJECT)); - LLSideTray::getInstance()->showPanel("panel_block_list_sidetray", LLSD().with("blocked_to_select", getAvatarId())); + LLFloaterSidePanelContainer::showPanel("people", "panel_block_list_sidetray", LLSD().with("blocked_to_select", getAvatarId())); } } diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index d65928e3859..d8b6b2e966e 100755 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -50,6 +50,7 @@ #include "llfloaterreg.h" #include "llfloaterabout.h" #include "llfloaterhardwaresettings.h" +#include "llfloatersidepanelcontainer.h" #include "llimfloater.h" #include "llkeyboard.h" #include "llmodaldialog.h" @@ -1499,7 +1500,7 @@ void LLFloaterPreference::onClickBlockList() // don't create side tray on demand if (LLSideTray::instanceCreated()) { - LLSideTray::getInstance()->showPanel("panel_block_list_sidetray"); + LLFloaterSidePanelContainer::showPanel("people", "panel_block_list_sidetray", LLSD()); } } diff --git a/indra/newview/llfloatersidepanelcontainer.cpp b/indra/newview/llfloatersidepanelcontainer.cpp index cf66fd1792d..d77232a8887 100644 --- a/indra/newview/llfloatersidepanelcontainer.cpp +++ b/indra/newview/llfloatersidepanelcontainer.cpp @@ -77,11 +77,32 @@ LLPanel* LLFloaterSidePanelContainer::openChildPanel(const std::string& panel_na return panel; } -void LLFloaterSidePanelContainer::showPanel(const std::string& floater_name, const LLSD& panel_name) +LLPanel* LLFloaterSidePanelContainer::getPanel(const std::string& floater_name, const std::string& panel_name) +{ + LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>(floater_name); + + if (floaterp) + { + return floaterp->findChild<LLPanel>(panel_name, true); + } + + return NULL; +} + +void LLFloaterSidePanelContainer::showPanel(const std::string& floater_name, const LLSD& key) +{ + LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>(floater_name); + if (floaterp) + { + floaterp->openChildPanel("main_panel", key); + } +} + +void LLFloaterSidePanelContainer::showPanel(const std::string& floater_name, const std::string& panel_name, const LLSD& key) { LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>(floater_name); if (floaterp) { - floaterp->openChildPanel("main_panel", panel_name); + floaterp->openChildPanel(panel_name, key); } } diff --git a/indra/newview/llfloatersidepanelcontainer.h b/indra/newview/llfloatersidepanelcontainer.h index 7b4e7643aed..a5ea1a23fbe 100644 --- a/indra/newview/llfloatersidepanelcontainer.h +++ b/indra/newview/llfloatersidepanelcontainer.h @@ -42,6 +42,9 @@ */ class LLFloaterSidePanelContainer : public LLFloater { +private: + static const std::string sMainPanelName; + public: LLFloaterSidePanelContainer(const LLSD& key, const Params& params = getDefaultParams()); ~LLFloaterSidePanelContainer(); @@ -50,7 +53,28 @@ class LLFloaterSidePanelContainer : public LLFloater LLPanel* openChildPanel(const std::string& panel_name, const LLSD& params); - static void showPanel(const std::string& floater_name, const LLSD& panel_name); + static LLPanel* getPanel(const std::string& floater_name, const std::string& panel_name = sMainPanelName); + + static void showPanel(const std::string& floater_name, const LLSD& key); + + static void showPanel(const std::string& floater_name, const std::string& panel_name, const LLSD& key); + + /** + * Gets the panel of given type T (doesn't show it or do anything else with it). + * + * @param panel_name a string specifying a child panel to get. + * @returns a pointer to the panel of given type T. + */ + template <typename T> + static T* getPanel(const std::string& floater_name, const std::string& panel_name = sMainPanelName) + { + T* panel = dynamic_cast<T*>(getPanel(floater_name, panel_name)); + if (!panel) + { + llwarns << "Child named \"" << panel_name << "\" of type " << typeid(T*).name() << " not found" << llendl; + } + return panel; + } }; #endif // LL_LLFLOATERSIDEPANELCONTAINER_H diff --git a/indra/newview/llgroupactions.cpp b/indra/newview/llgroupactions.cpp index 97fa5514417..cbbd66d8684 100644 --- a/indra/newview/llgroupactions.cpp +++ b/indra/newview/llgroupactions.cpp @@ -34,6 +34,7 @@ #include "llagent.h" #include "llcommandhandler.h" #include "llfloaterreg.h" +#include "llfloatersidepanelcontainer.h" #include "llgroupmgr.h" #include "llimview.h" // for gIMMgr #include "llnotificationsutil.h" @@ -83,7 +84,7 @@ class LLGroupHandler : public LLCommandHandler { LLSD params; params["people_panel_tab_name"] = "groups_panel"; - LLSideTray::getInstance()->showPanel("panel_people", params); + LLFloaterSidePanelContainer::showPanel("people", "panel_people", params); return true; } return false; @@ -243,7 +244,7 @@ static bool isGroupUIVisible() { static LLPanel* panel = 0; if(!panel) - panel = LLSideTray::getInstance()->getPanel("panel_group_info_sidetray"); + panel = LLFloaterSidePanelContainer::getPanel("people", "panel_group_info_sidetray"); if(!panel) return false; return panel->isInVisibleChain(); @@ -265,7 +266,7 @@ void LLGroupActions::show(const LLUUID& group_id) params["group_id"] = group_id; params["open_tab_name"] = "panel_group_info_sidetray"; - LLSideTray::getInstance()->showPanel("panel_group_info_sidetray", params); + LLFloaterSidePanelContainer::showPanel("people", "panel_group_info_sidetray", params); } void LLGroupActions::refresh_notices() @@ -278,7 +279,7 @@ void LLGroupActions::refresh_notices() params["open_tab_name"] = "panel_group_info_sidetray"; params["action"] = "refresh_notices"; - LLSideTray::getInstance()->showPanel("panel_group_info_sidetray", params); + LLFloaterSidePanelContainer::showPanel("people", "panel_group_info_sidetray", params); } //static @@ -292,7 +293,7 @@ void LLGroupActions::refresh(const LLUUID& group_id) params["open_tab_name"] = "panel_group_info_sidetray"; params["action"] = "refresh"; - LLSideTray::getInstance()->showPanel("panel_group_info_sidetray", params); + LLFloaterSidePanelContainer::showPanel("people", "panel_group_info_sidetray", params); } //static @@ -303,7 +304,7 @@ void LLGroupActions::createGroup() params["open_tab_name"] = "panel_group_info_sidetray"; params["action"] = "create"; - LLSideTray::getInstance()->showPanel("panel_group_info_sidetray", params); + LLFloaterSidePanelContainer::showPanel("people", "panel_group_info_sidetray", params); } //static @@ -317,7 +318,7 @@ void LLGroupActions::closeGroup(const LLUUID& group_id) params["open_tab_name"] = "panel_group_info_sidetray"; params["action"] = "close"; - LLSideTray::getInstance()->showPanel("panel_group_info_sidetray", params); + LLFloaterSidePanelContainer::showPanel("people", "panel_group_info_sidetray", params); } diff --git a/indra/newview/llnearbychat.cpp b/indra/newview/llnearbychat.cpp index 03ebc344f17..44c29fe05ef 100644 --- a/indra/newview/llnearbychat.cpp +++ b/indra/newview/llnearbychat.cpp @@ -33,6 +33,7 @@ //#include "llchatitemscontainerctrl.h" #include "lliconctrl.h" #include "llsidetray.h" +#include "llfloatersidepanelcontainer.h" #include "llfocusmgr.h" #include "llresizebar.h" #include "llresizehandle.h" @@ -203,7 +204,7 @@ void LLNearbyChat::onNearbySpeakers() { LLSD param; param["people_panel_tab_name"] = "nearby_panel"; - LLSideTray::getInstance()->showPanel("panel_people",param); + LLFloaterSidePanelContainer::showPanel("people", "panel_people", param); } diff --git a/indra/newview/llpanelblockedlist.cpp b/indra/newview/llpanelblockedlist.cpp index 81e199d85b5..856dabb6b78 100644 --- a/indra/newview/llpanelblockedlist.cpp +++ b/indra/newview/llpanelblockedlist.cpp @@ -37,6 +37,7 @@ // project include #include "llfloateravatarpicker.h" +#include "llfloatersidepanelcontainer.h" #include "llsidetray.h" #include "llsidetraypanelcontainer.h" @@ -99,7 +100,7 @@ void LLPanelBlockedList::selectBlocked(const LLUUID& mute_id) void LLPanelBlockedList::showPanelAndSelect(const LLUUID& idToSelect) { - LLSideTray::getInstance()->showPanel("panel_block_list_sidetray", LLSD().with(BLOCKED_PARAM_NAME, idToSelect)); + LLFloaterSidePanelContainer::showPanel("people", "panel_block_list_sidetray", LLSD().with(BLOCKED_PARAM_NAME, idToSelect)); } diff --git a/indra/newview/llpanelgroup.cpp b/indra/newview/llpanelgroup.cpp index 76b85d5bec3..70dcf61d7d9 100644 --- a/indra/newview/llpanelgroup.cpp +++ b/indra/newview/llpanelgroup.cpp @@ -29,6 +29,7 @@ // Library includes #include "llbutton.h" +#include "llfloatersidepanelcontainer.h" #include "lltabcontainer.h" #include "lltextbox.h" #include "lluictrlfactory.h" @@ -597,7 +598,7 @@ void LLPanelGroup::showNotice(const std::string& subject, //static void LLPanelGroup::refreshCreatedGroup(const LLUUID& group_id) { - LLPanelGroup* panel = LLSideTray::getInstance()->getPanel<LLPanelGroup>("panel_group_info_sidetray"); + LLPanelGroup* panel = LLFloaterSidePanelContainer::getPanel<LLPanelGroup>("people", "panel_group_info_sidetray"); if(!panel) return; panel->setGroupID(group_id); @@ -612,7 +613,7 @@ void LLPanelGroup::showNotice(const std::string& subject, const std::string& inventory_name, LLOfferInfo* inventory_offer) { - LLPanelGroup* panel = LLSideTray::getInstance()->getPanel<LLPanelGroup>("panel_group_info_sidetray"); + LLPanelGroup* panel = LLFloaterSidePanelContainer::getPanel<LLPanelGroup>("people", "panel_group_info_sidetray"); if(!panel) return; diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp index e3a7b749ea6..8d63ced53a3 100644 --- a/indra/newview/llpanelpeople.cpp +++ b/indra/newview/llpanelpeople.cpp @@ -29,6 +29,7 @@ // libs #include "llavatarname.h" #include "llfloaterreg.h" +#include "llfloatersidepanelcontainer.h" #include "llmenubutton.h" #include "llmenugl.h" #include "llnotificationsutil.h" @@ -1283,6 +1284,10 @@ void LLPanelPeople::onFriendsViewSortMenuItemClicked(const LLSD& userdata) mAllFriendList->showPermissions(show_permissions); mOnlineFriendList->showPermissions(show_permissions); } + else if (chosen_item == "panel_block_list_sidetray") + { + LLFloaterSidePanelContainer::showPanel("people", "panel_block_list_sidetray", LLSD()); + } } void LLPanelPeople::onGroupsViewSortMenuItemClicked(const LLSD& userdata) @@ -1315,6 +1320,10 @@ void LLPanelPeople::onNearbyViewSortMenuItemClicked(const LLSD& userdata) { setSortOrder(mNearbyList, E_SORT_BY_DISTANCE); } + else if (chosen_item == "panel_block_list_sidetray") + { + LLFloaterSidePanelContainer::showPanel("people", "panel_block_list_sidetray", LLSD()); + } } bool LLPanelPeople::onNearbyViewSortMenuItemCheck(const LLSD& userdata) @@ -1348,6 +1357,10 @@ void LLPanelPeople::onRecentViewSortMenuItemClicked(const LLSD& userdata) { mRecentList->toggleIcons(); } + else if (chosen_item == "panel_block_list_sidetray") + { + LLFloaterSidePanelContainer::showPanel("people", "panel_block_list_sidetray", LLSD()); + } } bool LLPanelPeople::onFriendsViewSortMenuItemCheck(const LLSD& userdata) diff --git a/indra/newview/llpanelpicks.cpp b/indra/newview/llpanelpicks.cpp index ddce83c616d..12217a7db43 100755 --- a/indra/newview/llpanelpicks.cpp +++ b/indra/newview/llpanelpicks.cpp @@ -35,6 +35,7 @@ #include "lldispatcher.h" #include "llflatlistview.h" #include "llfloaterreg.h" +#include "llfloatersidepanelcontainer.h" #include "llfloaterworldmap.h" #include "llnotificationsutil.h" #include "lltexturectrl.h" @@ -270,7 +271,7 @@ class LLClassifiedHandler : params["classified_name"] = c_info->name; params["classified_desc"] = c_info->description; params["from_search"] = true; - LLSideTray::getInstance()->showPanel("panel_profile_view", params); + LLFloaterSidePanelContainer::showPanel("people", "panel_profile_view", params); } else if (mRequestVerb == "edit") { diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index b28373c6d50..10aa58f266a 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -231,6 +231,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("outgoing_call", "floater_outgoing_call.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLOutgoingCallDialog>); LLFloaterPayUtil::registerFloater(); + LLFloaterReg::add("people", "floater_people.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("places", "floater_places.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("postcard", "floater_postcard.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPostcard>); LLFloaterReg::add("preferences", "floater_preferences.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPreference>); diff --git a/indra/newview/skins/default/xui/en/floater_people.xml b/indra/newview/skins/default/xui/en/floater_people.xml new file mode 100644 index 00000000000..6ccf81c846d --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_people.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> + +<floater + legacy_header_height="18" + can_close="true" + can_resize="true" + height="588" + min_width="333" + min_height="440" + layout="topleft" + name="floater_people" + save_rect="true" + single_instance="true" + title="PEOPLE" + width="333"> + <panel_container + default_panel_name="panel_people" + follows="all" + layout="topleft" + name="main_panel" + top="18" + width="333" + height="570"> + <panel + class="panel_people" + name="panel_people" + filename="panel_people.xml"/> + <panel + class="panel_profile_view" + name="panel_profile_view" + filename="panel_profile_view.xml"/> + <panel + class="panel_group_info_sidetray" + name="panel_group_info_sidetray" + filename="panel_group_info_sidetray.xml" + label="Group Profile" + font="SansSerifBold"/> + <panel + class="panel_block_list_sidetray" + name="panel_block_list_sidetray" + filename="panel_block_list_sidetray.xml" + label="Blocked Residents & Objects" + font="SansSerifBold"/> + </panel_container> +</floater> diff --git a/indra/newview/skins/default/xui/en/menu_people_friends_view_sort.xml b/indra/newview/skins/default/xui/en/menu_people_friends_view_sort.xml index 29eeb93ac15..b452f96e7a9 100644 --- a/indra/newview/skins/default/xui/en/menu_people_friends_view_sort.xml +++ b/indra/newview/skins/default/xui/en/menu_people_friends_view_sort.xml @@ -42,6 +42,6 @@ </menu_item_check> <menu_item_separator layout="topleft" /> <menu_item_call name="show_blocked_list" label="Show Blocked Residents & Objects"> - <menu_item_call.on_click function="SideTray.ShowPanel" parameter="panel_block_list_sidetray" /> + <menu_item_call.on_click function="People.Friends.ViewSort.Action" parameter="panel_block_list_sidetray" /> </menu_item_call> </toggleable_menu> diff --git a/indra/newview/skins/default/xui/en/menu_people_nearby_view_sort.xml b/indra/newview/skins/default/xui/en/menu_people_nearby_view_sort.xml index 65bd2793b60..614dd693c57 100644 --- a/indra/newview/skins/default/xui/en/menu_people_nearby_view_sort.xml +++ b/indra/newview/skins/default/xui/en/menu_people_nearby_view_sort.xml @@ -52,6 +52,6 @@ </menu_item_check> <menu_item_separator layout="topleft" /> <menu_item_call name="show_blocked_list" label="Show Blocked Residents & Objects"> - <menu_item_call.on_click function="SideTray.ShowPanel" userdata="panel_block_list_sidetray" /> + <menu_item_call.on_click function="People.Nearby.ViewSort.Action" userdata="panel_block_list_sidetray" /> </menu_item_call> </toggleable_menu> diff --git a/indra/newview/skins/default/xui/en/menu_people_recent_view_sort.xml b/indra/newview/skins/default/xui/en/menu_people_recent_view_sort.xml index 0634e3bd3b7..485a5a658ca 100644 --- a/indra/newview/skins/default/xui/en/menu_people_recent_view_sort.xml +++ b/indra/newview/skins/default/xui/en/menu_people_recent_view_sort.xml @@ -34,6 +34,6 @@ </menu_item_check> <menu_item_separator layout="topleft" /> <menu_item_call name="show_blocked_list" label="Show Blocked Residents & Objects"> - <menu_item_call.on_click function="SideTray.ShowPanel" userdata="panel_block_list_sidetray" /> + <menu_item_call.on_click function="People.Recent.ViewSort.Action" userdata="panel_block_list_sidetray" /> </menu_item_call> </toggleable_menu> -- GitLab From 0e4f226b56cb2dea1e8d5e9f1267a16c302bb5a9 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Tue, 27 Sep 2011 14:58:20 -0700 Subject: [PATCH 056/256] EXP-1211 : Read toolbar default settings from toolbars.xml, no saving of settings done yet. --- indra/llui/lltoolbar.cpp | 13 +-- indra/llui/lltoolbarview.cpp | 101 +++++++++++++++++- indra/llui/lltoolbarview.h | 32 +++++- indra/newview/CMakeLists.txt | 1 + indra/newview/app_settings/toolbars.xml | 23 ++++ .../default/xui/en/panel_toolbar_view.xml | 9 -- 6 files changed, 156 insertions(+), 23 deletions(-) create mode 100644 indra/newview/app_settings/toolbars.xml diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 2fb9f249d48..f8effb5bb6b 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -187,12 +187,6 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) mCenteringStack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); - BOOST_FOREACH (const LLCommandId::Params& command_id, p.commands) - { - mButtonCommands.push_back(command_id); - } - createButtons(); - mNeedsLayout = true; } @@ -202,8 +196,11 @@ bool LLToolBar::addCommand(const LLCommandId& commandId) bool add_command = (command != NULL); - mButtonCommands.push_back(commandId); - createButtons(); + if (add_command) + { + mButtonCommands.push_back(commandId); + createButtons(); + } return add_command; } diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 6ae10fbf1dc..139a26a251d 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -29,13 +29,108 @@ #include "lltoolbarview.h" +#include "lldir.h" +#include "llxmlnode.h" #include "lltoolbar.h" #include "llbutton.h" +#include <boost/foreach.hpp> + LLToolBarView* gToolBarView = NULL; static LLDefaultChildRegistry::Register<LLToolBarView> r("toolbar_view"); +LLToolBarView::Toolbar::Toolbar() +: commands("command") +{} + +LLToolBarView::ToolbarSet::ToolbarSet() +: left_toolbar("left_toolbar"), + right_toolbar("right_toolbar"), + bottom_toolbar("bottom_toolbar") +{} + +bool LLToolBarView::load() +{ + LLToolBarView::ToolbarSet toolbar_set; + + // Load the default toolbars.xml file + // *TODO : pick up the user's toolbar setting if existing + std::string toolbar_file = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "toolbars.xml"); + + LLXMLNodePtr root; + if(!LLXMLNode::parseFile(toolbar_file, root, NULL)) + { + llerrs << "Unable to load toolbars from file: " << toolbar_file << llendl; + return false; + } + if(!root->hasName("toolbars")) + { + llwarns << toolbar_file << " is not a valid toolbars definition file" << llendl; + return false; + } + + // Parse the toolbar settings + LLXUIParser parser; + parser.readXUI(root, toolbar_set, toolbar_file); + if (!toolbar_set.validateBlock()) + { + llerrs << "Unable to validate toolbars from file: " << toolbar_file << llendl; + return false; + } + + // Add commands to each toolbar + // *TODO: factorize that code : tricky with Blocks though, simple lexical approach fails + LLCommandManager& mgr = LLCommandManager::instance(); + + if (toolbar_set.left_toolbar.isProvided() && mToolbarLeft) + { + BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.left_toolbar.commands) + { + LLCommandId* commandId = new LLCommandId(command); + if (mgr.getCommand(*commandId)) + { + mToolbarLeft->addCommand(*commandId); + } + else + { + llwarns << "Toolbars creation : the command " << commandId->name() << " cannot be found in the command manager" << llendl; + } + } + } + if (toolbar_set.right_toolbar.isProvided() && mToolbarRight) + { + BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.right_toolbar.commands) + { + LLCommandId* commandId = new LLCommandId(command); + if (mgr.getCommand(*commandId)) + { + mToolbarRight->addCommand(*commandId); + } + else + { + llwarns << "Toolbars creation : the command " << commandId->name() << " cannot be found in the command manager" << llendl; + } + } + } + if (toolbar_set.bottom_toolbar.isProvided() && mToolbarBottom) + { + BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.bottom_toolbar.commands) + { + LLCommandId* commandId = new LLCommandId(command); + if (mgr.getCommand(*commandId)) + { + mToolbarBottom->addCommand(*commandId); + } + else + { + llwarns << "Toolbars creation : the command " << commandId->name() << " cannot be found in the command manager" << llendl; + } + } + } + return true; +} + LLToolBarView::LLToolBarView(const LLToolBarView::Params& p) : LLUICtrl(p), mToolbarLeft(NULL), @@ -59,6 +154,10 @@ BOOL LLToolBarView::postBuild() mToolbarLeft = getChild<LLToolBar>("toolbar_left"); mToolbarRight = getChild<LLToolBar>("toolbar_right"); mToolbarBottom = getChild<LLToolBar>("toolbar_bottom"); + + // Load the toolbars from the settings + load(); + return TRUE; } @@ -86,7 +185,7 @@ void LLToolBarView::draw() static S32 old_width = 0; static S32 old_height = 0; - LLPanel* sizer_left = getChild<LLPanel>("sizer_left"); +// LLPanel* sizer_left = getChild<LLPanel>("sizer_left"); LLRect bottom_rect, left_rect, right_rect; diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index 2e7885f3911..0f16b89ecc8 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -39,18 +39,36 @@ class LLUICtrlFactory; class LLToolBarView : public LLUICtrl { public: + // Xui structure of the toolbar panel struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> {}; + + // Note: valid children for LLToolBarView are stored in this registry + typedef LLDefaultChildRegistry child_registry_t; - virtual ~LLToolBarView(); - /*virtual*/ BOOL postBuild(); + // Xml structure of the toolbars.xml setting + // Those live in a toolbars.xml found in app_settings (for the default) and in + // the user folder for the user specific (saved) settings + struct Toolbar : public LLInitParam::Block<Toolbar> + { + Multiple<LLCommandId::Params> commands; + Toolbar(); + }; + struct ToolbarSet : public LLInitParam::Block<ToolbarSet> + { + Optional<Toolbar> left_toolbar, + right_toolbar, + bottom_toolbar; + ToolbarSet(); + }; + // Derived methods + virtual ~LLToolBarView(); + virtual BOOL postBuild(); virtual void draw(); + // Toolbar view interface with the rest of the world bool hasCommand(const LLCommandId& commandId) const; - // valid children for LLToolBarView are stored in this registry - typedef LLDefaultChildRegistry child_registry_t; - protected: friend class LLUICtrlFactory; LLToolBarView(const Params&); @@ -58,6 +76,10 @@ class LLToolBarView : public LLUICtrl void initFromParams(const Params&); private: + // Loads the toolbars from the existing user or default settings + bool load(); // return false if load fails + + // Pointers to the toolbars handled by the toolbar view LLToolBar* mToolbarLeft; LLToolBar* mToolbarRight; LLToolBar* mToolbarBottom; diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 597a1dd603a..38d6ff0f583 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1423,6 +1423,7 @@ set(viewer_APPSETTINGS_FILES app_settings/settings_files.xml app_settings/settings_per_account.xml app_settings/std_bump.ini + app_settings/toolbars.xml app_settings/trees.xml app_settings/ultra_graphics.xml app_settings/viewerart.xml diff --git a/indra/newview/app_settings/toolbars.xml b/indra/newview/app_settings/toolbars.xml new file mode 100644 index 00000000000..55327ea919a --- /dev/null +++ b/indra/newview/app_settings/toolbars.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toolbars> + <bottom_toolbar> + <command name="chat"/> + <command name="speak"/> + <command name="places"/> + <command name="people"/> + <command name="profile"/> + <command name="view"/> + <command name="move"/> + <command name="howto"/> + </bottom_toolbar> + <left_toolbar> + <command name="avatar"/> + <command name="inventory"/> + <command name="snapshot"/> + <command name="search"/> + <command name="shop"/> + <command name="move_objects"/> + <command name="minimap"/> + <command name="preferences"/> + </left_toolbar> +</toolbars> \ No newline at end of file diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 23ea516b867..fa7632920bf 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -47,9 +47,6 @@ top="0" side="left" button_display_mode="icons_only"> - <command name="avatar"/> - <command name="build"/> - <command name="chat"/> </toolbar> </layout_panel> <layout_panel name="non_toolbar_panel" @@ -72,9 +69,6 @@ top="0" side="right" button_display_mode="icons_only"> - <command name="avatar"/> - <command name="build"/> - <command name="chat"/> </toolbar> </layout_panel> </layout_stack> @@ -96,9 +90,6 @@ follows="left|right|bottom" button_display_mode="icons_with_text" visible="true"> - <command name="avatar"/> - <command name="build"/> - <command name="chat"/> </toolbar> </layout_panel> </layout_stack> -- GitLab From 0207d7e9e4e5b509b5905256a56ac2138b35cac3 Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Tue, 27 Sep 2011 15:41:06 -0700 Subject: [PATCH 057/256] EXP-1247 Nearby chat as part of chat floater --- indra/llui/llresizehandle.cpp | 12 +++++ indra/llui/llresizehandle.h | 5 ++ indra/newview/llchatbar.cpp | 2 +- indra/newview/llimview.cpp | 4 +- indra/newview/llnearbychat.cpp | 53 ++++++------------- indra/newview/llnearbychat.h | 11 ++-- indra/newview/llnearbychatbar.cpp | 38 +++++++++---- indra/newview/llnearbychatbar.h | 4 +- indra/newview/llnearbychathandler.cpp | 11 ++-- indra/newview/llnotificationhandlerutil.cpp | 2 +- indra/newview/llnotificationtiphandler.cpp | 3 +- indra/newview/llviewerfloaterreg.cpp | 1 - indra/newview/llviewermessage.cpp | 4 +- .../skins/default/xui/en/floater_chat_bar.xml | 23 +++++--- 14 files changed, 96 insertions(+), 77 deletions(-) diff --git a/indra/llui/llresizehandle.cpp b/indra/llui/llresizehandle.cpp index c3a51c36c94..942e84eeb65 100644 --- a/indra/llui/llresizehandle.cpp +++ b/indra/llui/llresizehandle.cpp @@ -55,6 +55,8 @@ LLResizeHandle::LLResizeHandle(const LLResizeHandle::Params& p) mImage( NULL ), mMinWidth( p.min_width ), mMinHeight( p.min_height ), + mMaxWidth(S32_MAX), + mMaxHeight(S32_MAX), mCorner( p.corner ) { if( RIGHT_BOTTOM == mCorner) @@ -177,6 +179,11 @@ BOOL LLResizeHandle::handleHover(S32 x, S32 y, MASK mask) new_width = mMinWidth; delta_x = x_multiple * (mMinWidth - orig_rect.getWidth()); } + else if (new_width > mMaxWidth) + { + new_width = mMaxWidth; + delta_x = x_multiple * (mMaxWidth - orig_rect.getWidth()); + } S32 new_height = orig_rect.getHeight() + y_multiple * delta_y; if( new_height < mMinHeight ) @@ -184,6 +191,11 @@ BOOL LLResizeHandle::handleHover(S32 x, S32 y, MASK mask) new_height = mMinHeight; delta_y = y_multiple * (mMinHeight - orig_rect.getHeight()); } + else if (new_height > mMaxHeight) + { + new_height = mMaxHeight; + delta_y = y_multiple * (mMaxHeight - orig_rect.getHeight()); + } switch( mCorner ) { diff --git a/indra/llui/llresizehandle.h b/indra/llui/llresizehandle.h index 531eb1db618..5cfe3fb63c9 100644 --- a/indra/llui/llresizehandle.h +++ b/indra/llui/llresizehandle.h @@ -56,6 +56,9 @@ class LLResizeHandle : public LLView void setResizeLimits( S32 min_width, S32 min_height ) { mMinWidth = min_width; mMinHeight = min_height; } + void setMaxWidth(S32 width) { mMaxWidth = width;} + void setMaxHeight(S32 height) { mMaxHeight = height;} + private: BOOL pointInHandle( S32 x, S32 y ); @@ -66,7 +69,9 @@ class LLResizeHandle : public LLView LLCoordGL mLastMouseDir; LLPointer<LLUIImage> mImage; S32 mMinWidth; + S32 mMaxWidth; S32 mMinHeight; + S32 mMaxHeight; const ECorner mCorner; }; diff --git a/indra/newview/llchatbar.cpp b/indra/newview/llchatbar.cpp index cf0374075a2..fb3abb132b7 100644 --- a/indra/newview/llchatbar.cpp +++ b/indra/newview/llchatbar.cpp @@ -95,7 +95,7 @@ LLChatBar::LLChatBar() mGestureCombo(NULL), mObserver(NULL) { - setIsChrome(TRUE); + //setIsChrome(TRUE); } diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 4de69765343..46025337361 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -2449,8 +2449,10 @@ void LLIMMgr::addSystemMessage(const LLUUID& session_id, const std::string& mess LLChat chat(message); chat.mSourceType = CHAT_SOURCE_SYSTEM; + + LLFloater* chat_bar = LLFloaterReg::getInstance("chat_bar"); + LLNearbyChat* nearby_chat = chat_bar->findChild<LLNearbyChat>("nearby_chat"); - LLNearbyChat* nearby_chat = LLFloaterReg::getTypedInstance<LLNearbyChat>("nearby_chat", LLSD()); if(nearby_chat) { nearby_chat->addMessage(chat); diff --git a/indra/newview/llnearbychat.cpp b/indra/newview/llnearbychat.cpp index 8d57ae3a327..07e94f957ae 100644 --- a/indra/newview/llnearbychat.cpp +++ b/indra/newview/llnearbychat.cpp @@ -57,11 +57,13 @@ static const S32 RESIZE_BAR_THICKNESS = 3; -LLNearbyChat::LLNearbyChat(const LLSD& key) - : LLFloater(key) + +static LLRegisterPanelClassWrapper<LLNearbyChat> t_panel_nearby_chat("panel_nearby_chat"); + +LLNearbyChat::LLNearbyChat() + : LLPanel() ,mChatHistory(NULL) { - } LLNearbyChat::~LLNearbyChat() @@ -86,29 +88,12 @@ BOOL LLNearbyChat::postBuild() mChatHistory = getChild<LLChatHistory>("chat_history"); - if(!LLFloater::postBuild()) + if(!LLPanel::postBuild()) return false; - - if (mDragHandle) - mDragHandle->setTitleVisible(TRUE); - + return true; } - -void LLNearbyChat::applySavedVariables() -{ - if (mRectControl.size() > 1) - { - const LLRect& rect = LLFloater::getControlGroup()->getRect(mRectControl); - if(!rect.isEmpty() && rect.isValid()) - { - reshape(rect.getWidth(), rect.getHeight()); - setRect(rect); - } - } -} - std::string appendTime() { time_t utc_time; @@ -204,18 +189,9 @@ void LLNearbyChat::setVisible(BOOL visible) } } - LLFloater::setVisible(visible); + LLPanel::setVisible(visible); } -void LLNearbyChat::onOpen(const LLSD& key ) -{ - LLFloater::onOpen(key); -} - -void LLNearbyChat::setRect (const LLRect &rect) -{ - LLFloater::setRect(rect); -} void LLNearbyChat::getAllowedRect(LLRect& rect) { @@ -238,9 +214,9 @@ void LLNearbyChat::updateChatHistoryStyle() //static void LLNearbyChat::processChatHistoryStyleUpdate(const LLSD& newvalue) { - LLNearbyChat* nearby_chat = LLFloaterReg::getTypedInstance<LLNearbyChat>("nearby_chat", LLSD()); - if(nearby_chat) - nearby_chat->updateChatHistoryStyle(); + //LLNearbyChat* nearby_chat = LLFloaterReg::getTypedInstance<LLNearbyChat>("nearby_chat", LLSD()); + //if(nearby_chat) + // nearby_chat->updateChatHistoryStyle(); } bool isWordsName(const std::string& name) @@ -314,7 +290,8 @@ void LLNearbyChat::loadHistory() //static LLNearbyChat* LLNearbyChat::getInstance() { - return LLFloaterReg::getTypedInstance<LLNearbyChat>("nearby_chat", LLSD()); + LLFloater* chat_bar = LLFloaterReg::getInstance("chat_bar"); + return chat_bar->findChild<LLNearbyChat>("nearby_chat"); } //////////////////////////////////////////////////////////////////////////////// @@ -342,7 +319,7 @@ BOOL LLNearbyChat::handleMouseDown(S32 x, S32 y, MASK mask) if(mChatHistory) mChatHistory->setFocus(TRUE); - return LLFloater::handleMouseDown(x, y, mask); + return LLPanel::handleMouseDown(x, y, mask); } void LLNearbyChat::draw() @@ -355,5 +332,5 @@ void LLNearbyChat::draw() setTransparencyType(hasFocus() ? TT_ACTIVE : TT_INACTIVE); } - LLFloater::draw(); + LLPanel::draw(); } diff --git a/indra/newview/llnearbychat.h b/indra/newview/llnearbychat.h index 834a31bbf04..5ef584c8ff3 100644 --- a/indra/newview/llnearbychat.h +++ b/indra/newview/llnearbychat.h @@ -34,10 +34,10 @@ class LLResizeBar; class LLChatHistory; -class LLNearbyChat: public LLFloater +class LLNearbyChat: public LLPanel { public: - LLNearbyChat(const LLSD& key); + LLNearbyChat(); ~LLNearbyChat(); BOOL postBuild (); @@ -54,12 +54,8 @@ class LLNearbyChat: public LLFloater /*virtual*/ void onFocusLost(); /*virtual*/ void onFocusReceived(); - /*virtual*/ void onOpen (const LLSD& key); - /*virtual*/ void setVisible(BOOL visible); - - virtual void setRect (const LLRect &rect); - + virtual void updateChatHistoryStyle(); static void processChatHistoryStyleUpdate(const LLSD& newvalue); @@ -69,7 +65,6 @@ class LLNearbyChat: public LLFloater static LLNearbyChat* getInstance(); private: - virtual void applySavedVariables(); void getAllowedRect (LLRect& rect); diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp index 185acb14148..258aa9a8bf6 100644 --- a/indra/newview/llnearbychatbar.cpp +++ b/indra/newview/llnearbychatbar.cpp @@ -49,6 +49,8 @@ #include "llrootview.h" #include "llviewerchat.h" +#include "llresizehandle.h" + S32 LLNearbyChatBar::sLastSpecialChatChannel = 0; // legacy callback glue @@ -414,8 +416,7 @@ LLCtrlListInterface* LLGestureComboList::getListInterface() LLNearbyChatBar::LLNearbyChatBar(const LLSD& key) : LLFloater(key), mChatBox(NULL) -{ - mSpeakerMgr = LLLocalSpeakerMgr::getInstance(); +{ mSpeakerMgr = LLLocalSpeakerMgr::getInstance(); } //virtual @@ -437,6 +438,10 @@ BOOL LLNearbyChatBar::postBuild() mChatBox->setEnableLineHistory(TRUE); mChatBox->setFont(LLViewerChat::getChatFont()); + + LLUICtrl* show_btn = getChild<LLUICtrl>("show_nearby_chat"); + show_btn->setCommitCallback(boost::bind(&LLNearbyChatBar::onToggleNearbyChatPanel, this)); + mOutputMonitor = getChild<LLOutputMonitorCtrl>("chat_zone_indicator"); mOutputMonitor->setVisible(FALSE); @@ -678,6 +683,25 @@ void LLNearbyChatBar::sendChat( EChatType type ) } } + +void LLNearbyChatBar::onToggleNearbyChatPanel() +{ + LLView* nearby_chat = getChildView("nearby_chat"); + + if (nearby_chat->getVisible()) + { + nearby_chat->setVisible(FALSE); + reshape(getRect().getWidth(), 60); + mResizeHandle[0]->setMaxHeight(60); + } + else + { + nearby_chat->setVisible(TRUE); + reshape(getRect().getWidth(), 360); + mResizeHandle[0]->setMaxHeight(S32_MAX); + } +} + void LLNearbyChatBar::onChatBoxCommit() { if (mChatBox->getText().length() > 0) @@ -781,6 +805,7 @@ void LLNearbyChatBar::startChat(const char* line) return; cb->setVisible(TRUE); + cb->setFocus(TRUE); cb->mChatBox->setFocus(TRUE); if (line) @@ -812,15 +837,6 @@ void LLNearbyChatBar::stopChat() gAgent.stopTyping(); } -void LLNearbyChatBar::onClose(bool app_quitting) -{ - LLFloater* nearby_chat = LLFloaterReg::findInstance("nearby_chat", LLSD()); - if (nearby_chat) - { - nearby_chat->closeFloater(app_quitting); - } -} - // If input of the form "/20foo" or "/20 foo", returns "foo" and channel 20. // Otherwise returns input and channel 0. LLWString LLNearbyChatBar::stripChannelNumber(const LLWString &mesg, S32* channel) diff --git a/indra/newview/llnearbychatbar.h b/indra/newview/llnearbychatbar.h index f4a8605e18e..1d28a21ef3c 100644 --- a/indra/newview/llnearbychatbar.h +++ b/indra/newview/llnearbychatbar.h @@ -108,8 +108,6 @@ class LLNearbyChatBar virtual void draw(); - virtual void onClose(bool app_quitting); - std::string getCurrentChat(); virtual BOOL handleKeyHere( KEY key, MASK mask ); @@ -129,6 +127,8 @@ class LLNearbyChatBar void onChatBoxCommit(); void onChatFontChange(LLFontGL* fontp); + void onToggleNearbyChatPanel(); + static LLWString stripChannelNumber(const LLWString &mesg, S32* channel); EChatType processChatTypeTriggers(EChatType type, std::string &str); diff --git a/indra/newview/llnearbychathandler.cpp b/indra/newview/llnearbychathandler.cpp index 957b6d5f94f..dcf444b048c 100644 --- a/indra/newview/llnearbychathandler.cpp +++ b/indra/newview/llnearbychathandler.cpp @@ -41,6 +41,7 @@ #include "llfloaterreg.h"//for LLFloaterReg::getTypedInstance #include "llviewerwindow.h"//for screen channel position +#include "llnearbychatbar.h" //add LLNearbyChatHandler to LLNotificationsUI namespace using namespace LLNotificationsUI; @@ -473,8 +474,9 @@ LLNearbyChatHandler::~LLNearbyChatHandler() void LLNearbyChatHandler::initChannel() { - LLNearbyChat* nearby_chat = LLFloaterReg::getTypedInstance<LLNearbyChat>("nearby_chat", LLSD()); - LLView* chat_box = LLBottomTray::getInstance()->getChildView("chat_box"); + LLNearbyChatBar* chat_bar = LLFloaterReg::getTypedInstance<LLNearbyChatBar>("chat_bar", LLSD()); + LLView* chat_box = chat_bar->getChatBox(); + LLNearbyChat* nearby_chat = LLNearbyChat::getInstance(); S32 channel_right_bound = nearby_chat->getRect().mRight; mChannel->init(chat_box->getRect().mLeft, channel_right_bound); } @@ -502,7 +504,10 @@ void LLNearbyChatHandler::processChat(const LLChat& chat_msg, // WARNING - not tmp_chat.mText = tmp_chat.mText.substr(3); } - LLNearbyChat* nearby_chat = LLFloaterReg::getTypedInstance<LLNearbyChat>("nearby_chat", LLSD()); + LLFloater* chat_bar = LLFloaterReg::getInstance("chat_bar"); + + LLNearbyChat* nearby_chat = chat_bar->findChild<LLNearbyChat>("nearby_chat"); + { //sometimes its usefull to have no name at all... //if(tmp_chat.mFromName.empty() && tmp_chat.mFromID!= LLUUID::null) diff --git a/indra/newview/llnotificationhandlerutil.cpp b/indra/newview/llnotificationhandlerutil.cpp index de90023f3b8..1b767e80d42 100644 --- a/indra/newview/llnotificationhandlerutil.cpp +++ b/indra/newview/llnotificationhandlerutil.cpp @@ -385,7 +385,7 @@ void LLHandlerUtil::logGroupNoticeToIMGroup( // static void LLHandlerUtil::logToNearbyChat(const LLNotificationPtr& notification, EChatSourceType type) { - LLNearbyChat* nearby_chat = LLFloaterReg::getTypedInstance<LLNearbyChat>("nearby_chat", LLSD()); + LLNearbyChat* nearby_chat = LLNearbyChat::getInstance(); if(nearby_chat) { LLChat chat_msg(notification->getMessage()); diff --git a/indra/newview/llnotificationtiphandler.cpp b/indra/newview/llnotificationtiphandler.cpp index 02b217fc943..2a08a29842a 100644 --- a/indra/newview/llnotificationtiphandler.cpp +++ b/indra/newview/llnotificationtiphandler.cpp @@ -92,8 +92,7 @@ bool LLTipHandler::processNotification(const LLSD& notify) LLHandlerUtil::logToNearbyChat(notification, CHAT_SOURCE_SYSTEM); // don't show toast if Nearby Chat is opened - LLNearbyChat* nearby_chat = LLFloaterReg::getTypedInstance< - LLNearbyChat>("nearby_chat", LLSD()); + LLNearbyChat* nearby_chat = LLNearbyChat::getInstance(); if (nearby_chat->getVisible()) { return false; diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index b44e7283da3..2ebf41299a2 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -180,7 +180,6 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("bumps", "floater_bumps.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterBump>); LLFloaterReg::add("camera", "floater_camera.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterCamera>); - LLFloaterReg::add("nearby_chat", "floater_nearby_chat.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLNearbyChat>); LLFloaterReg::add("chat_bar", "floater_chat_bar.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLNearbyChatBar>); LLFloaterReg::add("compile_queue", "floater_script_queue.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterCompileQueue>); diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 6435904feed..961c931c026 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -2190,7 +2190,7 @@ void god_message_name_cb(const LLAvatarName& av_name, LLChat chat, std::string m // Treat like a system message and put in chat history. chat.mText = av_name.getCompleteName() + ": " + message; - LLNearbyChat* nearby_chat = LLFloaterReg::getTypedInstance<LLNearbyChat>("nearby_chat", LLSD()); + LLNearbyChat* nearby_chat = LLNearbyChat::getInstance(); if(nearby_chat) { nearby_chat->addMessage(chat); @@ -2752,7 +2752,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) // Note: lie to Nearby Chat, pretending that this is NOT an IM, because // IMs from obejcts don't open IM sessions. - LLNearbyChat* nearby_chat = LLFloaterReg::getTypedInstance<LLNearbyChat>("nearby_chat", LLSD()); + LLNearbyChat* nearby_chat = LLNearbyChat::getInstance(); if(SYSTEM_FROM != name && nearby_chat) { chat.mOwnerID = from_id; diff --git a/indra/newview/skins/default/xui/en/floater_chat_bar.xml b/indra/newview/skins/default/xui/en/floater_chat_bar.xml index d0059b281e3..9d61c94eb14 100644 --- a/indra/newview/skins/default/xui/en/floater_chat_bar.xml +++ b/indra/newview/skins/default/xui/en/floater_chat_bar.xml @@ -3,16 +3,27 @@ height="60" layout="topleft" legacy_header_height="20" + single_instance="true" title="Nearby chat" + save_rect="true" can_close="true" can_minimize="true" help_topic="chat_bar" - save_rect="true" min_height="60" min_width="150" can_resize="true" name="chat_bar" width="380"> + <panel + top="20" + class="panel_nearby_chat" + follow="all" + width="380" + height="0" + visible="false" + filename="panel_nearby_chat.xml" + name="nearby_chat" /> + <panel width="380" height="31" left="0" bottom="-1" follows="left|right|bottom"> <line_editor border_style="line" border_thickness="1" @@ -27,7 +38,7 @@ text_pad_left="5" text_pad_right="25" tool_tip="Press Enter to say, Ctrl+Enter to shout" - top="27" + top="0" width="335" /> <output_monitor auto_update="true" @@ -38,14 +49,14 @@ left_pad="-24" mouse_opaque="true" name="chat_zone_indicator" - top="31" + top="4" visible="true" width="20" /> <button follows="right" is_toggle="true" width="20" - top="27" + top="0" layout="topleft" left_pad="12" image_disabled="ComboButton_UpOff" @@ -56,8 +67,6 @@ height="23" name="show_nearby_chat" tool_tip="Shows/hides nearby chat log"> - <button.init_callback - function="Button.SetDockableFloaterToggle" - parameter="nearby_chat" /> </button> + </panel> </floater> -- GitLab From c7f5aebbb71228b705059be248e82e83ee0f9475 Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Tue, 27 Sep 2011 15:41:41 -0700 Subject: [PATCH 058/256] Nearby chat panel --- .../default/xui/en/panel_nearby_chat.xml | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 indra/newview/skins/default/xui/en/panel_nearby_chat.xml diff --git a/indra/newview/skins/default/xui/en/panel_nearby_chat.xml b/indra/newview/skins/default/xui/en/panel_nearby_chat.xml new file mode 100644 index 00000000000..f766236b2e9 --- /dev/null +++ b/indra/newview/skins/default/xui/en/panel_nearby_chat.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<panel + height="300" + follows="all" + layout="topleft" + name="nearby_chat" + help_topic="nearby_chat" + width="320"> + <check_box + bottom_delta="36" + control_name="TranslateChat" + enabled="true" + height="16" + label="Translate chat (powered by Google)" + layout="topleft" + left="5" + name="translate_chat_checkbox" + width="230" /> + <chat_history + parse_urls="true" + bg_readonly_color="ChatHistoryBgColor" + bg_writeable_color="ChatHistoryBgColor" + follows="all" + left="5" + top_delta="17" + layout="topleft" + height="260" + name="chat_history" + parse_highlights="true" + text_color="ChatHistoryTextColor" + text_readonly_color="ChatHistoryTextColor" + right_widget_pad="5" + left_widget_pad="0" + width="315" /> +</panel> -- GitLab From 8912a9bef62386e5eecaa61ba9079d507ae16d90 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 27 Sep 2011 15:53:38 -0700 Subject: [PATCH 059/256] EXP-1258 WIP toggle buttons between icons and icons+text modes better button sizing also disabled context menu for non-toolbar region --- indra/llui/llbutton.cpp | 24 ++++++++++++++++++------ indra/llui/llbutton.h | 1 + indra/llui/lltoolbar.cpp | 4 +++- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 06781f1bdf3..02ac928dfb5 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -554,6 +554,16 @@ BOOL LLButton::handleHover(S32 x, S32 y, MASK mask) return TRUE; } +void LLButton::getOverlayImageSize(S32& overlay_width, S32& overlay_height) +{ + overlay_width = mImageOverlay->getWidth(); + overlay_height = mImageOverlay->getHeight(); + + F32 scale_factor = llmin((F32)getRect().getWidth() / (F32)overlay_width, (F32)getRect().getHeight() / (F32)overlay_height, 1.f); + overlay_width = llround((F32)overlay_width * scale_factor); + overlay_height = llround((F32)overlay_height * scale_factor); +} + // virtual void LLButton::draw() @@ -781,12 +791,10 @@ void LLButton::draw() if (mImageOverlay.notNull()) { // get max width and height (discard level 0) - S32 overlay_width = mImageOverlay->getWidth(); - S32 overlay_height = mImageOverlay->getHeight(); + S32 overlay_width; + S32 overlay_height; - F32 scale_factor = llmin((F32)getRect().getWidth() / (F32)overlay_width, (F32)getRect().getHeight() / (F32)overlay_height, 1.f); - overlay_width = llround((F32)overlay_width * scale_factor); - overlay_height = llround((F32)overlay_height * scale_factor); + getOverlayImageSize(overlay_width, overlay_height); S32 center_x = getLocalRect().getCenterX(); S32 center_y = getLocalRect().getCenterY(); @@ -994,11 +1002,15 @@ void LLButton::resize(LLUIString label) S32 min_width = label_width + mLeftHPad + mRightHPad; if (mImageOverlay) { + S32 overlay_width = mImageOverlay->getWidth(); + F32 scale_factor = getRect().getHeight() / (F32)mImageOverlay->getHeight(); + overlay_width = llround((F32)overlay_width * scale_factor); + switch(mImageOverlayAlignment) { case LLFontGL::LEFT: case LLFontGL::RIGHT: - min_width += mImageOverlay->getWidth() + mImgOverlayLabelSpace; + min_width += overlay_width + mImgOverlayLabelSpace; break; case LLFontGL::HCENTER: break; diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h index bc5e69fad54..08b45e01b33 100644 --- a/indra/llui/llbutton.h +++ b/indra/llui/llbutton.h @@ -270,6 +270,7 @@ class LLButton protected: LLPointer<LLUIImage> getImageUnselected() const { return mImageUnselected; } LLPointer<LLUIImage> getImageSelected() const { return mImageSelected; } + void getOverlayImageSize(S32& overlay_width, S32& overlay_height); LLFrameTimer mMouseDownTimer; diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 0c3052b1ab8..9ca5a0f4807 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -247,7 +247,9 @@ bool LLToolBar::enableCommand(const LLCommandId& commandId, bool enabled) BOOL LLToolBar::handleRightMouseDown(S32 x, S32 y, MASK mask) { - BOOL handle_it_here = !mReadOnly; + LLRect button_panel_rect; + mButtonPanel->localRectToOtherView(mButtonPanel->getLocalRect(), &button_panel_rect, this); + BOOL handle_it_here = !mReadOnly && button_panel_rect.pointInRect(x, y); if (handle_it_here) { -- GitLab From bce16356c9e1fb76bd92a3530375e4c6c7a5430a Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 27 Sep 2011 17:47:52 -0700 Subject: [PATCH 060/256] fixed wobble when toggling inbox/outbox --- indra/newview/skins/default/xui/en/sidepanel_inventory.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml index 7a176ff3671..2b5e3143a43 100644 --- a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml +++ b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml @@ -67,6 +67,8 @@ top="0" orientation="vertical" name="inbox_outbox_layout_stack" + open_time_constant="0.02" + close_time_constant="0.02" height="235" width="330"> <layout_panel -- GitLab From 68d5141fb3ccb5e898caa83e9eab84d76134e28c Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 27 Sep 2011 19:06:02 -0700 Subject: [PATCH 061/256] EXP-1258 WIP toggle buttons between icons and icons+text modes fixed button layout for icon+text layout stack now uses floating point precision to avoid clamping panels to 0 --- indra/llui/llbutton.cpp | 2 + indra/llui/lllayoutstack.cpp | 252 ++++++------------ indra/llui/lllayoutstack.h | 18 +- indra/llui/lltoolbar.cpp | 40 +-- .../default/xui/en/floater_test_toolbar.xml | 4 + 5 files changed, 123 insertions(+), 193 deletions(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 02ac928dfb5..e1bea086b2a 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -819,6 +819,7 @@ void LLButton::draw() { case LLFontGL::LEFT: text_left += overlay_width + mImgOverlayLabelSpace; + text_width -= overlay_width + mImgOverlayLabelSpace; mImageOverlay->draw( mLeftHPad, center_y - (overlay_height / 2), @@ -836,6 +837,7 @@ void LLButton::draw() break; case LLFontGL::RIGHT: text_right -= overlay_width + mImgOverlayLabelSpace; + text_width -= overlay_width + mImgOverlayLabelSpace; mImageOverlay->draw( getRect().getWidth() - mRightHPad - overlay_width, center_y - (overlay_height / 2), diff --git a/indra/llui/lllayoutstack.cpp b/indra/llui/lllayoutstack.cpp index 0d1f608e61b..89b3f671a49 100644 --- a/indra/llui/lllayoutstack.cpp +++ b/indra/llui/lllayoutstack.cpp @@ -55,11 +55,12 @@ LLLayoutPanel::LLLayoutPanel(const Params& p) mMaxDim(p.max_dim), mAutoResize(p.auto_resize), mUserResize(p.user_resize), - mFitContent(p.fit_content), mCollapsed(FALSE), mCollapseAmt(0.f), mVisibleAmt(1.f), // default to fully visible - mResizeBar(NULL) + mResizeBar(NULL), + mFractionalSize(0.f), + mOrientation(LLLayoutStack::HORIZONTAL) { // Set the expanded min dim if it is provided, otherwise it gets the p.min_dim value if (p.expanded_min_dim.isProvided()) @@ -89,9 +90,22 @@ LLLayoutPanel::~LLLayoutPanel() mResizeBar = NULL; } -F32 LLLayoutPanel::getCollapseFactor(LLLayoutStack::ELayoutOrientation orientation) +void LLLayoutPanel::reshape(S32 width, S32 height, BOOL called_from_parent) { - if (orientation == LLLayoutStack::HORIZONTAL) + if (mOrientation == LLLayoutStack::HORIZONTAL) + { + mFractionalSize += width - llround(mFractionalSize); + } + else + { + mFractionalSize += height - llround(mFractionalSize); + } + LLPanel::reshape(width, height, called_from_parent); +} + +F32 LLLayoutPanel::getCollapseFactor() +{ + if (mOrientation == LLLayoutStack::HORIZONTAL) { F32 collapse_amt = clamp_rescale(mCollapseAmt, 0.f, 1.f, 1.f, (F32)getRelevantMinDim() / (F32)llmax(1, getRect().getWidth())); @@ -105,14 +119,6 @@ F32 LLLayoutPanel::getCollapseFactor(LLLayoutStack::ELayoutOrientation orientati } } -void LLLayoutPanel::fitToContent() -{ - if (mFitContent) - { - setShape(calcBoundingRect()); - } -} - // // LLLayoutStack // @@ -158,11 +164,11 @@ void LLLayoutStack::draw() // scale clipping rectangle by visible amount if (mOrientation == HORIZONTAL) { - clip_rect.mRight = clip_rect.mLeft + llround((F32)clip_rect.getWidth() * (*panel_it)->getCollapseFactor(mOrientation)); + clip_rect.mRight = clip_rect.mLeft + llround((F32)clip_rect.getWidth() * (*panel_it)->getCollapseFactor()); } else { - clip_rect.mBottom = clip_rect.mTop - llround((F32)clip_rect.getHeight() * (*panel_it)->getCollapseFactor(mOrientation)); + clip_rect.mBottom = clip_rect.mTop - llround((F32)clip_rect.getHeight() * (*panel_it)->getCollapseFactor()); } LLPanel* panelp = (*panel_it); @@ -202,36 +208,15 @@ bool LLLayoutStack::addChild(LLView* child, S32 tab_group) LLLayoutPanel* panelp = dynamic_cast<LLLayoutPanel*>(child); if (panelp) { + panelp->mFractionalSize = (mOrientation == HORIZONTAL) + ? panelp->getRect().getWidth() + : panelp->getRect().getHeight(); + panelp->setOrientation(mOrientation); mPanels.push_back(panelp); } return LLView::addChild(child, tab_group); } - -S32 LLLayoutStack::getDefaultHeight(S32 cur_height) -{ - // if we are spanning our children (crude upward propagation of size) - // then don't enforce our size on our children - if (mOrientation == HORIZONTAL) - { - cur_height = llmax(mMinHeight, getRect().getHeight()); - } - - return cur_height; -} - -S32 LLLayoutStack::getDefaultWidth(S32 cur_width) -{ - // if we are spanning our children (crude upward propagation of size) - // then don't enforce our size on our children - if (mOrientation == VERTICAL) - { - cur_width = llmax(mMinWidth, getRect().getWidth()); - } - - return cur_width; -} - void LLLayoutStack::movePanel(LLPanel* panel_to_move, LLPanel* target_panel, bool move_to_front) { LLLayoutPanel* embedded_panel_to_move = findEmbeddedPanel(panel_to_move); @@ -326,14 +311,15 @@ void LLLayoutStack::updateLayout(BOOL force_resize) createResizeBars(); // calculate current extents - S32 total_width = 0; - S32 total_height = 0; + F32 total_size = 0.f; + // + // animate visibility + // e_panel_list_t::iterator panel_it; for (panel_it = mPanels.begin(); panel_it != mPanels.end(); ++panel_it) { LLLayoutPanel* panelp = (*panel_it); - panelp->fitToContent(); if (panelp->getVisible()) { if (mAnimate) @@ -371,181 +357,110 @@ void LLLayoutStack::updateLayout(BOOL force_resize) } } - if (panelp->mCollapsed) - { - panelp->mCollapseAmt = lerp(panelp->mCollapseAmt, 1.f, LLCriticalDamp::getInterpolant(mCloseTimeConstant)); - } - else - { - panelp->mCollapseAmt = lerp(panelp->mCollapseAmt, 0.f, LLCriticalDamp::getInterpolant(mCloseTimeConstant)); - } + F32 collapse_state = panelp->mCollapsed ? 1.f : 0.f; + panelp->mCollapseAmt = lerp(panelp->mCollapseAmt, collapse_state, LLCriticalDamp::getInterpolant(mCloseTimeConstant)); - if (mOrientation == HORIZONTAL) + total_size += panelp->mFractionalSize * panelp->getCollapseFactor(); + // want n-1 panel gaps for n panels + if (panel_it != mPanels.begin()) { - // enforce minimize size constraint by default - if (panelp->getRect().getWidth() < panelp->getRelevantMinDim()) - { - panelp->reshape(panelp->getRelevantMinDim(), panelp->getRect().getHeight()); - } - total_width += llround(panelp->getRect().getWidth() * panelp->getCollapseFactor(mOrientation)); - // want n-1 panel gaps for n panels - if (panel_it != mPanels.begin()) - { - total_width += mPanelSpacing; - } - } - else //VERTICAL - { - // enforce minimize size constraint by default - if (panelp->getRect().getHeight() < panelp->getRelevantMinDim()) - { - panelp->reshape(panelp->getRect().getWidth(), panelp->getRelevantMinDim()); - } - total_height += llround(panelp->getRect().getHeight() * panelp->getCollapseFactor(mOrientation)); - if (panel_it != mPanels.begin()) - { - total_height += mPanelSpacing; - } + total_size += mPanelSpacing; } } S32 num_resizable_panels = 0; - S32 shrink_headroom_available = 0; - S32 shrink_headroom_total = 0; + F32 shrink_headroom_available = 0.f; + F32 shrink_headroom_total = 0.f; for (panel_it = mPanels.begin(); panel_it != mPanels.end(); ++panel_it) { + LLLayoutPanel* panelp = (*panel_it); + // panels that are not fully visible do not count towards shrink headroom - if ((*panel_it)->getCollapseFactor(mOrientation) < 1.f) + if (panelp->getCollapseFactor() < 1.f) { continue; } - S32 relevant_dimension = (mOrientation == HORIZONTAL) ? (*panel_it)->getRect().getWidth() : (*panel_it)->getRect().getHeight(); - S32 relevant_min = (*panel_it)->getRelevantMinDim(); + F32 cur_size = panelp->mFractionalSize; + F32 min_size = (F32)panelp->getRelevantMinDim(); // if currently resizing a panel or the panel is flagged as not automatically resizing // only track total available headroom, but don't use it for automatic resize logic - if ((*panel_it)->mResizeBar->hasMouseCapture() - || (!(*panel_it)->mAutoResize + if (panelp->mResizeBar->hasMouseCapture() + || (!panelp->mAutoResize && !force_resize)) { - shrink_headroom_total += relevant_dimension - relevant_min; + shrink_headroom_total += cur_size - min_size; } else { num_resizable_panels++; - shrink_headroom_available += relevant_dimension - relevant_min; - shrink_headroom_total += relevant_dimension - relevant_min; + shrink_headroom_available += cur_size - min_size; + shrink_headroom_total += cur_size - min_size; } } // calculate how many pixels need to be distributed among layout panels // positive means panels need to grow, negative means shrink - S32 pixels_to_distribute; - if (mOrientation == HORIZONTAL) - { - pixels_to_distribute = getRect().getWidth() - total_width; - } - else //VERTICAL - { - pixels_to_distribute = getRect().getHeight() - total_height; - } + F32 pixels_to_distribute = (mOrientation == HORIZONTAL) + ? getRect().getWidth() - total_size + : getRect().getHeight() - total_size; // now we distribute the pixels... - S32 cur_x = 0; - S32 cur_y = getRect().getHeight(); + F32 cur_x = 0.f; + F32 cur_y = (F32)getRect().getHeight(); for (panel_it = mPanels.begin(); panel_it != mPanels.end(); ++panel_it) { LLLayoutPanel* panelp = (*panel_it); - S32 cur_width = panelp->getRect().getWidth(); - S32 cur_height = panelp->getRect().getHeight(); - S32 new_width = cur_width; - S32 new_height = cur_height; - S32 relevant_min = panelp->getRelevantMinDim(); - - if (mOrientation == HORIZONTAL) - { - new_width = llmax(relevant_min, new_width); - } - else - { - new_height = llmax(relevant_min, new_height); - } - S32 delta_size = 0; + F32 min_size = panelp->getRelevantMinDim(); + F32 delta_size = 0.f; // if panel can automatically resize (not animating, and resize flag set)... - if (panelp->getCollapseFactor(mOrientation) == 1.f + if (panelp->getCollapseFactor() == 1.f && (force_resize || panelp->mAutoResize) && !panelp->mResizeBar->hasMouseCapture()) { - if (mOrientation == HORIZONTAL) + if (pixels_to_distribute < 0.f) { - // if we're shrinking - if (pixels_to_distribute < 0) - { - // shrink proportionally to amount over minimum - // so we can do this in one pass - delta_size = (shrink_headroom_available > 0) - ? llround((F32)pixels_to_distribute * ((F32)(cur_width - relevant_min) / (F32)shrink_headroom_available)) - : 0; - shrink_headroom_available -= (cur_width - relevant_min); - } - else - { - // grow all elements equally - delta_size = llround((F32)pixels_to_distribute / (F32)num_resizable_panels); - num_resizable_panels--; - } - pixels_to_distribute -= delta_size; - new_width = llmax(relevant_min, cur_width + delta_size); + // shrink proportionally to amount over minimum + // so we can do this in one pass + delta_size = (shrink_headroom_available > 0.f) + ? pixels_to_distribute * ((F32)(panelp->mFractionalSize - min_size) / shrink_headroom_available) + : 0.f; + shrink_headroom_available -= (panelp->mFractionalSize - min_size); } else { - new_width = getDefaultWidth(new_width); - } - - if (mOrientation == VERTICAL) - { - if (pixels_to_distribute < 0) - { - // shrink proportionally to amount over minimum - // so we can do this in one pass - delta_size = (shrink_headroom_available > 0) ? llround((F32)pixels_to_distribute * ((F32)(cur_height - relevant_min) / (F32)shrink_headroom_available)) : 0; - shrink_headroom_available -= (cur_height - relevant_min); - } - else - { - delta_size = llround((F32)pixels_to_distribute / (F32)num_resizable_panels); - num_resizable_panels--; - } - pixels_to_distribute -= delta_size; - new_height = llmax(relevant_min, cur_height + delta_size); - } - else - { - new_height = getDefaultHeight(new_height); - } - } - else - { - if (mOrientation == HORIZONTAL) - { - new_height = getDefaultHeight(new_height); - } - else // VERTICAL - { - new_width = getDefaultWidth(new_width); + // grow all elements equally + delta_size = pixels_to_distribute / (F32)num_resizable_panels; + num_resizable_panels--; } + + panelp->mFractionalSize = llmax(min_size, panelp->mFractionalSize + delta_size); + pixels_to_distribute -= delta_size; } // adjust running headroom count based on new sizes shrink_headroom_total += delta_size; LLRect panel_rect; - panel_rect.setLeftTopAndSize(cur_x, cur_y, new_width, new_height); + if (mOrientation == HORIZONTAL) + { + panel_rect.setLeftTopAndSize(llround(cur_x), + llround(cur_y), + llround(panelp->mFractionalSize), + getRect().getHeight()); + } + else + { + panel_rect.setLeftTopAndSize(llround(cur_x), + llround(cur_y), + getRect().getWidth(), + llround(panelp->mFractionalSize)); + } panelp->setShape(panel_rect); LLRect resize_bar_rect = panel_rect; @@ -561,13 +476,14 @@ void LLLayoutStack::updateLayout(BOOL force_resize) } (*panel_it)->mResizeBar->setRect(resize_bar_rect); + F32 size = ((*panel_it)->mFractionalSize * (*panel_it)->getCollapseFactor()) + (F32)mPanelSpacing; if (mOrientation == HORIZONTAL) { - cur_x += llround(new_width * (*panel_it)->getCollapseFactor(mOrientation)) + mPanelSpacing; + cur_x += size; } else //VERTICAL { - cur_y -= llround(new_height * (*panel_it)->getCollapseFactor(mOrientation)) + mPanelSpacing; + cur_y -= size; } } diff --git a/indra/llui/lllayoutstack.h b/indra/llui/lllayoutstack.h index 2ed32a2fa9f..5d79505fc36 100644 --- a/indra/llui/lllayoutstack.h +++ b/indra/llui/lllayoutstack.h @@ -126,8 +126,6 @@ class LLLayoutStack : public LLView, public LLInstanceTracker<LLLayoutStack> private: void createResizeBars(); void calcMinExtents(); - S32 getDefaultHeight(S32 cur_height); - S32 getDefaultWidth(S32 cur_width); const ELayoutOrientation mOrientation; @@ -161,16 +159,14 @@ friend class LLUICtrlFactory; min_dim, max_dim; Optional<bool> user_resize, - auto_resize, - fit_content; + auto_resize; Params() : expanded_min_dim("expanded_min_dim", 0), min_dim("min_dim", 0), max_dim("max_dim", 0), user_resize("user_resize", true), - auto_resize("auto_resize", true), - fit_content("fit_content", false) + auto_resize("auto_resize", true) { addSynonym(min_dim, "min_width"); addSynonym(min_dim, "min_height"); @@ -183,6 +179,8 @@ friend class LLUICtrlFactory; void initFromParams(const Params& p); + void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); + S32 getMinDim() const { return mMinDim; } void setMinDim(S32 value) { mMinDim = value; if (!mExpandedMinDimSpecified) mExpandedMinDim = value; } @@ -204,11 +202,12 @@ friend class LLUICtrlFactory; return min_dim; } + void setOrientation(LLLayoutStack::ELayoutOrientation orientation) { mOrientation = orientation; } + protected: LLLayoutPanel(const Params& p); - F32 getCollapseFactor(LLLayoutStack::ELayoutOrientation orientation); - void fitToContent(); + F32 getCollapseFactor(); bool mExpandedMinDimSpecified; S32 mExpandedMinDim; @@ -218,9 +217,10 @@ friend class LLUICtrlFactory; bool mAutoResize; bool mUserResize; bool mCollapsed; - bool mFitContent; F32 mVisibleAmt; F32 mCollapseAmt; + F32 mFractionalSize; + LLLayoutStack::ELayoutOrientation mOrientation; class LLResizeBar* mResizeBar; }; diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 677d50a0c75..57a91516498 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -126,14 +126,13 @@ void LLToolBar::createContextMenu() { // Setup bindings specific to this instance for the context menu options - LLUICtrl::CommitCallbackRegistry::Registrar& commit_reg = LLUICtrl::CommitCallbackRegistry::defaultRegistrar(); + LLUICtrl::CommitCallbackRegistry::ScopedRegistrar commit_reg; commit_reg.add("Toolbars.EnableSetting", boost::bind(&LLToolBar::onSettingEnable, this, _2)); - LLUICtrl::EnableCallbackRegistry::Registrar& enable_reg = LLUICtrl::EnableCallbackRegistry::defaultRegistrar(); + LLUICtrl::EnableCallbackRegistry::ScopedRegistrar enable_reg; enable_reg.add("Toolbars.CheckSetting", boost::bind(&LLToolBar::isSettingChecked, this, _2)); // Create the context menu - LLContextMenu* menu = LLUICtrlFactory::instance().createFromFile<LLContextMenu>("menu_toolbars.xml", LLMenuGL::sMenuContainer, LLMenuHolderGL::child_registry_t::instance()); if (menu) @@ -146,10 +145,6 @@ void LLToolBar::createContextMenu() { llwarns << "Unable to load toolbars context menu." << llendl; } - - // Remove this instance's bindings - commit_reg.remove("Toolbars.EnableSetting"); - enable_reg.remove("Toolbars.CheckSetting"); } } @@ -184,7 +179,6 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) center_panel_p.rect = getLocalRect(); center_panel_p.auto_resize = false; center_panel_p.user_resize = false; - center_panel_p.fit_content = true; LLLayoutPanel* center_panel = LLUICtrlFactory::create<LLLayoutPanel>(center_panel_p); mCenteringStack->addChild(center_panel); @@ -196,6 +190,11 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) mCenteringStack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); + BOOST_FOREACH(LLCommandId::Params params, p.commands) + { + addCommand(params); + } + mNeedsLayout = true; } @@ -207,8 +206,8 @@ bool LLToolBar::addCommand(const LLCommandId& commandId) if (add_command) { - mButtonCommands.push_back(commandId); - createButtons(); + mButtonCommands.push_back(commandId); + createButtons(); } return add_command; @@ -220,9 +219,9 @@ bool LLToolBar::hasCommand(const LLCommandId& commandId) const if (commandId != LLCommandId::null) { - for (std::list<LLCommandId>::const_iterator cmd = mButtonCommands.begin(); cmd != mButtonCommands.end(); ++cmd) + BOOST_FOREACH(LLCommandId cmd, mButtonCommands) { - if ((*cmd) == commandId) + if (cmd == commandId) { has_command = true; break; @@ -410,11 +409,11 @@ void LLToolBar::updateLayoutAsNeeded() cur_start = row_pad_start; cur_row += max_row_girth + mPadBetween; max_row_girth = 0; - } + } - LLRect button_rect; - if (orientation == LLLayoutStack::HORIZONTAL) - { + LLRect button_rect; + if (orientation == LLLayoutStack::HORIZONTAL) + { button_rect.setLeftTopAndSize(cur_start, panel_rect.mTop - cur_row, button_clamped_width, button->getRect().getHeight()); } else // VERTICAL @@ -460,6 +459,9 @@ void LLToolBar::updateLayoutAsNeeded() mButtonPanel->reshape(total_girth, max_row_length); } + // make parent fit button panel + mButtonPanel->getParent()->setShape(mButtonPanel->getLocalRect()); + // re-center toolbar buttons mCenteringStack->updateLayout(); @@ -470,7 +472,13 @@ void LLToolBar::updateLayoutAsNeeded() void LLToolBar::draw() { + if (mButtons.empty()) return; updateLayoutAsNeeded(); + // rect may have shifted during layout + LLUI::popMatrix(); + LLUI::pushMatrix(); + LLUI::translate((F32)getRect().mLeft, (F32)getRect().mBottom, 0.f); + LLUICtrl::draw(); } diff --git a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml index fbfbe51a699..067c1fed824 100644 --- a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml +++ b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml @@ -8,6 +8,7 @@ translate="false" width="500"> <toolbar name="test_toolbar_top" + button_display_mode="icons_with_text" follows="left|right|top" height="50" width="500" @@ -21,6 +22,7 @@ <command name="chat"/> </toolbar> <toolbar name="test_toolbar_left" + button_display_mode="icons_with_text" follows="left|bottom|top" height="380" width="200" @@ -33,6 +35,7 @@ <command name="chat"/> </toolbar> <toolbar name="test_toolbar_right" + button_display_mode="icons_with_text" follows="right|bottom|top" height="380" width="200" @@ -44,6 +47,7 @@ <command name="chat"/> </toolbar> <toolbar name="test_toolbar_bottom" + button_display_mode="icons_with_text" follows="left|right|bottom" height="50" width="500" -- GitLab From 78eb989e50e7f91298294d34a743f8ac0e3dcce1 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 27 Sep 2011 19:22:09 -0700 Subject: [PATCH 062/256] EXP-1258 FIX toggle buttons between icons and icons+text modes fixed button layout for icon only buttons --- indra/llui/llbutton.cpp | 1 + indra/llui/lltoolbar.cpp | 30 ++++++++++++++++++------------ indra/llui/lltoolbar.h | 1 + 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index e1bea086b2a..f259e8027ea 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -1015,6 +1015,7 @@ void LLButton::resize(LLUIString label) min_width += overlay_width + mImgOverlayLabelSpace; break; case LLFontGL::HCENTER: + min_width = llmax(min_width, overlay_width + mLeftHPad + mRightHPad); break; default: // draw nothing diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 57a91516498..c5219b11e86 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -207,7 +207,7 @@ bool LLToolBar::addCommand(const LLCommandId& commandId) if (add_command) { mButtonCommands.push_back(commandId); - createButtons(); + createButton(commandId); } return add_command; @@ -498,19 +498,25 @@ void LLToolBar::createButtons() BOOST_FOREACH(LLCommandId& command_id, mButtonCommands) { - LLCommand* commandp = LLCommandManager::instance().getCommand(command_id); - if (!commandp) continue; + createButton(command_id); + } - LLToolBarButton::Params button_p; - button_p.label = LLTrans::getString(commandp->labelRef()); - button_p.image_overlay = LLUI::getUIImage(commandp->icon()); - button_p.overwriteFrom(mButtonParams[mButtonType]); - LLToolBarButton* button = LLUICtrlFactory::create<LLToolBarButton>(button_p); +} - mButtons.push_back(button); - mButtonPanel->addChild(button); - } +void LLToolBar::createButton(const LLCommandId& id) +{ + LLCommand* commandp = LLCommandManager::instance().getCommand(id); + if (!commandp) return; + + LLToolBarButton::Params button_p; + button_p.label = LLTrans::getString(commandp->labelRef()); + button_p.tool_tip = button_p.label(); + button_p.image_overlay = LLUI::getUIImage(commandp->icon()); + button_p.overwriteFrom(mButtonParams[mButtonType]); + LLToolBarButton* button = LLUICtrlFactory::create<LLToolBarButton>(button_p); + + mButtons.push_back(button); + mButtonPanel->addChild(button); mNeedsLayout = true; } - diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 75ae499a3db..02db58128c8 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -135,6 +135,7 @@ class LLToolBar void createContextMenu(); void updateLayoutAsNeeded(); void createButtons(); + void createButton(const LLCommandId& id); void resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row, S32 max_row_girth); BOOL isSettingChecked(const LLSD& userdata); void onSettingEnable(const LLSD& userdata); -- GitLab From 04a5c45020e72e7e24eed1cc1f53014da92594e5 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Tue, 27 Sep 2011 20:24:00 -0700 Subject: [PATCH 063/256] EXP-1207 : Commented out the red and yellow debug draw on the toolbars --- indra/llui/lltoolbarview.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 7047cca9489..641c3eb0ab9 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -193,7 +193,6 @@ void LLToolBarView::draw() if (mToolbarLeft) mToolbarLeft->localRectToOtherView(mToolbarLeft->getLocalRect(), &left_rect, this); if (mToolbarRight) mToolbarRight->localRectToOtherView(mToolbarRight->getLocalRect(), &right_rect, this); - if ((old_width != getRect().getWidth()) || (old_height != getRect().getHeight())) debug_print = true; if (debug_print) @@ -215,9 +214,9 @@ void LLToolBarView::draw() back_color_hori[VALPHA] = 0.5f; back_color_vert[VALPHA] = 0.5f; //gl_rect_2d(getLocalRect(), back_color, TRUE); - gl_rect_2d(bottom_rect, back_color_hori, TRUE); - gl_rect_2d(left_rect, back_color_vert, TRUE); - gl_rect_2d(right_rect, back_color_vert, TRUE); + //gl_rect_2d(bottom_rect, back_color_hori, TRUE); + //gl_rect_2d(left_rect, back_color_vert, TRUE); + //gl_rect_2d(right_rect, back_color_vert, TRUE); LLUICtrl::draw(); } -- GitLab From b234c23aa3c70ccac6d4332532a0da6184ec03db Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Tue, 27 Sep 2011 20:51:26 -0700 Subject: [PATCH 064/256] EXP-1211 : Factorize code a bit --- indra/llui/lltoolbarview.cpp | 48 ++++++++++++++---------------------- indra/llui/lltoolbarview.h | 1 + 2 files changed, 19 insertions(+), 30 deletions(-) diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 641c3eb0ab9..73c8c994185 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -80,52 +80,25 @@ bool LLToolBarView::load() } // Add commands to each toolbar - // *TODO: factorize that code : tricky with Blocks though, simple lexical approach fails - LLCommandManager& mgr = LLCommandManager::instance(); - if (toolbar_set.left_toolbar.isProvided() && mToolbarLeft) { BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.left_toolbar.commands) { - LLCommandId* commandId = new LLCommandId(command); - if (mgr.getCommand(*commandId)) - { - mToolbarLeft->addCommand(*commandId); - } - else - { - llwarns << "Toolbars creation : the command " << commandId->name() << " cannot be found in the command manager" << llendl; - } + addCommand(LLCommandId(command),mToolbarLeft); } } if (toolbar_set.right_toolbar.isProvided() && mToolbarRight) { BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.right_toolbar.commands) { - LLCommandId* commandId = new LLCommandId(command); - if (mgr.getCommand(*commandId)) - { - mToolbarRight->addCommand(*commandId); - } - else - { - llwarns << "Toolbars creation : the command " << commandId->name() << " cannot be found in the command manager" << llendl; - } + addCommand(LLCommandId(command),mToolbarRight); } } if (toolbar_set.bottom_toolbar.isProvided() && mToolbarBottom) { BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.bottom_toolbar.commands) { - LLCommandId* commandId = new LLCommandId(command); - if (mgr.getCommand(*commandId)) - { - mToolbarBottom->addCommand(*commandId); - } - else - { - llwarns << "Toolbars creation : the command " << commandId->name() << " cannot be found in the command manager" << llendl; - } + addCommand(LLCommandId(command),mToolbarBottom); } } return true; @@ -179,6 +152,21 @@ bool LLToolBarView::hasCommand(const LLCommandId& commandId) const return has_command; } +bool LLToolBarView::addCommand(const LLCommandId& command, LLToolBar* toolbar) +{ + LLCommandManager& mgr = LLCommandManager::instance(); + if (mgr.getCommand(command)) + { + toolbar->addCommand(command); + } + else + { + llwarns << "Toolbars creation : the command " << command.name() << " cannot be found in the command manager" << llendl; + return false; + } + return true; +} + void LLToolBarView::draw() { static bool debug_print = true; diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index 0f16b89ecc8..208660da8e3 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -78,6 +78,7 @@ class LLToolBarView : public LLUICtrl private: // Loads the toolbars from the existing user or default settings bool load(); // return false if load fails + bool addCommand(const LLCommandId& commandId, LLToolBar* toolbar); // Pointers to the toolbars handled by the toolbar view LLToolBar* mToolbarLeft; -- GitLab From 15f3ea39d7deb0c956b56703a94f6d072b7f2d21 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Tue, 27 Sep 2011 22:45:09 -0700 Subject: [PATCH 065/256] EXP-1257 : Save toolbar settings in a per user toolbars.xml file --- indra/llui/llcommandmanager.h | 2 + indra/llui/lltoolbar.h | 3 +- indra/llui/lltoolbarview.cpp | 172 +++++++++++++++++++++++----------- indra/llui/lltoolbarview.h | 3 +- 4 files changed, 124 insertions(+), 56 deletions(-) diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index 8435d915f30..4781f771774 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -81,6 +81,8 @@ class LLCommandId std::string mName; }; +typedef std::list<LLCommandId> command_id_list_t; + class LLCommand { public: diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 02db58128c8..8e484c7e13b 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -123,6 +123,7 @@ class LLToolBar bool addCommand(const LLCommandId& commandId); bool hasCommand(const LLCommandId& commandId) const; bool enableCommand(const LLCommandId& commandId, bool enabled); + command_id_list_t& getCommandsList() { return mButtonCommands; } protected: friend class LLUICtrlFactory; @@ -143,7 +144,7 @@ class LLToolBar const bool mReadOnly; std::list<LLToolBarButton*> mButtons; - std::list<LLCommandId> mButtonCommands; + command_id_list_t mButtonCommands; LLToolBarEnums::ButtonType mButtonType; LLLayoutStack* mCenteringStack; LLLayoutStack* mWrapStack; diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 73c8c994185..aee7ffa5170 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -50,59 +50,6 @@ LLToolBarView::ToolbarSet::ToolbarSet() bottom_toolbar("bottom_toolbar") {} -bool LLToolBarView::load() -{ - LLToolBarView::ToolbarSet toolbar_set; - - // Load the default toolbars.xml file - // *TODO : pick up the user's toolbar setting if existing - std::string toolbar_file = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "toolbars.xml"); - - LLXMLNodePtr root; - if(!LLXMLNode::parseFile(toolbar_file, root, NULL)) - { - llerrs << "Unable to load toolbars from file: " << toolbar_file << llendl; - return false; - } - if(!root->hasName("toolbars")) - { - llwarns << toolbar_file << " is not a valid toolbars definition file" << llendl; - return false; - } - - // Parse the toolbar settings - LLXUIParser parser; - parser.readXUI(root, toolbar_set, toolbar_file); - if (!toolbar_set.validateBlock()) - { - llerrs << "Unable to validate toolbars from file: " << toolbar_file << llendl; - return false; - } - - // Add commands to each toolbar - if (toolbar_set.left_toolbar.isProvided() && mToolbarLeft) - { - BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.left_toolbar.commands) - { - addCommand(LLCommandId(command),mToolbarLeft); - } - } - if (toolbar_set.right_toolbar.isProvided() && mToolbarRight) - { - BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.right_toolbar.commands) - { - addCommand(LLCommandId(command),mToolbarRight); - } - } - if (toolbar_set.bottom_toolbar.isProvided() && mToolbarBottom) - { - BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.bottom_toolbar.commands) - { - addCommand(LLCommandId(command),mToolbarBottom); - } - } - return true; -} LLToolBarView::LLToolBarView(const LLToolBarView::Params& p) : LLUICtrl(p), @@ -120,6 +67,7 @@ void LLToolBarView::initFromParams(const LLToolBarView::Params& p) LLToolBarView::~LLToolBarView() { + saveToolbars(); } BOOL LLToolBarView::postBuild() @@ -129,7 +77,7 @@ BOOL LLToolBarView::postBuild() mToolbarBottom = getChild<LLToolBar>("toolbar_bottom"); // Load the toolbars from the settings - load(); + loadToolbars(); return TRUE; } @@ -167,6 +115,122 @@ bool LLToolBarView::addCommand(const LLCommandId& command, LLToolBar* toolbar) return true; } +bool LLToolBarView::loadToolbars() +{ + LLToolBarView::ToolbarSet toolbar_set; + + // Load the default toolbars.xml file + // *TODO : pick up the user's toolbar setting if existing + std::string toolbar_file = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "toolbars.xml"); + + LLXMLNodePtr root; + if(!LLXMLNode::parseFile(toolbar_file, root, NULL)) + { + llerrs << "Unable to load toolbars from file: " << toolbar_file << llendl; + return false; + } + if(!root->hasName("toolbars")) + { + llwarns << toolbar_file << " is not a valid toolbars definition file" << llendl; + return false; + } + + // Parse the toolbar settings + LLXUIParser parser; + parser.readXUI(root, toolbar_set, toolbar_file); + if (!toolbar_set.validateBlock()) + { + llerrs << "Unable to validate toolbars from file: " << toolbar_file << llendl; + return false; + } + + // Add commands to each toolbar + if (toolbar_set.left_toolbar.isProvided() && mToolbarLeft) + { + BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.left_toolbar.commands) + { + addCommand(LLCommandId(command),mToolbarLeft); + } + } + if (toolbar_set.right_toolbar.isProvided() && mToolbarRight) + { + BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.right_toolbar.commands) + { + addCommand(LLCommandId(command),mToolbarRight); + } + } + if (toolbar_set.bottom_toolbar.isProvided() && mToolbarBottom) + { + BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.bottom_toolbar.commands) + { + addCommand(LLCommandId(command),mToolbarBottom); + } + } + return true; +} + +void LLToolBarView::saveToolbars() const +{ + // Build the parameter tree from the toolbar data + LLToolBarView::ToolbarSet toolbar_set; + + // *TODO : factorize that code a bit... + if (mToolbarLeft) + { + command_id_list_t& command_list = mToolbarLeft->getCommandsList(); + for (command_id_list_t::const_iterator it = command_list.begin(); + it != command_list.end(); + ++it) + { + LLCommandId::Params command; + command.name = it->name(); + toolbar_set.left_toolbar.commands.add(command); + } + } + if (mToolbarRight) + { + command_id_list_t& command_list = mToolbarRight->getCommandsList(); + for (command_id_list_t::const_iterator it = command_list.begin(); + it != command_list.end(); + ++it) + { + LLCommandId::Params command; + command.name = it->name(); + toolbar_set.right_toolbar.commands.add(command); + } + } + if (mToolbarBottom) + { + command_id_list_t& command_list = mToolbarBottom->getCommandsList(); + for (command_id_list_t::const_iterator it = command_list.begin(); + it != command_list.end(); + ++it) + { + LLCommandId::Params command; + command.name = it->name(); + toolbar_set.bottom_toolbar.commands.add(command); + } + } + + // Serialize the parameter tree + LLXMLNodePtr output_node = new LLXMLNode("toolbars", false); + LLXUIParser parser; + parser.writeXUI(output_node, toolbar_set); + + // Write the resulting XML to file + if(!output_node->isNull()) + { + const std::string& filename = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "toolbars.xml"); + LLFILE *fp = LLFile::fopen(filename, "w"); + if (fp != NULL) + { + LLXMLNode::writeHeaderToFile(fp); + output_node->writeToFile(fp); + fclose(fp); + } + } +} + void LLToolBarView::draw() { static bool debug_print = true; diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index 208660da8e3..646a1fd6369 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -77,7 +77,8 @@ class LLToolBarView : public LLUICtrl private: // Loads the toolbars from the existing user or default settings - bool load(); // return false if load fails + bool loadToolbars(); // return false if load fails + void saveToolbars() const; bool addCommand(const LLCommandId& commandId, LLToolBar* toolbar); // Pointers to the toolbars handled by the toolbar view -- GitLab From e4e499e326812e66de9b9c0392ea9899a6e71e63 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 28 Sep 2011 10:27:03 -0700 Subject: [PATCH 066/256] EXP-1261 FIX Left hand toolbar does not show labels when icons and labels option selected --- indra/llui/lltoolbarview.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index aee7ffa5170..b374a0bfc4b 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -241,9 +241,21 @@ void LLToolBarView::draw() LLRect bottom_rect, left_rect, right_rect; - if (mToolbarBottom) mToolbarBottom->localRectToOtherView(mToolbarBottom->getLocalRect(), &bottom_rect, this); - if (mToolbarLeft) mToolbarLeft->localRectToOtherView(mToolbarLeft->getLocalRect(), &left_rect, this); - if (mToolbarRight) mToolbarRight->localRectToOtherView(mToolbarRight->getLocalRect(), &right_rect, this); + if (mToolbarBottom) + { + mToolbarBottom->getParent()->reshape(mToolbarBottom->getParent()->getRect().getWidth(), mToolbarBottom->getRect().getHeight()); + mToolbarBottom->localRectToOtherView(mToolbarBottom->getLocalRect(), &bottom_rect, this); + } + if (mToolbarLeft) + { + mToolbarLeft->getParent()->reshape(mToolbarLeft->getRect().getWidth(), mToolbarLeft->getParent()->getRect().getHeight()); + mToolbarLeft->localRectToOtherView(mToolbarLeft->getLocalRect(), &left_rect, this); + } + if (mToolbarRight) + { + mToolbarRight->getParent()->reshape(mToolbarRight->getRect().getWidth(), mToolbarRight->getParent()->getRect().getHeight()); + mToolbarRight->localRectToOtherView(mToolbarRight->getLocalRect(), &right_rect, this); + } if ((old_width != getRect().getWidth()) || (old_height != getRect().getHeight())) debug_print = true; -- GitLab From fc0f5173eb20fad8934420e6eec8873d71490894 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 28 Sep 2011 10:40:28 -0700 Subject: [PATCH 067/256] fix linux build --- indra/llui/lllayoutstack.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/llui/lllayoutstack.cpp b/indra/llui/lllayoutstack.cpp index 89b3f671a49..4991c4afa64 100644 --- a/indra/llui/lllayoutstack.cpp +++ b/indra/llui/lllayoutstack.cpp @@ -498,13 +498,13 @@ void LLLayoutStack::updateLayout(BOOL force_resize) { (*panel_it)->mResizeBar->setResizeLimits( relevant_min, - relevant_min + shrink_headroom_total); + relevant_min + llround(shrink_headroom_total)); } else //VERTICAL { (*panel_it)->mResizeBar->setResizeLimits( relevant_min, - relevant_min + shrink_headroom_total); + relevant_min + llround(shrink_headroom_total)); } // toggle resize bars based on panel visibility, resizability, etc -- GitLab From d447f1908bc2da9067d1f4d34825618a4d176602 Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Wed, 28 Sep 2011 15:27:34 -0700 Subject: [PATCH 068/256] EXP-1262 Hitting single letters reserved for shortcuts inworld opens chat but not associated shortcuts (like Mouselook and Fly) EXP-1266 Communicate > Nearby Chat menu item does not bring up chat floater --- indra/newview/app_settings/settings.xml | 2 +- indra/newview/skins/default/xui/en/menu_viewer.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 9a06423422f..148b80e817c 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -1493,7 +1493,7 @@ <key>Type</key> <string>S32</string> <key>Value</key> - <integer>1</integer> + <integer>0</integer> </map> <key>ChatBubbleOpacity</key> <map> diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 2e93243b0f0..923430d6fd4 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -227,10 +227,10 @@ use_mac_ctrl="true"> <menu_item_check.on_check function="Floater.Visible" - parameter="nearby_chat" /> + parameter="chat_bar" /> <menu_item_check.on_click function="Floater.Toggle" - parameter="nearby_chat" /> + parameter="chat_bar" /> </menu_item_check> <menu_item_call label="Nearby People" -- GitLab From b7c19906a0d30f545f12412e2344b5e66e8375f6 Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Wed, 28 Sep 2011 15:27:53 -0700 Subject: [PATCH 069/256] removing old xml nearby chat --- .../default/xui/en/floater_nearby_chat.xml | 50 ------------------- 1 file changed, 50 deletions(-) delete mode 100644 indra/newview/skins/default/xui/en/floater_nearby_chat.xml diff --git a/indra/newview/skins/default/xui/en/floater_nearby_chat.xml b/indra/newview/skins/default/xui/en/floater_nearby_chat.xml deleted file mode 100644 index ab966dbb0e0..00000000000 --- a/indra/newview/skins/default/xui/en/floater_nearby_chat.xml +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater - border_visible="false" - border="false" - legacy_header_height="18" - can_minimize="true" - can_tear_off="false" - can_resize="true" - can_drag_on_left="false" - can_close="false" - can_dock="true" - bevel_style="in" - height="300" - min_width="235" - layout="topleft" - name="nearby_chat" - help_topic="nearby_chat" - save_rect="true" - title="NEARBY CHAT" - save_dock_state="true" - save_visibility="true" - single_instance="true" - width="320"> - <check_box - bottom_delta="36" - control_name="TranslateChat" - enabled="true" - height="16" - label="Translate chat (powered by Google)" - layout="topleft" - left="5" - name="translate_chat_checkbox" - width="230" /> - <chat_history - parse_urls="true" - bg_readonly_color="ChatHistoryBgColor" - bg_writeable_color="ChatHistoryBgColor" - follows="all" - left="5" - top_delta="17" - layout="topleft" - height="260" - name="chat_history" - parse_highlights="true" - text_color="ChatHistoryTextColor" - text_readonly_color="ChatHistoryTextColor" - right_widget_pad="5" - left_widget_pad="0" - width="315" /> -</floater> -- GitLab From 21543fdf26e8104d00bd683bdff5185d6dd620ef Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Wed, 28 Sep 2011 16:23:04 -0700 Subject: [PATCH 070/256] EXP-1257 : Implemented loading of toolbar settings per user account. Also factorize a bit and clean up the related saveToolbars code. --- indra/llui/lltoolbarview.cpp | 56 +++++++++++++------------------- indra/llui/lltoolbarview.h | 6 ++-- indra/newview/llviewerwindow.cpp | 4 ++- 3 files changed, 29 insertions(+), 37 deletions(-) diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index aee7ffa5170..140a26ddd59 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -76,9 +76,6 @@ BOOL LLToolBarView::postBuild() mToolbarRight = getChild<LLToolBar>("toolbar_right"); mToolbarBottom = getChild<LLToolBar>("toolbar_bottom"); - // Load the toolbars from the settings - loadToolbars(); - return TRUE; } @@ -120,8 +117,12 @@ bool LLToolBarView::loadToolbars() LLToolBarView::ToolbarSet toolbar_set; // Load the default toolbars.xml file - // *TODO : pick up the user's toolbar setting if existing - std::string toolbar_file = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "toolbars.xml"); + std::string toolbar_file = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "toolbars.xml"); + if (!gDirUtilp->fileExists(toolbar_file)) + { + llwarns << "User toolbars def not found -> use default" << llendl; + toolbar_file = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "toolbars.xml"); + } LLXMLNodePtr root; if(!LLXMLNode::parseFile(toolbar_file, root, NULL)) @@ -173,43 +174,17 @@ void LLToolBarView::saveToolbars() const { // Build the parameter tree from the toolbar data LLToolBarView::ToolbarSet toolbar_set; - - // *TODO : factorize that code a bit... if (mToolbarLeft) { - command_id_list_t& command_list = mToolbarLeft->getCommandsList(); - for (command_id_list_t::const_iterator it = command_list.begin(); - it != command_list.end(); - ++it) - { - LLCommandId::Params command; - command.name = it->name(); - toolbar_set.left_toolbar.commands.add(command); - } + addToToolset(mToolbarLeft->getCommandsList(),toolbar_set.left_toolbar); } if (mToolbarRight) { - command_id_list_t& command_list = mToolbarRight->getCommandsList(); - for (command_id_list_t::const_iterator it = command_list.begin(); - it != command_list.end(); - ++it) - { - LLCommandId::Params command; - command.name = it->name(); - toolbar_set.right_toolbar.commands.add(command); - } + addToToolset(mToolbarRight->getCommandsList(),toolbar_set.right_toolbar); } if (mToolbarBottom) { - command_id_list_t& command_list = mToolbarBottom->getCommandsList(); - for (command_id_list_t::const_iterator it = command_list.begin(); - it != command_list.end(); - ++it) - { - LLCommandId::Params command; - command.name = it->name(); - toolbar_set.bottom_toolbar.commands.add(command); - } + addToToolset(mToolbarBottom->getCommandsList(),toolbar_set.bottom_toolbar); } // Serialize the parameter tree @@ -231,6 +206,19 @@ void LLToolBarView::saveToolbars() const } } +// Enumerate the commands in command_list and add them as Params to the toolbar +void LLToolBarView::addToToolset(command_id_list_t& command_list, Toolbar& toolbar) const +{ + for (command_id_list_t::const_iterator it = command_list.begin(); + it != command_list.end(); + ++it) + { + LLCommandId::Params command; + command.name = it->name(); + toolbar.commands.add(command); + } +} + void LLToolBarView::draw() { static bool debug_print = true; diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index 646a1fd6369..b19841997b4 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -67,7 +67,10 @@ class LLToolBarView : public LLUICtrl virtual void draw(); // Toolbar view interface with the rest of the world + // Checks if the commandId is being used somewhere in one of the toolbars bool hasCommand(const LLCommandId& commandId) const; + // Loads the toolbars from the existing user or default settings + bool loadToolbars(); // return false if load fails protected: friend class LLUICtrlFactory; @@ -76,10 +79,9 @@ class LLToolBarView : public LLUICtrl void initFromParams(const Params&); private: - // Loads the toolbars from the existing user or default settings - bool loadToolbars(); // return false if load fails void saveToolbars() const; bool addCommand(const LLCommandId& commandId, LLToolBar* toolbar); + void addToToolset(command_id_list_t& command_list, Toolbar& toolbar) const; // Pointers to the toolbars handled by the toolbar view LLToolBar* mToolbarLeft; diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 7c930b80c20..6c9ee17a767 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1950,9 +1950,11 @@ void LLViewerWindow::initWorldUI() buttons_panel->setFollowsAll(); buttons_panel_container->addChild(buttons_panel); - // Make the toolbars visible + // Load and make the toolbars visible + // Note: we need to load the toolbars only *after* the user is logged in and IW if (gToolBarView) { + gToolBarView->loadToolbars(); gToolBarView->setVisible(TRUE); } } -- GitLab From 6a49f2947f05963c577a1644c16a8affc779da63 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 28 Sep 2011 16:25:32 -0700 Subject: [PATCH 071/256] EXP-1234 WIP experimental drag and drop --- indra/llui/lltoolbar.cpp | 93 +++++++++++++++++++++++++----------- indra/llui/lltoolbar.h | 16 ++++++- indra/llui/lltoolbarview.cpp | 41 +++++++++++++++- indra/llui/lltoolbarview.h | 9 +++- indra/llui/llview.h | 14 ++++++ 5 files changed, 140 insertions(+), 33 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index c5219b11e86..fe989cee222 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -33,6 +33,7 @@ #include "llcommandmanager.h" #include "llmenugl.h" #include "lltrans.h" +#include "lltoolbarview.h" // uncomment this and remove the one in llui.cpp when there is an external reference to this translation unit // thanks, MSVC! @@ -201,35 +202,27 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) bool LLToolBar::addCommand(const LLCommandId& commandId) { LLCommand * command = LLCommandManager::instance().getCommand(commandId); + if (!command) return false; - bool add_command = (command != NULL); - - if (add_command) - { - mButtonCommands.push_back(commandId); - createButton(commandId); - } + mButtonCommands.push_back(commandId); + LLToolBarButton* button = createButton(commandId); + mButtons.push_back(button); + mButtonPanel->addChild(button); + mButtonMap.insert(std::make_pair(commandId, button)); + mNeedsLayout = true; - return add_command; + return true; } bool LLToolBar::hasCommand(const LLCommandId& commandId) const { - bool has_command = false; - if (commandId != LLCommandId::null) { - BOOST_FOREACH(LLCommandId cmd, mButtonCommands) - { - if (cmd == commandId) - { - has_command = true; - break; - } - } + command_id_map::const_iterator it = mButtonMap.find(commandId); + return (it != mButtonMap.end()); } - return has_command; + return false; } bool LLToolBar::enableCommand(const LLCommandId& commandId, bool enabled) @@ -238,11 +231,10 @@ bool LLToolBar::enableCommand(const LLCommandId& commandId, bool enabled) if (commandId != LLCommandId::null) { - command_button = mButtonPanel->findChild<LLButton>(commandId.name()); - - if (command_button) + command_id_map::iterator it = mButtonMap.find(commandId); + if (it != mButtonMap.end()) { - command_button->setEnabled(enabled); + it->second->setEnabled(enabled); } } @@ -498,15 +490,19 @@ void LLToolBar::createButtons() BOOST_FOREACH(LLCommandId& command_id, mButtonCommands) { - createButton(command_id); + LLToolBarButton* button = createButton(command_id); + mButtons.push_back(button); + mButtonPanel->addChild(button); + mButtonMap.insert(std::make_pair(command_id, button)); } + mNeedsLayout = true; } -void LLToolBar::createButton(const LLCommandId& id) +LLToolBarButton* LLToolBar::createButton(const LLCommandId& id) { LLCommand* commandp = LLCommandManager::instance().getCommand(id); - if (!commandp) return; + if (!commandp) return NULL; LLToolBarButton::Params button_p; button_p.label = LLTrans::getString(commandp->labelRef()); @@ -515,8 +511,47 @@ void LLToolBar::createButton(const LLCommandId& id) button_p.overwriteFrom(mButtonParams[mButtonType]); LLToolBarButton* button = LLUICtrlFactory::create<LLToolBarButton>(button_p); - mButtons.push_back(button); - mButtonPanel->addChild(button); + button->setCommandId(id); + return button; +} - mNeedsLayout = true; +// +// LLToolBarButton +// + +LLToolBarButton::LLToolBarButton(const Params& p) +: LLButton(p), + mMouseDownX(0), + mMouseDownY(0), + mId("") +{} + + +BOOL LLToolBarButton::handleMouseDown(S32 x, S32 y, MASK mask) +{ + mMouseDownX = x; + mMouseDownY = y; + return LLButton::handleMouseDown(x, y, mask); +} + +BOOL LLToolBarButton::handleHover(S32 x, S32 y, MASK mask) +{ + if (hasMouseCapture()) + { + S32 dist_squared = (x - mMouseDownX) * (x - mMouseDownX) + (y - mMouseDownY) * (y - mMouseDownY); + S32 threshold = LLUI::sSettingGroups["config"]->getS32("DragAndDropDistanceThreshold"); + S32 threshold_squared = threshold * threshold; + if (dist_squared > threshold_squared) + { + // start drag and drop + LLToolBarView* view = getParentByType<LLToolBarView>(); + LLToolBar* bar = getParentByType<LLToolBar>(); + if (view) + { + view->startDrag(bar->createButton(mId)); + setVisible(FALSE); + } + } + } + return LLButton::handleHover(x, y, mask); } diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 8e484c7e13b..77bac87dbcd 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -42,7 +42,15 @@ class LLToolBarButton : public LLButton { }; - LLToolBarButton(const Params& p) : LLButton(p) {} + LLToolBarButton(const Params& p); + + BOOL handleMouseDown(S32 x, S32 y, MASK mask); + BOOL handleHover(S32 x, S32 y, MASK mask); + void setCommandId(const LLCommandId& id) { mId = id; } +private: + LLCommandId mId; + S32 mMouseDownX; + S32 mMouseDownY; }; @@ -125,6 +133,8 @@ class LLToolBar bool enableCommand(const LLCommandId& commandId, bool enabled); command_id_list_t& getCommandsList() { return mButtonCommands; } + LLToolBarButton* createButton(const LLCommandId& id); + protected: friend class LLUICtrlFactory; LLToolBar(const Params&); @@ -136,7 +146,6 @@ class LLToolBar void createContextMenu(); void updateLayoutAsNeeded(); void createButtons(); - void createButton(const LLCommandId& id); void resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row, S32 max_row_girth); BOOL isSettingChecked(const LLSD& userdata); void onSettingEnable(const LLSD& userdata); @@ -145,6 +154,9 @@ class LLToolBar std::list<LLToolBarButton*> mButtons; command_id_list_t mButtonCommands; + typedef std::map<LLCommandId, LLToolBarButton*> command_id_map; + command_id_map mButtonMap; + LLToolBarEnums::ButtonType mButtonType; LLLayoutStack* mCenteringStack; LLLayoutStack* mWrapStack; diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index b374a0bfc4b..0c3a6bd0aca 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -55,7 +55,10 @@ LLToolBarView::LLToolBarView(const LLToolBarView::Params& p) : LLUICtrl(p), mToolbarLeft(NULL), mToolbarRight(NULL), - mToolbarBottom(NULL) + mToolbarBottom(NULL), + mDragButton(NULL), + mMouseX(0), + mMouseY(0) { } @@ -283,4 +286,40 @@ void LLToolBarView::draw() //gl_rect_2d(right_rect, back_color_vert, TRUE); LLUICtrl::draw(); + + if (mDragButton) + { + S32 cursor_x, cursor_y; + mDragButton->setOrigin(mMouseX - mDragButton->getRect().getWidth(), mMouseY - mDragButton->getRect().getHeight()); + drawChild(mDragButton); + } +} + +void LLToolBarView::startDrag(LLToolBarButton* button) +{ + mDragButton = button; + addChild(mDragButton); + gFocusMgr.setMouseCapture(this); +} + +BOOL LLToolBarView::handleHover(S32 x, S32 y, MASK mask) +{ + mMouseX = x; + mMouseY = y; + return LLUICtrl::handleHover(x, y, mask); +} + +BOOL LLToolBarView::handleMouseUp(S32 x, S32 y, MASK mask) +{ + if (hasMouseCapture()) + { + gFocusMgr.setMouseCapture(NULL); + } + return LLUICtrl::handleMouseUp(x, y, mask); +} + +void LLToolBarView::onMouseCaptureLost() +{ + delete mDragButton; + mDragButton = NULL; } diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index 646a1fd6369..cbe3d6c083c 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -65,7 +65,10 @@ class LLToolBarView : public LLUICtrl virtual ~LLToolBarView(); virtual BOOL postBuild(); virtual void draw(); - + virtual BOOL handleHover(S32 x, S32 y, MASK mask); + virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask); + virtual void onMouseCaptureLost(); + void startDrag(LLToolBarButton*); // Toolbar view interface with the rest of the world bool hasCommand(const LLCommandId& commandId) const; @@ -85,6 +88,10 @@ class LLToolBarView : public LLUICtrl LLToolBar* mToolbarLeft; LLToolBar* mToolbarRight; LLToolBar* mToolbarBottom; + bool mDragging; + LLToolBarButton* mDragButton; + S32 mMouseX; + S32 mMouseY; }; extern LLToolBarView* gToolBarView; diff --git a/indra/llui/llview.h b/indra/llui/llview.h index 9039366e7e3..f4e31b109a3 100644 --- a/indra/llui/llview.h +++ b/indra/llui/llview.h @@ -465,6 +465,20 @@ class LLView : public LLMouseHandler, public LLMortician, public LLFocusableElem return dynamic_cast<T*>(widgetp); } + template <class T> T* getParentByType() const + { + LLView* parent = getParent(); + while(parent) + { + if (dynamic_cast<T*>(parent)) + { + return static_cast<T*>(parent); + } + parent = parent->getParent(); + } + return NULL; + } + ////////////////////////////////////////////// // statics ////////////////////////////////////////////// -- GitLab From fdf042bdb9aeefa209694e04d4012a3a1f911a52 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Wed, 28 Sep 2011 16:54:34 -0700 Subject: [PATCH 072/256] EXP-1205 PROGRESS -- As a User, I want a toybox which will contain all buttons that I can d&d into the toolbars EXP-1233 FIX -- Populate the toybox floater window with all FUI toolbar buttons indicated as such in the "commands.xml" definition. EXP-1267 FIX -- Enable/disable buttons in the toybox * Hooked up button callbacks to the toolbar buttons * Fixed toybox button enable/disable to function properly and live update as buttons change states. * Removed the toybox toolbar background image Reviewed by Leyla --- indra/llui/llcommandmanager.cpp | 4 +- indra/llui/llcommandmanager.h | 6 +-- indra/llui/lltoolbar.cpp | 10 ++++- indra/llui/lluictrl.cpp | 10 +++++ indra/llui/lluictrl.h | 3 ++ indra/newview/app_settings/commands.xml | 42 +++++++++---------- indra/newview/llfloatertoybox.cpp | 19 ++++++--- .../skins/default/xui/en/floater_toybox.xml | 4 +- 8 files changed, 65 insertions(+), 33 deletions(-) diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp index 783990780b2..b1147134c21 100644 --- a/indra/llui/llcommandmanager.cpp +++ b/indra/llui/llcommandmanager.cpp @@ -53,7 +53,7 @@ LLCommand::Params::Params() , icon("icon") , label_ref("label_ref") , name("name") - , param("param") + , parameter("parameter") , tooltip_ref("tooltip_ref") { } @@ -64,7 +64,7 @@ LLCommand::LLCommand(const LLCommand::Params& p) , mIcon(p.icon) , mIdentifier(p.name) , mLabelRef(p.label_ref) - , mParam(p.param) + , mParameter(p.parameter) , mTooltipRef(p.tooltip_ref) { } diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index 4781f771774..6481a056895 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -93,7 +93,7 @@ class LLCommand Mandatory<std::string> icon; Mandatory<std::string> label_ref; Mandatory<std::string> name; - Optional<std::string> param; + Optional<LLSD> parameter; Mandatory<std::string> tooltip_ref; Params(); @@ -106,7 +106,7 @@ class LLCommand const std::string& icon() const { return mIcon; } const LLCommandId& id() const { return mIdentifier; } const std::string& labelRef() const { return mLabelRef; } - const std::string& param() const { return mParam; } + const LLSD& parameter() const { return mParameter; } const std::string& tooltipRef() const { return mTooltipRef; } private: @@ -116,7 +116,7 @@ class LLCommand std::string mFunction; std::string mIcon; std::string mLabelRef; - std::string mParam; + LLSD mParameter; std::string mTooltipRef; }; diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index c5219b11e86..45567d58599 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -500,7 +500,6 @@ void LLToolBar::createButtons() { createButton(command_id); } - } void LLToolBar::createButton(const LLCommandId& id) @@ -509,12 +508,21 @@ void LLToolBar::createButton(const LLCommandId& id) if (!commandp) return; LLToolBarButton::Params button_p; + button_p.name = id.name(); button_p.label = LLTrans::getString(commandp->labelRef()); button_p.tool_tip = button_p.label(); button_p.image_overlay = LLUI::getUIImage(commandp->icon()); button_p.overwriteFrom(mButtonParams[mButtonType]); LLToolBarButton* button = LLUICtrlFactory::create<LLToolBarButton>(button_p); + if (!mReadOnly) + { + LLUICtrl::CommitCallbackParam cbParam; + cbParam.function_name = commandp->functionName(); + cbParam.parameter = commandp->parameter(); + button->setCommitCallback(cbParam); + } + mButtons.push_back(button); mButtonPanel->addChild(button); diff --git a/indra/llui/lluictrl.cpp b/indra/llui/lluictrl.cpp index d58df5801be..5e8bf498c05 100644 --- a/indra/llui/lluictrl.cpp +++ b/indra/llui/lluictrl.cpp @@ -992,6 +992,16 @@ void LLUICtrl::setTransparencyType(ETypeTransparency type) mTransparencyType = type; } +boost::signals2::connection LLUICtrl::setCommitCallback(const CommitCallbackParam& cb) +{ + return setCommitCallback(initCommitCallback(cb)); +} + +boost::signals2::connection LLUICtrl::setValidateCallback(const EnableCallbackParam& cb) +{ + return setValidateCallback(initEnableCallback(cb)); +} + boost::signals2::connection LLUICtrl::setCommitCallback( const commit_signal_t::slot_type& cb ) { if (!mCommitSignal) mCommitSignal = new commit_signal_t(); diff --git a/indra/llui/lluictrl.h b/indra/llui/lluictrl.h index 09bed9b958e..fc56e5fc35f 100644 --- a/indra/llui/lluictrl.h +++ b/indra/llui/lluictrl.h @@ -235,6 +235,9 @@ class LLUICtrl // topic then put in help_topic_out bool findHelpTopic(std::string& help_topic_out); + boost::signals2::connection setCommitCallback(const CommitCallbackParam& cb); + boost::signals2::connection setValidateCallback(const EnableCallbackParam& cb); + boost::signals2::connection setCommitCallback( const commit_signal_t::slot_type& cb ); boost::signals2::connection setValidateCallback( const enable_signal_t::slot_type& cb ); diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 4a33b24075a..5fbd9248c13 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -6,7 +6,7 @@ label_ref="Command_Avatar_Label" tooltip_ref="Command_Avatar_Tooltip" function="Floater.ToolbarToggle" - param="avatar" + parameter="avatar" /> <command name="build" available_in_toybox="true" @@ -14,7 +14,7 @@ label_ref="Command_Build_Label" tooltip_ref="Command_Build_Tooltip" function="Floater.ToolbarToggle" - param="build" + parameter="build" /> <command name="chat" available_in_toybox="true" @@ -22,7 +22,7 @@ label_ref="Command_Chat_Label" tooltip_ref="Command_Chat_Tooltip" function="Floater.ToolbarToggle" - param="chat" + parameter="chat" /> <command name="compass" available_in_toybox="false" @@ -30,7 +30,7 @@ label_ref="Command_Compass_Label" tooltip_ref="Command_Compass_Tooltip" function="Floater.ToolbarToggle" - param="compass" + parameter="compass" /> <command name="gestures" available_in_toybox="true" @@ -38,7 +38,7 @@ label_ref="Command_Gestures_Label" tooltip_ref="Command_Gestures_Tooltip" function="Floater.ToolbarToggle" - param="gestures" + parameter="gestures" /> <command name="howto" available_in_toybox="true" @@ -46,7 +46,7 @@ label_ref="Command_HowTo_Label" tooltip_ref="Command_HowTo_Tooltip" function="Floater.ToolbarToggle" - param="howto" + parameter="howto" /> <command name="landmarks" available_in_toybox="true" @@ -54,7 +54,7 @@ label_ref="Command_Landmarks_Label" tooltip_ref="Command_Landmarks_Tooltip" function="Floater.ToolbarToggle" - param="landmarks" + parameter="landmarks" /> <command name="map" available_in_toybox="true" @@ -62,7 +62,7 @@ label_ref="Command_Map_Label" tooltip_ref="Command_Map_Tooltip" function="Floater.ToolbarToggle" - param="map" + parameter="map" /> <command name="minimap" available_in_toybox="true" @@ -70,7 +70,7 @@ label_ref="Command_MiniMap_Label" tooltip_ref="Command_MiniMap_Tooltip" function="Floater.ToolbarToggle" - param="minimap" + parameter="minimap" /> <command name="move" available_in_toybox="true" @@ -78,7 +78,7 @@ label_ref="Command_Move_Label" tooltip_ref="Command_Move_Tooltip" function="Floater.ToolbarToggle" - param="move" + parameter="move" /> <command name="myland" available_in_toybox="true" @@ -86,7 +86,7 @@ label_ref="Command_MyLand_Label" tooltip_ref="Command_MyLand_Tooltip" function="Floater.ToolbarToggle" - param="myland" + parameter="myland" /> <command name="mystuff" available_in_toybox="true" @@ -94,7 +94,7 @@ label_ref="Command_MyStuff_Label" tooltip_ref="Command_MyStuff_Tooltip" function="Floater.ToolbarToggle" - param="mystuff" + parameter="mystuff" /> <command name="people" available_in_toybox="true" @@ -102,7 +102,7 @@ label_ref="Command_People_Label" tooltip_ref="Command_People_Tooltip" function="Floater.ToolbarToggle" - param="people" + parameter="people" /> <command name="places" available_in_toybox="true" @@ -110,7 +110,7 @@ label_ref="Command_Places_Label" tooltip_ref="Command_Places_Tooltip" function="Floater.ToolbarToggle" - param="places" + parameter="places" /> <command name="search" available_in_toybox="true" @@ -118,7 +118,7 @@ label_ref="Command_Search_Label" tooltip_ref="Command_Search_Tooltip" function="Floater.ToolbarToggle" - param="search" + parameter="search" /> <command name="settings" available_in_toybox="true" @@ -126,7 +126,7 @@ label_ref="Command_Settings_Label" tooltip_ref="Command_Settings_Tooltip" function="Floater.ToolbarToggle" - param="settings" + parameter="settings" /> <command name="shop" available_in_toybox="true" @@ -134,7 +134,7 @@ label_ref="Command_Shop_Label" tooltip_ref="Command_Shop_Tooltip" function="Floater.ToolbarToggle" - param="shop" + parameter="shop" /> <command name="snapshot" available_in_toybox="true" @@ -142,7 +142,7 @@ label_ref="Command_Snapshot_Label" tooltip_ref="Command_Snapshot_Tooltip" function="Floater.ToolbarToggle" - param="snapshot" + parameter="snapshot" /> <command name="speak" available_in_toybox="true" @@ -150,7 +150,7 @@ label_ref="Command_Speak_Label" tooltip_ref="Command_Speak_Tooltip" function="Floater.ToolbarToggle" - param="speak" + parameter="speak" /> <command name="upload" available_in_toybox="true" @@ -158,7 +158,7 @@ label_ref="Command_Upload_Label" tooltip_ref="Command_Upload_Tooltip" function="Floater.ToolbarToggle" - param="upload" + parameter="upload" /> <command name="view" available_in_toybox="true" @@ -166,6 +166,6 @@ label_ref="Command_View_Label" tooltip_ref="Command_View_Tooltip" function="Floater.ToolbarToggle" - param="view" + parameter="view" /> </commands> diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp index beb928ea361..c3fa322f854 100644 --- a/indra/newview/llfloatertoybox.cpp +++ b/indra/newview/llfloatertoybox.cpp @@ -67,9 +67,6 @@ BOOL LLFloaterToybox::postBuild() if (command->availableInToybox()) { mToolBar->addCommand(command->id()); - - llassert(gToolBarView != NULL); - mToolBar->enableCommand(command->id(), !gToolBarView->hasCommand(command->id())); } } @@ -93,17 +90,29 @@ void LLFloaterToybox::onClose(bool app_quitting) void LLFloaterToybox::draw() { + llassert(gToolBarView != NULL); + + LLCommandManager& cmdMgr = LLCommandManager::instance(); + + for (U32 i = 0; i < cmdMgr.commandCount(); i++) + { + LLCommand * command = cmdMgr.getCommand(i); + + if (command->availableInToybox()) + { + mToolBar->enableCommand(command->id(), !gToolBarView->hasCommand(command->id())); + } + } + LLFloater::draw(); } void LLFloaterToybox::onFocusReceived() { - } void LLFloaterToybox::onBtnRestoreDefaults() { - } diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index 092eddaa53c..feb19571b26 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -59,7 +59,9 @@ read_only="true" right="-20" side="top" - top="85" /> + top="85"> + <button_panel background_visible="false" /> + </toolbar> <panel bevel_style="none" border="true" -- GitLab From 9d3fc5d930bd1dae07771350080e5140c0113891 Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Thu, 29 Sep 2011 21:43:07 +0300 Subject: [PATCH 073/256] EXP-1209 FIXED Sidetray removed. - Removed all sidetray dependencies and the sidetray itself. - Also removed LLFloaterSidetrayTab and LLSidetrayListener as unused. --- indra/newview/CMakeLists.txt | 6 - indra/newview/app_settings/settings.xml | 11 - indra/newview/llagentwearables.cpp | 1 - indra/newview/llappearancemgr.cpp | 4 +- indra/newview/llappviewer.cpp | 7 - indra/newview/llavataractions.cpp | 1 - indra/newview/llbottomtray.cpp | 1 - indra/newview/llchathistory.cpp | 2 - indra/newview/llcofwearables.cpp | 8 - indra/newview/llfavoritesbar.cpp | 1 - indra/newview/llfloaterpreference.cpp | 7 +- indra/newview/llfloatersidetraytab.cpp | 52 - indra/newview/llfloatersidetraytab.h | 49 - indra/newview/llgroupactions.cpp | 1 - indra/newview/llimfloater.cpp | 38 - indra/newview/llimfloater.h | 4 - indra/newview/llinspectobject.cpp | 1 - indra/newview/llinventorybridge.cpp | 1 - indra/newview/llinventoryfunctions.cpp | 1 - indra/newview/llinventorypanel.cpp | 1 - indra/newview/lllocationinputctrl.cpp | 1 - indra/newview/llnavigationbar.cpp | 1 - indra/newview/llnearbychat.cpp | 1 - indra/newview/lloutfitslist.cpp | 1 - indra/newview/llpanelblockedlist.cpp | 1 - indra/newview/llpanelgroup.cpp | 1 - indra/newview/llpanelimcontrolpanel.cpp | 1 - indra/newview/llpanellandmarks.cpp | 1 - indra/newview/llpanelmaininventory.cpp | 1 - indra/newview/llpanelmarketplaceinbox.cpp | 8 - indra/newview/llpanelmarketplaceinbox.h | 4 +- indra/newview/llpanelmarketplaceoutbox.cpp | 1 - indra/newview/llpanelme.cpp | 14 - indra/newview/llpanelobjectinventory.cpp | 1 - indra/newview/llpaneloutfitsinventory.cpp | 1 - indra/newview/llpanelpeople.cpp | 3 +- indra/newview/llpanelplaces.cpp | 1 - indra/newview/llpanelteleporthistory.cpp | 1 - indra/newview/llpaneltopinfobar.cpp | 1 - indra/newview/llpaneltopinfobar.h | 2 +- indra/newview/llpanelwearing.cpp | 1 - indra/newview/llscreenchannel.cpp | 41 +- indra/newview/llscreenchannel.h | 1 - indra/newview/llsidepanelappearance.cpp | 2 - indra/newview/llsidepanelinventory.cpp | 5 +- indra/newview/llsidepanelinventory.h | 2 +- indra/newview/llsidetray.cpp | 1489 ----------------- indra/newview/llsidetray.h | 260 --- indra/newview/llsidetraylistener.cpp | 179 -- indra/newview/llsidetraylistener.h | 53 - indra/newview/llstartup.cpp | 1 - indra/newview/llurldispatcher.cpp | 1 - indra/newview/llviewerfloaterreg.cpp | 2 - indra/newview/llviewerinventory.cpp | 1 - indra/newview/llviewermenu.cpp | 45 +- indra/newview/llviewermessage.cpp | 5 +- indra/newview/llviewertexteditor.cpp | 1 - indra/newview/llviewerwindow.cpp | 27 - indra/newview/llviewerwindow.h | 2 - indra/newview/llwearable.cpp | 1 - indra/newview/llworldview.cpp | 61 - .../skins/default/xui/en/main_view.xml | 19 - .../skins/default/xui/en/menu_login.xml | 8 - .../default/xui/en/panel_preferences_move.xml | 10 - 64 files changed, 29 insertions(+), 2431 deletions(-) delete mode 100644 indra/newview/llfloatersidetraytab.cpp delete mode 100644 indra/newview/llfloatersidetraytab.h delete mode 100644 indra/newview/llsidetray.cpp delete mode 100644 indra/newview/llsidetray.h delete mode 100644 indra/newview/llsidetraylistener.cpp delete mode 100644 indra/newview/llsidetraylistener.h delete mode 100644 indra/newview/llworldview.cpp diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 59e1ca10e6d..c488d51ba5e 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -229,7 +229,6 @@ set(viewer_SOURCE_FILES llfloatersellland.cpp llfloatersettingsdebug.cpp llfloatersidepanelcontainer.cpp - llfloatersidetraytab.cpp llfloatersnapshot.cpp llfloatersounddevices.cpp llfloatertelehub.cpp @@ -442,8 +441,6 @@ set(viewer_SOURCE_FILES llsidepanelinventorysubpanel.cpp llsidepaneliteminfo.cpp llsidepaneltaskinfo.cpp - llsidetray.cpp - llsidetraylistener.cpp llsidetraypanelcontainer.cpp llsky.cpp llslurl.cpp @@ -794,7 +791,6 @@ set(viewer_HEADER_FILES llfloatersellland.h llfloatersettingsdebug.h llfloatersidepanelcontainer.h - llfloatersidetraytab.h llfloatersnapshot.h llfloatersounddevices.h llfloatertelehub.h @@ -1002,8 +998,6 @@ set(viewer_HEADER_FILES llsidepanelinventorysubpanel.h llsidepaneliteminfo.h llsidepaneltaskinfo.h - llsidetray.h - llsidetraylistener.h llsidetraypanelcontainer.h llsky.h llslurl.h diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 148b80e817c..3d3185600be 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -9921,17 +9921,6 @@ <key>Value</key> <integer>0</integer> </map> - <key>SidebarCameraMovement</key> - <map> - <key>Comment</key> - <string>Reflects world rect changing while changing sidebar visibility.</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> <key>GroupListShowIcons</key> <map> <key>Comment</key> diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index 404cd8e5b6d..ccbf6bf932b 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -43,7 +43,6 @@ #include "llnotificationsutil.h" #include "lloutfitobserver.h" #include "llsidepanelappearance.h" -#include "llsidetray.h" #include "lltexlayer.h" #include "lltooldraganddrop.h" #include "llviewerregion.h" diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index c638f881a5f..e5369dc2b8c 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -44,7 +44,6 @@ #include "lloutfitslist.h" #include "llselectmgr.h" #include "llsidepanelappearance.h" -#include "llsidetray.h" #include "llviewerobjectlist.h" #include "llvoavatar.h" #include "llvoavatarself.h" @@ -2466,7 +2465,8 @@ class LLShowCreatedOutfit: public LLInventoryCallback // add may be processed after login process is finished if (mShowPanel) { - LLSideTray::getInstance()->showPanel("panel_outfits_inventory", key); + LLFloaterSidePanelContainer::showPanel("appearance", "panel_outfits_inventory", key); + } LLOutfitsList *outfits_list = dynamic_cast<LLOutfitsList*>(LLFloaterSidePanelContainer::getPanel("appearance", "outfitslist_tab")); diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 43c8750b02e..7b75bbf4309 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -81,7 +81,6 @@ #include "llviewermenufile.h" #include "llvoicechannel.h" #include "llvoavatarself.h" -#include "llsidetray.h" #include "llurlmatch.h" #include "lltextutil.h" #include "lllogininstance.h" @@ -3499,8 +3498,6 @@ void LLAppViewer::requestQuit() gFloaterView->closeAllChildren(true); } - LLSideTray::getInstance()->notifyChildren(LLSD().with("request","quit")); - send_stats(); gLogoutTimer.reset(); @@ -4559,10 +4556,6 @@ void LLAppViewer::idleShutdown() return; } - if (LLSideTray::getInstance()->notifyChildren(LLSD().with("request","wait_quit"))) - { - return; - } diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index fb7517a98b5..b14c02a5d6d 100755 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -61,7 +61,6 @@ #include "llpaneloutfitedit.h" #include "llpanelprofile.h" #include "llrecentpeople.h" -#include "llsidetray.h" #include "lltrans.h" #include "llviewercontrol.h" #include "llviewerobjectlist.h" diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp index 19061c55ca0..98712f13348 100644 --- a/indra/newview/llbottomtray.cpp +++ b/indra/newview/llbottomtray.cpp @@ -48,7 +48,6 @@ #include "llimfloater.h" // for LLIMFloater #include "llnearbychatbar.h" #include "llnearbychatbarlistener.h" -#include "llsidetray.h" #include "llspeakbutton.h" #include "llsplitbutton.h" #include "llsyswellwindow.h" diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp index d6773b8b295..7a444edd436 100644 --- a/indra/newview/llchathistory.cpp +++ b/indra/newview/llchathistory.cpp @@ -59,8 +59,6 @@ #include "llviewercontrol.h" -#include "llsidetray.h"//for blocked objects panel - static LLDefaultChildRegistry::Register<LLChatHistory> r("chat_history"); const static std::string NEW_LINE(rawstr_to_utf8("\n")); diff --git a/indra/newview/llcofwearables.cpp b/indra/newview/llcofwearables.cpp index 80e0cca780c..54598f90c83 100644 --- a/indra/newview/llcofwearables.cpp +++ b/indra/newview/llcofwearables.cpp @@ -41,7 +41,6 @@ #include "llviewermenu.h" #include "llwearableitemslist.h" #include "llpaneloutfitedit.h" -#include "llsidetray.h" #include "lltrans.h" static LLRegisterPanelClassWrapper<LLCOFWearables> t_cof_wearables("cof_wearables"); @@ -160,11 +159,6 @@ class CofClothingContextMenu : public CofContextMenu protected: static void replaceWearable(const LLUUID& item_id) { - // *TODO: Most probable that accessing to LLPanelOutfitEdit instance should be: - // LLSideTray::getInstance()->getSidepanelAppearance()->getPanelOutfitEdit() - // without casting. Getter methods provides possibility to check and construct - // absent instance. Explicit relations between components avoids situations - // when we tries to construct instance with unsatisfied implicit input conditions. LLPanelOutfitEdit * panel_outfit_edit = dynamic_cast<LLPanelOutfitEdit*> (LLFloaterSidePanelContainer::getPanel("appearance", "panel_outfit_edit")); @@ -236,8 +230,6 @@ class CofBodyPartContextMenu : public CofContextMenu LLUICtrl::EnableCallbackRegistry::ScopedRegistrar enable_registrar; LLUUID selected_id = mUUIDs.back(); - // *HACK* need to pass pointer to LLPanelOutfitEdit instead of LLSideTray::getInstance()->getPanel(). - // LLSideTray::getInstance()->getPanel() is rather slow variant LLPanelOutfitEdit* panel_oe = dynamic_cast<LLPanelOutfitEdit*>(LLFloaterSidePanelContainer::getPanel("appearance", "panel_outfit_edit")); registrar.add("BodyPart.Replace", boost::bind(&LLPanelOutfitEdit::onReplaceMenuItemClicked, panel_oe, selected_id)); registrar.add("BodyPart.Edit", boost::bind(LLAgentWearables::editWearable, selected_id)); diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index 1eabf32b9f6..6dcfa95a0eb 100644 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -45,7 +45,6 @@ #include "llfloaterworldmap.h" #include "lllandmarkactions.h" #include "llnotificationsutil.h" -#include "llsidetray.h" #include "lltoggleablemenu.h" #include "llviewerinventory.h" #include "llviewermenu.h" diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index d8b6b2e966e..47c86ae5493 100755 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -67,7 +67,6 @@ #include "llscrolllistctrl.h" #include "llscrolllistitem.h" #include "llsliderctrl.h" -#include "llsidetray.h" #include "lltabcontainer.h" #include "lltrans.h" #include "llviewercontrol.h" @@ -1497,11 +1496,7 @@ void LLFloaterPreference::onChangeMaturity() // but the UI for this will still be enabled void LLFloaterPreference::onClickBlockList() { - // don't create side tray on demand - if (LLSideTray::instanceCreated()) - { - LLFloaterSidePanelContainer::showPanel("people", "panel_block_list_sidetray", LLSD()); - } + LLFloaterSidePanelContainer::showPanel("people", "panel_block_list_sidetray", LLSD()); } void LLFloaterPreference::onDoubleClickCheckBox(LLUICtrl* ctrl) diff --git a/indra/newview/llfloatersidetraytab.cpp b/indra/newview/llfloatersidetraytab.cpp deleted file mode 100644 index 9f15e62d84f..00000000000 --- a/indra/newview/llfloatersidetraytab.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/** - * @file llfloatersidetraytab.cpp - * @brief LLFloaterSideTrayTab class definition - * - * $LicenseInfo:firstyear=2010&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#include "llviewerprecompiledheaders.h" - -#include "llfloatersidetraytab.h" - -// newview includes -#include "lltransientfloatermgr.h" -#include "llsidetray.h" - -LLFloaterSideTrayTab::LLFloaterSideTrayTab(const LLSD& key, const Params& params) -: LLFloater(key, params) -{ - // Prevent transient floaters (e.g. IM windows) from hiding - // when this floater is clicked. - LLTransientFloaterMgr::getInstance()->addControlView(LLTransientFloaterMgr::GLOBAL, this); -} - -LLFloaterSideTrayTab::~LLFloaterSideTrayTab() -{ - LLTransientFloaterMgr::getInstance()->removeControlView(LLTransientFloaterMgr::GLOBAL, this); -} - -void LLFloaterSideTrayTab::onClose(bool app_quitting) -{ - // The floater is already being closed, so don't toggle it once more (that may crash viewer). - LLSideTray::getInstance()->setTabDocked(getName(), /* dock = */ true, /* toggle_floater = */ false); -} diff --git a/indra/newview/llfloatersidetraytab.h b/indra/newview/llfloatersidetraytab.h deleted file mode 100644 index 89f2444a0e4..00000000000 --- a/indra/newview/llfloatersidetraytab.h +++ /dev/null @@ -1,49 +0,0 @@ -/** - * @file llfloatersidetraytab.h - * @brief LLFloaterSideTrayTab class definition - * - * $LicenseInfo:firstyear=2010&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#ifndef LL_LLFLOATERSIDETRAYTAB_H -#define LL_LLFLOATERSIDETRAYTAB_H - -#include "llfloater.h" - -/** - * When a side tray tab gets detached, it's wrapped in an instance of this class. - * - * This class helps to make sure that clicking a detached side tray tab doesn't - * make transient floaters (e.g. IM windows) hide, so that it's possible to - * drag an inventory item from detached My Inventory window to a docked IM window, - * i.e. share the item (see VWR-22891). - */ -class LLFloaterSideTrayTab : public LLFloater -{ -public: - LLFloaterSideTrayTab(const LLSD& key, const Params& params = getDefaultParams()); - ~LLFloaterSideTrayTab(); - - void onClose(bool app_quitting); -}; - -#endif // LL_LLFLOATERSIDETRAYTAB_H diff --git a/indra/newview/llgroupactions.cpp b/indra/newview/llgroupactions.cpp index cbbd66d8684..623ebb76f2b 100644 --- a/indra/newview/llgroupactions.cpp +++ b/indra/newview/llgroupactions.cpp @@ -38,7 +38,6 @@ #include "llgroupmgr.h" #include "llimview.h" // for gIMMgr #include "llnotificationsutil.h" -#include "llsidetray.h" #include "llstatusbar.h" // can_afford_transaction() #include "llimfloater.h" #include "groupchatlistener.h" diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp index 50a9c56518a..14d85246e94 100644 --- a/indra/newview/llimfloater.cpp +++ b/indra/newview/llimfloater.cpp @@ -55,15 +55,9 @@ #include "llinventorymodel.h" #include "llrootview.h" #include "llspeakers.h" -#include "llsidetray.h" #include "llviewerchat.h" -static const S32 RECT_PADDING_NOT_INIT = -1; -static const S32 RECT_PADDING_NEED_RECALC = -2; - -S32 LLIMFloater::sAllowedRectRightPadding = RECT_PADDING_NOT_INIT; - LLIMFloater::LLIMFloater(const LLUUID& session_id) : LLTransientDockableFloater(NULL, true, session_id), mControlPanel(NULL), @@ -472,41 +466,9 @@ LLIMFloater* LLIMFloater::show(const LLUUID& session_id) return floater; } -//static -bool LLIMFloater::resetAllowedRectPadding() -{ - //reset allowed rect right padding if "SidebarCameraMovement" option - //or sidebar state changed - sAllowedRectRightPadding = RECT_PADDING_NEED_RECALC ; - return true; -} - void LLIMFloater::getAllowedRect(LLRect& rect) { - if (sAllowedRectRightPadding == RECT_PADDING_NOT_INIT) //wasn't initialized - { - gSavedSettings.getControl("SidebarCameraMovement")->getSignal()->connect(boost::bind(&LLIMFloater::resetAllowedRectPadding)); - - LLSideTray* side_bar = LLSideTray::getInstance(); - side_bar->setVisibleWidthChangeCallback(boost::bind(&LLIMFloater::resetAllowedRectPadding)); - sAllowedRectRightPadding = RECT_PADDING_NEED_RECALC; - } - rect = gViewerWindow->getWorldViewRectScaled(); - if (sAllowedRectRightPadding == RECT_PADDING_NEED_RECALC) //recalc allowed rect right padding - { - LLPanel* side_bar_tabs = - gViewerWindow->getRootView()->getChild<LLPanel> ( - "side_bar_tabs"); - sAllowedRectRightPadding = side_bar_tabs->getRect().getWidth(); - LLTransientFloaterMgr::getInstance()->addControlView(side_bar_tabs); - - if (gSavedSettings.getBOOL("SidebarCameraMovement") == FALSE) - { - sAllowedRectRightPadding += LLSideTray::getInstance()->getVisibleWidth(); - } - } - rect.mRight -= sAllowedRectRightPadding; } void LLIMFloater::setDocked(bool docked, bool pop_on_undock) diff --git a/indra/newview/llimfloater.h b/indra/newview/llimfloater.h index 5158f6c1f78..8a3020ea10a 100644 --- a/indra/newview/llimfloater.h +++ b/indra/newview/llimfloater.h @@ -156,10 +156,6 @@ class LLIMFloater : public LLTransientDockableFloater static void closeHiddenIMToasts(); - static bool resetAllowedRectPadding(); - //need to keep this static for performance issues - static S32 sAllowedRectRightPadding; - static void confirmLeaveCallCallback(const LLSD& notification, const LLSD& response); LLPanelChatControlPanel* mControlPanel; diff --git a/indra/newview/llinspectobject.cpp b/indra/newview/llinspectobject.cpp index 29d7a4a6b09..026c8a09234 100644 --- a/indra/newview/llinspectobject.cpp +++ b/indra/newview/llinspectobject.cpp @@ -46,7 +46,6 @@ #include "llmenubutton.h" #include "llresmgr.h" // getMonetaryString #include "llsafehandle.h" -#include "llsidetray.h" #include "lltextbox.h" // for description truncation #include "lltoggleablemenu.h" #include "lltrans.h" diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index b6041c7f316..2066cbc6b22 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -60,7 +60,6 @@ #include "llpreviewtexture.h" #include "llselectmgr.h" #include "llsidepanelappearance.h" -#include "llsidetray.h" #include "lltrans.h" #include "llviewerassettype.h" #include "llviewerfoldertype.h" diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp index acec02b507b..21a026bcf7f 100644 --- a/indra/newview/llinventoryfunctions.cpp +++ b/indra/newview/llinventoryfunctions.cpp @@ -71,7 +71,6 @@ #include "llscrollbar.h" #include "llscrollcontainer.h" #include "llselectmgr.h" -#include "llsidetray.h" #include "llsidepanelinventory.h" #include "lltabcontainer.h" #include "lltooldraganddrop.h" diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index 27db28367c1..b0f9cb28e66 100644 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -43,7 +43,6 @@ #include "llinventoryfunctions.h" #include "llinventorymodelbackgroundfetch.h" #include "llsidepanelinventory.h" -#include "llsidetray.h" #include "llviewerattachmenu.h" #include "llviewerfoldertype.h" #include "llvoavatarself.h" diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp index f519ad759e7..025181ead55 100644 --- a/indra/newview/lllocationinputctrl.cpp +++ b/indra/newview/lllocationinputctrl.cpp @@ -49,7 +49,6 @@ #include "lllandmarkactions.h" #include "lllandmarklist.h" #include "llteleporthistory.h" -#include "llsidetray.h" #include "llslurl.h" #include "llstatusbar.h" // getHealth() #include "lltrans.h" diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp index 4c0823874c2..fc264db5af9 100644 --- a/indra/newview/llnavigationbar.cpp +++ b/indra/newview/llnavigationbar.cpp @@ -45,7 +45,6 @@ #include "llpaneltopinfobar.h" #include "llteleporthistory.h" #include "llsearchcombobox.h" -#include "llsidetray.h" #include "llslurl.h" #include "llurlregistry.h" #include "llurldispatcher.h" diff --git a/indra/newview/llnearbychat.cpp b/indra/newview/llnearbychat.cpp index a16ea0e7d3d..9eaa64a124f 100644 --- a/indra/newview/llnearbychat.cpp +++ b/indra/newview/llnearbychat.cpp @@ -32,7 +32,6 @@ #include "llrootview.h" //#include "llchatitemscontainerctrl.h" #include "lliconctrl.h" -#include "llsidetray.h" #include "llfloatersidepanelcontainer.h" #include "llfocusmgr.h" #include "llresizebar.h" diff --git a/indra/newview/lloutfitslist.cpp b/indra/newview/lloutfitslist.cpp index c2739867b10..1dc4d796ab2 100644 --- a/indra/newview/lloutfitslist.cpp +++ b/indra/newview/lloutfitslist.cpp @@ -42,7 +42,6 @@ #include "llmenubutton.h" #include "llnotificationsutil.h" #include "lloutfitobserver.h" -#include "llsidetray.h" #include "lltoggleablemenu.h" #include "lltransutil.h" #include "llviewermenu.h" diff --git a/indra/newview/llpanelblockedlist.cpp b/indra/newview/llpanelblockedlist.cpp index 856dabb6b78..5c85ec438cb 100644 --- a/indra/newview/llpanelblockedlist.cpp +++ b/indra/newview/llpanelblockedlist.cpp @@ -38,7 +38,6 @@ // project include #include "llfloateravatarpicker.h" #include "llfloatersidepanelcontainer.h" -#include "llsidetray.h" #include "llsidetraypanelcontainer.h" static LLRegisterPanelClassWrapper<LLPanelBlockedList> t_panel_blocked_list("panel_block_list_sidetray"); diff --git a/indra/newview/llpanelgroup.cpp b/indra/newview/llpanelgroup.cpp index 70dcf61d7d9..ae217958f0e 100644 --- a/indra/newview/llpanelgroup.cpp +++ b/indra/newview/llpanelgroup.cpp @@ -50,7 +50,6 @@ #include "llpanelgroupnotices.h" #include "llpanelgroupgeneral.h" -#include "llsidetray.h" #include "llaccordionctrltab.h" #include "llaccordionctrl.h" diff --git a/indra/newview/llpanelimcontrolpanel.cpp b/indra/newview/llpanelimcontrolpanel.cpp index e370f2f622c..0295ad151f4 100644 --- a/indra/newview/llpanelimcontrolpanel.cpp +++ b/indra/newview/llpanelimcontrolpanel.cpp @@ -40,7 +40,6 @@ #include "llparticipantlist.h" #include "llimview.h" #include "llvoicechannel.h" -#include "llsidetray.h" #include "llspeakers.h" #include "lltrans.h" diff --git a/indra/newview/llpanellandmarks.cpp b/indra/newview/llpanellandmarks.cpp index 1b9eb4813bf..a65631b8d8d 100644 --- a/indra/newview/llpanellandmarks.cpp +++ b/indra/newview/llpanellandmarks.cpp @@ -52,7 +52,6 @@ #include "llmenubutton.h" #include "llplacesinventorybridge.h" #include "llplacesinventorypanel.h" -#include "llsidetray.h" #include "lltoggleablemenu.h" #include "llviewermenu.h" #include "llviewerregion.h" diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp index c1341af2ef8..6562b259c3a 100644 --- a/indra/newview/llpanelmaininventory.cpp +++ b/indra/newview/llpanelmaininventory.cpp @@ -52,7 +52,6 @@ #include "llviewermenu.h" #include "llviewertexturelist.h" #include "llsidepanelinventory.h" -#include "llsidetray.h" const std::string FILTERS_FILENAME("filters.xml"); diff --git a/indra/newview/llpanelmarketplaceinbox.cpp b/indra/newview/llpanelmarketplaceinbox.cpp index a336472fc0d..d1aea51a092 100644 --- a/indra/newview/llpanelmarketplaceinbox.cpp +++ b/indra/newview/llpanelmarketplaceinbox.cpp @@ -59,8 +59,6 @@ LLPanelMarketplaceInbox::~LLPanelMarketplaceInbox() // virtual BOOL LLPanelMarketplaceInbox::postBuild() { - LLAppViewer::instance()->setOnLoginCompletedCallback(boost::bind(&LLPanelMarketplaceInbox::handleLoginComplete, this)); - LLFocusableElement::setFocusReceivedCallback(boost::bind(&LLPanelMarketplaceInbox::onFocusReceived, this)); return TRUE; @@ -74,12 +72,6 @@ void LLPanelMarketplaceInbox::onSelectionChange() } -void LLPanelMarketplaceInbox::handleLoginComplete() -{ - // Set us up as the class to drive the badge value for the sidebar_inventory button - LLSideTray::getInstance()->setTabButtonBadgeDriver("sidebar_inventory", this); -} - LLInventoryPanel * LLPanelMarketplaceInbox::setupInventoryPanel() { LLView * inbox_inventory_placeholder = getChild<LLView>("inbox_inventory_placeholder"); diff --git a/indra/newview/llpanelmarketplaceinbox.h b/indra/newview/llpanelmarketplaceinbox.h index 705a095cf01..3531518e518 100644 --- a/indra/newview/llpanelmarketplaceinbox.h +++ b/indra/newview/llpanelmarketplaceinbox.h @@ -28,11 +28,10 @@ #define LL_LLPANELMARKETPLACEINBOX_H #include "llpanel.h" -#include "llsidetray.h" class LLInventoryPanel; -class LLPanelMarketplaceInbox : public LLPanel, public LLSideTrayTabBadgeDriver +class LLPanelMarketplaceInbox : public LLPanel { public: @@ -61,7 +60,6 @@ class LLPanelMarketplaceInbox : public LLPanel, public LLSideTrayTabBadgeDriver std::string getBadgeString() const; private: - void handleLoginComplete(); void onSelectionChange(); diff --git a/indra/newview/llpanelmarketplaceoutbox.cpp b/indra/newview/llpanelmarketplaceoutbox.cpp index c0de5deb0a0..d4f9654e6ee 100644 --- a/indra/newview/llpanelmarketplaceoutbox.cpp +++ b/indra/newview/llpanelmarketplaceoutbox.cpp @@ -40,7 +40,6 @@ #include "llpanelmarketplaceinbox.h" #include "llsdutil.h" #include "llsidepanelinventory.h" -#include "llsidetray.h" #include "lltimer.h" #include "llviewernetwork.h" #include "llagent.h" diff --git a/indra/newview/llpanelme.cpp b/indra/newview/llpanelme.cpp index 4d86fa15dfd..0b687009bf8 100644 --- a/indra/newview/llpanelme.cpp +++ b/indra/newview/llpanelme.cpp @@ -72,20 +72,6 @@ BOOL LLPanelMe::postBuild() void LLPanelMe::onOpen(const LLSD& key) { LLPanelProfile::onOpen(key); - - // Removed this action as per SOCIAL-431 The first time a new resident opens the profile tab - // in the sidebar, they see the old profile editing panel - // - //// Force Edit My Profile if this is the first time when user is opening Me Panel (EXT-5068) - //bool opened = gSavedSettings.getBOOL("MePanelOpened"); - //// In some cases Side Tray my call onOpen() twice, check getCollapsed() to be sure this - //// is the last time onOpen() is called - //if( !opened && !LLSideTray::getInstance()->getCollapsed() ) - //{ - // buildEditPanel(); - // openPanel(mEditPanel, getAvatarId()); - // gSavedSettings.setBOOL("MePanelOpened", true); - //} } void LLPanelMe::buildEditPanel() diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp index 44364b5831d..98ea6805043 100644 --- a/indra/newview/llpanelobjectinventory.cpp +++ b/indra/newview/llpanelobjectinventory.cpp @@ -57,7 +57,6 @@ #include "llpreviewtexture.h" #include "llscrollcontainer.h" #include "llselectmgr.h" -#include "llsidetray.h" #include "llstatusbar.h" #include "lltooldraganddrop.h" #include "lltrans.h" diff --git a/indra/newview/llpaneloutfitsinventory.cpp b/indra/newview/llpaneloutfitsinventory.cpp index 3ac0d6616b3..f90236f6f28 100644 --- a/indra/newview/llpaneloutfitsinventory.cpp +++ b/indra/newview/llpaneloutfitsinventory.cpp @@ -41,7 +41,6 @@ #include "llpanelwearing.h" #include "llsaveoutfitcombobtn.h" #include "llsidepanelappearance.h" -#include "llsidetray.h" #include "llviewerfoldertype.h" static const std::string OUTFITS_TAB_NAME = "outfitslist_tab"; diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp index 86e481d9538..80c431f4812 100644 --- a/indra/newview/llpanelpeople.cpp +++ b/indra/newview/llpanelpeople.cpp @@ -57,7 +57,6 @@ #include "llinventoryobserver.h" #include "llnetmap.h" #include "llpanelpeoplemenus.h" -#include "llsidetray.h" #include "llsidetraypanelcontainer.h" #include "llrecentpeople.h" #include "llviewercontrol.h" // for gSavedSettings @@ -1452,7 +1451,7 @@ bool LLPanelPeople::notifyChildren(const LLSD& info) container->onOpen(LLSD().with(LLSideTrayPanelContainer::PARAM_SUB_PANEL_NAME, getName())); } else - LLSideTray::getInstance()->collapseSideBar(); + LLFloaterReg::hideFloaterInstance("people"); return true; // this notification is only supposed to be handled by task panels } diff --git a/indra/newview/llpanelplaces.cpp b/indra/newview/llpanelplaces.cpp index 0129ac753ab..7f8f9b29afc 100644 --- a/indra/newview/llpanelplaces.cpp +++ b/indra/newview/llpanelplaces.cpp @@ -65,7 +65,6 @@ #include "llpanelplaceprofile.h" #include "llpanelteleporthistory.h" #include "llremoteparcelrequest.h" -#include "llsidetray.h" #include "llteleporthistorystorage.h" #include "lltoggleablemenu.h" #include "llviewerinventory.h" diff --git a/indra/newview/llpanelteleporthistory.cpp b/indra/newview/llpanelteleporthistory.cpp index 52dd70f0056..79171dbcb92 100644 --- a/indra/newview/llpanelteleporthistory.cpp +++ b/indra/newview/llpanelteleporthistory.cpp @@ -31,7 +31,6 @@ #include "llfloaterworldmap.h" #include "llpanelteleporthistory.h" -#include "llsidetray.h" #include "llworldmap.h" #include "llteleporthistorystorage.h" #include "lltextutil.h" diff --git a/indra/newview/llpaneltopinfobar.cpp b/indra/newview/llpaneltopinfobar.cpp index b6e32dba78e..5ed23d2f425 100644 --- a/indra/newview/llpaneltopinfobar.cpp +++ b/indra/newview/llpaneltopinfobar.cpp @@ -36,7 +36,6 @@ #include "lllocationinputctrl.h" #include "llnotificationsutil.h" #include "llparcel.h" -#include "llsidetray.h" #include "llslurl.h" #include "llstatusbar.h" #include "lltrans.h" diff --git a/indra/newview/llpaneltopinfobar.h b/indra/newview/llpaneltopinfobar.h index 583e91d15e0..e934b522bed 100644 --- a/indra/newview/llpaneltopinfobar.h +++ b/indra/newview/llpaneltopinfobar.h @@ -148,7 +148,7 @@ class LLPanelTopInfoBar : public LLPanel, public LLSingleton<LLPanelTopInfoBar>, void setParcelInfoText(const std::string& new_text); /** - * Implementation of LLDestroyClass<LLSideTray> + * Implementation of LLDestroyClass<T> */ static void destroyClass() { diff --git a/indra/newview/llpanelwearing.cpp b/indra/newview/llpanelwearing.cpp index 87e9bb7b288..e2801c09bde 100644 --- a/indra/newview/llpanelwearing.cpp +++ b/indra/newview/llpanelwearing.cpp @@ -36,7 +36,6 @@ #include "llinventorymodel.h" #include "llinventoryobserver.h" #include "llmenubutton.h" -#include "llsidetray.h" #include "llviewermenu.h" #include "llwearableitemslist.h" #include "llsdserialize.h" diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp index e3bc67a4147..a3b0574bca3 100644 --- a/indra/newview/llscreenchannel.cpp +++ b/indra/newview/llscreenchannel.cpp @@ -41,7 +41,6 @@ #include "llsyswellwindow.h" #include "llimfloater.h" #include "llscriptfloater.h" -#include "llsidetray.h" #include <algorithm> @@ -83,25 +82,8 @@ bool LLScreenChannelBase::isHovering() return mHoveredToast->isHovered(); } -void LLScreenChannelBase::resetPositionAndSize() -{ - LLRect rc = gViewerWindow->getWorldViewRectScaled(); - updatePositionAndSize(rc, rc); -} - void LLScreenChannelBase::updatePositionAndSize(LLRect old_world_rect, LLRect new_world_rect) { - /* - take sidetray into account - screenchannel should not overlap sidetray - */ - S32 world_rect_padding = 0; - if (gSavedSettings.getBOOL("SidebarCameraMovement") == FALSE - && LLSideTray::instanceCreated ()) - { - world_rect_padding += LLSideTray::getInstance()->getVisibleWidth(); - } - - S32 top_delta = old_world_rect.mTop - new_world_rect.mTop; LLRect this_rect = getRect(); @@ -111,10 +93,10 @@ void LLScreenChannelBase::updatePositionAndSize(LLRect old_world_rect, LLRect ne case CA_LEFT : break; case CA_CENTRE : - this_rect.setCenterAndSize( (new_world_rect.getWidth() - world_rect_padding) / 2, new_world_rect.getHeight() / 2, this_rect.getWidth(), this_rect.getHeight()); + this_rect.setCenterAndSize( (new_world_rect.getWidth()) / 2, new_world_rect.getHeight() / 2, this_rect.getWidth(), this_rect.getHeight()); break; case CA_RIGHT : - this_rect.setLeftTopAndSize(new_world_rect.mRight - world_rect_padding - this_rect.getWidth(), + this_rect.setLeftTopAndSize(new_world_rect.mRight - this_rect.getWidth(), this_rect.mTop, this_rect.getWidth(), this_rect.getHeight()); @@ -126,12 +108,6 @@ void LLScreenChannelBase::updatePositionAndSize(LLRect old_world_rect, LLRect ne void LLScreenChannelBase::init(S32 channel_left, S32 channel_right) { - if(LLSideTray::instanceCreated()) - { - LLSideTray* side_bar = LLSideTray::getInstance(); - side_bar->setVisibleWidthChangeCallback(boost::bind(&LLScreenChannelBase::resetPositionAndSize, this)); - } - // top and bottom set by updateBottom() setRect(LLRect(channel_left, 0, channel_right, 0)); updateBottom(); @@ -203,17 +179,6 @@ std::list<LLToast*> LLScreenChannel::findToasts(const Matcher& matcher) //-------------------------------------------------------------------------- void LLScreenChannel::updatePositionAndSize(LLRect old_world_rect, LLRect new_world_rect) { - /* - take sidetray into account - screenchannel should not overlap sidetray - */ - S32 world_rect_padding = 0; - if (gSavedSettings.getBOOL("SidebarCameraMovement") == FALSE - && LLSideTray::instanceCreated ()) - { - world_rect_padding += LLSideTray::getInstance()->getVisibleWidth(); - } - - LLRect this_rect = getRect(); switch(mChannelAlignment) @@ -226,7 +191,7 @@ void LLScreenChannel::updatePositionAndSize(LLRect old_world_rect, LLRect new_wo return; case CA_RIGHT : this_rect.mTop = (S32) (new_world_rect.getHeight() * getHeightRatio()); - this_rect.setLeftTopAndSize(new_world_rect.mRight - world_rect_padding - this_rect.getWidth(), + this_rect.setLeftTopAndSize(new_world_rect.mRight - this_rect.getWidth(), this_rect.mTop, this_rect.getWidth(), this_rect.getHeight()); diff --git a/indra/newview/llscreenchannel.h b/indra/newview/llscreenchannel.h index d207d139819..8f11c82673b 100644 --- a/indra/newview/llscreenchannel.h +++ b/indra/newview/llscreenchannel.h @@ -59,7 +59,6 @@ class LLScreenChannelBase : public LLUICtrl // Channel's outfit-functions // update channel's size and position in the World View virtual void updatePositionAndSize(LLRect old_world_rect, LLRect new_world_rect); - void resetPositionAndSize(); // initialization of channel's shape and position virtual void init(S32 channel_left, S32 channel_right); diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp index a356013830d..853656905c9 100644 --- a/indra/newview/llsidepanelappearance.cpp +++ b/indra/newview/llsidepanelappearance.cpp @@ -42,7 +42,6 @@ #include "lloutfitobserver.h" #include "llpaneleditwearable.h" #include "llpaneloutfitsinventory.h" -#include "llsidetray.h" #include "lltextbox.h" #include "lluictrlfactory.h" #include "llviewercontrol.h" @@ -164,7 +163,6 @@ void LLSidepanelAppearance::onOpen(const LLSD& key) else { // Switch to the requested panel. - // *TODO: replace this crap with LLSideTrayPanelContainer std::string type = key["type"].asString(); if (type == "my_outfits") { diff --git a/indra/newview/llsidepanelinventory.cpp b/indra/newview/llsidepanelinventory.cpp index 0226896f547..f9dc70ccc04 100644 --- a/indra/newview/llsidepanelinventory.cpp +++ b/indra/newview/llsidepanelinventory.cpp @@ -282,19 +282,20 @@ BOOL LLSidepanelInventory::postBuild() enableOutbox(gSavedSettings.getBOOL("InventoryDisplayOutbox")); // Trigger callback for after login so we can setup to track inbox and outbox changes after initial inventory load - LLAppViewer::instance()->setOnLoginCompletedCallback(boost::bind(&LLSidepanelInventory::handleLoginComplete, this)); + LLAppViewer::instance()->setOnLoginCompletedCallback(boost::bind(&LLSidepanelInventory::updateInboxOutbox, this)); } gSavedSettings.getControl("InventoryDisplayInbox")->getCommitSignal()->connect(boost::bind(&handleInventoryDisplayInboxChanged)); gSavedSettings.getControl("InventoryDisplayOutbox")->getCommitSignal()->connect(boost::bind(&handleInventoryDisplayOutboxChanged)); + updateInboxOutbox(); // Update the verbs buttons state. updateVerbs(); return TRUE; } -void LLSidepanelInventory::handleLoginComplete() +void LLSidepanelInventory::updateInboxOutbox() { // // Track inbox and outbox folder changes diff --git a/indra/newview/llsidepanelinventory.h b/indra/newview/llsidepanelinventory.h index b7d11f7f9b9..4e34926a4b2 100644 --- a/indra/newview/llsidepanelinventory.h +++ b/indra/newview/llsidepanelinventory.h @@ -47,7 +47,7 @@ class LLSidepanelInventory : public LLPanel virtual ~LLSidepanelInventory(); private: - void handleLoginComplete(); + void updateInboxOutbox(); public: void observeInboxOutboxCreation(); diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp deleted file mode 100644 index 55d6378ad8e..00000000000 --- a/indra/newview/llsidetray.cpp +++ /dev/null @@ -1,1489 +0,0 @@ -/** - * @file llsidetray.cpp - * @brief SideBar implementation - * - * $LicenseInfo:firstyear=2009&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#include "llviewerprecompiledheaders.h" - -#include "lltextbox.h" - -#include "llagentcamera.h" -#include "llappviewer.h" -#include "llbadge.h" -#include "llbottomtray.h" -#include "llfloaterreg.h" -#include "llfirstuse.h" -#include "llhints.h" -#include "llsidetray.h" -#include "llviewerwindow.h" -#include "llaccordionctrl.h" -#include "llfocusmgr.h" -#include "llrootview.h" -#include "llnavigationbar.h" -#include "llpanelmarketplaceinbox.h" - -#include "llaccordionctrltab.h" - -#include "llfloater.h" //for gFloaterView -#include "lliconctrl.h"//for OpenClose tab icon -#include "llsidetraypanelcontainer.h" -#include "llscreenchannel.h" -#include "llchannelmanager.h" -#include "llwindow.h"//for SetCursor -#include "lltransientfloatermgr.h" - -#include "llsidepanelappearance.h" - -#include "llsidetraylistener.h" - -//#include "llscrollcontainer.h" - -using namespace std; -using namespace LLNotificationsUI; - -class LLSideTrayButton; - -static LLRootViewRegistry::Register<LLSideTray> t1("side_tray"); -static LLDefaultChildRegistry::Register<LLSideTrayTab> t2("sidetray_tab"); - -static const S32 BOTTOM_BAR_PAD = 5; - -static const std::string COLLAPSED_NAME = "<<"; -static const std::string EXPANDED_NAME = ">>"; - -static const std::string TAB_PANEL_CAPTION_NAME = "sidetray_tab_panel"; -static const std::string TAB_PANEL_CAPTION_TITLE_BOX = "sidetray_tab_title"; - -LLSideTray* LLSideTray::sInstance = 0; - -static LLSideTrayListener sSideTrayListener(LLSideTray::getInstance); - -// static -LLSideTray* LLSideTray::getInstance() -{ - if (!sInstance) - { - sInstance = LLUICtrlFactory::createFromFile<LLSideTray>("panel_side_tray.xml",NULL, LLRootView::child_registry_t::instance()); - sInstance->setXMLFilename("panel_side_tray.xml"); - } - - return sInstance; -} - -// static -bool LLSideTray::instanceCreated () -{ - return sInstance!=0; -} - -////////////////////////////////////////////////////////////////////////////// -// LLSideTrayTab -// Represents a single tab in the side tray, only used by LLSideTray -////////////////////////////////////////////////////////////////////////////// - -class LLSideTrayTab: public LLPanel -{ - LOG_CLASS(LLSideTrayTab); - friend class LLUICtrlFactory; - friend class LLSideTray; -public: - - struct Params - : public LLInitParam::Block<Params, LLPanel::Params> - { - // image name - Optional<std::string> image; - Optional<std::string> image_selected; - Optional<std::string> tab_title; - Optional<std::string> description; - Optional<LLBadge::Params> badge; - - Params() - : image("image"), - image_selected("image_selected"), - tab_title("tab_title","no title"), - description("description","no description"), - badge("badge") - {}; - }; -protected: - LLSideTrayTab(const Params& params); - - void dock(LLFloater* floater_tab); - void undock(LLFloater* floater_tab); - - LLSideTray* getSideTray(); - -public: - virtual ~LLSideTrayTab(); - - /*virtual*/ BOOL postBuild (); - /*virtual*/ bool addChild (LLView* view, S32 tab_group); - - - void reshape (S32 width, S32 height, BOOL called_from_parent = TRUE); - - static LLSideTrayTab* createInstance (); - - const std::string& getDescription () const { return mDescription;} - - void onOpen (const LLSD& key); - - void toggleTabDocked(bool toggle_floater = true); - void setDocked(bool dock); - bool isDocked() const; - - BOOL handleScrollWheel(S32 x, S32 y, S32 clicks); - - LLPanel* getPanel(); - - LLButton* createButton(bool allowTearOff, LLUICtrl::commit_callback_t callback); - -private: - std::string mTabTitle; - std::string mImage; - std::string mImageSelected; - std::string mDescription; - - LLView* mMainPanel; - - bool mHasBadge; - LLBadge::Params mBadgeParams; - LLSideTrayButton* mSideTrayButton; -}; - -////////////////////////////////////////////////////////////////////////////// -// LLSideTrayButton -// Side Tray tab button with "tear off" handling. -////////////////////////////////////////////////////////////////////////////// - -class LLSideTrayButton : public LLButton -{ -public: - /*virtual*/ BOOL handleMouseDown(S32 x, S32 y, MASK mask) - { - // Route future Mouse messages here preemptively. (Release on mouse up.) - // No handler needed for focus lost since this class has no state that depends on it. - gFocusMgr.setMouseCapture(this); - - localPointToScreen(x, y, &mDragLastScreenX, &mDragLastScreenY); - - // Note: don't pass on to children - return TRUE; - } - - /*virtual*/ BOOL handleHover(S32 x, S32 y, MASK mask) - { - // We only handle the click if the click both started and ended within us - if( !hasMouseCapture() ) return FALSE; - - S32 screen_x; - S32 screen_y; - localPointToScreen(x, y, &screen_x, &screen_y); - - S32 delta_x = screen_x - mDragLastScreenX; - S32 delta_y = screen_y - mDragLastScreenY; - - LLSideTray* side_tray = LLSideTray::getInstance(); - - // Check if the tab we are dragging is docked. - if (!side_tray->isTabAttached(mTabName)) return FALSE; - - // Same value is hardcoded in LLDragHandle::handleHover(). - const S32 undock_threshold = 12; - - // Detach a tab if it has been pulled further than undock_threshold. - if (delta_x <= -undock_threshold || delta_x >= undock_threshold || - delta_y <= -undock_threshold || delta_y >= undock_threshold) - { - LLSideTrayTab* tab = side_tray->getTab(mTabName); - if (!tab) return FALSE; - - tab->setDocked(false); - - LLFloater* floater_tab = LLFloaterReg::getInstance("side_bar_tab", tab->getName()); - if (!floater_tab) return FALSE; - - LLRect original_rect = floater_tab->getRect(); - S32 header_snap_y = floater_tab->getHeaderHeight() / 2; - S32 snap_x = screen_x - original_rect.mLeft - original_rect.getWidth() / 2; - S32 snap_y = screen_y - original_rect.mTop + header_snap_y; - - // Move the floater to appear "under" the mouse pointer. - floater_tab->setRect(original_rect.translate(snap_x, snap_y)); - - // Snap the mouse pointer to the center of the floater header - // and call 'mouse down' event handler to begin dragging. - floater_tab->handleMouseDown(original_rect.getWidth() / 2, - original_rect.getHeight() - header_snap_y, - mask); - - return TRUE; - } - - return FALSE; - } - - void setBadgeDriver(LLSideTrayTabBadgeDriver* driver) - { - mBadgeDriver = driver; - } - - void setVisible(BOOL visible) - { - setBadgeVisibility(visible); - - LLButton::setVisible(visible); - } - -protected: - LLSideTrayButton(const LLButton::Params& p) - : LLButton(p) - , mDragLastScreenX(0) - , mDragLastScreenY(0) - , mBadgeDriver(NULL) - { - // Find out the tab name to use in handleHover(). - size_t pos = getName().find("_button"); - llassert(pos != std::string::npos); - mTabName = getName().substr(0, pos); - } - - friend class LLUICtrlFactory; - - void draw() - { - if (mBadgeDriver) - { - setBadgeLabel(mBadgeDriver->getBadgeString()); - } - - LLButton::draw(); - } - -private: - S32 mDragLastScreenX; - S32 mDragLastScreenY; - - std::string mTabName; - LLSideTrayTabBadgeDriver* mBadgeDriver; -}; - - -//////////////////////////////////////////////////// -// LLSideTrayTab implementation -//////////////////////////////////////////////////// - -LLSideTrayTab::LLSideTrayTab(const Params& p) -: LLPanel(), - mTabTitle(p.tab_title), - mImage(p.image), - mImageSelected(p.image_selected), - mDescription(p.description), - mMainPanel(NULL), - mBadgeParams(p.badge), - mSideTrayButton(NULL) -{ - mHasBadge = p.badge.isProvided(); -} - -LLSideTrayTab::~LLSideTrayTab() -{ -} - -bool LLSideTrayTab::addChild(LLView* view, S32 tab_group) -{ - if(mMainPanel == 0 && TAB_PANEL_CAPTION_NAME != view->getName())//skip our caption panel - mMainPanel = view; - return LLPanel::addChild(view,tab_group); - //return res; -} - -//virtual -BOOL LLSideTrayTab::postBuild() -{ - LLPanel* title_panel = LLUICtrlFactory::getInstance()->createFromFile<LLPanel>("panel_side_tray_tab_caption.xml",this, child_registry_t::instance()); - string name = title_panel->getName(); - LLPanel::addChild(title_panel); - - title_panel->getChild<LLTextBox>(TAB_PANEL_CAPTION_TITLE_BOX)->setValue(mTabTitle); - - getChild<LLButton>("undock")->setCommitCallback(boost::bind(&LLSideTrayTab::setDocked, this, false)); - getChild<LLButton>("dock")->setCommitCallback(boost::bind(&LLSideTrayTab::setDocked, this, true)); - - return LLPanel::postBuild(); -} - -static const S32 splitter_margin = 1; - -void LLSideTrayTab::reshape (S32 width, S32 height, BOOL called_from_parent ) -{ - LLPanel::reshape(width, height, called_from_parent); - LLView* title_panel = findChildView(TAB_PANEL_CAPTION_NAME, true); - if (!title_panel) - { - // not fully constructed yet - return; - } - - S32 title_height = title_panel->getRect().getHeight(); - title_panel->setOrigin( 0, height - title_height ); - title_panel->reshape(width,title_height); - - LLRect sRect; - sRect.setLeftTopAndSize( splitter_margin, height - title_height - splitter_margin, - width - 2*splitter_margin, height - title_height - 2*splitter_margin); - mMainPanel->setShape(sRect); -} - -void LLSideTrayTab::onOpen (const LLSD& key) -{ - LLPanel *panel = getPanel(); - if(panel) - panel->onOpen(key); -} - -// Attempts to get the existing side tray instance. -// Needed to avoid recursive calls of LLSideTray::getInstance(). -LLSideTray* LLSideTrayTab::getSideTray() -{ - // First, check if the side tray is our parent (i.e. we're attached). - LLSideTray* side_tray = dynamic_cast<LLSideTray*>(getParent()); - if (!side_tray) - { - // Detached? Ok, check if the instance exists at all/ - if (LLSideTray::instanceCreated()) - { - side_tray = LLSideTray::getInstance(); - } - else - { - llerrs << "No safe way to get the side tray instance" << llendl; - } - } - - return side_tray; -} - -void LLSideTrayTab::toggleTabDocked(bool toggle_floater /* = true */) -{ - // *FIX: Calling this method twice per frame would crash the viewer. - - std::string tab_name = getName(); - - LLFloater* floater_tab = LLFloaterReg::getInstance("side_bar_tab", tab_name); - if (!floater_tab) return; - - bool docking = !isDocked(); - - if (mSideTrayButton) - { - mSideTrayButton->setVisible(docking); - } - - // Hide the "Tear Off" button when a tab gets undocked - // and show "Dock" button instead. - getChild<LLButton>("undock")->setVisible(docking); - getChild<LLButton>("dock")->setVisible(!docking); - - if (docking) - { - dock(floater_tab); - } - else - { - undock(floater_tab); - } - - // Open/close the floater *after* we reparent the tab panel, - // so that it doesn't receive redundant visibility change notifications. - if (toggle_floater) - { - LLFloaterReg::toggleInstance("side_bar_tab", tab_name); - } -} - -// Same as toggleTabDocked() apart from making sure that we do exactly what we want. -void LLSideTrayTab::setDocked(bool dock) -{ - if (isDocked() == dock) - { - llwarns << "Tab " << getName() << " is already " << (dock ? "docked" : "undocked") << llendl; - return; - } - - toggleTabDocked(); -} - -bool LLSideTrayTab::isDocked() const -{ - return dynamic_cast<LLSideTray*>(getParent()) != NULL; -} - -BOOL LLSideTrayTab::handleScrollWheel(S32 x, S32 y, S32 clicks) -{ - // Let children handle the event - LLUICtrl::handleScrollWheel(x, y, clicks); - - // and then eat it to prevent in-world scrolling (STORM-351). - return TRUE; -} - -void LLSideTrayTab::dock(LLFloater* floater_tab) -{ - LLSideTray* side_tray = getSideTray(); - if (!side_tray) return; - - // Before docking the tab, reset its (and its children's) transparency to default (STORM-688). - floater_tab->updateTransparency(TT_DEFAULT); - - if (!side_tray->addTab(this)) - { - llwarns << "Failed to add tab " << getName() << " to side tray" << llendl; - return; - } - - setRect(side_tray->getLocalRect()); - reshape(getRect().getWidth(), getRect().getHeight()); - - // Select the re-docked tab. - side_tray->selectTabByName(getName()); - - if (side_tray->getCollapsed()) - { - side_tray->expandSideBar(false); - } -} - -static void on_minimize(LLSidepanelAppearance* panel, LLSD minimized) -{ - if (!panel) return; - bool visible = !minimized.asBoolean(); - LLSD visibility; - visibility["visible"] = visible; - // Do not reset accordion state on minimize (STORM-375) - visibility["reset_accordion"] = false; - panel->updateToVisibility(visibility); -} - -void LLSideTrayTab::undock(LLFloater* floater_tab) -{ - LLSideTray* side_tray = getSideTray(); - if (!side_tray) return; - - // Remember whether the tab have been active before detaching - // because removeTab() will change active tab. - bool was_active = side_tray->getActiveTab() == this; - - // Remove the tab from Side Tray's tabs list. - // We have to do it despite removing the tab from Side Tray's child view tree - // by addChild(). Otherwise the tab could be accessed by the pointer in LLSideTray::mTabs. - if (!side_tray->removeTab(this)) - { - llwarns << "Failed to remove tab " << getName() << " from side tray" << llendl; - return; - } - - // If we're undocking while side tray is collapsed we need to explicitly show the panel. - if (!getVisible()) - { - setVisible(true); - } - - floater_tab->addChild(this); - floater_tab->setTitle(mTabTitle); - floater_tab->setName(getName()); - - // Resize handles get obscured by added panel so move them to front. - floater_tab->moveResizeHandlesToFront(); - - // Reshape the floater if needed. - LLRect floater_rect; - if (floater_tab->hasSavedRect()) - { - // We've got saved rect for the floater, hence no need to reshape it. - floater_rect = floater_tab->getLocalRect(); - } - else - { - // Detaching for the first time. Reshape the floater. - floater_rect = side_tray->getLocalRect(); - - // Reduce detached floater height by small BOTTOM_BAR_PAD not to make it flush with the bottom bar. - floater_rect.mBottom += LLBottomTray::getInstance()->getRect().getHeight() + BOTTOM_BAR_PAD; - floater_rect.makeValid(); - floater_tab->reshape(floater_rect.getWidth(), floater_rect.getHeight()); - } - - // Reshape the panel. - { - LLRect panel_rect = floater_tab->getLocalRect(); - panel_rect.mTop -= floater_tab->getHeaderHeight(); - panel_rect.makeValid(); - setRect(panel_rect); - reshape(panel_rect.getWidth(), panel_rect.getHeight()); - } - - // Set FOLLOWS_ALL flag for the tab to follow floater dimensions upon resizing. - setFollowsAll(); - - // Camera view may need to be changed for appearance panel(STORM-301) on minimize of floater, - // so setting callback here. - if (getName() == "sidebar_appearance") - { - LLSidepanelAppearance* panel_appearance = dynamic_cast<LLSidepanelAppearance*>(getPanel()); - if(panel_appearance) - { - floater_tab->setMinimizeCallback(boost::bind(&on_minimize, panel_appearance, _2)); - } - } - - if (!side_tray->getCollapsed()) - { - side_tray->collapseSideBar(); - } - - if (!was_active) - { - // When a tab other then current active tab is detached from Side Tray - // onOpen() should be called as tab visibility is changed. - onOpen(LLSD()); - } -} - -LLPanel* LLSideTrayTab::getPanel() -{ - LLPanel* panel = dynamic_cast<LLPanel*>(mMainPanel); - return panel; -} - -LLSideTrayTab* LLSideTrayTab::createInstance () -{ - LLSideTrayTab::Params tab_params; - tab_params.tab_title("openclose"); - - LLSideTrayTab* tab = LLUICtrlFactory::create<LLSideTrayTab>(tab_params); - return tab; -} - -// Now that we know the definition of LLSideTrayTab, we can implement -// tab_cast. -template <> -LLPanel* tab_cast<LLPanel*>(LLSideTrayTab* tab) { return tab; } - -////////////////////////////////////////////////////////////////////////////// -// LLSideTray -////////////////////////////////////////////////////////////////////////////// - -LLSideTray::Params::Params() -: collapsed("collapsed",false), - tab_btn_image_normal("tab_btn_image",LLUI::getUIImage("taskpanel/TaskPanel_Tab_Off.png")), - tab_btn_image_selected("tab_btn_image_selected",LLUI::getUIImage("taskpanel/TaskPanel_Tab_Selected.png")), - default_button_width("tab_btn_width",32), - default_button_height("tab_btn_height",32), - default_button_margin("tab_btn_margin",0) -{} - -//virtual -LLSideTray::LLSideTray(const Params& params) - : LLPanel(params) - ,mActiveTab(0) - ,mCollapsed(false) - ,mCollapseButton(0) -{ - mCollapsed=params.collapsed; - - LLUICtrl::CommitCallbackRegistry::Registrar& commit = LLUICtrl::CommitCallbackRegistry::currentRegistrar(); - - // register handler function to process data from the xml. - // panel_name should be specified via "parameter" attribute. - commit.add("SideTray.ShowPanel", boost::bind(&LLSideTray::showPanel, this, _2, LLUUID::null)); - commit.add("SideTray.Toggle", boost::bind(&LLSideTray::onToggleCollapse, this)); - commit.add("SideTray.Collapse", boost::bind(&LLSideTray::collapseSideBar, this)); - LLTransientFloaterMgr::getInstance()->addControlView(this); - LLView* side_bar_tabs = gViewerWindow->getRootView()->getChildView("side_bar_tabs"); - if (side_bar_tabs != NULL) - { - LLTransientFloaterMgr::getInstance()->addControlView(side_bar_tabs); - } - - LLPanel::Params p; - p.name = "buttons_panel"; - p.mouse_opaque = false; - mButtonsPanel = LLUICtrlFactory::create<LLPanel>(p); -} - - -BOOL LLSideTray::postBuild() -{ - createButtons(); - - arrange(); - selectTabByName("sidebar_home"); - - if(mCollapsed) - collapseSideBar(); - - setMouseOpaque(false); - - LLAppViewer::instance()->setOnLoginCompletedCallback(boost::bind(&LLSideTray::handleLoginComplete, this)); - - // Remember original tabs order, so that we can restore it if user detaches and then re-attaches a tab. - for (child_vector_const_iter_t it = mTabs.begin(); it != mTabs.end(); ++it) - { - std::string tab_name = (*it)->getName(); - mOriginalTabOrder.push_back(tab_name); - } - - //EXT-8045 - //connect all already created channels to reflect sidetray collapse/expand - std::vector<LLChannelManager::ChannelElem>& channels = LLChannelManager::getInstance()->getChannelList(); - for(std::vector<LLChannelManager::ChannelElem>::iterator it = channels.begin();it!=channels.end();++it) - { - if ((*it).channel) - { - setVisibleWidthChangeCallback(boost::bind(&LLScreenChannelBase::resetPositionAndSize, (*it).channel)); - } - } - - return true; -} - -void LLSideTray::setTabButtonBadgeDriver(std::string tabName, LLSideTrayTabBadgeDriver* driver) -{ - mTabButtonBadgeDrivers[tabName] = driver; -} - -void LLSideTray::handleLoginComplete() -{ - //reset tab to "home" tab if it was changesd during login process - selectTabByName("sidebar_home"); - - for (badge_map_t::iterator it = mTabButtonBadgeDrivers.begin(); it != mTabButtonBadgeDrivers.end(); ++it) - { - LLButton* button = mTabButtons[it->first]; - LLSideTrayButton* side_button = dynamic_cast<LLSideTrayButton*>(button); - - if (side_button) - { - side_button->setBadgeDriver(it->second); - } - else - { - llwarns << "Unable to find button " << it->first << " to set the badge driver. " << llendl; - } - } - - detachTabs(); -} - -LLSideTrayTab* LLSideTray::getTab(const std::string& name) -{ - return findChild<LLSideTrayTab>(name,false); -} - -bool LLSideTray::isTabAttached(const std::string& name) -{ - LLSideTrayTab* tab = getTab(name); - llassert(tab); - if (!tab) return false; - - return std::find(mTabs.begin(), mTabs.end(), tab) != mTabs.end(); -} - -bool LLSideTray::hasTabs() -{ - // The open/close tab doesn't count. - return mTabs.size() > 1; -} - -void LLSideTray::toggleTabButton(LLSideTrayTab* tab) -{ - if(tab == NULL) - return; - std::string name = tab->getName(); - std::map<std::string,LLButton*>::iterator it = mTabButtons.find(name); - if(it != mTabButtons.end()) - { - LLButton* btn = it->second; - bool new_state = !btn->getToggleState(); - btn->setToggleState(new_state); - // Only highlight the tab if side tray is expanded (STORM-157). - btn->setImageOverlay( new_state && !getCollapsed() ? tab->mImageSelected : tab->mImage ); - } -} - -LLPanel* LLSideTray::openChildPanel(LLSideTrayTab* tab, const std::string& panel_name, const LLSD& params) -{ - LLView* view = tab->findChildView(panel_name, true); - if (!view) return NULL; - - std::string tab_name = tab->getName(); - - bool tab_attached = isTabAttached(tab_name); - - if (tab_attached && LLUI::sSettingGroups["config"]->getBOOL("OpenSidePanelsInFloaters")) - { - tab->setDocked(false); - tab_attached = false; - } - - // Select tab and expand Side Tray only when a tab is attached. - if (tab_attached) - { - selectTabByName(tab_name); - if (mCollapsed) - expandSideBar(); - } - else - { - LLFloater* floater_tab = LLFloaterReg::getInstance("side_bar_tab", tab_name); - if (!floater_tab) return NULL; - - floater_tab->openFloater(tab_name); - } - - LLSideTrayPanelContainer* container = dynamic_cast<LLSideTrayPanelContainer*>(view->getParent()); - if (container) - { - LLSD new_params = params; - new_params[LLSideTrayPanelContainer::PARAM_SUB_PANEL_NAME] = panel_name; - container->onOpen(new_params); - - return container->getCurrentPanel(); - } - - LLPanel* panel = dynamic_cast<LLPanel*>(view); - if (panel) - { - panel->onOpen(params); - } - - return panel; -} - -bool LLSideTray::selectTabByIndex(size_t index) -{ - if(index>=mTabs.size()) - return false; - - LLSideTrayTab* sidebar_tab = mTabs[index]; - return selectTabByName(sidebar_tab->getName()); -} - -bool LLSideTray::selectTabByName(const std::string& name, bool keep_prev_visible) -{ - LLSideTrayTab* tab_to_keep_visible = NULL; - LLSideTrayTab* new_tab = getTab(name); - if (!new_tab) return false; - - // Bail out if already selected. - if (new_tab == mActiveTab) - return false; - - //deselect old tab - if (mActiveTab) - { - // Keep previously active tab visible if requested. - if (keep_prev_visible) tab_to_keep_visible = mActiveTab; - toggleTabButton(mActiveTab); - } - - //select new tab - mActiveTab = new_tab; - - if (mActiveTab) - { - toggleTabButton(mActiveTab); - LLSD key;//empty - mActiveTab->onOpen(key); - } - - //arrange(); - - //hide all tabs - show active tab - child_vector_const_iter_t child_it; - for ( child_it = mTabs.begin(); child_it != mTabs.end(); ++child_it) - { - LLSideTrayTab* sidebar_tab = *child_it; - - bool vis = sidebar_tab == mActiveTab; - - // Force keeping the tab visible if requested. - vis |= sidebar_tab == tab_to_keep_visible; - - // When the last tab gets detached, for a short moment the "Toggle Sidebar" pseudo-tab - // is shown. So, to avoid the flicker we make sure it never gets visible. - vis &= (*child_it)->getName() != "sidebar_openclose"; - - sidebar_tab->setVisible(vis); - } - return true; -} - -bool LLSideTray::addChild(LLView* view, S32 tab_group) -{ - LLSideTrayTab* tab_panel = dynamic_cast<LLSideTrayTab*>(view); - - if (tab_panel) - { - mTabs.push_back(tab_panel); - } - - return LLUICtrl::addChild(view, tab_group); -} - -bool LLSideTray::removeTab(LLSideTrayTab* tab) -{ - if (!tab) return false; - std::string tab_name = tab->getName(); - - // Look up the tab in the list of known tabs. - child_vector_iter_t tab_it = std::find(mTabs.begin(), mTabs.end(), tab); - if (tab_it == mTabs.end()) - { - llwarns << "Cannot find tab named " << tab_name << llendl; - return false; - } - - // Find the button corresponding to the tab. - button_map_t::iterator btn_it = mTabButtons.find(tab_name); - if (btn_it == mTabButtons.end()) - { - llwarns << "Cannot find button for tab named " << tab_name << llendl; - return false; - } - LLButton* btn = btn_it->second; - - // Deselect the tab. - if (mActiveTab == tab) - { - // Select the next tab (or first one, if we're removing the last tab), - // skipping the fake open/close tab (STORM-155). - child_vector_iter_t next_tab_it = tab_it; - do - { - next_tab_it = (next_tab_it < (mTabs.end() - 1)) ? next_tab_it + 1 : mTabs.begin(); - } - while ((*next_tab_it)->getName() == "sidebar_openclose"); - - selectTabByName((*next_tab_it)->getName(), true); // Don't hide the tab being removed. - } - - // Remove the tab. - removeChild(tab); - mTabs.erase(tab_it); - - // Add the tab to detached tabs list. - mDetachedTabs.push_back(tab); - - // Remove the button from the buttons panel so that it isn't drawn anymore. - mButtonsPanel->removeChild(btn); - - // Re-arrange remaining tabs. - arrange(); - - return true; -} - -bool LLSideTray::addTab(LLSideTrayTab* tab) -{ - if (tab == NULL) return false; - - std::string tab_name = tab->getName(); - - // Make sure the tab isn't already in the list. - if (std::find(mTabs.begin(), mTabs.end(), tab) != mTabs.end()) - { - llwarns << "Attempt to re-add existing tab " << tab_name << llendl; - return false; - } - - // Look up the corresponding button. - button_map_t::const_iterator btn_it = mTabButtons.find(tab_name); - if (btn_it == mTabButtons.end()) - { - llwarns << "Tab " << tab_name << " has no associated button" << llendl; - return false; - } - LLButton* btn = btn_it->second; - - // Insert the tab at its original position. - LLUICtrl::addChild(tab); - { - tab_order_vector_const_iter_t new_tab_orig_pos = - std::find(mOriginalTabOrder.begin(), mOriginalTabOrder.end(), tab_name); - llassert(new_tab_orig_pos != mOriginalTabOrder.end()); - child_vector_iter_t insert_pos = mTabs.end(); - - for (child_vector_iter_t tab_it = mTabs.begin(); tab_it != mTabs.end(); ++tab_it) - { - tab_order_vector_const_iter_t cur_tab_orig_pos = - std::find(mOriginalTabOrder.begin(), mOriginalTabOrder.end(), (*tab_it)->getName()); - llassert(cur_tab_orig_pos != mOriginalTabOrder.end()); - - if (new_tab_orig_pos < cur_tab_orig_pos) - { - insert_pos = tab_it; - break; - } - } - - mTabs.insert(insert_pos, tab); - } - - // Add the button to the buttons panel so that it's drawn again. - mButtonsPanel->addChildInBack(btn); - - // Arrange tabs after inserting a new one. - arrange(); - - // Remove the tab from the list of detached tabs. - child_vector_iter_t tab_it = std::find(mDetachedTabs.begin(), mDetachedTabs.end(), tab); - if (tab_it != mDetachedTabs.end()) - { - mDetachedTabs.erase(tab_it); - } - - return true; -} - -LLButton* LLSideTrayTab::createButton(bool allowTearOff, LLUICtrl::commit_callback_t callback) -{ - static LLSideTray::Params sidetray_params(LLUICtrlFactory::getDefaultParams<LLSideTray>()); - - LLRect rect; - rect.setOriginAndSize(0, 0, sidetray_params.default_button_width, sidetray_params.default_button_height); - - LLButton::Params bparams; - - // Append "_button" to the side tray tab name - std::string button_name = getName() + "_button"; - bparams.name(button_name); - bparams.follows.flags (FOLLOWS_LEFT | FOLLOWS_TOP); - bparams.rect (rect); - bparams.tab_stop(false); - bparams.image_unselected(sidetray_params.tab_btn_image_normal); - bparams.image_selected(sidetray_params.tab_btn_image_selected); - bparams.image_disabled(sidetray_params.tab_btn_image_normal); - bparams.image_disabled_selected(sidetray_params.tab_btn_image_selected); - - if (mHasBadge) - { - bparams.badge = mBadgeParams; - } - - LLButton* button; - if (allowTearOff) - { - mSideTrayButton = LLUICtrlFactory::create<LLSideTrayButton>(bparams); - - button = mSideTrayButton; - } - else - { - // "Open/Close" button shouldn't allow "tear off" - // hence it is created as LLButton instance. - button = LLUICtrlFactory::create<LLButton>(bparams); - } - - button->setClickedCallback(callback); - - button->setToolTip(mTabTitle); - - if(mImage.length()) - { - button->setImageOverlay(mImage); - } - - return button; -} - -void LLSideTray::createButtons() -{ - //create buttons for tabs - child_vector_const_iter_t child_it = mTabs.begin(); - for ( ; child_it != mTabs.end(); ++child_it) - { - LLSideTrayTab* sidebar_tab = *child_it; - - std::string name = sidebar_tab->getName(); - - // The "OpenClose" button will open/close the whole panel - if (name == "sidebar_openclose") - { - mCollapseButton = sidebar_tab->createButton(false, boost::bind(&LLSideTray::onToggleCollapse, this)); - - mButtonsPanel->addChildInBack(mCollapseButton); - - LLHints::registerHintTarget("side_panel_btn", mCollapseButton->getHandle()); - } - else - { - LLButton* button = sidebar_tab->createButton(true, boost::bind(&LLSideTray::onTabButtonClick, this, name)); - - mButtonsPanel->addChildInBack(button); - - mTabButtons[name] = button; - } - } - - LLHints::registerHintTarget("inventory_btn", mTabButtons["sidebar_inventory"]->getHandle()); -} - -void LLSideTray::processTriState () -{ - if(mCollapsed) - expandSideBar(); - else - { -#if 0 // *TODO: EXT-2092 - - // Tell the active task panel to switch to its default view - // or collapse side tray if already on the default view. - LLSD info; - info["task-panel-action"] = "handle-tri-state"; - mActiveTab->notifyChildren(info); -#else - collapseSideBar(); -#endif - } -} - -void LLSideTray::onTabButtonClick(string name) -{ - LLSideTrayTab* tab = getTab(name); - if (!tab) return; - - if(tab == mActiveTab) - { - processTriState (); - return; - } - selectTabByName (name); - if(mCollapsed) - expandSideBar(); -} - -void LLSideTray::onToggleCollapse() -{ - LLFirstUse::notUsingSidePanel(false); - if(mCollapsed) - { - expandSideBar(); - //selectTabByName("sidebar_openclose"); - } - else - collapseSideBar(); -} - - -void LLSideTray::reflectCollapseChange() -{ - updateSidetrayVisibility(); - - setFocus(!mCollapsed); - - gFloaterView->refresh(); -} - -void LLSideTray::arrange() -{ - static LLSideTray::Params sidetray_params(LLUICtrlFactory::getDefaultParams<LLSideTray>()); - - updateSidetrayVisibility(); - - LLRect ctrl_rect; - ctrl_rect.setLeftTopAndSize(0, - mButtonsPanel->getRect().getHeight() - sidetray_params.default_button_width, - sidetray_params.default_button_width, - sidetray_params.default_button_height); - - mCollapseButton->setRect(ctrl_rect); - - //arrange tab buttons - //arrange tab buttons - child_vector_const_iter_t child_it; - int offset = (sidetray_params.default_button_height+sidetray_params.default_button_margin)*2; - for ( child_it = mTabs.begin(); child_it != mTabs.end(); ++child_it) - { - LLSideTrayTab* sidebar_tab = *child_it; - - ctrl_rect.setLeftTopAndSize(0, - mButtonsPanel->getRect().getHeight()-offset, - sidetray_params.default_button_width, - sidetray_params.default_button_height); - - if(mTabButtons.find(sidebar_tab->getName()) == mTabButtons.end()) - continue; - - LLButton* btn = mTabButtons[sidebar_tab->getName()]; - - btn->setRect(ctrl_rect); - offset+=sidetray_params.default_button_height; - offset+=sidetray_params.default_button_margin; - - btn->setVisible(ctrl_rect.mBottom > 0); - } - - //arrange tabs - for ( child_vector_t::iterator child_it = mTabs.begin(); child_it != mTabs.end(); ++child_it) - { - LLSideTrayTab* sidebar_tab = *child_it; - sidebar_tab->setShape(getLocalRect()); - } - - // The tab buttons should be shown only if there is at least one non-detached tab. - // Also hide them in mouse-look mode. - mButtonsPanel->setVisible(hasTabs() && !gAgentCamera.cameraMouselook()); -} - -// Detach those tabs that were detached when the viewer exited last time. -void LLSideTray::detachTabs() -{ - // copy mTabs because LLSideTray::toggleTabDocked() modifies it. - child_vector_t tabs = mTabs; - - for (child_vector_const_iter_t it = tabs.begin(); it != tabs.end(); ++it) - { - LLSideTrayTab* tab = *it; - - std::string floater_ctrl_name = LLFloater::getControlName("side_bar_tab", LLSD(tab->getName())); - std::string vis_ctrl_name = LLFloaterReg::getVisibilityControlName(floater_ctrl_name); - if (!LLFloater::getControlGroup()->controlExists(vis_ctrl_name)) continue; - - bool is_visible = LLFloater::getControlGroup()->getBOOL(vis_ctrl_name); - if (!is_visible) continue; - - llassert(isTabAttached(tab->getName())); - tab->setDocked(false); - } -} - -void LLSideTray::collapseSideBar() -{ - mCollapsed = true; - // Reset all overlay images, because there is no "selected" tab when the - // whole side tray is hidden. - child_vector_const_iter_t it = mTabs.begin(); - for ( ; it != mTabs.end(); ++it ) - { - LLSideTrayTab* tab = *it; - std::string name = tab->getName(); - std::map<std::string,LLButton*>::const_iterator btn_it = - mTabButtons.find(name); - if (btn_it != mTabButtons.end()) - { - LLButton* btn = btn_it->second; - btn->setImageOverlay( tab->mImage ); - } - } - - // OpenClose tab doesn't put its button in mTabButtons - LLSideTrayTab* openclose_tab = getTab("sidebar_openclose"); - if (openclose_tab) - { - mCollapseButton->setImageOverlay( openclose_tab->mImage ); - } - //mActiveTab->setVisible(FALSE); - reflectCollapseChange(); - setFocus( FALSE ); -} - -void LLSideTray::expandSideBar(bool open_active) -{ - mCollapsed = false; - LLSideTrayTab* openclose_tab = getTab("sidebar_openclose"); - if (openclose_tab) - { - mCollapseButton->setImageOverlay( openclose_tab->mImageSelected ); - } - - if (open_active) - { - mActiveTab->onOpen(LLSD()); - } - - reflectCollapseChange(); - - - std::string name = mActiveTab->getName(); - std::map<std::string,LLButton*>::const_iterator btn_it = - mTabButtons.find(name); - if (btn_it != mTabButtons.end()) - { - LLButton* btn = btn_it->second; - btn->setImageOverlay( mActiveTab->mImageSelected ); - } -} - -void LLSideTray::highlightFocused() -{ - /* uncomment in case something change - if(!mActiveTab) - return; - BOOL dependent_has_focus = gFocusMgr.childHasKeyboardFocus(this); - setBackgroundOpaque( dependent_has_focus ); - mActiveTab->setBackgroundOpaque( dependent_has_focus ); - */ -} - -//virtual -BOOL LLSideTray::handleMouseDown (S32 x, S32 y, MASK mask) -{ - BOOL ret = LLPanel::handleMouseDown(x,y,mask); - if(ret) - setFocus(true); - return ret; -} - -void LLSideTray::reshape(S32 width, S32 height, BOOL called_from_parent) -{ - LLPanel::reshape(width, height, called_from_parent); - if(!mActiveTab) - return; - - arrange(); -} - -// This is just LLView::findChildView specialized to restrict the search to LLPanels. -// Optimization for EXT-4068 to avoid searching down to the individual item level -// when inventories are large. -LLPanel *findChildPanel(LLPanel *panel, const std::string& name, bool recurse) -{ - for (LLView::child_list_const_iter_t child_it = panel->beginChild(); - child_it != panel->endChild(); ++child_it) - { - LLPanel *child_panel = dynamic_cast<LLPanel*>(*child_it); - if (!child_panel) - continue; - if (child_panel->getName() == name) - return child_panel; - } - if (recurse) - { - for (LLView::child_list_const_iter_t child_it = panel->beginChild(); - child_it != panel->endChild(); ++child_it) - { - LLPanel *child_panel = dynamic_cast<LLPanel*>(*child_it); - if (!child_panel) - continue; - LLPanel *found_panel = findChildPanel(child_panel,name,recurse); - if (found_panel) - { - return found_panel; - } - } - } - return NULL; -} - -/** - * Activate tab with "panel_name" panel - * if no such tab - return false, otherwise true. - * TODO* In some cases a pointer to a panel of - * a specific class may be needed so this method - * would need to use templates. - */ -LLPanel* LLSideTray::showPanel (const std::string& panel_name, const LLSD& params) -{ - LLPanel* new_panel = NULL; - - // Look up the tab in the list of detached tabs. - child_vector_const_iter_t child_it; - for ( child_it = mDetachedTabs.begin(); child_it != mDetachedTabs.end(); ++child_it) - { - new_panel = openChildPanel(*child_it, panel_name, params); - if (new_panel) break; - } - - // Look up the tab in the list of attached tabs. - for ( child_it = mTabs.begin(); child_it != mTabs.end(); ++child_it) - { - new_panel = openChildPanel(*child_it, panel_name, params); - if (new_panel) break; - } - - return new_panel; -} - -bool LLSideTray::hidePanel(const std::string& panel_name) -{ - bool panelHidden = false; - - LLPanel* panelp = getPanel(panel_name); - - if (panelp) - { - LLView* parentp = panelp->getParent(); - - // Collapse the side bar if the panel or the panel's parent is an attached tab - if (isTabAttached(panel_name) || (parentp && isTabAttached(parentp->getName()))) - { - collapseSideBar(); - panelHidden = true; - } - else - { - panelHidden = LLFloaterReg::hideInstance("side_bar_tab", panel_name); - - if (!panelHidden) - { - // Look up the panel in the list of detached tabs. - for (child_vector_const_iter_t child_it = mDetachedTabs.begin(); child_it != mDetachedTabs.end(); ++child_it) - { - LLPanel *detached_panel = dynamic_cast<LLPanel*>(*child_it); - - if (detached_panel) - { - // Hide this detached panel if it is a parent of our panel - if (findChildPanel(detached_panel, panel_name, true) != NULL) - { - panelHidden = LLFloaterReg::hideInstance("side_bar_tab", detached_panel->getName()); - break; - } - } - } - } - } - } - - return panelHidden; -} - -void LLSideTray::togglePanel(LLPanel* &sub_panel, const std::string& panel_name, const LLSD& params) -{ - if(!sub_panel) - return; - - // If a panel is visible and attached to Side Tray (has LLSideTray among its ancestors) - // it should be toggled off by collapsing Side Tray. - if (sub_panel->isInVisibleChain() && sub_panel->hasAncestor(this)) - { - LLSideTray::getInstance()->collapseSideBar(); - } - else - { - LLSideTray::getInstance()->showPanel(panel_name, params); - } -} - -LLPanel* LLSideTray::getPanel(const std::string& panel_name) -{ - // Look up the panel in the list of detached tabs. - for ( child_vector_const_iter_t child_it = mDetachedTabs.begin(); child_it != mDetachedTabs.end(); ++child_it) - { - LLPanel *panel = findChildPanel(*child_it,panel_name,true); - if(panel) - { - return panel; - } - } - - // Look up the panel in the list of attached tabs. - for ( child_vector_const_iter_t child_it = mTabs.begin(); child_it != mTabs.end(); ++child_it) - { - LLPanel *panel = findChildPanel(*child_it,panel_name,true); - if(panel) - { - return panel; - } - } - return NULL; -} - -LLPanel* LLSideTray::getActivePanel() -{ - if (mActiveTab && !mCollapsed) - { - return mActiveTab->getPanel(); - } - return NULL; -} - -bool LLSideTray::isPanelActive(const std::string& panel_name) -{ - LLPanel *panel = getActivePanel(); - if (!panel) return false; - return (panel->getName() == panel_name); -} - -void LLSideTray::setTabDocked(const std::string& tab_name, bool dock, bool toggle_floater /* = true*/) -{ - // Lookup tab by name. - LLSideTrayTab* tab = getTab(tab_name); - if (!tab) - { // not a docked tab, look through detached tabs - for(child_vector_iter_t tab_it = mDetachedTabs.begin(), tab_end_it = mDetachedTabs.end(); - tab_it != tab_end_it; - ++tab_it) - { - if ((*tab_it)->getName() == tab_name) - { - tab = *tab_it; - break; - } - } - - } - - llassert(tab != NULL); - - // Toggle its dock state. - if (tab && tab->isDocked() != dock) - { - tab->toggleTabDocked(toggle_floater); - } -} - - -void LLSideTray::updateSidetrayVisibility() -{ - // set visibility of parent container based on collapsed state - LLView* parent = getParent(); - if (parent) - { - bool old_visibility = parent->getVisible(); - bool new_visibility = !mCollapsed && !gAgentCamera.cameraMouselook(); - - if (old_visibility != new_visibility) - { - parent->setVisible(new_visibility); - - // Signal change of visible width. - //llinfos << "Visible: " << new_visibility << llendl; - mVisibleWidthChangeSignal(this, new_visibility); - } - } -} - -S32 LLSideTray::getVisibleWidth() -{ - return (isInVisibleChain() && !mCollapsed) ? getRect().getWidth() : 0; -} - -void LLSideTray::setVisibleWidthChangeCallback(const commit_signal_t::slot_type& cb) -{ - mVisibleWidthChangeSignal.connect(cb); -} diff --git a/indra/newview/llsidetray.h b/indra/newview/llsidetray.h deleted file mode 100644 index 17158329dcf..00000000000 --- a/indra/newview/llsidetray.h +++ /dev/null @@ -1,260 +0,0 @@ -/** - * @file LLSideTray.h - * @brief SideBar header file - * - * $LicenseInfo:firstyear=2004&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#ifndef LL_LLSIDETRAY_H_ -#define LL_LLSIDETRAY_H_ - -#include "llpanel.h" -#include "string" - -class LLAccordionCtrl; -class LLSideTrayTab; - -// Define an interface for side tab button badge values -class LLSideTrayTabBadgeDriver -{ -public: - virtual std::string getBadgeString() const = 0; -}; - -// Deal with LLSideTrayTab being opaque. Generic do-nothing cast... -template <class T> -T tab_cast(LLSideTrayTab* tab) { return tab; } -// specialized for implementation in presence of LLSideTrayTab definition -template <> -LLPanel* tab_cast<LLPanel*>(LLSideTrayTab* tab); - -// added inheritance from LLDestroyClass<LLSideTray> to enable Side Tray perform necessary actions -// while disconnecting viewer in LLAppViewer::disconnectViewer(). -// LLDestroyClassList::instance().fireCallbacks() calls destroyClass method. See EXT-245. -class LLSideTray : public LLPanel, private LLDestroyClass<LLSideTray> -{ - friend class LLUICtrlFactory; - friend class LLDestroyClass<LLSideTray>; - friend class LLSideTrayTab; - friend class LLSideTrayButton; -public: - - LOG_CLASS(LLSideTray); - - struct Params - : public LLInitParam::Block<Params, LLPanel::Params> - { - // initial state - Optional<bool> collapsed; - Optional<LLUIImage*> tab_btn_image_normal, - tab_btn_image_selected; - - Optional<S32> default_button_width, - default_button_height, - default_button_margin; - - Params(); - }; - - static LLSideTray* getInstance (); - static bool instanceCreated (); -protected: - LLSideTray(const Params& params); - typedef std::vector<LLSideTrayTab*> child_vector_t; - typedef child_vector_t::iterator child_vector_iter_t; - typedef child_vector_t::const_iterator child_vector_const_iter_t; - typedef child_vector_t::reverse_iterator child_vector_reverse_iter_t; - typedef child_vector_t::const_reverse_iterator child_vector_const_reverse_iter_t; - typedef std::vector<std::string> tab_order_vector_t; - typedef tab_order_vector_t::const_iterator tab_order_vector_const_iter_t; - -public: - - // interface functions - - /** - * Select tab with specific name and set it active - * - * @param name Tab to switch to. - * @param keep_prev_visible Whether to keep the previously selected tab visible. - */ - bool selectTabByName (const std::string& name, bool keep_prev_visible = false); - - /** - * Select tab with specific index and set it active - */ - bool selectTabByIndex(size_t index); - - /** - * Activate tab with "panel_name" panel - * if no such tab - return NULL, otherwise a pointer to the panel - * Pass params as array, or they may be overwritten(example - params["name"]="nearby") - */ - LLPanel* showPanel (const std::string& panel_name, const LLSD& params = LLSD()); - - bool hidePanel (const std::string& panel_name); - - /** - * Toggling Side Tray tab which contains "sub_panel" child of "panel_name" panel. - * If "sub_panel" is not visible Side Tray is opened to display it, - * otherwise Side Tray is collapsed. - * params are passed to "panel_name" panel onOpen(). - */ - void togglePanel (LLPanel* &sub_panel, const std::string& panel_name, const LLSD& params = LLSD()); - - /* - * get the panel (don't show it or do anything else with it) - */ - LLPanel* getPanel (const std::string& panel_name); - LLPanel* getActivePanel (); - bool isPanelActive (const std::string& panel_name); - - void setTabDocked(const std::string& tab_name, bool dock, bool toggle_floater = true); - - /* - * get the panel of given type T (don't show it or do anything else with it) - */ - template <typename T> - T* getPanel(const std::string& panel_name) - { - T* panel = dynamic_cast<T*>(getPanel(panel_name)); - if (!panel) - { - llwarns << "Child named \"" << panel_name << "\" of type " << typeid(T*).name() << " not found" << llendl; - return NULL; - } - return panel; - } - - /* - * collapse SideBar, hiding visible tab and moving tab buttons - * to the right corner of the screen - */ - void collapseSideBar (); - - /* - * expand SideBar - * - * @param open_active Whether to call onOpen() for the active tab. - */ - void expandSideBar(bool open_active = true); - - - /** - *hightlight if focused. manly copypaste from highlightFocusedFloater - */ - void highlightFocused(); - - void setVisible(BOOL visible) - { - if (getParent()) getParent()->setVisible(visible); - } - - LLPanel* getButtonsPanel() { return mButtonsPanel; } - - bool getCollapsed() { return mCollapsed; } - - void setTabButtonBadgeDriver(std::string tabName, LLSideTrayTabBadgeDriver* driver); - -public: - virtual ~LLSideTray(){}; - - virtual BOOL postBuild(); - - BOOL handleMouseDown (S32 x, S32 y, MASK mask); - - void reshape (S32 width, S32 height, BOOL called_from_parent = TRUE); - - - /** - * @return side tray width if it's visible and expanded, 0 otherwise. - * - * Not that width of the tab buttons is not included. - * - * @see setVisibleWidthChangeCallback() - */ - S32 getVisibleWidth(); - - void setVisibleWidthChangeCallback(const commit_signal_t::slot_type& cb); - - void updateSidetrayVisibility(); - - void handleLoginComplete(); - - bool isTabAttached (const std::string& name); - -protected: - bool addChild (LLView* view, S32 tab_group); - bool removeTab (LLSideTrayTab* tab); // Used to detach tabs temporarily - bool addTab (LLSideTrayTab* tab); // Used to re-attach tabs - bool hasTabs (); - - const LLSideTrayTab* getActiveTab() const { return mActiveTab; } - LLSideTrayTab* getTab(const std::string& name); - - void createButtons (); - - void arrange (); - void detachTabs (); - void reflectCollapseChange(); - void processTriState (); - - void toggleTabButton (LLSideTrayTab* tab); - - LLPanel* openChildPanel (LLSideTrayTab* tab, const std::string& panel_name, const LLSD& params); - - void onTabButtonClick(std::string name); - void onToggleCollapse(); - -private: - // Implementation of LLDestroyClass<LLSideTray> - static void destroyClass() - { - // Disable SideTray to avoid crashes. EXT-245 - if (LLSideTray::instanceCreated()) - LLSideTray::getInstance()->setEnabled(FALSE); - } - -private: - // Since we provide no public way to query mTabs and mDetachedTabs, give - // LLSideTrayListener friend access. - friend class LLSideTrayListener; - LLPanel* mButtonsPanel; - typedef std::map<std::string,LLButton*> button_map_t; - button_map_t mTabButtons; - typedef std::map<std::string,LLSideTrayTabBadgeDriver*> badge_map_t; - badge_map_t mTabButtonBadgeDrivers; - child_vector_t mTabs; - child_vector_t mDetachedTabs; - tab_order_vector_t mOriginalTabOrder; - LLSideTrayTab* mActiveTab; - - commit_signal_t mVisibleWidthChangeSignal; - - LLButton* mCollapseButton; - bool mCollapsed; - - static LLSideTray* sInstance; -}; - -#endif - diff --git a/indra/newview/llsidetraylistener.cpp b/indra/newview/llsidetraylistener.cpp deleted file mode 100644 index cd6fa28948f..00000000000 --- a/indra/newview/llsidetraylistener.cpp +++ /dev/null @@ -1,179 +0,0 @@ -/** - * @file llsidetraylistener.cpp - * @author Nat Goodspeed - * @date 2011-02-15 - * @brief Implementation for llsidetraylistener. - * - * $LicenseInfo:firstyear=2011&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2011, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -// Precompiled header -#include "llviewerprecompiledheaders.h" -// associated header -#include "llsidetraylistener.h" -// STL headers -// std headers -// external library headers -// other Linden headers -#include "llsidetray.h" -#include "llsdutil.h" - -LLSideTrayListener::LLSideTrayListener(const Getter& getter): - LLEventAPI("LLSideTray", - "Operations on side tray (e.g. query state, query tabs)"), - mGetter(getter) -{ - add("getCollapsed", "Send on [\"reply\"] an [\"open\"] Boolean", - &LLSideTrayListener::getCollapsed, LLSDMap("reply", LLSD())); - add("getTabs", - "Send on [\"reply\"] a map of tab names and info about them", - &LLSideTrayListener::getTabs, LLSDMap("reply", LLSD())); - add("getPanels", - "Send on [\"reply\"] data about panels available with SideTray.ShowPanel", - &LLSideTrayListener::getPanels, LLSDMap("reply", LLSD())); -} - -void LLSideTrayListener::getCollapsed(const LLSD& event) const -{ - sendReply(LLSDMap("open", ! mGetter()->getCollapsed()), event); -} - -void LLSideTrayListener::getTabs(const LLSD& event) const -{ - LLSD reply; - - LLSideTray* tray = mGetter(); - LLSD::Integer ord(0); - for (LLSideTray::child_list_const_iter_t chi(tray->beginChild()), chend(tray->endChild()); - chi != chend; ++chi, ++ord) - { - LLView* child = *chi; - // How much info is important? Toss in as much as seems reasonable for - // each tab. But to me, at least for the moment, the most important - // item is the tab name. - LLSD info; - // I like the idea of returning a map keyed by tab name. But as - // compared to an array of maps, that loses sequence information. - // Address that by indicating the original order in each map entry. - info["ord"] = ord; - info["visible"] = bool(child->getVisible()); - info["enabled"] = bool(child->getEnabled()); - info["available"] = child->isAvailable(); - reply[child->getName()] = info; - } - - sendReply(reply, event); -} - -static LLSD getTabInfo(LLPanel* tab) -{ - LLSD panels; - for (LLPanel::tree_iterator_t ti(tab->beginTreeDFS()), tend(tab->endTreeDFS()); - ti != tend; ++ti) - { - // *ti is actually an LLView*, which had better not be NULL - LLView* view(*ti); - if (! view) - { - LL_ERRS("LLSideTrayListener") << "LLSideTrayTab '" << tab->getName() - << "' has a NULL child LLView*" << LL_ENDL; - } - - // The logic we use to decide what "panel" names to return is heavily - // based on LLSideTray::showPanel(): the function that actually - // implements the "SideTray.ShowPanel" operation. showPanel(), in - // turn, depends on LLSideTray::openChildPanel(): when - // openChildPanel() returns non-NULL, showPanel() stops searching - // attached and detached LLSideTrayTab tabs. - - // For each LLSideTrayTab, openChildPanel() first calls - // findChildView(panel_name, true). In other words, panel_name need - // not be a direct LLSideTrayTab child, it's sought recursively. - // That's why we use (begin|end)TreeDFS() in this loop. - - // But this tree_iterator_t loop will actually traverse every widget - // in every panel. Returning all those names will not help our caller: - // passing most such names to openChildPanel() would not do what we - // want. Even though the code suggests that passing ANY valid - // side-panel widget name to openChildPanel() will open the tab - // containing that widget, results could get confusing since followup - // (onOpen()) logic wouldn't be invoked, and showPanel() wouldn't stop - // searching because openChildPanel() would return NULL. - - // We must filter these LLView items, using logic that (sigh!) mirrors - // openChildPanel()'s own. - - // openChildPanel() returns a non-NULL LLPanel* when either: - // - the LLView is a direct child of an LLSideTrayPanelContainer - // - the LLView is itself an LLPanel. - // But as LLSideTrayPanelContainer can directly contain LLView items - // that are NOT themselves LLPanels (e.g. "sidebar_me" contains an - // LLButton called "Jump Right Arrow"), we'd better focus only on - // LLSideTrayPanelContainer children that are themselves LLPanel - // items. Which means that the second test completely subsumes the - // first. - LLPanel* panel(dynamic_cast<LLPanel*>(view)); - if (panel) - { - // Maybe it's overkill to construct an LLSD::Map for each panel, but - // the possibility remains that we might want to deliver more info - // about each panel than just its name. - panels.append(LLSDMap("name", panel->getName())); - } - } - - return LLSDMap("panels", panels); -} - -void LLSideTrayListener::getPanels(const LLSD& event) const -{ - LLSD reply; - - LLSideTray* tray = mGetter(); - // Iterate through the attached tabs. - LLSD::Integer ord(0); - for (LLSideTray::child_vector_t::const_iterator - ati(tray->mTabs.begin()), atend(tray->mTabs.end()); - ati != atend; ++ati) - { - // We don't have access to LLSideTrayTab: the class definition is - // hidden in llsidetray.cpp. But as LLSideTrayTab isa LLPanel, use the - // LLPanel API. Unfortunately, without the LLSideTrayTab definition, - // the compiler doesn't even know this LLSideTrayTab* is an LLPanel*. - // Persuade it. - LLPanel* tab(tab_cast<LLPanel*>(*ati)); - reply[tab->getName()] = getTabInfo(tab).with("attached", true).with("ord", ord); - } - - // Now iterate over the detached tabs. These can also be opened via - // SideTray.ShowPanel. - ord = 0; - for (LLSideTray::child_vector_t::const_iterator - dti(tray->mDetachedTabs.begin()), dtend(tray->mDetachedTabs.end()); - dti != dtend; ++dti) - { - LLPanel* tab(tab_cast<LLPanel*>(*dti)); - reply[tab->getName()] = getTabInfo(tab).with("attached", false).with("ord", ord); - } - - sendReply(reply, event); -} diff --git a/indra/newview/llsidetraylistener.h b/indra/newview/llsidetraylistener.h deleted file mode 100644 index 51e2137762d..00000000000 --- a/indra/newview/llsidetraylistener.h +++ /dev/null @@ -1,53 +0,0 @@ -/** - * @file llsidetraylistener.h - * @author Nat Goodspeed - * @date 2011-02-15 - * @brief - * - * $LicenseInfo:firstyear=2011&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2011, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#if ! defined(LL_LLSIDETRAYLISTENER_H) -#define LL_LLSIDETRAYLISTENER_H - -#include "lleventapi.h" -#include <boost/function.hpp> - -class LLSideTray; -class LLSD; - -class LLSideTrayListener: public LLEventAPI -{ - typedef boost::function<LLSideTray*()> Getter; - -public: - LLSideTrayListener(const Getter& getter); - -private: - void getCollapsed(const LLSD& event) const; - void getTabs(const LLSD& event) const; - void getPanels(const LLSD& event) const; - - Getter mGetter; -}; - -#endif /* ! defined(LL_LLSIDETRAYLISTENER_H) */ diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 749acea6c10..4511a4806ae 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -131,7 +131,6 @@ #include "llsecondlifeurls.h" #include "llselectmgr.h" #include "llsky.h" -#include "llsidetray.h" #include "llstatview.h" #include "llstatusbar.h" // sendMoneyBalanceRequest(), owns L$ balance #include "llsurface.h" diff --git a/indra/newview/llurldispatcher.cpp b/indra/newview/llurldispatcher.cpp index 477718d118b..f6d7ceeec36 100644 --- a/indra/newview/llurldispatcher.cpp +++ b/indra/newview/llurldispatcher.cpp @@ -36,7 +36,6 @@ #include "llfloaterworldmap.h" #include "llpanellogin.h" #include "llregionhandle.h" -#include "llsidetray.h" #include "llslurl.h" #include "llstartup.h" // gStartupState #include "llweb.h" diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 0b3b8e23a51..174a4d6409a 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -95,7 +95,6 @@ #include "llfloatersellland.h" #include "llfloatersettingsdebug.h" #include "llfloatersidepanelcontainer.h" -#include "llfloatersidetraytab.h" #include "llfloatersnapshot.h" #include "llfloatersounddevices.h" #include "llfloatertelehub.h" @@ -276,7 +275,6 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("script_limits", "floater_script_limits.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterScriptLimits>); LLFloaterReg::add("sell_land", "floater_sell_land.xml", &LLFloaterSellLand::buildFloater); LLFloaterReg::add("settings_debug", "floater_settings_debug.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSettingsDebug>); - LLFloaterReg::add("side_bar_tab", "floater_side_bar_tab.xml", &LLFloaterReg::build<LLFloaterSideTrayTab>); LLFloaterReg::add("sound_devices", "floater_sound_devices.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSoundDevices>); LLFloaterReg::add("stats", "floater_stats.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloater>); LLFloaterReg::add("start_queue", "floater_script_queue.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterRunQueue>); diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp index 50fb5a00e42..f8ef81b9f4a 100644 --- a/indra/newview/llviewerinventory.cpp +++ b/indra/newview/llviewerinventory.cpp @@ -45,7 +45,6 @@ #include "llinventorymodel.h" #include "llinventorymodelbackgroundfetch.h" #include "llgesturemgr.h" -#include "llsidetray.h" #include "llinventorybridge.h" #include "llinventorypanel.h" diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 5e781e0e4ca..fbfde711a94 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -83,7 +83,6 @@ #include "llrootview.h" #include "llsceneview.h" #include "llselectmgr.h" -#include "llsidetray.h" #include "llstatusbar.h" #include "lltextureview.h" #include "lltoolcomp.h" @@ -3348,15 +3347,6 @@ bool enable_sitdown_self() return isAgentAvatarValid() && !gAgentAvatarp->isSitting() && !gAgent.getFlying(); } -// Used from the login screen to aid in UI work on side tray -void handle_show_side_tray() -{ - LLSideTray* side_tray = LLSideTray::getInstance(); - LLView* root = gViewerWindow->getRootView(); - // automatically removes and re-adds if there already - root->addChild(side_tray); -} - // Toggle one of "People" panel tabs in side tray. class LLTogglePanelPeopleTab : public view_listener_t { @@ -3367,21 +3357,11 @@ class LLTogglePanelPeopleTab : public view_listener_t LLSD param; param["people_panel_tab_name"] = panel_name; - static LLPanel* friends_panel = NULL; - static LLPanel* groups_panel = NULL; - static LLPanel* nearby_panel = NULL; - - if (panel_name == "friends_panel") - { - return togglePeoplePanel(friends_panel, panel_name, param); - } - else if (panel_name == "groups_panel") - { - return togglePeoplePanel(groups_panel, panel_name, param); - } - else if (panel_name == "nearby_panel") + if ( panel_name == "friends_panel" + || panel_name == "groups_panel" + || panel_name == "nearby_panel") { - return togglePeoplePanel(nearby_panel, panel_name, param); + return togglePeoplePanel(panel_name, param); } else { @@ -3389,16 +3369,20 @@ class LLTogglePanelPeopleTab : public view_listener_t } } - static bool togglePeoplePanel(LLPanel* &panel, const std::string& panel_name, const LLSD& param) + static bool togglePeoplePanel(const std::string& panel_name, const LLSD& param) { + LLPanel *panel = LLFloaterSidePanelContainer::getPanel("people", panel_name); if(!panel) + return false; + + if (panel->isInVisibleChain()) { - panel = LLSideTray::getInstance()->getPanel(panel_name); - if(!panel) - return false; + LLFloaterReg::hideInstance("people"); + } + else + { + LLFloaterSidePanelContainer::showPanel("people", "panel_people", param) ; } - - LLSideTray::getInstance()->togglePanel(panel, "panel_people", param); return true; } @@ -8067,7 +8051,6 @@ void initialize_menus() view_listener_t::addMenu(new LLAdvancedCheckDebugKeys(), "Advanced.CheckDebugKeys"); view_listener_t::addMenu(new LLAdvancedToggleDebugWindowProc(), "Advanced.ToggleDebugWindowProc"); view_listener_t::addMenu(new LLAdvancedCheckDebugWindowProc(), "Advanced.CheckDebugWindowProc"); - commit.add("Advanced.ShowSideTray", boost::bind(&handle_show_side_tray)); // Advanced > XUI commit.add("Advanced.ReloadColorSettings", boost::bind(&LLUIColorTable::loadFromSettings, LLUIColorTable::getInstance())); diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 5665a68addf..1c07d36e7ec 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -74,7 +74,6 @@ #include "llrecentpeople.h" #include "llscriptfloater.h" #include "llselectmgr.h" -#include "llsidetray.h" #include "llstartup.h" #include "llsky.h" #include "llslurl.h" @@ -6800,7 +6799,7 @@ void process_covenant_reply(LLMessageSystem* msg, void**) LLPanelLandCovenant::updateEstateOwnerName(owner_name); LLFloaterBuyLand::updateEstateOwnerName(owner_name); - LLPanelPlaceProfile* panel = LLSideTray::getInstance()->getPanel<LLPanelPlaceProfile>("panel_place_profile"); + LLPanelPlaceProfile* panel = LLFloaterSidePanelContainer::getPanel<LLPanelPlaceProfile>("places", "panel_place_profile"); if (panel) { panel->updateEstateName(estate_name); @@ -6934,7 +6933,7 @@ void onCovenantLoadComplete(LLVFS *vfs, LLPanelLandCovenant::updateCovenantText(covenant_text); LLFloaterBuyLand::updateCovenantText(covenant_text, asset_uuid); - LLPanelPlaceProfile* panel = LLSideTray::getInstance()->getPanel<LLPanelPlaceProfile>("panel_place_profile"); + LLPanelPlaceProfile* panel = LLFloaterSidePanelContainer::getPanel<LLPanelPlaceProfile>("places", "panel_place_profile"); if (panel) { panel->updateCovenantText(covenant_text); diff --git a/indra/newview/llviewertexteditor.cpp b/indra/newview/llviewertexteditor.cpp index b308e952adf..0a9fae68a65 100644 --- a/indra/newview/llviewertexteditor.cpp +++ b/indra/newview/llviewertexteditor.cpp @@ -51,7 +51,6 @@ #include "llpreviewtexture.h" #include "llscrollbar.h" #include "llscrollcontainer.h" -#include "llsidetray.h" #include "lltooldraganddrop.h" #include "lltooltip.h" #include "lltrans.h" diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 6c9ee17a767..149f9893d77 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -133,7 +133,6 @@ #include "llpreviewtexture.h" #include "llprogressview.h" #include "llresmgr.h" -#include "llsidetray.h" #include "llselectmgr.h" #include "llrootview.h" #include "llrendersphere.h" @@ -1773,7 +1772,6 @@ void LLViewerWindow::initBase() // placeholder widget that controls where "world" is rendered mWorldViewPlaceholder = main_view->getChildView("world_view_rect")->getHandle(); - mNonSideTrayView = main_view->getChildView("non_side_tray_view")->getHandle(); mFloaterViewHolder = main_view->getChildView("floater_view_holder")->getHandle(); mPopupView = main_view->getChild<LLPopupView>("popup_holder"); mHintHolder = main_view->getChild<LLView>("hint_holder")->getHandle(); @@ -1934,22 +1932,6 @@ void LLViewerWindow::initWorldUI() panel_ssf_container->addChild(panel_stand_stop_flying); panel_ssf_container->setVisible(TRUE); - // put sidetray in container - LLPanel* side_tray_container = getRootView()->getChild<LLPanel>("side_tray_container"); - LLSideTray* sidetrayp = LLSideTray::getInstance(); - sidetrayp->setShape(side_tray_container->getLocalRect()); - // don't follow right edge to avoid spurious resizes, since we are using a fixed width layout - sidetrayp->setFollows(FOLLOWS_LEFT|FOLLOWS_TOP|FOLLOWS_BOTTOM); - side_tray_container->addChild(sidetrayp); - side_tray_container->setVisible(FALSE); - - // put sidetray buttons in their own panel - LLPanel* buttons_panel = sidetrayp->getButtonsPanel(); - LLPanel* buttons_panel_container = getRootView()->getChild<LLPanel>("side_bar_tabs"); - buttons_panel->setShape(buttons_panel_container->getLocalRect()); - buttons_panel->setFollowsAll(); - buttons_panel_container->addChild(buttons_panel); - // Load and make the toolbars visible // Note: we need to load the toolbars only *after* the user is logged in and IW if (gToolBarView) @@ -3310,9 +3292,6 @@ void LLViewerWindow::updateKeyboardFocus() // make sure floater visible order is in sync with tab order gFloaterView->syncFloaterTabOrder(); } - - if(LLSideTray::instanceCreated())//just getInstance will create sidetray. we don't want this - LLSideTray::getInstance()->highlightFocused(); } static LLFastTimer::DeclareTimer FTM_UPDATE_WORLD_VIEW("Update World View"); @@ -3336,12 +3315,6 @@ void LLViewerWindow::updateWorldViewRect(bool use_full_window) new_world_rect.mTop = llround((F32)new_world_rect.mTop * mDisplayScale.mV[VY]); } - if (gSavedSettings.getBOOL("SidebarCameraMovement") == FALSE) - { - // use right edge of window, ignoring sidebar - new_world_rect.mRight = mWindowRectRaw.mRight; - } - if (mWorldViewRectRaw != new_world_rect) { mWorldViewRectRaw = new_world_rect; diff --git a/indra/newview/llviewerwindow.h b/indra/newview/llviewerwindow.h index 47e0fdeab19..872eb127539 100644 --- a/indra/newview/llviewerwindow.h +++ b/indra/newview/llviewerwindow.h @@ -282,7 +282,6 @@ class LLViewerWindow : public LLWindowCallbacks void updateKeyboardFocus(); void updateWorldViewRect(bool use_full_window=false); - LLView* getNonSideTrayView() { return mNonSideTrayView.get(); } LLView* getFloaterViewHolder() { return mFloaterViewHolder.get(); } LLView* getToolBarHolder() { return mToolBarHolder.get(); } LLView* getHintHolder() { return mHintHolder.get(); } @@ -445,7 +444,6 @@ class LLViewerWindow : public LLWindowCallbacks std::string mInitAlert; // Window / GL initialization requires an alert LLHandle<LLView> mWorldViewPlaceholder; // widget that spans the portion of screen dedicated to rendering the 3d world - LLHandle<LLView> mNonSideTrayView; // parent of world view + bottom bar, etc...everything but the side tray LLHandle<LLView> mFloaterViewHolder; // container for floater_view LLHandle<LLView> mToolBarHolder; // container for toolbars LLHandle<LLView> mHintHolder; // container for hints diff --git a/indra/newview/llwearable.cpp b/indra/newview/llwearable.cpp index 276e8f462d4..d8aa0b7d5c6 100644 --- a/indra/newview/llwearable.cpp +++ b/indra/newview/llwearable.cpp @@ -37,7 +37,6 @@ #include "llinventorymodel.h" #include "llinventoryobserver.h" #include "llsidepanelappearance.h" -#include "llsidetray.h" #include "lltexlayer.h" #include "lltexglobalcolor.h" #include "lltrans.h" diff --git a/indra/newview/llworldview.cpp b/indra/newview/llworldview.cpp deleted file mode 100644 index f5dc2a5290d..00000000000 --- a/indra/newview/llworldview.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/** - * @file llworldview.cpp - * @brief LLWorldView class implementation - * - * $LicenseInfo:firstyear=2001&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#include "llviewerprecompiledheaders.h" - -#include "llworldview.h" - -#include "llviewercontrol.h" -#include "llsidetray.h" -///////////////////////////////////////////////////// -// LLFloaterView - -static LLDefaultChildRegistry::Register<LLWorldView> r("world_view"); - -LLWorldView::LLWorldView(const Params& p) -: LLUICtrl (p) -{ - gSavedSettings.getControl("SidebarCameraMovement")->getSignal()->connect(boost::bind(&LLWorldView::toggleSidebarCameraMovement, this, _2)); -} - -void LLWorldView::reshape(S32 width, S32 height, BOOL called_from_parent) -{ - //if (FALSE == gSavedSettings.getBOOL("SidebarCameraMovement") ) - //{ - // LLView* main_view = LLUI::getRootView()->findChild<LLView>("main_view"); - // if(main_view) - // { - // width = main_view->getRect().getWidth(); - // } - //} - - LLUICtrl::reshape(width, height, called_from_parent); -} -void LLWorldView::toggleSidebarCameraMovement(const LLSD::Boolean& new_visibility) -{ - reshape(getParent()->getRect().getWidth(),getRect().getHeight()); -} - diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index 6ece01b2bac..d8f593715f2 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -90,14 +90,6 @@ top="0" visible="false" width="1024"/> - <panel follows="right|top|bottom" - height="500" - mouse_opaque="false" - name="side_bar_tabs" - right="500" - tab_stop="false" - top="0" - width="32"/> <panel bottom="500" follows="left|right|bottom" height="25" @@ -116,17 +108,6 @@ visible="false"/> </layout_stack> </layout_panel> - <!-- side tray --> - <layout_panel auto_resize="false" - follows="top|bottom" - height="500" - min_width="333" - mouse_opaque="false" - tab_stop="false" - name="side_tray_container" - user_resize="false" - visible="false" - width="333"/> </layout_stack> <panel top="0" follows="all" diff --git a/indra/newview/skins/default/xui/en/menu_login.xml b/indra/newview/skins/default/xui/en/menu_login.xml index bb58dd500f0..80e310a8735 100644 --- a/indra/newview/skins/default/xui/en/menu_login.xml +++ b/indra/newview/skins/default/xui/en/menu_login.xml @@ -93,14 +93,6 @@ parameter="ui_preview" /> </menu_item_call> <menu_item_separator /> - <!-- Broken - <menu_item_call - label="Show Side Tray" - name="Show Side Tray"> - <menu_item_call.on_click - function="Advanced.ShowSideTray" /> - </menu_item_call> - --> <menu create_jump_keys="true" label="UI Tests" diff --git a/indra/newview/skins/default/xui/en/panel_preferences_move.xml b/indra/newview/skins/default/xui/en/panel_preferences_move.xml index 1a8aae7f911..c131649fc8e 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_move.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_move.xml @@ -86,16 +86,6 @@ name="appearance_camera_movement" tool_tip="Use automatic camera positioning while in edit mode" width="242" /> - <check_box - control_name="SidebarCameraMovement" - follows="left|top" - height="16" - initial_value="true" - label="Sidebar" - layout="topleft" - name="appearance_sidebar_positioning" - tool_tip="Use automatic camera positioning for sidebar" - width="242" /> <icon follows="left|top" height="18" -- GitLab From 896ea6f81eaf409aae22158816226f09a459ca34 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Thu, 29 Sep 2011 14:42:30 -0700 Subject: [PATCH 074/256] EXP-1278 FIX -- Implement 3-way toolbar button functionality Toolbar buttons now affect their floaters as indicated in the FUI_Button_states wiki page -- https://wiki.lindenlab.com/wiki/FUI_Button_states --- indra/llui/llfloaterreg.cpp | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/indra/llui/llfloaterreg.cpp b/indra/llui/llfloaterreg.cpp index bc740dde171..8a0513f2465 100644 --- a/indra/llui/llfloaterreg.cpp +++ b/indra/llui/llfloaterreg.cpp @@ -455,12 +455,42 @@ void LLFloaterReg::toggleFloaterInstance(const LLSD& sdname) //static void LLFloaterReg::toggleToolbarFloaterInstance(const LLSD& sdname) { - // Do some extra logic here for 3-state toolbar floater toggling madness :) - + // + // Floaters controlled by the toolbar behave a bit differently from others. + // Namely they have 3-4 states as defined in the design wiki page here: + // https://wiki.lindenlab.com/wiki/FUI_Button_states + // + // The basic idea is this: + // * If the target floater is minimized, this button press will un-minimize it. + // * Else if the target floater is closed open it. + // * Else if the target floater does not have focus, give it focus. + // * Also, if it is not on top, bring it forward when focus is given. + // * Else the target floater is open, close it. + // + + // First parse the parameter LLSD key; std::string name = sdname.asString(); parse_name_key(name, key); - toggleInstance(name, key); + + LLFloater* instance = findInstance(name, key); + + if (LLFloater::isMinimized(instance)) + { + instance->setMinimized(FALSE); + } + else if (!LLFloater::isShown(instance)) + { + showInstance(name, key, TRUE); + } + else if (!instance->hasFocus()) + { + instance->setFocus(TRUE); + } + else + { + instance->closeFloater(); + } } //static -- GitLab From b07e7c7198fbc78ca852b3ba48d516ec2901da21 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Thu, 29 Sep 2011 15:01:15 -0700 Subject: [PATCH 075/256] EXP-1211, EXP-1257 : Save and load the button type along with the toolbars, add a force default load option, enforce consistency between menus and toolbars --- indra/llui/lltoolbar.cpp | 27 ++++++++--- indra/llui/lltoolbar.h | 8 +++- indra/llui/lltoolbarview.cpp | 45 +++++++++++++++++-- indra/llui/lltoolbarview.h | 6 ++- indra/newview/app_settings/toolbars.xml | 6 ++- .../skins/default/xui/en/menu_toolbars.xml | 6 +-- 6 files changed, 79 insertions(+), 19 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 45567d58599..75c7d91f8a7 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -213,6 +213,14 @@ bool LLToolBar::addCommand(const LLCommandId& commandId) return add_command; } +void LLToolBar::clearCommandsList() +{ + // Clears the commands list + mButtonCommands.clear(); + // This will clear the buttons + createButtons(); +} + bool LLToolBar::hasCommand(const LLCommandId& commandId) const { bool has_command = false; @@ -278,7 +286,7 @@ BOOL LLToolBar::isSettingChecked(const LLSD& userdata) const std::string setting_name = userdata.asString(); - if (setting_name == "icons_and_labels") + if (setting_name == "icons_with_text") { retval = (mButtonType == BTNTYPE_ICONS_WITH_TEXT); } @@ -296,18 +304,23 @@ void LLToolBar::onSettingEnable(const LLSD& userdata) const std::string setting_name = userdata.asString(); - const ButtonType current_button_type = mButtonType; - - if (setting_name == "icons_and_labels") + if (setting_name == "icons_with_text") { - mButtonType = BTNTYPE_ICONS_WITH_TEXT; + setButtonType(BTNTYPE_ICONS_WITH_TEXT); } else if (setting_name == "icons_only") { - mButtonType = BTNTYPE_ICONS_ONLY; + setButtonType(BTNTYPE_ICONS_ONLY); } +} - if(current_button_type != mButtonType) +void LLToolBar::setButtonType(LLToolBarEnums::ButtonType button_type) +{ + bool regenerate_buttons = (mButtonType != button_type); + + mButtonType = button_type; + + if (regenerate_buttons) { createButtons(); } diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 8e484c7e13b..03b1756988d 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -123,7 +123,6 @@ class LLToolBar bool addCommand(const LLCommandId& commandId); bool hasCommand(const LLCommandId& commandId) const; bool enableCommand(const LLCommandId& commandId, bool enabled); - command_id_list_t& getCommandsList() { return mButtonCommands; } protected: friend class LLUICtrlFactory; @@ -132,6 +131,13 @@ class LLToolBar void initFromParams(const Params&); +public: + // Methods used in loading and saving toolbar settings + void setButtonType(LLToolBarEnums::ButtonType button_type); + LLToolBarEnums::ButtonType getButtonType() { return mButtonType; } + command_id_list_t& getCommandsList() { return mButtonCommands; } + void clearCommandsList(); + private: void createContextMenu(); void updateLayoutAsNeeded(); diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index f60598edcb1..1c6cf3230b1 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -41,7 +41,8 @@ LLToolBarView* gToolBarView = NULL; static LLDefaultChildRegistry::Register<LLToolBarView> r("toolbar_view"); LLToolBarView::Toolbar::Toolbar() -: commands("command") +: button_display_mode("button_display_mode"), + commands("command") {} LLToolBarView::ToolbarSet::ToolbarSet() @@ -112,13 +113,17 @@ bool LLToolBarView::addCommand(const LLCommandId& command, LLToolBar* toolbar) return true; } -bool LLToolBarView::loadToolbars() +bool LLToolBarView::loadToolbars(bool force_default) { LLToolBarView::ToolbarSet toolbar_set; - // Load the default toolbars.xml file + // Load the toolbars.xml file std::string toolbar_file = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "toolbars.xml"); - if (!gDirUtilp->fileExists(toolbar_file)) + if (force_default) + { + toolbar_file = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "toolbars.xml"); + } + else if (!gDirUtilp->fileExists(toolbar_file)) { llwarns << "User toolbars def not found -> use default" << llendl; toolbar_file = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "toolbars.xml"); @@ -145,9 +150,28 @@ bool LLToolBarView::loadToolbars() return false; } + // Clear the toolbars now before adding the loaded commands and settings + if (mToolbarLeft) + { + mToolbarLeft->clearCommandsList(); + } + if (mToolbarRight) + { + mToolbarRight->clearCommandsList(); + } + if (mToolbarBottom) + { + mToolbarBottom->clearCommandsList(); + } + // Add commands to each toolbar if (toolbar_set.left_toolbar.isProvided() && mToolbarLeft) { + if (toolbar_set.left_toolbar.button_display_mode.isProvided()) + { + U32 button_type = toolbar_set.left_toolbar.button_display_mode; + mToolbarLeft->setButtonType((LLToolBarEnums::ButtonType)(button_type)); + } BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.left_toolbar.commands) { addCommand(LLCommandId(command),mToolbarLeft); @@ -155,6 +179,11 @@ bool LLToolBarView::loadToolbars() } if (toolbar_set.right_toolbar.isProvided() && mToolbarRight) { + if (toolbar_set.right_toolbar.button_display_mode.isProvided()) + { + U32 button_type = toolbar_set.right_toolbar.button_display_mode; + mToolbarRight->setButtonType((LLToolBarEnums::ButtonType)(button_type)); + } BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.right_toolbar.commands) { addCommand(LLCommandId(command),mToolbarRight); @@ -162,6 +191,11 @@ bool LLToolBarView::loadToolbars() } if (toolbar_set.bottom_toolbar.isProvided() && mToolbarBottom) { + if (toolbar_set.bottom_toolbar.button_display_mode.isProvided()) + { + U32 button_type = toolbar_set.bottom_toolbar.button_display_mode; + mToolbarBottom->setButtonType((LLToolBarEnums::ButtonType)(button_type)); + } BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.bottom_toolbar.commands) { addCommand(LLCommandId(command),mToolbarBottom); @@ -176,14 +210,17 @@ void LLToolBarView::saveToolbars() const LLToolBarView::ToolbarSet toolbar_set; if (mToolbarLeft) { + toolbar_set.left_toolbar.button_display_mode = (int)(mToolbarLeft->getButtonType()); addToToolset(mToolbarLeft->getCommandsList(),toolbar_set.left_toolbar); } if (mToolbarRight) { + toolbar_set.right_toolbar.button_display_mode = (int)(mToolbarRight->getButtonType()); addToToolset(mToolbarRight->getCommandsList(),toolbar_set.right_toolbar); } if (mToolbarBottom) { + toolbar_set.bottom_toolbar.button_display_mode = (int)(mToolbarBottom->getButtonType()); addToToolset(mToolbarBottom->getCommandsList(),toolbar_set.bottom_toolbar); } diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index b19841997b4..efe6920db8a 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -50,7 +50,8 @@ class LLToolBarView : public LLUICtrl // the user folder for the user specific (saved) settings struct Toolbar : public LLInitParam::Block<Toolbar> { - Multiple<LLCommandId::Params> commands; + Mandatory<U32> button_display_mode; + Multiple<LLCommandId::Params> commands; Toolbar(); }; struct ToolbarSet : public LLInitParam::Block<ToolbarSet> @@ -70,7 +71,8 @@ class LLToolBarView : public LLUICtrl // Checks if the commandId is being used somewhere in one of the toolbars bool hasCommand(const LLCommandId& commandId) const; // Loads the toolbars from the existing user or default settings - bool loadToolbars(); // return false if load fails + bool loadToolbars(bool force_default = false); // return false if load fails + bool loadDefaultToolbars() { return loadToolbars(true); } protected: friend class LLUICtrlFactory; diff --git a/indra/newview/app_settings/toolbars.xml b/indra/newview/app_settings/toolbars.xml index 55327ea919a..19dec78c639 100644 --- a/indra/newview/app_settings/toolbars.xml +++ b/indra/newview/app_settings/toolbars.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <toolbars> - <bottom_toolbar> + <bottom_toolbar + button_display_mode="0"> <command name="chat"/> <command name="speak"/> <command name="places"/> @@ -10,7 +11,8 @@ <command name="move"/> <command name="howto"/> </bottom_toolbar> - <left_toolbar> + <left_toolbar + button_display_mode="1"> <command name="avatar"/> <command name="inventory"/> <command name="snapshot"/> diff --git a/indra/newview/skins/default/xui/en/menu_toolbars.xml b/indra/newview/skins/default/xui/en/menu_toolbars.xml index de13fec6701..59912b55036 100644 --- a/indra/newview/skins/default/xui/en/menu_toolbars.xml +++ b/indra/newview/skins/default/xui/en/menu_toolbars.xml @@ -12,11 +12,11 @@ <menu_item_separator layout="topleft" /> <menu_item_check label="Icons and labels" layout="topleft" - name="icons_and_labels"> + name="icons_with_text"> <on_click function="Toolbars.EnableSetting" - parameter="icons_and_labels" /> + parameter="icons_with_text" /> <on_check function="Toolbars.CheckSetting" - parameter="icons_and_labels" /> + parameter="icons_with_text" /> </menu_item_check> <menu_item_check label="Icons only" layout="topleft" -- GitLab From cf4f436e5bda78096c945b1de0e0f6c923a9152d Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Thu, 29 Sep 2011 15:25:24 -0700 Subject: [PATCH 076/256] * Updated toybox so it will always display buttons in alphabetical order based on the localized button labels. --- indra/newview/llfloatertoybox.cpp | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp index c3fa322f854..d7f114043d1 100644 --- a/indra/newview/llfloatertoybox.cpp +++ b/indra/newview/llfloatertoybox.cpp @@ -33,6 +33,7 @@ #include "llpanel.h" #include "lltoolbar.h" #include "lltoolbarview.h" +#include "lltrans.h" LLFloaterToybox::LLFloaterToybox(const LLSD& key) @@ -47,6 +48,14 @@ LLFloaterToybox::~LLFloaterToybox() { } +bool compare_localized_command_labels(LLCommand * cmd1, LLCommand * cmd2) +{ + std::string lab1 = LLTrans::getString(cmd1->labelRef()); + std::string lab2 = LLTrans::getString(cmd2->labelRef()); + + return (lab1 < lab2); +} + BOOL LLFloaterToybox::postBuild() { center(); @@ -54,11 +63,13 @@ BOOL LLFloaterToybox::postBuild() mBtnRestoreDefaults = getChild<LLButton>("btn_restore_defaults"); mToolBar = getChild<LLToolBar>("toybox_toolbar"); + LLCommandManager& cmdMgr = LLCommandManager::instance(); + // - // Create Buttons + // Sort commands by localized labels so they will appear alphabetized in all languages // - LLCommandManager& cmdMgr = LLCommandManager::instance(); + std::list<LLCommand *> alphabetized_commands; for (U32 i = 0; i < cmdMgr.commandCount(); i++) { @@ -66,10 +77,21 @@ BOOL LLFloaterToybox::postBuild() if (command->availableInToybox()) { - mToolBar->addCommand(command->id()); + alphabetized_commands.push_back(command); } } + alphabetized_commands.sort(compare_localized_command_labels); + + // + // Create Buttons + // + + for (std::list<LLCommand *>::iterator it = alphabetized_commands.begin(); it != alphabetized_commands.end(); ++it) + { + mToolBar->addCommand((*it)->id()); + } + return TRUE; } -- GitLab From 66e21e0330b2f66b986a1ed76873af9752dcf2e1 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Thu, 29 Sep 2011 17:03:36 -0700 Subject: [PATCH 077/256] * Added latest set of FUI buttons and labels according to the wiki * Hooked up commands to their respective floaters --- indra/newview/app_settings/commands.xml | 118 ++++++++++-------- .../skins/default/textures/textures.xml | 44 +++---- .../newview/skins/default/xui/en/strings.xml | 78 ++++++------ 3 files changed, 132 insertions(+), 108 deletions(-) diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 5fbd9248c13..224c1b4b482 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -1,12 +1,28 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <commands> + <command name="aboutland" + available_in_toybox="true" + icon="Command_AboutLand_Icon" + label_ref="Command_AboutLand_Label" + tooltip_ref="Command_AboutLand_Tooltip" + function="Floater.ToolbarToggle" + parameter="about_land" + /> + <command name="appearance" + available_in_toybox="true" + icon="Command_Appearance_Icon" + label_ref="Command_Appearance_Label" + tooltip_ref="Command_Appearance_Tooltip" + function="Floater.ToolbarToggle" + parameter="appearance" + /> <command name="avatar" available_in_toybox="true" icon="Command_Avatar_Icon" label_ref="Command_Avatar_Label" tooltip_ref="Command_Avatar_Tooltip" function="Floater.ToolbarToggle" - parameter="avatar" + parameter="avatar_picker" /> <command name="build" available_in_toybox="true" @@ -22,7 +38,7 @@ label_ref="Command_Chat_Label" tooltip_ref="Command_Chat_Tooltip" function="Floater.ToolbarToggle" - parameter="chat" + parameter="chat_bar" /> <command name="compass" available_in_toybox="false" @@ -32,6 +48,14 @@ function="Floater.ToolbarToggle" parameter="compass" /> + <command name="destinations" + available_in_toybox="true" + icon="Command_Destinations_Icon" + label_ref="Command_Destinations_Label" + tooltip_ref="Command_Destinations_Tooltip" + function="Floater.ToolbarToggle" + parameter="destinations" + /> <command name="gestures" available_in_toybox="true" icon="Command_Gestures_Icon" @@ -46,15 +70,15 @@ label_ref="Command_HowTo_Label" tooltip_ref="Command_HowTo_Tooltip" function="Floater.ToolbarToggle" - parameter="howto" + parameter="floater_help_browser" /> - <command name="landmarks" + <command name="inventory" available_in_toybox="true" - icon="Command_Landmarks_Icon" - label_ref="Command_Landmarks_Label" - tooltip_ref="Command_Landmarks_Tooltip" + icon="Command_Inventory_Icon" + label_ref="Command_Inventory_Label" + tooltip_ref="Command_Inventory_Tooltip" function="Floater.ToolbarToggle" - parameter="landmarks" + parameter="inventory" /> <command name="map" available_in_toybox="true" @@ -62,7 +86,15 @@ label_ref="Command_Map_Label" tooltip_ref="Command_Map_Tooltip" function="Floater.ToolbarToggle" - parameter="map" + parameter="world_map" + /> + <command name="marketplace" + available_in_toybox="true" + icon="Command_Marketplace_Icon" + label_ref="Command_Marketplace_Label" + tooltip_ref="Command_Marketplace_Tooltip" + function="Floater.ToolbarToggle" + parameter="marketplace" /> <command name="minimap" available_in_toybox="true" @@ -70,7 +102,7 @@ label_ref="Command_MiniMap_Label" tooltip_ref="Command_MiniMap_Tooltip" function="Floater.ToolbarToggle" - parameter="minimap" + parameter="mini_map" /> <command name="move" available_in_toybox="true" @@ -78,23 +110,7 @@ label_ref="Command_Move_Label" tooltip_ref="Command_Move_Tooltip" function="Floater.ToolbarToggle" - parameter="move" - /> - <command name="myland" - available_in_toybox="true" - icon="Command_MyLand_Icon" - label_ref="Command_MyLand_Label" - tooltip_ref="Command_MyLand_Tooltip" - function="Floater.ToolbarToggle" - parameter="myland" - /> - <command name="mystuff" - available_in_toybox="true" - icon="Command_MyStuff_Icon" - label_ref="Command_MyStuff_Label" - tooltip_ref="Command_MyStuff_Tooltip" - function="Floater.ToolbarToggle" - parameter="mystuff" + parameter="moveview" /> <command name="people" available_in_toybox="true" @@ -112,29 +128,29 @@ function="Floater.ToolbarToggle" parameter="places" /> - <command name="search" + <command name="preferences" available_in_toybox="true" - icon="Command_Search_Icon" - label_ref="Command_Search_Label" - tooltip_ref="Command_Search_Tooltip" + icon="Command_Preferences_Icon" + label_ref="Command_Preferences_Label" + tooltip_ref="Command_Preferences_Tooltip" function="Floater.ToolbarToggle" - parameter="search" + parameter="preferences" /> - <command name="settings" + <command name="profile" available_in_toybox="true" - icon="Command_Settings_Icon" - label_ref="Command_Settings_Label" - tooltip_ref="Command_Settings_Tooltip" + icon="Command_Profile_Icon" + label_ref="Command_Profile_Label" + tooltip_ref="Command_Profile_Tooltip" function="Floater.ToolbarToggle" - parameter="settings" + parameter="profile" /> - <command name="shop" + <command name="search" available_in_toybox="true" - icon="Command_Shop_Icon" - label_ref="Command_Shop_Label" - tooltip_ref="Command_Shop_Tooltip" + icon="Command_Search_Icon" + label_ref="Command_Search_Label" + tooltip_ref="Command_Search_Tooltip" function="Floater.ToolbarToggle" - parameter="shop" + parameter="search" /> <command name="snapshot" available_in_toybox="true" @@ -152,20 +168,20 @@ function="Floater.ToolbarToggle" parameter="speak" /> - <command name="upload" - available_in_toybox="true" - icon="Command_Upload_Icon" - label_ref="Command_Upload_Label" - tooltip_ref="Command_Upload_Tooltip" - function="Floater.ToolbarToggle" - parameter="upload" - /> <command name="view" available_in_toybox="true" icon="Command_View_Icon" label_ref="Command_View_Label" tooltip_ref="Command_View_Tooltip" function="Floater.ToolbarToggle" - parameter="view" + parameter="camera" + /> + <command name="voice" + available_in_toybox="true" + icon="Command_Voice_Icon" + label_ref="Command_Voice_Label" + tooltip_ref="Command_Voice_Tooltip" + function="Floater.ToolbarToggle" + parameter="voice_controls" /> </commands> diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index be68c2873e0..57ce7fe57a7 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -125,27 +125,29 @@ with the same filename but different name <texture name="Checkbox_Press" file_name="widgets/Checkbox_Press.png" preload="true" /> <texture name="Check_Mark" file_name="icons/check_mark" preload="true" /> - <texture name="Command_Avatar_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Build_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Chat_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Compass_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Gestures_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_HowTo_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Landmarks_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Map_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_MiniMap_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Move_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_MyLand_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_MyStuff_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_People_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Places_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Search_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Settings_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Shop_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Snapshot_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Speak_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Upload_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_View_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_AboutLand_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Appearance_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Avatar_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Build_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Chat_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Compass_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Destinations_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Gestures_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_HowTo_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Inventory_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Map_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Marketplace_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_MiniMap_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Move_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_People_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Places_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Preferences_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Profile_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Search_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Snapshot_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Speak_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_View_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Voice_Icon" file_name="icons/SL_Logo.png" preload="true" /> <texture name="ComboButton_Disabled" file_name="widgets/ComboButton_Disabled.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> <texture name="ComboButton_Selected" file_name="widgets/ComboButton_Selected.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index feea555fdcf..158e1c711d2 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -16,16 +16,16 @@ <string name="StartupDetectingHardware">Detecting hardware...</string> <string name="StartupLoading">Loading [APP_NAME]...</string> <string name="StartupClearingCache">Clearing cache...</string> - <string name="StartupInitializingTextureCache">Initializing Texture Cache...</string> + <string name="StartupInitializingTextureCache">Initializing texture cache...</string> <string name="StartupInitializingVFS">Initializing VFS...</string> - <string name="StartupRequireDriverUpdate">Graphics Initialization Failed. Please Update Your Graphics Driver!</string> + <string name="StartupRequireDriverUpdate">Graphics initialization failed. Please update your graphics driver!</string> <!-- progress --> <string name="ProgressRestoring">Restoring...</string> - <string name="ProgressChangingResolution">Changing Resolution...</string> + <string name="ProgressChangingResolution">Changing resolution...</string> <!-- Legacy strings, almost never used --> - <string name="Fullbright">Fullbright (Legacy)</string> <!-- used in the Build > materials dropdown--> + <string name="Fullbright">Fullbright (legacy)</string> <!-- used in the Build > materials dropdown--> <!-- Login --> <string name="LoginInProgress">Logging in. [APP_NAME] may appear frozen. Please wait.</string> @@ -38,8 +38,8 @@ <string name="LoginInitializingMultimedia">Initializing multimedia...</string> <string name="LoginInitializingFonts">Loading fonts...</string> <string name="LoginVerifyingCache">Verifying cache files (can take 60-90 seconds)...</string> - <string name="LoginProcessingResponse">Processing Response...</string> - <string name="LoginInitializingWorld">Initializing World...</string> + <string name="LoginProcessingResponse">Processing response...</string> + <string name="LoginInitializingWorld">Initializing world...</string> <string name="LoginDecodingImages">Decoding images...</string> <string name="LoginInitializingQuicktime">Initializing QuickTime...</string> <string name="LoginQuicktimeNotFound">QuickTime not found - unable to initialize.</string> @@ -56,7 +56,7 @@ <string name="CertBasicConstraints">Too many certificates were in the servers Certificate chain. Please contact your Grid administrator.</string> <string name="CertInvalidSignature">The certificate signature returned by the Grid server could not be verified. Please contact your Grid administrator.</string> - <string name="LoginFailedNoNetwork">Network Error: Could not establish connection, please check your network connection.</string> + <string name="LoginFailedNoNetwork">Network error: Could not establish connection, please check your network connection.</string> <string name="LoginFailed">Login failed.</string> <string name="Quit">Quit</string> <string name="create_account_url">http://join.secondlife.com/</string> @@ -3652,47 +3652,53 @@ Try enclosing path to the editor with double quotes. <string name="ParticleHiding">Hiding Particles</string> <!-- commands --> + + <string name="Command_AboutLand_Label">About land</string> + <string name="Command_Appearance_Label">Appearance</string> <string name="Command_Avatar_Label">Avatar</string> - <string name="Command_Avatar_Tooltip">Change the appearance of your avatar</string> <string name="Command_Build_Label">Build</string> - <string name="Command_Build_Tooltip">Building, reshaping terrain</string> <string name="Command_Chat_Label">Chat</string> - <string name="Command_Chat_Tooltip">Chat with people nearby</string> <string name="Command_Compass_Label">Compass</string> - <string name="Command_Compass_Tooltip"></string> + <string name="Command_Destinations_Label">Destinations</string> <string name="Command_Gestures_Label">Gestures</string> - <string name="Command_Gestures_Tooltip"></string> - <string name="Command_HowTo_Label">How To</string> - <string name="Command_HowTo_Tooltip"></string> - <string name="Command_Landmarks_Label">Landmarks</string> - <string name="Command_Landmarks_Tooltip"></string> + <string name="Command_HowTo_Label">How to</string> + <string name="Command_Inventory_Label">Inventory</string> <string name="Command_Map_Label">Map</string> - <string name="Command_Map_Tooltip"></string> - <string name="Command_MiniMap_Label">Mini Map</string> - <string name="Command_MiniMap_Tooltip"></string> + <string name="Command_Marketplace_Label">Marketplace</string> + <string name="Command_MiniMap_Label">Mini-map</string> <string name="Command_Move_Label">Move</string> - <string name="Command_Move_Tooltip"></string> - <string name="Command_MyLand_Label">My Land</string> - <string name="Command_MyLand_Tooltip">Information about the land you're visiting</string> - <string name="Command_MyStuff_Label">My Stuff</string> - <string name="Command_MyStuff_Tooltip">View and use your belongings</string> <string name="Command_People_Label">People</string> - <string name="Command_People_Tooltip"></string> <string name="Command_Places_Label">Places</string> - <string name="Command_Places_Tooltip">Destination guide</string> + <string name="Command_Preferences_Label">Preferences</string> + <string name="Command_Profile_Label">Profile</string> <string name="Command_Search_Label">Search</string> - <string name="Command_Search_Tooltip">Find...</string> - <string name="Command_Settings_Label">Settings</string> - <string name="Command_Settings_Tooltip">Preferences</string> - <string name="Command_Shop_Label">Shop</string> - <string name="Command_Shop_Tooltip"></string> <string name="Command_Snapshot_Label">Snapshot</string> - <string name="Command_Snapshot_Tooltip">Take a picture</string> <string name="Command_Speak_Label">Speak</string> - <string name="Command_Speak_Tooltip">Speak with people nearby using your microphone</string> - <string name="Command_Upload_Label">Upload</string> - <string name="Command_Upload_Tooltip"></string> <string name="Command_View_Label">View</string> - <string name="Command_View_Tooltip">Changing your view of the world</string> + <string name="Command_Voice_Label">Nearby voice</string> + + <string name="Command_AboutLand_Tooltip">Information about the land you're visiting</string> + <string name="Command_Appearance_Tooltip">Change your avatar</string> + <string name="Command_Avatar_Tooltip">Choose a complete avatar</string> + <string name="Command_Build_Tooltip">Building objects and reshaping them</string> + <string name="Command_Chat_Tooltip">Chat with people nearby using text</string> + <string name="Command_Compass_Tooltip">Compass</string> + <string name="Command_Destinations_Tooltip">Destinations of interest</string> + <string name="Command_Gestures_Tooltip">Gestures for your avatar</string> + <string name="Command_HowTo_Tooltip">How to do common tasks</string> + <string name="Command_Inventory_Tooltip">View and use your belongings</string> + <string name="Command_Map_Tooltip">Map of the world</string> + <string name="Command_Marketplace_Tooltip">Go shopping</string> + <string name="Command_MiniMap_Tooltip">Show nearby people</string> + <string name="Command_Move_Tooltip">Moving your avatar</string> + <string name="Command_People_Tooltip">Friends, groups, and nearby people</string> + <string name="Command_Places_Tooltip">Places you've saved</string> + <string name="Command_Preferences_Tooltip">Preferences</string> + <string name="Command_Profile_Tooltip">Edit or view your profile</string> + <string name="Command_Search_Tooltip">Find places, events, people</string> + <string name="Command_Snapshot_Tooltip">Take a picture</string> + <string name="Command_Speak_Tooltip">Speak with people nearby using your microphone</string> + <string name="Command_View_Tooltip">Changing camera angle</string> + <string name="Command_Voice_Tooltip">People nearby with voice capability</string> </strings> -- GitLab From 8fa45941b6ce99c462f19628a17d4db2396286b9 Mon Sep 17 00:00:00 2001 From: leyla_linden <none@none> Date: Fri, 30 Sep 2011 10:00:49 -0700 Subject: [PATCH 078/256] EXP-1264 Chat log shows as blank if closing viewer with chat log open and then opening chat floater on next login EXP-1271 Remove UI hints --- indra/llui/llfloater.h | 2 +- indra/newview/app_settings/settings.xml | 2 +- indra/newview/llnearbychatbar.cpp | 17 ++++++++++++++--- indra/newview/llnearbychatbar.h | 4 ++++ 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index 58c2d342530..fba59e82e1e 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -293,7 +293,7 @@ friend class LLMultiFloater; protected: virtual void applySavedVariables(); - void applyRectControl(); + virtual void applyRectControl(); void applyDockState(); void storeRectControl(); void storeVisibilityControl(); diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 148b80e817c..1abea6c8839 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -3190,7 +3190,7 @@ <key>Type</key> <string>Boolean</string> <key>Value</key> - <integer>1</integer> + <integer>0</integer> </map> <key>EnableVoiceChat</key> <map> diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp index 258aa9a8bf6..dbe30e18472 100644 --- a/indra/newview/llnearbychatbar.cpp +++ b/indra/newview/llnearbychatbar.cpp @@ -451,6 +451,16 @@ BOOL LLNearbyChatBar::postBuild() return TRUE; } +void LLNearbyChatBar::applyRectControl() +{ + LLFloater::applyRectControl(); + if (getRect().getHeight() > getMinHeight()) + { + getChildView("nearby_chat")->setVisible(true); + mExpandedHeight = getRect().getHeight(); + } +} + void LLNearbyChatBar::onChatFontChange(LLFontGL* fontp) { // Update things with the new font whohoo @@ -690,14 +700,15 @@ void LLNearbyChatBar::onToggleNearbyChatPanel() if (nearby_chat->getVisible()) { + mExpandedHeight = getRect().getHeight(); nearby_chat->setVisible(FALSE); - reshape(getRect().getWidth(), 60); - mResizeHandle[0]->setMaxHeight(60); + reshape(getRect().getWidth(), getMinHeight()); + mResizeHandle[0]->setMaxHeight(getMinHeight()); } else { nearby_chat->setVisible(TRUE); - reshape(getRect().getWidth(), 360); + reshape(getRect().getWidth(), mExpandedHeight); mResizeHandle[0]->setMaxHeight(S32_MAX); } } diff --git a/indra/newview/llnearbychatbar.h b/indra/newview/llnearbychatbar.h index 1d28a21ef3c..0415f12a0d0 100644 --- a/indra/newview/llnearbychatbar.h +++ b/indra/newview/llnearbychatbar.h @@ -127,6 +127,8 @@ class LLNearbyChatBar void onChatBoxCommit(); void onChatFontChange(LLFontGL* fontp); + /* virtual */ void applyRectControl(); + void onToggleNearbyChatPanel(); static LLWString stripChannelNumber(const LLWString &mesg, S32* channel); @@ -140,6 +142,8 @@ class LLNearbyChatBar LLLineEditor* mChatBox; LLOutputMonitorCtrl* mOutputMonitor; LLLocalSpeakerMgr* mSpeakerMgr; + + S32 mExpandedHeight; }; #endif -- GitLab From ccd619013d851b5a63976205ea06002e92d7f468 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 30 Sep 2011 13:37:03 -0700 Subject: [PATCH 079/256] Found and removed duplicate command icon definitions. --- .../skins/default/textures/textures.xml | 68 +++++++------------ 1 file changed, 23 insertions(+), 45 deletions(-) diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 57ce7fe57a7..4462fb792f5 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -125,29 +125,29 @@ with the same filename but different name <texture name="Checkbox_Press" file_name="widgets/Checkbox_Press.png" preload="true" /> <texture name="Check_Mark" file_name="icons/check_mark" preload="true" /> - <texture name="Command_AboutLand_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Appearance_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Avatar_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Build_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Chat_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Compass_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Destinations_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Gestures_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_HowTo_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Inventory_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Map_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Marketplace_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_MiniMap_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Move_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_People_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Places_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Preferences_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Profile_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Search_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Snapshot_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Speak_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_View_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Voice_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_AboutLand_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Appearance_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Avatar_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Build_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Chat_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Compass_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Destinations_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Gestures_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_HowTo_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Inventory_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Map_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Marketplace_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_MiniMap_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Move_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_People_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Places_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Preferences_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Profile_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Search_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Snapshot_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Speak_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_View_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Voice_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> <texture name="ComboButton_Disabled" file_name="widgets/ComboButton_Disabled.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> <texture name="ComboButton_Selected" file_name="widgets/ComboButton_Selected.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> @@ -762,26 +762,4 @@ with the same filename but different name <texture name="Popup_Caution" file_name="icons/pop_up_caution.png"/> <texture name="Camera_Drag_Dot" file_name="world/CameraDragDot.png"/> - <texture name="Command_Avatar_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Build_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Chat_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Compass_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Gestures_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_HowTo_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Landmarks_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Map_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_MiniMap_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Move_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_MyLand_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_MyStuff_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_People_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Places_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Search_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Settings_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Shop_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Snapshot_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Speak_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Upload_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_View_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - </textures> -- GitLab From cdc80b1dd34ef533d7500bf1ab89abf3c5d81bb3 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 30 Sep 2011 15:25:02 -0700 Subject: [PATCH 080/256] EXP-1205 PROGRESS -- As a User, I want a toybox which will contain all buttons that I can d&d into the toolbars EXP-1268 FIX -- The "Restore Defaults" button should reset the left/right/bottom toolbars to their default states * LLToolBarView::loadDefaultToolbars now a static function * Toybox button callback hooked up to properly restore defaults Reviewed by Merov --- indra/llui/lltoolbarview.cpp | 15 ++++++++++++++- indra/llui/lltoolbarview.h | 3 ++- indra/newview/llfloatertoybox.cpp | 2 ++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 1c6cf3230b1..12247519ad7 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -114,7 +114,7 @@ bool LLToolBarView::addCommand(const LLCommandId& command, LLToolBar* toolbar) } bool LLToolBarView::loadToolbars(bool force_default) -{ +{ LLToolBarView::ToolbarSet toolbar_set; // Load the toolbars.xml file @@ -204,6 +204,19 @@ bool LLToolBarView::loadToolbars(bool force_default) return true; } +//static +bool LLToolBarView::loadDefaultToolbars() +{ + bool retval = false; + + if (gToolBarView) + { + retval = gToolBarView->loadToolbars(true); + } + + return retval; +} + void LLToolBarView::saveToolbars() const { // Build the parameter tree from the toolbar data diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index efe6920db8a..95c09ece735 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -72,7 +72,8 @@ class LLToolBarView : public LLUICtrl bool hasCommand(const LLCommandId& commandId) const; // Loads the toolbars from the existing user or default settings bool loadToolbars(bool force_default = false); // return false if load fails - bool loadDefaultToolbars() { return loadToolbars(true); } + + static bool loadDefaultToolbars(); protected: friend class LLUICtrlFactory; diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp index d7f114043d1..7a6afb4e33a 100644 --- a/indra/newview/llfloatertoybox.cpp +++ b/indra/newview/llfloatertoybox.cpp @@ -61,6 +61,8 @@ BOOL LLFloaterToybox::postBuild() center(); mBtnRestoreDefaults = getChild<LLButton>("btn_restore_defaults"); + mBtnRestoreDefaults->setCommitCallback(boost::bind(&LLToolBarView::loadDefaultToolbars)); + mToolBar = getChild<LLToolBar>("toybox_toolbar"); LLCommandManager& cmdMgr = LLCommandManager::instance(); -- GitLab From 462f6a00285a92701ecba7cf69d5236f337e0781 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 30 Sep 2011 15:25:41 -0700 Subject: [PATCH 081/256] * Updated howto and profile windows to point to different buttons. Web content is still problematic for FUI floaters. --- indra/newview/app_settings/commands.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 224c1b4b482..77bf7cace3e 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -70,7 +70,7 @@ label_ref="Command_HowTo_Label" tooltip_ref="Command_HowTo_Tooltip" function="Floater.ToolbarToggle" - parameter="floater_help_browser" + parameter="help_browser" /> <command name="inventory" available_in_toybox="true" @@ -142,7 +142,7 @@ label_ref="Command_Profile_Label" tooltip_ref="Command_Profile_Tooltip" function="Floater.ToolbarToggle" - parameter="profile" + parameter="my_profile" /> <command name="search" available_in_toybox="true" -- GitLab From 6fe4815217a11a36aa2e2b1d8b040eff007bb631 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 30 Sep 2011 15:26:48 -0700 Subject: [PATCH 082/256] Updated FUI floater toggle function to handle closing windows that are initialized with chrome. --- indra/llui/llfloaterreg.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llui/llfloaterreg.cpp b/indra/llui/llfloaterreg.cpp index 8a0513f2465..27e96856b3e 100644 --- a/indra/llui/llfloaterreg.cpp +++ b/indra/llui/llfloaterreg.cpp @@ -483,7 +483,7 @@ void LLFloaterReg::toggleToolbarFloaterInstance(const LLSD& sdname) { showInstance(name, key, TRUE); } - else if (!instance->hasFocus()) + else if (!instance->hasFocus() && !instance->getIsChrome()) { instance->setFocus(TRUE); } -- GitLab From 09e179b2381a4db03309839babae664feb9b0886 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 30 Sep 2011 16:57:08 -0700 Subject: [PATCH 083/256] param block cleanup added Flag as value type moved Batch to BatchBlock renamed Choice to ChoiceBlock made merging of parameters for ValueParams consistent (fillFrom and overwriteFrom are inverses of each other now) made iteration over Multiple<T> type params easier initial schema param blocks --- indra/llui/lllineeditor.h | 2 +- indra/llui/llloadingindicator.cpp | 7 +- indra/llui/llloadingindicator.h | 4 +- indra/llui/llnotifications.h | 4 +- indra/llui/llnotificationtemplate.h | 4 +- indra/llui/llnotificationvisibilityrule.h | 2 +- indra/llui/llscrolllistcolumn.h | 4 +- indra/llui/llsdparam.cpp | 6 +- indra/llui/llsdparam.h | 4 +- indra/llui/lltextbase.h | 2 +- indra/llui/lltoolbar.cpp | 6 +- indra/llui/lltoolbarview.h | 4 - indra/llui/llui.cpp | 4 +- indra/llui/llui.h | 2 +- indra/llui/lluicolortable.h | 2 +- indra/llui/lluictrl.h | 4 +- indra/llui/lluictrlfactory.h | 6 +- indra/llui/llview.h | 2 +- indra/llxuixml/llinitparam.cpp | 2 +- indra/llxuixml/llinitparam.h | 452 ++++++++---------- indra/llxuixml/llxuiparser.cpp | 140 +++++- indra/llxuixml/llxuiparser.h | 6 +- indra/newview/llnamelistctrl.h | 2 +- .../default/xui/en/panel_toolbar_view.xml | 3 - .../skins/default/xui/en/widgets/toolbar.xml | 1 + 25 files changed, 377 insertions(+), 298 deletions(-) diff --git a/indra/llui/lllineeditor.h b/indra/llui/lllineeditor.h index 583bde360a3..2518dbe3c73 100644 --- a/indra/llui/lllineeditor.h +++ b/indra/llui/lllineeditor.h @@ -60,7 +60,7 @@ class LLLineEditor typedef boost::function<void (LLLineEditor* caller)> keystroke_callback_t; - struct MaxLength : public LLInitParam::Choice<MaxLength> + struct MaxLength : public LLInitParam::ChoiceBlock<MaxLength> { Alternative<S32> bytes, chars; diff --git a/indra/llui/llloadingindicator.cpp b/indra/llui/llloadingindicator.cpp index c4eec1835cd..6ac38f5ad40 100644 --- a/indra/llui/llloadingindicator.cpp +++ b/indra/llui/llloadingindicator.cpp @@ -34,6 +34,7 @@ // Project includes #include "lluictrlfactory.h" #include "lluiimage.h" +#include "boost/foreach.hpp" // registered in llui.cpp to avoid being left out by MS linker //static LLDefaultChildRegistry::Register<LLLoadingIndicator> r("loading_indicator"); @@ -51,11 +52,9 @@ LLLoadingIndicator::LLLoadingIndicator(const Params& p) void LLLoadingIndicator::initFromParams(const Params& p) { - for (LLInitParam::ParamIterator<LLUIImage*>::const_iterator it = p.images().image.begin(), end_it = p.images().image.end(); - it != end_it; - ++it) + BOOST_FOREACH(LLUIImage* image, p.images.image) { - mImages.push_back(it->getValue()); + mImages.push_back(image); } // Start timer for switching images. diff --git a/indra/llui/llloadingindicator.h b/indra/llui/llloadingindicator.h index 7c444788483..c1f979c1113 100644 --- a/indra/llui/llloadingindicator.h +++ b/indra/llui/llloadingindicator.h @@ -51,7 +51,7 @@ class LLLoadingIndicator LOG_CLASS(LLLoadingIndicator); public: - struct Images : public LLInitParam::Block<Images> + struct Images : public LLInitParam::BatchBlock<Images> { Multiple<LLUIImage*> image; @@ -63,7 +63,7 @@ class LLLoadingIndicator struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> { Optional<F32> images_per_sec; - Batch<Images> images; + Optional<Images> images; Params() : images_per_sec("images_per_sec", 1.0f), diff --git a/indra/llui/llnotifications.h b/indra/llui/llnotifications.h index 0c4d4fc897a..462d69be2e1 100644 --- a/indra/llui/llnotifications.h +++ b/indra/llui/llnotifications.h @@ -201,7 +201,7 @@ class LLNotificationForm FormInput(); }; - struct FormElement : public LLInitParam::Choice<FormElement> + struct FormElement : public LLInitParam::ChoiceBlock<FormElement> { Alternative<FormButton> button; Alternative<FormInput> input; @@ -312,7 +312,7 @@ friend class LLNotifications; Optional<LLNotificationContext*> context; Optional<void*> responder; - struct Functor : public LLInitParam::Choice<Functor> + struct Functor : public LLInitParam::ChoiceBlock<Functor> { Alternative<std::string> name; Alternative<LLNotificationFunctorRegistry::ResponseFunctor> function; diff --git a/indra/llui/llnotificationtemplate.h b/indra/llui/llnotificationtemplate.h index ab777d37a5f..fb50c9c1233 100644 --- a/indra/llui/llnotificationtemplate.h +++ b/indra/llui/llnotificationtemplate.h @@ -91,7 +91,7 @@ struct LLNotificationTemplate // <notification> <unique/> </notification> // as well as // <notification> <unique> <context></context> </unique>... - Flag dummy_val; + Optional<LLInitParam::Flag> dummy_val; public: Multiple<UniquenessContext> contexts; @@ -147,7 +147,7 @@ struct LLNotificationTemplate {} }; - struct FormRef : public LLInitParam::Choice<FormRef> + struct FormRef : public LLInitParam::ChoiceBlock<FormRef> { Alternative<LLNotificationForm::Params> form; Alternative<TemplateRef> form_template; diff --git a/indra/llui/llnotificationvisibilityrule.h b/indra/llui/llnotificationvisibilityrule.h index 78bdec2a8f3..78788a275c7 100644 --- a/indra/llui/llnotificationvisibilityrule.h +++ b/indra/llui/llnotificationvisibilityrule.h @@ -59,7 +59,7 @@ struct LLNotificationVisibilityRule {} }; - struct Rule : public LLInitParam::Choice<Rule> + struct Rule : public LLInitParam::ChoiceBlock<Rule> { Alternative<Filter> show; Alternative<Filter> hide; diff --git a/indra/llui/llscrolllistcolumn.h b/indra/llui/llscrolllistcolumn.h index 12baea8e0c4..b4d4a6d05e7 100644 --- a/indra/llui/llscrolllistcolumn.h +++ b/indra/llui/llscrolllistcolumn.h @@ -95,7 +95,7 @@ class LLScrollListColumn Optional<ESortDirection, SortNames> sort_direction; Optional<bool> sort_ascending; - struct Width : public LLInitParam::Choice<Width> + struct Width : public LLInitParam::ChoiceBlock<Width> { Alternative<bool> dynamic_width; Alternative<S32> pixel_width; @@ -112,7 +112,7 @@ class LLScrollListColumn Optional<Width> width; // either an image or label is used in column header - struct Header : public LLInitParam::Choice<Header> + struct Header : public LLInitParam::ChoiceBlock<Header> { Alternative<std::string> label; Alternative<LLUIImage*> image; diff --git a/indra/llui/llsdparam.cpp b/indra/llui/llsdparam.cpp index 04919e69916..4b69360e330 100644 --- a/indra/llui/llsdparam.cpp +++ b/indra/llui/llsdparam.cpp @@ -45,7 +45,7 @@ LLParamSDParser::LLParamSDParser() if (sReadFuncs.empty()) { - registerParserFuncs<LLInitParam::NoParamValue>(readNoValue, &LLParamSDParser::writeNoValue); + registerParserFuncs<LLInitParam::Flag>(readFlag, &LLParamSDParser::writeFlag); registerParserFuncs<S32>(readS32, &LLParamSDParser::writeTypedValue<S32>); registerParserFuncs<U32>(readU32, &LLParamSDParser::writeU32Param); registerParserFuncs<F32>(readF32, &LLParamSDParser::writeTypedValue<F32>); @@ -72,7 +72,7 @@ bool LLParamSDParser::writeU32Param(LLParamSDParser::parser_t& parser, const voi return true; } -bool LLParamSDParser::writeNoValue(LLParamSDParser::parser_t& parser, const void* val_ptr, const parser_t::name_stack_t& name_stack) +bool LLParamSDParser::writeFlag(LLParamSDParser::parser_t& parser, const void* val_ptr, const parser_t::name_stack_t& name_stack) { LLParamSDParser& sdparser = static_cast<LLParamSDParser&>(parser); if (!sdparser.mWriteRootSD) return false; @@ -226,7 +226,7 @@ LLSD* LLParamSDParser::getSDWriteNode(const parser_t::name_stack_t& name_stack) return sd_to_write; } -bool LLParamSDParser::readNoValue(Parser& parser, void* val_ptr) +bool LLParamSDParser::readFlag(Parser& parser, void* val_ptr) { LLParamSDParser& self = static_cast<LLParamSDParser&>(parser); return self.mCurReadSD == &NO_VALUE_MARKER; diff --git a/indra/llui/llsdparam.h b/indra/llui/llsdparam.h index f776c781b33..a371c28f68e 100644 --- a/indra/llui/llsdparam.h +++ b/indra/llui/llsdparam.h @@ -63,9 +63,9 @@ typedef LLInitParam::Parser parser_t; LLSD* getSDWriteNode(const parser_t::name_stack_t& name_stack); static bool writeU32Param(Parser& parser, const void* value_ptr, const parser_t::name_stack_t& name_stack); - static bool writeNoValue(Parser& parser, const void* value_ptr, const parser_t::name_stack_t& name_stack); + static bool writeFlag(Parser& parser, const void* value_ptr, const parser_t::name_stack_t& name_stack); - static bool readNoValue(Parser& parser, void* val_ptr); + static bool readFlag(Parser& parser, void* val_ptr); static bool readS32(Parser& parser, void* val_ptr); static bool readU32(Parser& parser, void* val_ptr); static bool readF32(Parser& parser, void* val_ptr); diff --git a/indra/llui/lltextbase.h b/indra/llui/lltextbase.h index 7d545a1ba61..384d9116fc0 100644 --- a/indra/llui/lltextbase.h +++ b/indra/llui/lltextbase.h @@ -237,7 +237,7 @@ class LLTextBase friend class LLNormalTextSegment; friend class LLUICtrlFactory; - struct LineSpacingParams : public LLInitParam::Choice<LineSpacingParams> + struct LineSpacingParams : public LLInitParam::ChoiceBlock<LineSpacingParams> { Alternative<F32> multiple; Alternative<S32> pixels; diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index caad896a069..d940bed9056 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -185,7 +185,7 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) LLPanel::Params button_panel_p(p.button_panel); button_panel_p.rect = center_panel->getLocalRect(); - button_panel_p.follows.flags = FOLLOWS_BOTTOM|FOLLOWS_LEFT; + button_panel_p.follows.flags = FOLLOWS_BOTTOM|FOLLOWS_LEFT; mButtonPanel = LLUICtrlFactory::create<LLPanel>(button_panel_p); center_panel->addChild(mButtonPanel); @@ -558,8 +558,8 @@ BOOL LLToolBarButton::handleHover(S32 x, S32 y, MASK mask) LLToolBar* bar = getParentByType<LLToolBar>(); if (view) { - view->startDrag(bar->createButton(mId)); - setVisible(FALSE); + //view->startDrag(bar->createButton(mId)); + //setVisible(FALSE); } } } diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index ea3422f04e2..dd2bbf0e498 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -65,10 +65,6 @@ class LLToolBarView : public LLUICtrl virtual ~LLToolBarView(); virtual BOOL postBuild(); virtual void draw(); - virtual BOOL handleHover(S32 x, S32 y, MASK mask); - virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask); - virtual void onMouseCaptureLost(); - void startDrag(LLToolBarButton*); // Toolbar view interface with the rest of the world // Checks if the commandId is being used somewhere in one of the toolbars bool hasCommand(const LLCommandId& commandId) const; diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp index 4f129ccfba1..76a12e649b4 100644 --- a/indra/llui/llui.cpp +++ b/indra/llui/llui.cpp @@ -2107,7 +2107,7 @@ namespace LLInitParam void ParamValue<LLUIColor, TypeValues<LLUIColor> >::updateValueFromBlock() { - if (control.isProvided()) + if (control.isProvided() && !control().empty()) { updateValue(LLUIColorTable::instance().getColor(control)); } @@ -2264,9 +2264,11 @@ namespace LLInitParam // in this case, that is left+width and bottom+height LLRect& value = getValue(); + right.set(value.mRight, false); left.set(value.mLeft, make_block_authoritative); width.set(value.getWidth(), make_block_authoritative); + top.set(value.mTop, false); bottom.set(value.mBottom, make_block_authoritative); height.set(value.getHeight(), make_block_authoritative); } diff --git a/indra/llui/llui.h b/indra/llui/llui.h index 7801a01aceb..3afb7c65a90 100644 --- a/indra/llui/llui.h +++ b/indra/llui/llui.h @@ -365,7 +365,7 @@ template <typename T> LLRegisterWith<LLInitClassList> LLInitClass<T>::sRegister( template <typename T> LLRegisterWith<LLDestroyClassList> LLDestroyClass<T>::sRegister(&T::destroyClass); // useful parameter blocks -struct TimeIntervalParam : public LLInitParam::Choice<TimeIntervalParam> +struct TimeIntervalParam : public LLInitParam::ChoiceBlock<TimeIntervalParam> { Alternative<F32> seconds; Alternative<S32> frames; diff --git a/indra/llui/lluicolortable.h b/indra/llui/lluicolortable.h index 76518789ec0..6a7a681d57a 100644 --- a/indra/llui/lluicolortable.h +++ b/indra/llui/lluicolortable.h @@ -44,7 +44,7 @@ LOG_CLASS(LLUIColorTable); typedef std::map<std::string, LLUIColor> string_color_map_t; public: - struct ColorParams : LLInitParam::Choice<ColorParams> + struct ColorParams : LLInitParam::ChoiceBlock<ColorParams> { Alternative<LLColor4> value; Alternative<std::string> reference; diff --git a/indra/llui/lluictrl.h b/indra/llui/lluictrl.h index fc56e5fc35f..a8a4e3191d0 100644 --- a/indra/llui/lluictrl.h +++ b/indra/llui/lluictrl.h @@ -76,14 +76,14 @@ class LLUICtrl Optional<enable_callback_t> function; }; - struct EnableControls : public LLInitParam::Choice<EnableControls> + struct EnableControls : public LLInitParam::ChoiceBlock<EnableControls> { Alternative<std::string> enabled; Alternative<std::string> disabled; EnableControls(); }; - struct ControlVisibility : public LLInitParam::Choice<ControlVisibility> + struct ControlVisibility : public LLInitParam::ChoiceBlock<ControlVisibility> { Alternative<std::string> visible; Alternative<std::string> invisible; diff --git a/indra/llui/lluictrlfactory.h b/indra/llui/lluictrlfactory.h index 71c38237c19..d612ad5005d 100644 --- a/indra/llui/lluictrlfactory.h +++ b/indra/llui/lluictrlfactory.h @@ -125,12 +125,12 @@ class LLUICtrlFactory : public LLSingleton<LLUICtrlFactory> // base case for recursion, there are NO base classes of LLInitParam::BaseBlock template<int DUMMY> - class ParamDefaults<LLInitParam::BaseBlockWithFlags, DUMMY> : public LLSingleton<ParamDefaults<LLInitParam::BaseBlockWithFlags, DUMMY> > + class ParamDefaults<LLInitParam::BaseBlock, DUMMY> : public LLSingleton<ParamDefaults<LLInitParam::BaseBlock, DUMMY> > { public: - const LLInitParam::BaseBlockWithFlags& get() { return mBaseBlock; } + const LLInitParam::BaseBlock& get() { return mBaseBlock; } private: - LLInitParam::BaseBlockWithFlags mBaseBlock; + LLInitParam::BaseBlock mBaseBlock; }; public: diff --git a/indra/llui/llview.h b/indra/llui/llview.h index f4e31b109a3..a1c46f3bf3a 100644 --- a/indra/llui/llview.h +++ b/indra/llui/llview.h @@ -98,7 +98,7 @@ class LLViewDrawContext class LLView : public LLMouseHandler, public LLMortician, public LLFocusableElement { public: - struct Follows : public LLInitParam::Choice<Follows> + struct Follows : public LLInitParam::ChoiceBlock<Follows> { Alternative<std::string> string; Alternative<U32> flags; diff --git a/indra/llxuixml/llinitparam.cpp b/indra/llxuixml/llinitparam.cpp index c024fd405e7..99016205c85 100644 --- a/indra/llxuixml/llinitparam.cpp +++ b/indra/llxuixml/llinitparam.cpp @@ -365,7 +365,7 @@ namespace LLInitParam // verify by calling readValue with NoParamValue type, an inherently unparseable type if (!names_left) { - NoParamValue no_value; + Flag no_value; return p.readValue(no_value); } diff --git a/indra/llxuixml/llinitparam.h b/indra/llxuixml/llinitparam.h index 69dcd474f7d..9a6ded47ffe 100644 --- a/indra/llxuixml/llinitparam.h +++ b/indra/llxuixml/llinitparam.h @@ -38,6 +38,9 @@ namespace LLInitParam { + // used to indicate no matching value to a given name when parsing + struct Flag{}; + template<typename T> const T& defaultValue() { static T value; return value; } template <typename T, bool IS_BOOST_FUNCTION = boost::is_convertible<T, boost::function_base>::value > @@ -65,6 +68,12 @@ namespace LLInitParam static bool equals(const LLSD &a, const LLSD &b) { return false; } }; + template<> + struct ParamCompare<Flag, false> + { + static bool equals(const Flag& a, const Flag& b) { return false; } + }; + // helper functions and classes typedef ptrdiff_t param_handle_t; @@ -275,9 +284,6 @@ namespace LLInitParam static S32 sNextParseGeneration; }; - // used to indicate no matching value to a given name when parsing - struct NoParamValue{}; - class BaseBlock; class Param @@ -385,36 +391,36 @@ namespace LLInitParam // "Multiple" constraint types, put here in root class to avoid ambiguity during use struct AnyAmount { - static U32 minCount() { return 0; } - static U32 maxCount() { return U32_MAX; } + enum { minCount = 0 }; + enum { maxCount = U32_MAX }; }; template<U32 MIN_AMOUNT> struct AtLeast { - static U32 minCount() { return MIN_AMOUNT; } - static U32 maxCount() { return U32_MAX; } + enum { minCount = MIN_AMOUNT }; + enum { maxCount = U32_MAX }; }; template<U32 MAX_AMOUNT> struct AtMost { - static U32 minCount() { return 0; } - static U32 maxCount() { return MAX_AMOUNT; } + enum { minCount = 0 }; + enum { maxCount = MAX_AMOUNT }; }; template<U32 MIN_AMOUNT, U32 MAX_AMOUNT> struct Between { - static U32 minCount() { return MIN_AMOUNT; } - static U32 maxCount() { return MAX_AMOUNT; } + enum { minCount = MIN_AMOUNT }; + enum { maxCount = MAX_AMOUNT }; }; template<U32 EXACT_COUNT> struct Exactly { - static U32 minCount() { return EXACT_COUNT; } - static U32 maxCount() { return EXACT_COUNT; } + enum { minCount = EXACT_COUNT }; + enum { maxCount = EXACT_COUNT }; }; // this typedef identifies derived classes as being blocks @@ -477,9 +483,9 @@ namespace LLInitParam void init(BlockDescriptor& descriptor, BlockDescriptor& base_descriptor, size_t block_size); - bool mergeBlockParam(bool param_provided, BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) + bool mergeBlockParam(bool source_provided, bool dst_provided, BlockDescriptor& block_data, const BaseBlock& source, bool overwrite) { - return mergeBlock(block_data, other, overwrite); + return mergeBlock(block_data, source, overwrite); } // take all provided params from other and apply to self bool mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite); @@ -497,92 +503,6 @@ namespace LLInitParam const std::string& getParamName(const BlockDescriptor& block_data, const Param* paramp) const; }; - class BaseBlockWithFlags : public BaseBlock - { - public: - class FlagBase : public Param - { - public: - typedef FlagBase self_t; - - FlagBase(const char* name, BaseBlock* enclosing_block) : Param(enclosing_block) - { - if (LL_UNLIKELY(enclosing_block->mostDerivedBlockDescriptor().mInitializationState == BlockDescriptor::INITIALIZING)) - { - ParamDescriptorPtr param_descriptor = ParamDescriptorPtr(new ParamDescriptor( - enclosing_block->getHandleFromParam(this), - &mergeWith, - &deserializeParam, - &serializeParam, - NULL, - &inspectParam, - 0, 1)); - BaseBlock::addParam(enclosing_block->mostDerivedBlockDescriptor(), param_descriptor, name); - } - } - - bool isProvided() const { return anyProvided(); } - - private: - static bool mergeWith(Param& dst, const Param& src, bool overwrite) - { - const self_t& src_typed_param = static_cast<const self_t&>(src); - self_t& dst_typed_param = static_cast<self_t&>(dst); - - if (src_typed_param.isProvided() - && (overwrite || !dst_typed_param.isProvided())) - { - dst.setProvided(true); - return true; - } - return false; - } - - static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack, S32 generation) - { - self_t& typed_param = static_cast<self_t&>(param); - - // no further names in stack, parse value now - if (name_stack.first == name_stack.second) - { - typed_param.setProvided(true); - typed_param.enclosingBlock().paramChanged(param, true); - return true; - } - - return false; - } - - static void serializeParam(const Param& param, Parser& parser, Parser::name_stack_t& name_stack, const Param* diff_param) - { - const self_t& typed_param = static_cast<const self_t&>(param); - const self_t* typed_diff_param = static_cast<const self_t*>(diff_param); - - if (!typed_param.isProvided()) return; - - if (!name_stack.empty()) - { - name_stack.back().second = parser.newParseGeneration(); - } - - // then try to serialize value directly - if (!typed_diff_param || !typed_diff_param->isProvided()) - { - if (!parser.writeValue(NoParamValue(), name_stack)) - { - return; - } - } - } - - static void inspectParam(const Param& param, Parser& parser, Parser::name_stack_t& name_stack, S32 min_count, S32 max_count) - { - // tell parser about our actual type - parser.inspectValue<NoParamValue>(name_stack, min_count, max_count, NULL); - } - }; - }; - // these templates allow us to distinguish between template parameters // that derive from BaseBlock and those that don't template<typename T, typename Void = void> @@ -604,7 +524,7 @@ namespace LLInitParam typedef const T& value_assignment_t; ParamValue(): mValue() {} - ParamValue(const T& other) : mValue(other) {} + ParamValue(value_assignment_t other) : mValue(other) {} void setValue(value_assignment_t val) { @@ -621,6 +541,17 @@ namespace LLInitParam return mValue; } + operator value_assignment_t() const + { + return mValue; + } + + value_assignment_t operator()() const + { + return mValue; + } + + private: T mValue; }; @@ -644,7 +575,7 @@ namespace LLInitParam mValidated(false) {} - ParamValue(const T& other) + ParamValue(value_assignment_t other) : T(other), mKeyVersion(0), mValidatedVersion(-1), @@ -666,6 +597,16 @@ namespace LLInitParam { return *this; } + + operator value_assignment_t() const + { + return *this; + } + + value_assignment_t operator()() const + { + return *this; + } }; template<typename T, typename NAME_VALUE_LOOKUP = TypeValues<T> > @@ -801,11 +742,6 @@ namespace LLInitParam Param::enclosingBlock().paramChanged(*this, flag_as_provided); } - // implicit conversion - operator value_assignment_t() const { return param_value_t::getValue(); } - // explicit conversion - value_assignment_t operator()() const { return param_value_t::getValue(); } - protected: static bool mergeWith(Param& dst, const Param& src, bool overwrite) @@ -958,11 +894,6 @@ namespace LLInitParam } } - // implicit conversion - operator value_assignment_t() const { return param_value_t::getValue(); } - // explicit conversion - value_assignment_t operator()() const { return param_value_t::getValue(); } - protected: static bool mergeWith(Param& dst, const Param& src, bool overwrite) @@ -972,8 +903,7 @@ namespace LLInitParam if (src_typed_param.anyProvided()) { - bool param_provided = src_typed_param.isProvided() && (overwrite || !dst_typed_param.isProvided()); - if (dst_typed_param.mergeBlockParam(param_provided, param_value_t::selfBlockDescriptor(), src_typed_param, overwrite)) + if (dst_typed_param.mergeBlockParam(src_typed_param.isProvided(), dst_typed_param.isProvided(), param_value_t::selfBlockDescriptor(), src_typed_param, overwrite)) { dst_typed_param.clearValueName(); dst_typed_param.setProvided(true); @@ -992,8 +922,8 @@ namespace LLInitParam { public: typedef TypedParam<VALUE_TYPE, NAME_VALUE_LOOKUP, true, false> self_t; - typedef ParamValue<VALUE_TYPE, NAME_VALUE_LOOKUP> param_value_t; - typedef typename std::vector<param_value_t> container_t; + typedef ParamValue<VALUE_TYPE, NAME_VALUE_LOOKUP> param_value_t; + typedef typename std::vector<param_value_t> container_t; typedef const container_t& value_assignment_t; typedef VALUE_TYPE value_t; @@ -1118,6 +1048,8 @@ namespace LLInitParam // implicit conversion operator value_assignment_t() const { return mValues; } + // explicit conversion + value_assignment_t operator()() const { return mValues; } typedef typename container_t::iterator iterator; typedef typename container_t::const_iterator const_iterator; @@ -1169,7 +1101,7 @@ namespace LLInitParam public: typedef TypedParam<VALUE_TYPE, NAME_VALUE_LOOKUP, true, true> self_t; typedef ParamValue<VALUE_TYPE, NAME_VALUE_LOOKUP> param_value_t; - typedef typename std::vector<param_value_t> container_t; + typedef typename std::vector<param_value_t> container_t; typedef const container_t& value_assignment_t; typedef VALUE_TYPE value_t; typedef NAME_VALUE_LOOKUP name_value_lookup_t; @@ -1308,6 +1240,8 @@ namespace LLInitParam // implicit conversion operator value_assignment_t() const { return mValues; } + // explicit conversion + value_assignment_t operator()() const { return mValues; } typedef typename container_t::iterator iterator; typedef typename container_t::const_iterator const_iterator; @@ -1363,10 +1297,10 @@ namespace LLInitParam }; template <typename DERIVED_BLOCK> - class Choice : public BaseBlock + class ChoiceBlock : public BaseBlock { - typedef Choice<DERIVED_BLOCK> self_t; - typedef Choice<DERIVED_BLOCK> enclosing_block_t; + typedef ChoiceBlock<DERIVED_BLOCK> self_t; + typedef ChoiceBlock<DERIVED_BLOCK> enclosing_block_t; LOG_CLASS(self_t); public: @@ -1382,11 +1316,13 @@ namespace LLInitParam return mergeBlock(selfBlockDescriptor(), other, false); } - bool mergeBlockParam(bool param_provided, BlockDescriptor& block_data, const self_t& other, bool overwrite) + bool mergeBlockParam(bool source_provided, bool dest_provided, BlockDescriptor& block_data, const self_t& source, bool overwrite) { - if (param_provided) + bool source_override = source_provided && (overwrite || !dest_provided); + + if (source_override || source.mCurChoice == mCurChoice) { - return mergeBlock(block_data, other, overwrite); + return mergeBlock(block_data, source, overwrite); } return false; } @@ -1420,7 +1356,7 @@ namespace LLInitParam virtual BlockDescriptor& mostDerivedBlockDescriptor() { return selfBlockDescriptor(); } protected: - Choice() + ChoiceBlock() : mCurChoice(0) { BaseBlock::init(selfBlockDescriptor(), BaseBlock::selfBlockDescriptor(), sizeof(DERIVED_BLOCK)); @@ -1433,13 +1369,13 @@ namespace LLInitParam class Alternative : public TypedParam<T, NAME_VALUE_LOOKUP, false> { public: - friend class Choice<DERIVED_BLOCK>; + friend class ChoiceBlock<DERIVED_BLOCK>; typedef Alternative<T, NAME_VALUE_LOOKUP> self_t; typedef TypedParam<T, NAME_VALUE_LOOKUP, false, IsBlock<ParamValue<T, NAME_VALUE_LOOKUP> >::value> super_t; typedef typename super_t::value_assignment_t value_assignment_t; - explicit Alternative(const char* name, value_assignment_t val = defaultValue<T>()) + explicit Alternative(const char* name = "", value_assignment_t val = defaultValue<T>()) : super_t(DERIVED_BLOCK::selfBlockDescriptor(), name, val, NULL, 0, 1), mOriginalValue(val) { @@ -1454,10 +1390,19 @@ namespace LLInitParam } } - Alternative& operator=(value_assignment_t val) + void choose() + { + static_cast<enclosing_block_t&>(Param::enclosingBlock()).paramChanged(*this, true); + } + + void chooseAs(value_assignment_t val) + { + super_t::set(val); + } + + void operator=(value_assignment_t val) { super_t::set(val); - return *this; } void operator()(typename super_t::value_assignment_t val) @@ -1466,12 +1411,8 @@ namespace LLInitParam } operator value_assignment_t() const - { - if (static_cast<enclosing_block_t&>(Param::enclosingBlock()).getCurrentChoice() == this) - { - return super_t::getValue(); - } - return mOriginalValue; + { + return (*this)(); } value_assignment_t operator()() const @@ -1508,7 +1449,7 @@ namespace LLInitParam } }; - template <typename DERIVED_BLOCK, typename BASE_BLOCK = BaseBlockWithFlags> + template <typename DERIVED_BLOCK, typename BASE_BLOCK = BaseBlock> class Block : public BASE_BLOCK { @@ -1604,13 +1545,6 @@ namespace LLInitParam }; - class Flag : public BaseBlockWithFlags::FlagBase - { - public: - Flag(const char* name) : FlagBase(name, DERIVED_BLOCK::selfBlockDescriptor().mCurrentBlockPtr) - {} - }; - template <typename T, typename RANGE = BaseBlock::AnyAmount, typename NAME_VALUE_LOOKUP = TypeValues<T> > class Multiple : public TypedParam<T, NAME_VALUE_LOOKUP, true> { @@ -1623,7 +1557,7 @@ namespace LLInitParam typedef typename super_t::const_iterator const_iterator; explicit Multiple(const char* name = "") - : super_t(DERIVED_BLOCK::selfBlockDescriptor(), name, container_t(), &validate, RANGE::minCount(), RANGE::maxCount()) + : super_t(DERIVED_BLOCK::selfBlockDescriptor(), name, container_t(), &validate, RANGE::minCount, RANGE::maxCount) {} Multiple& operator=(value_assignment_t val) @@ -1641,100 +1575,10 @@ namespace LLInitParam static bool validate(const Param* paramp) { U32 num_valid = ((super_t*)paramp)->numValidElements(); - return RANGE::minCount() <= num_valid && num_valid <= RANGE::maxCount(); + return RANGE::minCount <= num_valid && num_valid <= RANGE::maxCount; } }; - template <typename T, typename RANGE = BaseBlock::AnyAmount, typename NAME_VALUE_LOOKUP = TypeValues<T> > - class Batch : private TypedParam<T, NAME_VALUE_LOOKUP, false> - { - public: - typedef ParamValue<T, NAME_VALUE_LOOKUP> param_value_t; - typedef TypedParam<T, NAME_VALUE_LOOKUP, false, IsBlock<param_value_t>::value> super_t; - typedef Batch<T, RANGE, NAME_VALUE_LOOKUP> self_t; - typedef typename super_t::value_assignment_t value_assignment_t; - typedef typename super_t::value_t value_t; - - struct BatchDefaultValue : public ParamDescriptor::UserData - { - BatchDefaultValue(const T& value) - : mValue(value) - {} - - T mValue; - }; - - explicit Batch(const char* name, value_assignment_t val) - : super_t(DERIVED_BLOCK::selfBlockDescriptor(), name, val, NULL, 0, 1), - mLastParseGeneration(-1) - { - BlockDescriptor& block_descriptor = DERIVED_BLOCK::selfBlockDescriptor(); - if (LL_UNLIKELY(block_descriptor.mInitializationState == BlockDescriptor::INITIALIZING)) - { - ParamDescriptorPtr param_descriptorp = block_descriptor.mCurrentBlockPtr->findParamDescriptor(*this); - - if (param_descriptorp) - { - param_descriptorp->mDeserializeFunc = &deserializeParam; - param_descriptorp->mUserData = new BatchDefaultValue(new param_value_t(val)); - } - } - } - - explicit Batch(const char* name = "") - : super_t(DERIVED_BLOCK::selfBlockDescriptor(), name, defaultValue<T>(), NULL, 0, 1), - mLastParseGeneration(-1) - { - BlockDescriptor& block_descriptor = DERIVED_BLOCK::selfBlockDescriptor(); - if (LL_UNLIKELY(block_descriptor.mInitializationState == BlockDescriptor::INITIALIZING)) - { - ParamDescriptorPtr param_descriptorp = block_descriptor.mCurrentBlockPtr->findParamDescriptor(*this); - - if (param_descriptorp) - { - param_descriptorp->mDeserializeFunc = &deserializeParam; - } - } - } - - Batch& operator=(value_assignment_t val) - { - set(val); - return *this; - } - - DERIVED_BLOCK& operator()(value_assignment_t val) - { - super_t::set(val); - return static_cast<DERIVED_BLOCK&>(Param::enclosingBlock()); - } - - using super_t::operator(); - - private: - static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack, S32 generation) - { - self_t& typed_param = static_cast<self_t&>(param); - - if (generation != typed_param.mLastParseGeneration) - { - ParamDescriptorPtr descriptor = typed_param.enclosingBlock().findParamDescriptor(param); - if (descriptor && static_cast<BatchDefaultValue*>(descriptor->mUserData)) - { - static_cast<param_value_t&>(typed_param) = (static_cast<BatchDefaultValue*>(descriptor->mUserData))->mValue; - } - else - { - static_cast<param_value_t&>(typed_param) = param_value_t(value_t()); - } - typed_param.mLastParseGeneration = generation; - } - return super_t::deserializeParam(param, parser, name_stack, generation); - } - - S32 mLastParseGeneration; - }; - class Deprecated : public Param { public: @@ -1769,6 +1613,7 @@ namespace LLInitParam } }; + // different semantics for documentation purposes, but functionally identical typedef Deprecated Ignored; protected: @@ -1790,6 +1635,106 @@ namespace LLInitParam }; + template <typename DERIVED_BLOCK, typename BASE_BLOCK = BaseBlock> + class BatchBlock + : public Block<DERIVED_BLOCK, BASE_BLOCK> + { + public: + typedef BatchBlock<DERIVED_BLOCK, BASE_BLOCK> self_t; + typedef Block<DERIVED_BLOCK, BASE_BLOCK> super_t; + + BatchBlock() + : mLastParseGeneration(-1) + {} + + bool deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, S32 generation) + { + if (generation != mLastParseGeneration) + { + // reset block + *static_cast<DERIVED_BLOCK*>(this) = defaultBatchValue(); + mLastParseGeneration = generation; + } + return super_t::deserializeBlock(p, name_stack, generation); + } + + bool mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) + { + if (overwrite) + { + *static_cast<DERIVED_BLOCK*>(this) = defaultBatchValue(); + mLastParseGeneration = -1; + // merge individual parameters into destination + return super_t::mergeBlock(super_t::selfBlockDescriptor(), src_typed_param, overwrite); + } + return false; + } + protected: + static const DERIVED_BLOCK& defaultBatchValue() + { + static DERIVED_BLOCK default_value; + return default_value; + } + + S32 mLastParseGeneration; + }; + + + + template<typename DERIVED_BLOCK, + typename BASE_BLOCK, + typename NAME_VALUE_LOOKUP> + class ParamValue <BatchBlock<DERIVED_BLOCK, BASE_BLOCK>, + NAME_VALUE_LOOKUP, + true> + : public Param, + protected BatchBlock<DERIVED_BLOCK, BASE_BLOCK> + { + typedef const BatchBlock<DERIVED_BLOCK, BASE_BLOCK>& value_assignment_t; + + ParamValue() + : T(), + mKeyVersion(0), + mValidatedVersion(-1), + mValidated(false) + {} + + ParamValue(value_assignment_t other) + : T(other), + mKeyVersion(0), + mValidatedVersion(-1), + mValidated(false) + { + } + + void setValue(value_assignment_t val) + { + *this = val; + mLastParseGeneration = -1; + } + + value_assignment_t getValue() const + { + return *this; + } + + BatchBlock<DERIVED_BLOCK, BASE_BLOCK>& getValue() + { + return *this; + } + + operator value_assignment_t() const + { + return *this; + } + + value_assignment_t operator()() const + { + return *this; + } + + }; + template<typename T> class CustomParamValue : public Block<ParamValue<T, TypeValues<T> > >, @@ -1955,6 +1900,16 @@ namespace LLInitParam return mValue; } + operator value_assignment_t() const + { + return getValue(); + } + + value_assignment_t operator()() const + { + return getValue(); + } + S32 mKeyVersion; protected: @@ -1965,30 +1920,29 @@ namespace LLInitParam mValue = value; } - bool mergeBlockParam(bool param_provided, BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) + bool mergeBlockParam(bool source_provided, bool dst_provided, BlockDescriptor& block_data, const BaseBlock& source, bool overwrite) { - if (param_provided) - { - return mergeBlock(block_data, other, overwrite); - } - return false; - } + bool source_override = source_provided && (overwrite || !dst_provided); - bool mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) - { - const derived_t& src_typed_param = static_cast<const derived_t&>(other); + const derived_t& src_typed_param = static_cast<const derived_t&>(source); - if (src_typed_param.mValueAge == VALUE_AUTHORITATIVE) + if (source_override && src_typed_param.mValueAge == VALUE_AUTHORITATIVE) { // copy value over setValue(src_typed_param.getValue()); return true; } - else + // merge individual parameters into destination + if (mValueAge == VALUE_AUTHORITATIVE) { - // merge individual parameters into destination - return block_t::mergeBlock(block_t::selfBlockDescriptor(), src_typed_param, overwrite); + static_cast<derived_t*>(this)->updateBlockFromValue(dst_provided); } + return mergeBlock(block_data, source, overwrite); + } + + bool mergeBlock(BlockDescriptor& block_data, const BaseBlock& source, bool overwrite) + { + return block_t::mergeBlock(block_data, source, overwrite); } mutable S32 mValidatedVersion; diff --git a/indra/llxuixml/llxuiparser.cpp b/indra/llxuixml/llxuiparser.cpp index 4af077b22c0..c60f656c2ca 100644 --- a/indra/llxuixml/llxuiparser.cpp +++ b/indra/llxuixml/llxuiparser.cpp @@ -51,6 +51,136 @@ static LLInitParam::Parser::parser_read_func_map_t sXSDReadFuncs; static LLInitParam::Parser::parser_write_func_map_t sXSDWriteFuncs; static LLInitParam::Parser::parser_inspect_func_map_t sXSDInspectFuncs; +struct MaxOccur : public LLInitParam::ChoiceBlock<MaxOccur> +{ + Alternative<int> count; + Alternative<std::string> unbounded; + + MaxOccur() + : unbounded("", "unbounded") + {} +}; + +struct Occurs : public LLInitParam::Block<Occurs> +{ + Optional<S32> minOccurs; + Optional<MaxOccur> maxOccurs; + + Occurs() + : minOccurs("minOccurs"), + maxOccurs("maxOccurs") + { + minOccurs = 0; + maxOccurs.unbounded.choose(); + } +}; + + +typedef enum +{ + USE_REQUIRED, + USE_OPTIONAL +} EUse; + +namespace LLInitParam +{ + template<> + struct TypeValues<EUse> : public TypeValuesHelper<EUse> + { + static void declareValues() + { + declare("required", USE_REQUIRED); + declare("optional", USE_OPTIONAL); + } + }; +} + +struct Name : public LLInitParam::Block<Name> +{ + Mandatory<std::string> name; + + Name() + : name("name") + {} +}; + +struct Attribute : public LLInitParam::Block<Attribute> +{ + Mandatory<Name> name; + Mandatory<std::string> type; + Mandatory<EUse> use; + + Attribute() + : name("name"), + type("type"), + use("use") + { + } +}; + +struct ComplexType : public LLInitParam::Block<ComplexType> +{ + Multiple<Attribute> attribute; + //Multiple<struct Element> elements; + Optional<bool> mixed; + + ComplexType() + : attribute("xs:attribute"), + //elements("xs:element"), + mixed("mixed") + { + mixed = true; + } +}; + +struct Element : public LLInitParam::Block<Element, Occurs> +{ + Mandatory<ComplexType> complexType; + Mandatory<Name> name; + + Element() + : complexType("xs:complexType") + {} +}; + +struct Elements : public LLInitParam::Block<Elements, Occurs> +{ + Multiple<Element> elements; + + Elements() + : elements("xs:element") + {} +}; + +struct Schema : public LLInitParam::Block<Schema> +{ +private: + Mandatory<std::string> targetNamespace, + xmlns; + +public: + Optional<std::string> attributeFormDefault, + elementFormDefault, + xs; + + Optional<Elements> elements; + + void setNameSpace(const std::string& ns) {targetNamespace = ns; xmlns = ns;} + + Schema() + : attributeFormDefault("attributeFormDefault"), + elementFormDefault("elementFormDefault"), + xs("xmlns:xs"), + targetNamespace("targetNamespace"), + xmlns("xmlns"), + elements("xs:choice") + { + attributeFormDefault = "unqualified"; + elementFormDefault = "qualified"; + xs = "http://www.w3.org/2001/XMLSchema"; + } + +}; // // LLXSDWriter @@ -388,7 +518,7 @@ LLXUIParser::LLXUIParser() { if (sXUIReadFuncs.empty()) { - registerParserFuncs<LLInitParam::NoParamValue>(readNoValue, writeNoValue); + registerParserFuncs<LLInitParam::Flag>(readFlag, writeFlag); registerParserFuncs<bool>(readBoolValue, writeBoolValue); registerParserFuncs<std::string>(readStringValue, writeStringValue); registerParserFuncs<U8>(readU8Value, writeU8Value); @@ -645,13 +775,13 @@ LLXMLNodePtr LLXUIParser::getNode(const name_stack_t& stack) return (out_node == mWriteRootNode ? LLXMLNodePtr(NULL) : out_node); } -bool LLXUIParser::readNoValue(Parser& parser, void* val_ptr) +bool LLXUIParser::readFlag(Parser& parser, void* val_ptr) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); return self.mCurReadNode == DUMMY_NODE; } -bool LLXUIParser::writeNoValue(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeFlag(Parser& parser, const void* val_ptr, const name_stack_t& stack) { // just create node LLXUIParser& self = static_cast<LLXUIParser&>(parser); @@ -1083,7 +1213,7 @@ LLSimpleXUIParser::LLSimpleXUIParser(LLSimpleXUIParser::element_start_callback_t { if (sSimpleXUIReadFuncs.empty()) { - registerParserFuncs<LLInitParam::NoParamValue>(readNoValue); + registerParserFuncs<LLInitParam::Flag>(readFlag); registerParserFuncs<bool>(readBoolValue); registerParserFuncs<std::string>(readStringValue); registerParserFuncs<U8>(readU8Value); @@ -1376,7 +1506,7 @@ void LLSimpleXUIParser::parserError(const std::string& message) #endif } -bool LLSimpleXUIParser::readNoValue(Parser& parser, void* val_ptr) +bool LLSimpleXUIParser::readFlag(Parser& parser, void* val_ptr) { LLSimpleXUIParser& self = static_cast<LLSimpleXUIParser&>(parser); return self.mCurAttributeValueBegin == NO_VALUE_MARKER; diff --git a/indra/llxuixml/llxuiparser.h b/indra/llxuixml/llxuiparser.h index 0c38c4da936..42a79b4100b 100644 --- a/indra/llxuixml/llxuiparser.h +++ b/indra/llxuixml/llxuiparser.h @@ -116,7 +116,7 @@ LOG_CLASS(LLXUIParser); bool readAttributes(LLXMLNodePtr nodep, LLInitParam::BaseBlock& block); //reader helper functions - static bool readNoValue(Parser& parser, void* val_ptr); + static bool readFlag(Parser& parser, void* val_ptr); static bool readBoolValue(Parser& parser, void* val_ptr); static bool readStringValue(Parser& parser, void* val_ptr); static bool readU8Value(Parser& parser, void* val_ptr); @@ -133,7 +133,7 @@ LOG_CLASS(LLXUIParser); static bool readSDValue(Parser& parser, void* val_ptr); //writer helper functions - static bool writeNoValue(Parser& parser, const void* val_ptr, const name_stack_t&); + static bool writeFlag(Parser& parser, const void* val_ptr, const name_stack_t&); static bool writeBoolValue(Parser& parser, const void* val_ptr, const name_stack_t&); static bool writeStringValue(Parser& parser, const void* val_ptr, const name_stack_t&); static bool writeU8Value(Parser& parser, const void* val_ptr, const name_stack_t&); @@ -197,7 +197,7 @@ LOG_CLASS(LLSimpleXUIParser); private: //reader helper functions - static bool readNoValue(Parser&, void* val_ptr); + static bool readFlag(Parser&, void* val_ptr); static bool readBoolValue(Parser&, void* val_ptr); static bool readStringValue(Parser&, void* val_ptr); static bool readU8Value(Parser&, void* val_ptr); diff --git a/indra/newview/llnamelistctrl.h b/indra/newview/llnamelistctrl.h index d64fdbe6a5a..ca9956dc538 100644 --- a/indra/newview/llnamelistctrl.h +++ b/indra/newview/llnamelistctrl.h @@ -61,7 +61,7 @@ class LLNameListCtrl {} }; - struct NameColumn : public LLInitParam::Choice<NameColumn> + struct NameColumn : public LLInitParam::ChoiceBlock<NameColumn> { Alternative<S32> column_index; Alternative<std::string> column_name; diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index fa7632920bf..7bbacc01528 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -33,7 +33,6 @@ follows="all" mouse_opaque="false"> <layout_panel name="left_toolbar_panel" - fit_content="true" auto_resize="false" user_resize="false" height="500" @@ -54,7 +53,6 @@ user_resize="false" mouse_opaque="false"/> <layout_panel name="right_toolbar_panel" - fit_content="true" auto_resize="false" user_resize="false" height="500" @@ -74,7 +72,6 @@ </layout_stack> </layout_panel> <layout_panel name="bottom_toolbar_panel" - fit_content="true" auto_resize="false" user_resize="false" height="30" diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 32bc88cc9a8..d16d70cb439 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -10,6 +10,7 @@ <button_panel name="button_panel" bg_opaque_image="Rounded_Rect" background_visible="true" + bg_opaque_color="MouseGray" background_opaque="true"/> <button_icon_and_text follows="left|top" chrome="true" -- GitLab From f787208903a4f5a7b641859ba991b8b2e63e2a32 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 30 Sep 2011 17:09:16 -0700 Subject: [PATCH 084/256] fix for merge --- indra/llui/lltoolbarview.cpp | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 09965771141..12247519ad7 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -114,7 +114,7 @@ bool LLToolBarView::addCommand(const LLCommandId& command, LLToolBar* toolbar) } bool LLToolBarView::loadToolbars(bool force_default) -{ +{ LLToolBarView::ToolbarSet toolbar_set; // Load the toolbars.xml file @@ -221,18 +221,19 @@ void LLToolBarView::saveToolbars() const { // Build the parameter tree from the toolbar data LLToolBarView::ToolbarSet toolbar_set; - - // *TODO : factorize that code a bit... if (mToolbarLeft) { + toolbar_set.left_toolbar.button_display_mode = (int)(mToolbarLeft->getButtonType()); addToToolset(mToolbarLeft->getCommandsList(),toolbar_set.left_toolbar); } if (mToolbarRight) { + toolbar_set.right_toolbar.button_display_mode = (int)(mToolbarRight->getButtonType()); addToToolset(mToolbarRight->getCommandsList(),toolbar_set.right_toolbar); } if (mToolbarBottom) { + toolbar_set.bottom_toolbar.button_display_mode = (int)(mToolbarBottom->getButtonType()); addToToolset(mToolbarBottom->getCommandsList(),toolbar_set.bottom_toolbar); } @@ -255,6 +256,19 @@ void LLToolBarView::saveToolbars() const } } +// Enumerate the commands in command_list and add them as Params to the toolbar +void LLToolBarView::addToToolset(command_id_list_t& command_list, Toolbar& toolbar) const +{ + for (command_id_list_t::const_iterator it = command_list.begin(); + it != command_list.end(); + ++it) + { + LLCommandId::Params command; + command.name = it->name(); + toolbar.commands.add(command); + } +} + void LLToolBarView::draw() { static bool debug_print = true; -- GitLab From 63a8fce12b1e1c0d40d97e2f029776fed6e300fb Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 30 Sep 2011 18:51:17 -0700 Subject: [PATCH 085/256] made toolbars conform to visual specs added ability to specify clip rects in textures.xml --- indra/llui/lltoolbar.cpp | 17 +++---- indra/llui/lltoolbar.h | 23 ++++++---- indra/newview/llviewertexturelist.cpp | 44 +++++++++++++------ indra/newview/llviewertexturelist.h | 7 ++- .../skins/default/textures/textures.xml | 6 ++- .../skins/default/xui/en/main_view.xml | 4 +- .../default/xui/en/panel_toolbar_view.xml | 3 ++ .../skins/default/xui/en/widgets/toolbar.xml | 28 ++++++++---- 8 files changed, 87 insertions(+), 45 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 2592fd1229b..c62bbe4e715 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -82,9 +82,6 @@ LLToolBar::Params::Params() button_icon_and_text("button_icon_and_text"), read_only("read_only", false), wrap("wrap", true), - min_button_width("min_button_width", 0), - max_button_width("max_button_width", S32_MAX), - button_height("button_height"), pad_left("pad_left"), pad_top("pad_top"), pad_right("pad_right"), @@ -102,9 +99,6 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p) mNeedsLayout(false), mButtonPanel(NULL), mCenteringStack(NULL), - mMinButtonWidth(llmin(p.min_button_width(), p.max_button_width())), - mMaxButtonWidth(llmax(p.max_button_width(), p.min_button_width())), - mButtonHeight(p.button_height), mPadLeft(p.pad_left), mPadRight(p.pad_right), mPadTop(p.pad_top), @@ -325,7 +319,7 @@ void LLToolBar::resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row { if (getOrientation(mSideType) == LLLayoutStack::HORIZONTAL) { - button->reshape(llclamp(button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth), max_row_girth); + button->reshape(llclamp(button->getRect().getWidth(), button->mMinWidth, button->mMaxWidth), max_row_girth); } else // VERTICAL { @@ -384,10 +378,10 @@ void LLToolBar::updateLayoutAsNeeded() BOOST_FOREACH(LLToolBarButton* button, mButtons) { - button->reshape(mMinButtonWidth, mButtonHeight); + button->reshape(button->mMinWidth, button->mDesiredHeight); button->autoResize(); - S32 button_clamped_width = llclamp(button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth); + S32 button_clamped_width = llclamp(button->getRect().getWidth(), button->mMinWidth, button->mMaxWidth); S32 button_length = (orientation == LLLayoutStack::HORIZONTAL) ? button_clamped_width : button->getRect().getHeight(); @@ -402,7 +396,7 @@ void LLToolBar::updateLayoutAsNeeded() { if (orientation == LLLayoutStack::VERTICAL) { // row girth (width in this case) is clamped to allowable button widths - max_row_girth = llclamp(max_row_girth, mMinButtonWidth, mMaxButtonWidth); + max_row_girth = llclamp(max_row_girth, button->mMinWidth, button->mMaxWidth); } // make buttons in current row all same girth @@ -546,6 +540,9 @@ LLToolBarButton::LLToolBarButton(const Params& p) : LLButton(p), mMouseDownX(0), mMouseDownY(0), + mMinWidth(p.min_button_width), + mMaxWidth(p.max_button_width), + mDesiredHeight(p.desired_height), mId("") {} diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 0bb95f4e9c7..5d64630fa61 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -37,9 +37,20 @@ class LLToolBarButton : public LLButton { + friend class LLToolBar; public: struct Params : public LLInitParam::Block<Params, LLButton::Params> { + Optional<S32> min_button_width, + max_button_width, + desired_height; + + Params() + : min_button_width("min_button_width", 0), + max_button_width("max_button_width", S32_MAX), + desired_height("desired_height", 20) + {} + }; LLToolBarButton(const Params& p); @@ -51,6 +62,9 @@ class LLToolBarButton : public LLButton LLCommandId mId; S32 mMouseDownX; S32 mMouseDownY; + S32 mMinWidth; + S32 mMaxWidth; + S32 mDesiredHeight; }; @@ -106,10 +120,6 @@ class LLToolBar Optional<bool> read_only, wrap; - Optional<S32> min_button_width, - max_button_width, - button_height; - Optional<S32> pad_left, pad_top, pad_right, @@ -171,10 +181,7 @@ class LLToolBar bool mWrap; bool mNeedsLayout; - S32 mMinButtonWidth, - mMaxButtonWidth, - mButtonHeight, - mPadLeft, + S32 mPadLeft, mPadRight, mPadTop, mPadBottom, diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp index 30ef8b8a292..c64488251a4 100644 --- a/indra/newview/llviewertexturelist.cpp +++ b/indra/newview/llviewertexturelist.cpp @@ -1342,7 +1342,8 @@ LLUIImagePtr LLUIImageList::getUIImageByID(const LLUUID& image_id, S32 priority) const BOOL use_mips = FALSE; const LLRect scale_rect = LLRect::null; - return loadUIImageByID(image_id, use_mips, scale_rect, (LLViewerTexture::EBoostLevel)priority); + const LLRect clip_rect = LLRect::null; + return loadUIImageByID(image_id, use_mips, scale_rect, clip_rect, (LLViewerTexture::EBoostLevel)priority); } LLUIImagePtr LLUIImageList::getUIImage(const std::string& image_name, S32 priority) @@ -1356,32 +1357,33 @@ LLUIImagePtr LLUIImageList::getUIImage(const std::string& image_name, S32 priori const BOOL use_mips = FALSE; const LLRect scale_rect = LLRect::null; - return loadUIImageByName(image_name, image_name, use_mips, scale_rect, (LLViewerTexture::EBoostLevel)priority); + const LLRect clip_rect = LLRect::null; + return loadUIImageByName(image_name, image_name, use_mips, scale_rect, clip_rect, (LLViewerTexture::EBoostLevel)priority); } LLUIImagePtr LLUIImageList::loadUIImageByName(const std::string& name, const std::string& filename, - BOOL use_mips, const LLRect& scale_rect, LLViewerTexture::EBoostLevel boost_priority ) + BOOL use_mips, const LLRect& scale_rect, const LLRect& clip_rect, LLViewerTexture::EBoostLevel boost_priority ) { if (boost_priority == LLViewerTexture::BOOST_NONE) { boost_priority = LLViewerTexture::BOOST_UI; } LLViewerFetchedTexture* imagep = LLViewerTextureManager::getFetchedTextureFromFile(filename, MIPMAP_NO, boost_priority); - return loadUIImage(imagep, name, use_mips, scale_rect); + return loadUIImage(imagep, name, use_mips, scale_rect, clip_rect); } LLUIImagePtr LLUIImageList::loadUIImageByID(const LLUUID& id, - BOOL use_mips, const LLRect& scale_rect, LLViewerTexture::EBoostLevel boost_priority) + BOOL use_mips, const LLRect& scale_rect, const LLRect& clip_rect, LLViewerTexture::EBoostLevel boost_priority) { if (boost_priority == LLViewerTexture::BOOST_NONE) { boost_priority = LLViewerTexture::BOOST_UI; } LLViewerFetchedTexture* imagep = LLViewerTextureManager::getFetchedTexture(id, MIPMAP_NO, boost_priority); - return loadUIImage(imagep, id.asString(), use_mips, scale_rect); + return loadUIImage(imagep, id.asString(), use_mips, scale_rect, clip_rect); } -LLUIImagePtr LLUIImageList::loadUIImage(LLViewerFetchedTexture* imagep, const std::string& name, BOOL use_mips, const LLRect& scale_rect) +LLUIImagePtr LLUIImageList::loadUIImage(LLViewerFetchedTexture* imagep, const std::string& name, BOOL use_mips, const LLRect& scale_rect, const LLRect& clip_rect) { if (!imagep) return NULL; @@ -1402,13 +1404,14 @@ LLUIImagePtr LLUIImageList::loadUIImage(LLViewerFetchedTexture* imagep, const st LLUIImageLoadData* datap = new LLUIImageLoadData; datap->mImageName = name; datap->mImageScaleRegion = scale_rect; + datap->mImageClipRegion = clip_rect; imagep->setLoadedCallback(onUIImageLoaded, 0, FALSE, FALSE, datap, NULL); } return new_imagep; } -LLUIImagePtr LLUIImageList::preloadUIImage(const std::string& name, const std::string& filename, BOOL use_mips, const LLRect& scale_rect) +LLUIImagePtr LLUIImageList::preloadUIImage(const std::string& name, const std::string& filename, BOOL use_mips, const LLRect& scale_rect, const LLRect& clip_rect) { // look for existing image uuid_ui_image_map_t::iterator found_it = mUIImages.find(name); @@ -1418,7 +1421,7 @@ LLUIImagePtr LLUIImageList::preloadUIImage(const std::string& name, const std::s llerrs << "UI Image " << name << " already loaded." << llendl; } - return loadUIImageByName(name, filename, use_mips, scale_rect); + return loadUIImageByName(name, filename, use_mips, scale_rect, clip_rect); } //static @@ -1432,6 +1435,7 @@ void LLUIImageList::onUIImageLoaded( BOOL success, LLViewerFetchedTexture *src_v LLUIImageLoadData* image_datap = (LLUIImageLoadData*)user_data; std::string ui_image_name = image_datap->mImageName; LLRect scale_rect = image_datap->mImageScaleRegion; + LLRect clip_rect = image_datap->mImageClipRegion; if (final) { delete image_datap; @@ -1448,9 +1452,21 @@ void LLUIImageList::onUIImageLoaded( BOOL success, LLViewerFetchedTexture *src_v // from power-of-2 gl image if (success && imagep.notNull() && src_vi && (src_vi->getUrl().compare(0, 7, "file://")==0)) { - F32 clip_x = (F32)src_vi->getOriginalWidth() / (F32)src_vi->getFullWidth(); - F32 clip_y = (F32)src_vi->getOriginalHeight() / (F32)src_vi->getFullHeight(); - imagep->setClipRegion(LLRectf(0.f, clip_y, clip_x, 0.f)); + F32 full_width = (F32)src_vi->getFullWidth(); + F32 full_height = (F32)src_vi->getFullHeight(); + F32 clip_x = (F32)src_vi->getOriginalWidth() / full_width; + F32 clip_y = (F32)src_vi->getOriginalHeight() / full_height; + if (clip_rect != LLRect::null) + { + imagep->setClipRegion(LLRectf(llclamp((F32)clip_rect.mLeft / full_width, 0.f, 1.f), + llclamp((F32)clip_rect.mTop / full_height, 0.f, 1.f), + llclamp((F32)clip_rect.mRight / full_width, 0.f, 1.f), + llclamp((F32)clip_rect.mBottom / full_height, 0.f, 1.f))); + } + else + { + imagep->setClipRegion(LLRectf(0.f, clip_y, clip_x, 0.f)); + } if (scale_rect != LLRect::null) { imagep->setScaleRegion( @@ -1471,6 +1487,7 @@ struct UIImageDeclaration : public LLInitParam::Block<UIImageDeclaration> Optional<std::string> file_name; Optional<bool> preload; Optional<LLRect> scale; + Optional<LLRect> clip; Optional<bool> use_mips; UIImageDeclaration() @@ -1478,6 +1495,7 @@ struct UIImageDeclaration : public LLInitParam::Block<UIImageDeclaration> file_name("file_name"), preload("preload", false), scale("scale"), + clip("clip"), use_mips("use_mips", false) {} }; @@ -1572,7 +1590,7 @@ bool LLUIImageList::initFromFile() { continue; } - preloadUIImage(image.name, file_name, image.use_mips, image.scale); + preloadUIImage(image.name, file_name, image.use_mips, image.scale, image.clip); } if (cur_pass == PASS_DECODE_NOW && !gSavedSettings.getBOOL("NoPreload")) diff --git a/indra/newview/llviewertexturelist.h b/indra/newview/llviewertexturelist.h index 7f4dd0ae889..e0a362596d1 100644 --- a/indra/newview/llviewertexturelist.h +++ b/indra/newview/llviewertexturelist.h @@ -220,24 +220,27 @@ class LLUIImageList : public LLImageProviderInterface, public LLSingleton<LLUIIm bool initFromFile(); - LLPointer<LLUIImage> preloadUIImage(const std::string& name, const std::string& filename, BOOL use_mips, const LLRect& scale_rect); + LLPointer<LLUIImage> preloadUIImage(const std::string& name, const std::string& filename, BOOL use_mips, const LLRect& scale_rect, const LLRect& clip_rect); static void onUIImageLoaded( BOOL success, LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* src_aux, S32 discard_level, BOOL final, void* userdata ); private: LLPointer<LLUIImage> loadUIImageByName(const std::string& name, const std::string& filename, BOOL use_mips = FALSE, const LLRect& scale_rect = LLRect::null, + const LLRect& clip_rect = LLRect::null, LLViewerTexture::EBoostLevel boost_priority = LLViewerTexture::BOOST_UI); LLPointer<LLUIImage> loadUIImageByID(const LLUUID& id, BOOL use_mips = FALSE, const LLRect& scale_rect = LLRect::null, + const LLRect& clip_rect = LLRect::null, LLViewerTexture::EBoostLevel boost_priority = LLViewerTexture::BOOST_UI); - LLPointer<LLUIImage> loadUIImage(LLViewerFetchedTexture* imagep, const std::string& name, BOOL use_mips = FALSE, const LLRect& scale_rect = LLRect::null); + LLPointer<LLUIImage> loadUIImage(LLViewerFetchedTexture* imagep, const std::string& name, BOOL use_mips = FALSE, const LLRect& scale_rect = LLRect::null, const LLRect& clip_rect = LLRect::null); struct LLUIImageLoadData { std::string mImageName; LLRect mImageScaleRegion; + LLRect mImageClipRegion; }; typedef std::map< std::string, LLPointer<LLUIImage> > uuid_ui_image_map_t; diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 4462fb792f5..68773947ece 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -473,7 +473,11 @@ with the same filename but different name <texture name="Resize_Corner" file_name="windows/Resize_Corner.png" preload="true" /> - <texture name="Rounded_Rect" file_name="Rounded_Rect.png" preload="true" scale.left="6" scale.top="24" scale.right="58" scale.bottom="6" /> + <texture name="Rounded_Rect" file_name="Rounded_Rect.png" preload="true" scale.left="6" scale.top="26" scale.right="58" scale.bottom="6" /> + <texture name="Rounded_Rect_Top" file_name="Rounded_Rect.png" preload="true" scale.left="6" scale.top="8" scale.right="58" scale.bottom="0" clip.left="0" clip.right="64" clip.bottom="16" clip.top="32" /> + <texture name="Rounded_Rect_Bottom" file_name="Rounded_Rect.png" preload="true" scale.left="6" scale.top="16" scale.right="58" scale.bottom="8" clip.left="0" clip.right="64" clip.bottom="0" clip.top="16" /> + <texture name="Rounded_Rect_Left" file_name="Rounded_Rect.png" preload="true" scale.left="6" scale.top="26" scale.right="32" scale.bottom="6" clip.left="0" clip.right="32" clip.bottom="0" clip.top="32" /> + <texture name="Rounded_Rect_Right" file_name="Rounded_Rect.png" preload="true" scale.left="0" scale.top="26" scale.right="26" scale.bottom="6" clip.left="32" clip.right="64" clip.bottom="0" clip.top="32" /> <texture name="Rounded_Square" file_name="rounded_square.j2c" preload="true" scale.left="16" scale.top="16" scale.right="112" scale.bottom="16" /> <texture name="Row_Selection" file_name="navbar/Row_Selection.png" preload="false" /> diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index d8f593715f2..cf566d7d232 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -100,12 +100,12 @@ visible="false" width="500"/> </layout_panel> - <layout_panel auto_resize="false" + <!--<layout_panel auto_resize="false" min_height="33" height="33" mouse_opaque="false" name="bottom_tray_container" - visible="false"/> + visible="false"/>--> </layout_stack> </layout_panel> </layout_stack> diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 7bbacc01528..44da813f618 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -39,6 +39,7 @@ width="30" mouse_opaque="false"> <toolbar follows="left|top|bottom" + button_panel.bg_opaque_image="Rounded_Rect_Right" name="toolbar_left" height="500" width="30" @@ -59,6 +60,7 @@ width="30" mouse_opaque="false"> <toolbar + button_panel.bg_opaque_image="Rounded_Rect_Left" follows="right|top|bottom" name="toolbar_right" height="500" @@ -78,6 +80,7 @@ width="1024" mouse_opaque="false"> <toolbar layout="topleft" + button_panel.bg_opaque_image="Rounded_Rect_Top" name="toolbar_bottom" height="30" width="1024" diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index d16d70cb439..8422e3943d5 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -1,23 +1,33 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toolbar button_height="30" - pad_left="5" - pad_right="5" - pad_top="5" - pad_bottom="5" - pad_between="5" +<toolbar pad_left="1" + pad_right="1" + pad_top="1" + pad_bottom="1" + pad_between="1" mouse_opaque="false" read_only="false"> <button_panel name="button_panel" bg_opaque_image="Rounded_Rect" background_visible="true" - bg_opaque_color="MouseGray" + bg_opaque_image_overlay="MouseGray" background_opaque="true"/> - <button_icon_and_text follows="left|top" + <button_icon_and_text imgoverlay_label_space="7" + min_button_width="70" + max_button_width="140" + desired_height="24" + pad_left="10" + pad_right="10" + follows="left|top" chrome="true" image_overlay_alignment="left" use_ellipses="true" auto_resize="true"/> - <button_icon follows="left|top" + <button_icon pad_left="10" + pad_right="10" + desired_height="35" + min_button_width="35" + max_button_width="35" + follows="left|top" label="" chrome="true" use_ellipses="true" -- GitLab From 37fdd27bcbd38b5cf22e0ff003f4d01b908996c7 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 3 Oct 2011 11:28:22 -0700 Subject: [PATCH 086/256] updated xui for toybox to reflect changes to param blocks --- indra/newview/skins/default/xui/en/floater_toybox.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index feb19571b26..de39032cbf8 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -48,8 +48,8 @@ button_display_mode="icons_with_text" follows="all" left="20" - max_button_width="140" - min_button_width="70" + button_icon_and_text.max_button_width="140" + button_icon_and_text.min_button_width="70" name="toybox_toolbar" pad_left="5" pad_right="5" -- GitLab From cd467cc34f876920b35d3570f50dbad54ce4a42c Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Mon, 3 Oct 2011 16:27:24 -0700 Subject: [PATCH 087/256] EXP-1286 : First pass at Drag and Drop of tools. Not functional. Most hooks into the LLToolDragAndDrop system in to support the new AT_WIDGET and SOURCE_VIEWER --- indra/llcommon/llassettype.cpp | 3 +- indra/llcommon/llassettype.h | 8 ++- indra/llcommon/stdenums.h | 5 +- indra/llinventory/llinventorytype.cpp | 5 +- indra/llinventory/llinventorytype.h | 3 +- indra/llui/CMakeLists.txt | 5 +- indra/llui/llclipboard.cpp | 6 ++ indra/llui/llclipboard.h | 9 ++- indra/llui/lltoolbar.cpp | 55 ++++++++++++++++ indra/llui/lltoolbar.h | 32 ++++++++- indra/newview/CMakeLists.txt | 2 + indra/{llui => newview}/lltoolbarview.cpp | 79 +++++++++++++++++++++++ indra/{llui => newview}/lltoolbarview.h | 6 ++ indra/newview/lltooldraganddrop.cpp | 5 ++ indra/newview/lltooldraganddrop.h | 3 +- indra/newview/llviewerassettype.cpp | 4 +- 16 files changed, 214 insertions(+), 16 deletions(-) rename indra/{llui => newview}/lltoolbarview.cpp (75%) rename indra/{llui => newview}/lltoolbarview.h (91%) diff --git a/indra/llcommon/llassettype.cpp b/indra/llcommon/llassettype.cpp index 145dddd5434..5e566d6c7cf 100644 --- a/indra/llcommon/llassettype.cpp +++ b/indra/llcommon/llassettype.cpp @@ -93,7 +93,8 @@ LLAssetDictionary::LLAssetDictionary() addEntry(LLAssetType::AT_LINK, new AssetEntry("LINK", "link", "sym link", false, false, true)); addEntry(LLAssetType::AT_LINK_FOLDER, new AssetEntry("FOLDER_LINK", "link_f", "sym folder link", false, false, true)); - addEntry(LLAssetType::AT_MESH, new AssetEntry("MESH", "mesh", "mesh", false, false, false)); + addEntry(LLAssetType::AT_MESH, new AssetEntry("MESH", "mesh", "mesh", false, false, false)); + addEntry(LLAssetType::AT_WIDGET, new AssetEntry("WIDGET", "widget", "widget", false, false, false)); addEntry(LLAssetType::AT_NONE, new AssetEntry("NONE", "-1", NULL, FALSE, FALSE, FALSE)); }; diff --git a/indra/llcommon/llassettype.h b/indra/llcommon/llassettype.h index 74ccd003244..d538accbf72 100644 --- a/indra/llcommon/llassettype.h +++ b/indra/llcommon/llassettype.h @@ -108,9 +108,13 @@ class LL_COMMON_API LLAssetType AT_LINK_FOLDER = 25, // Inventory folder link + + AT_WIDGET = 40, + // UI Widget: this is *not* an inventory asset type, only a viewer side asset (e.g. button, other ui items...) + AT_MESH = 49, - // Mesh data in our proprietary SLM format - + // Mesh data in our proprietary SLM format + AT_COUNT = 50, // +*********************************************************+ diff --git a/indra/llcommon/stdenums.h b/indra/llcommon/stdenums.h index 556eff8370c..40b3364b360 100644 --- a/indra/llcommon/stdenums.h +++ b/indra/llcommon/stdenums.h @@ -49,8 +49,9 @@ enum EDragAndDropType DAD_ANIMATION = 12, DAD_GESTURE = 13, DAD_LINK = 14, - DAD_MESH = 15, - DAD_COUNT = 16, // number of types in this enum + DAD_MESH = 15, + DAD_WIDGET = 16, + DAD_COUNT = 17, // number of types in this enum }; // Reasons for drags to be denied. diff --git a/indra/llinventory/llinventorytype.cpp b/indra/llinventory/llinventorytype.cpp index d2bba216483..8282d79b673 100644 --- a/indra/llinventory/llinventorytype.cpp +++ b/indra/llinventory/llinventorytype.cpp @@ -84,6 +84,7 @@ LLInventoryDictionary::LLInventoryDictionary() addEntry(LLInventoryType::IT_ANIMATION, new InventoryEntry("animation", "animation", 1, LLAssetType::AT_ANIMATION)); addEntry(LLInventoryType::IT_GESTURE, new InventoryEntry("gesture", "gesture", 1, LLAssetType::AT_GESTURE)); addEntry(LLInventoryType::IT_MESH, new InventoryEntry("mesh", "mesh", 1, LLAssetType::AT_MESH)); + addEntry(LLInventoryType::IT_WIDGET, new InventoryEntry("widget", "widget", 1, LLAssetType::AT_WIDGET)); } @@ -134,7 +135,7 @@ DEFAULT_ASSET_FOR_INV_TYPE[LLAssetType::AT_COUNT] = LLInventoryType::IT_NONE, // 37 AT_NONE LLInventoryType::IT_NONE, // 38 AT_NONE LLInventoryType::IT_NONE, // 39 AT_NONE - LLInventoryType::IT_NONE, // 40 AT_NONE + LLInventoryType::IT_WIDGET, // 40 AT_WIDGET LLInventoryType::IT_NONE, // 41 AT_NONE LLInventoryType::IT_NONE, // 42 AT_NONE LLInventoryType::IT_NONE, // 43 AT_NONE @@ -143,7 +144,7 @@ DEFAULT_ASSET_FOR_INV_TYPE[LLAssetType::AT_COUNT] = LLInventoryType::IT_NONE, // 46 AT_NONE LLInventoryType::IT_NONE, // 47 AT_NONE LLInventoryType::IT_NONE, // 48 AT_NONE - LLInventoryType::IT_MESH // 49 AT_MESH + LLInventoryType::IT_MESH, // 49 AT_MESH }; // static diff --git a/indra/llinventory/llinventorytype.h b/indra/llinventory/llinventorytype.h index 1a24e351adc..4d1e0db0401 100644 --- a/indra/llinventory/llinventorytype.h +++ b/indra/llinventory/llinventorytype.h @@ -62,7 +62,8 @@ class LLInventoryType IT_ANIMATION = 19, IT_GESTURE = 20, IT_MESH = 22, - IT_COUNT = 23, + IT_WIDGET = 23, + IT_COUNT = 24, IT_NONE = -1 }; diff --git a/indra/llui/CMakeLists.txt b/indra/llui/CMakeLists.txt index 42128125589..dded8ab661e 100644 --- a/indra/llui/CMakeLists.txt +++ b/indra/llui/CMakeLists.txt @@ -5,6 +5,7 @@ project(llui) include(00-Common) include(LLCommon) include(LLImage) +include(LLInventory) include(LLMath) include(LLMessage) include(LLRender) @@ -16,6 +17,7 @@ include(LLXUIXML) include_directories( ${LLCOMMON_INCLUDE_DIRS} ${LLIMAGE_INCLUDE_DIRS} + ${LLINVENTORY_INCLUDE_DIRS} ${LLMATH_INCLUDE_DIRS} ${LLMESSAGE_INCLUDE_DIRS} ${LLRENDER_INCLUDE_DIRS} @@ -101,7 +103,6 @@ set(llui_SOURCE_FILES lltransutil.cpp lltoggleablemenu.cpp lltoolbar.cpp - lltoolbarview.cpp lltooltip.cpp llui.cpp lluicolortable.cpp @@ -205,7 +206,6 @@ set(llui_HEADER_FILES lltimectrl.h lltoggleablemenu.h lltoolbar.h - lltoolbarview.h lltooltip.h lltransutil.h lluicolortable.h @@ -251,6 +251,7 @@ target_link_libraries(llui ${LLRENDER_LIBRARIES} ${LLWINDOW_LIBRARIES} ${LLIMAGE_LIBRARIES} + ${LLINVENTORY_LIBRARIES} ${LLVFS_LIBRARIES} # ugh, just for LLDir ${LLXUIXML_LIBRARIES} ${LLXML_LIBRARIES} diff --git a/indra/llui/llclipboard.cpp b/indra/llui/llclipboard.cpp index 984c4ec5fb7..6910b962a19 100644 --- a/indra/llui/llclipboard.cpp +++ b/indra/llui/llclipboard.cpp @@ -40,6 +40,7 @@ LLClipboard gClipboard; LLClipboard::LLClipboard() { + mSourceItem = NULL; } @@ -134,3 +135,8 @@ BOOL LLClipboard::canPastePrimaryString() const { return LLView::getWindow()->isPrimaryTextAvailable(); } + +void LLClipboard::setSourceObject(const LLUUID& source_id, LLAssetType::EType type) +{ + mSourceItem = new LLInventoryObject (source_id, LLUUID::null, type, ""); +} diff --git a/indra/llui/llclipboard.h b/indra/llui/llclipboard.h index 24cb46c3f49..9371b942844 100644 --- a/indra/llui/llclipboard.h +++ b/indra/llui/llclipboard.h @@ -30,6 +30,8 @@ #include "llstring.h" #include "lluuid.h" +#include "stdenums.h" +#include "llinventory.h" class LLClipboard @@ -52,9 +54,14 @@ class LLClipboard BOOL canPastePrimaryString() const; const LLWString& getPastePrimaryWString(LLUUID* source_id = NULL); + // Support clipboard for object known only by their uuid and asset type + void setSourceObject(const LLUUID& source_id, LLAssetType::EType type); + const LLInventoryObject* getSourceObject() { return mSourceItem; } + private: - LLUUID mSourceID; + LLUUID mSourceID; LLWString mString; + LLInventoryObject* mSourceItem; }; diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 75c7d91f8a7..5300de38a09 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -113,6 +113,7 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p) { mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_WITH_TEXT] = p.button_icon_and_text; mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_ONLY] = p.button_icon; + mUUID = LLUUID::LLUUID::generateNewID(p.name); } LLToolBar::~LLToolBar() @@ -534,6 +535,8 @@ void LLToolBar::createButton(const LLCommandId& id) cbParam.function_name = commandp->functionName(); cbParam.parameter = commandp->parameter(); button->setCommitCallback(cbParam); + button->setStartDragCallback(mStartDragItemCallback); + button->setHandleDragCallback(mHandleDragItemCallback); } mButtons.push_back(button); @@ -541,3 +544,55 @@ void LLToolBar::createButton(const LLCommandId& id) mNeedsLayout = true; } + +BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, + EDragAndDropType cargo_type, + void* cargo_data, + EAcceptance* accept, + std::string& tooltip_msg) +{ + llinfos << "Merov debug : handleDragAndDrop. drop = " << drop << ", tooltip = " << tooltip_msg << llendl; + // If we have a drop callback, that means that we can handle the drop + BOOL handled = (mHandleDropCallback ? TRUE : FALSE); + + // if drop, time to call the drop callback to get the operation done + if (handled && drop) + { + handled = mHandleDropCallback(cargo_type,cargo_data,mUUID); + } + + // We accept multi drop by default + *accept = (handled ? ACCEPT_YES_MULTI : ACCEPT_NO); + + // We'll use that flag to change the visual aspect of the target on draw() + mDragAndDropTarget = handled; + + return handled; +} + +LLToolBarButton::LLToolBarButton(const Params& p) : LLButton(p) +{ + mUUID = LLUUID::LLUUID::generateNewID(p.name); +} + +BOOL LLToolBarButton::handleHover( S32 x, S32 y, MASK mask ) +{ +// llinfos << "Merov debug: handleHover, x = " << x << ", y = " << y << ", mouse = " << hasMouseCapture() << llendl; + BOOL handled = FALSE; + + if (hasMouseCapture() && mStartDragItemCallback && mHandleDragItemCallback) + { + if (!mIsDragged) + { + mStartDragItemCallback(x,y,mUUID); + mIsDragged = true; + handled = TRUE; + } + else + { + handled = mHandleDragItemCallback(x,y,mUUID,LLAssetType::AT_WIDGET); + } + } + return handled; +} + diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 03b1756988d..6dcf6208616 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -33,7 +33,11 @@ #include "lllayoutstack.h" #include "lluictrl.h" #include "llcommandmanager.h" +#include "llassettype.h" +typedef boost::function<void (S32 x, S32 y, const LLUUID& uuid)> startdrag_callback_t; +typedef boost::function<BOOL (S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type)> handledrag_callback_t; +typedef boost::function<BOOL (EDragAndDropType type, void* data, const LLUUID& uuid)> handledrop_callback_t; class LLToolBarButton : public LLButton { @@ -42,7 +46,17 @@ class LLToolBarButton : public LLButton { }; - LLToolBarButton(const Params& p) : LLButton(p) {} + LLToolBarButton(const Params& p); + + virtual BOOL handleHover( S32 x, S32 y, MASK mask ); + + void setStartDragCallback(startdrag_callback_t cb) { mStartDragItemCallback = cb; } + void setHandleDragCallback(handledrag_callback_t cb) { mHandleDragItemCallback = cb; } +protected: + bool mIsDragged; + startdrag_callback_t mStartDragItemCallback; + handledrag_callback_t mHandleDragItemCallback; + LLUUID mUUID; }; @@ -86,7 +100,6 @@ class LLToolBar : public LLUICtrl { public: - struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> { Mandatory<LLToolBarEnums::ButtonType> button_display_mode; @@ -119,10 +132,18 @@ class LLToolBar void draw(); void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); BOOL handleRightMouseDown(S32 x, S32 y, MASK mask); - + virtual BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, + EDragAndDropType cargo_type, + void* cargo_data, + EAcceptance* accept, + std::string& tooltip_msg); + bool addCommand(const LLCommandId& commandId); bool hasCommand(const LLCommandId& commandId) const; bool enableCommand(const LLCommandId& commandId, bool enabled); + void setStartDragCallback(startdrag_callback_t cb) { mStartDragItemCallback = cb; } + void setHandleDragCallback(handledrag_callback_t cb) { mHandleDragItemCallback = cb; } + void setHandleDropCallback(handledrop_callback_t cb) { mHandleDropCallback = cb; } protected: friend class LLUICtrlFactory; @@ -130,6 +151,10 @@ class LLToolBar ~LLToolBar(); void initFromParams(const Params&); + startdrag_callback_t mStartDragItemCallback; + handledrag_callback_t mHandleDragItemCallback; + handledrop_callback_t mHandleDropCallback; + bool mDragAndDropTarget; public: // Methods used in loading and saving toolbar settings @@ -147,6 +172,7 @@ class LLToolBar BOOL isSettingChecked(const LLSD& userdata); void onSettingEnable(const LLSD& userdata); + LLUUID mUUID; const bool mReadOnly; std::list<LLToolBarButton*> mButtons; diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index c488d51ba5e..ce47cca16f3 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -481,6 +481,7 @@ set(viewer_SOURCE_FILES lltoastpanel.cpp lltoastscripttextbox.cpp lltool.cpp + lltoolbarview.cpp lltoolbrush.cpp lltoolcomp.cpp lltooldraganddrop.cpp @@ -1039,6 +1040,7 @@ set(viewer_HEADER_FILES lltoastpanel.h lltoastscripttextbox.h lltool.h + lltoolbarview.h lltoolbrush.h lltoolcomp.h lltooldraganddrop.h diff --git a/indra/llui/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp similarity index 75% rename from indra/llui/lltoolbarview.cpp rename to indra/newview/lltoolbarview.cpp index 1c6cf3230b1..929486a185b 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -33,12 +33,15 @@ #include "llxmlnode.h" #include "lltoolbar.h" #include "llbutton.h" +#include "lltooldraganddrop.h" +#include "llclipboard.h" #include <boost/foreach.hpp> LLToolBarView* gToolBarView = NULL; static LLDefaultChildRegistry::Register<LLToolBarView> r("toolbar_view"); +bool LLToolBarView::sDragStarted = false; LLToolBarView::Toolbar::Toolbar() : button_display_mode("button_display_mode"), @@ -77,6 +80,18 @@ BOOL LLToolBarView::postBuild() mToolbarRight = getChild<LLToolBar>("toolbar_right"); mToolbarBottom = getChild<LLToolBar>("toolbar_bottom"); + mToolbarLeft->setStartDragCallback(boost::bind(LLToolBarView::startDragItem,_1,_2,_3)); + mToolbarLeft->setHandleDragCallback(boost::bind(LLToolBarView::handleDragItem,_1,_2,_3,_4)); + mToolbarLeft->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3)); + + mToolbarRight->setStartDragCallback(boost::bind(LLToolBarView::startDragItem,_1,_2,_3)); + mToolbarRight->setHandleDragCallback(boost::bind(LLToolBarView::handleDragItem,_1,_2,_3,_4)); + mToolbarRight->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3)); + + mToolbarBottom->setStartDragCallback(boost::bind(LLToolBarView::startDragItem,_1,_2,_3)); + mToolbarBottom->setHandleDragCallback(boost::bind(LLToolBarView::handleDragItem,_1,_2,_3,_4)); + mToolbarBottom->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3)); + return TRUE; } @@ -309,3 +324,67 @@ void LLToolBarView::draw() LLUICtrl::draw(); } + + +// ---------------------------------------- +// Drag and Drop hacks (under construction) +// ---------------------------------------- + + +void LLToolBarView::startDragItem( S32 x, S32 y, const LLUUID& uuid) +{ + llinfos << "Merov debug: startDragItem() : x = " << x << ", y = " << y << llendl; + LLToolDragAndDrop::getInstance()->setDragStart( x, y ); + sDragStarted = false; +} + +BOOL LLToolBarView::handleDragItem( S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type) +{ +// llinfos << "Merov debug: handleDragItem() : x = " << x << ", y = " << y << ", uuid = " << uuid << llendl; + if (LLToolDragAndDrop::getInstance()->isOverThreshold( x, y )) + { + if (!sDragStarted) + { + std::vector<EDragAndDropType> types; + uuid_vec_t cargo_ids; + types.push_back(DAD_WIDGET); + cargo_ids.push_back(uuid); + gClipboard.setSourceObject(uuid,LLAssetType::AT_WIDGET); + LLToolDragAndDrop::ESource src = LLToolDragAndDrop::SOURCE_VIEWER; + LLUUID srcID; + llinfos << "Merov debug: handleDragItem() : beginMultiDrag()" << llendl; + LLToolDragAndDrop::getInstance()->beginMultiDrag(types, cargo_ids, src, srcID); + sDragStarted = true; + return TRUE; + } + else + { + MASK mask = 0; + return LLToolDragAndDrop::getInstance()->handleHover( x, y, mask ); + } + } + return FALSE; +} + +BOOL LLToolBarView::handleDrop( EDragAndDropType cargo_type, void* cargo_data, const LLUUID& toolbar_id) +{ + LLInventoryItem* inv_item = (LLInventoryItem*)cargo_data; + llinfos << "Merov debug : handleDrop. Drop " << inv_item->getUUID() << " named " << inv_item->getName() << " of type " << inv_item->getType() << " to toolbar " << toolbar_id << " under cargo type " << cargo_type << llendl; + + LLAssetType::EType type = inv_item->getType(); + if (type == LLAssetType::AT_WIDGET) + { + llinfos << "Merov debug : handleDrop. Drop source is a widget -> that's where we'll get code in..." << llendl; + // Find out if he command is in one of the toolbar + // If it is, pull it out of the toolbar + // Now insert it in the toolbar in the correct spot... + } + else + { + llinfos << "Merov debug : handleDrop. Drop source is not a widget -> nothing to do" << llendl; + } + + return TRUE; +} + + diff --git a/indra/llui/lltoolbarview.h b/indra/newview/lltoolbarview.h similarity index 91% rename from indra/llui/lltoolbarview.h rename to indra/newview/lltoolbarview.h index efe6920db8a..4e1b855e3dd 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/newview/lltoolbarview.h @@ -74,6 +74,10 @@ class LLToolBarView : public LLUICtrl bool loadToolbars(bool force_default = false); // return false if load fails bool loadDefaultToolbars() { return loadToolbars(true); } + static void startDragItem( S32 x, S32 y, const LLUUID& uuid); + static BOOL handleDragItem( S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type); + static BOOL handleDrop( EDragAndDropType cargo_type, void* cargo_data, const LLUUID& folder_id); + protected: friend class LLUICtrlFactory; LLToolBarView(const Params&); @@ -89,6 +93,8 @@ class LLToolBarView : public LLUICtrl LLToolBar* mToolbarLeft; LLToolBar* mToolbarRight; LLToolBar* mToolbarBottom; + + static bool sDragStarted; }; extern LLToolBarView* gToolBarView; diff --git a/indra/newview/lltooldraganddrop.cpp b/indra/newview/lltooldraganddrop.cpp index 3e5ce427a80..a8014b8cde0 100644 --- a/indra/newview/lltooldraganddrop.cpp +++ b/indra/newview/lltooldraganddrop.cpp @@ -57,6 +57,7 @@ #include "llviewerwindow.h" #include "llvoavatarself.h" #include "llworld.h" +#include "llclipboard.h" // syntactic sugar #define callMemberFunction(object,ptrToMember) ((object).*(ptrToMember)) @@ -2495,6 +2496,10 @@ LLInventoryObject* LLToolDragAndDrop::locateInventory( item = (LLViewerInventoryItem*)preview->getDragItem(); } } + else if(mSource == SOURCE_VIEWER) + { + item = (LLViewerInventoryItem*)gClipboard.getSourceObject(); + } if(item) return item; if(cat) return cat; return NULL; diff --git a/indra/newview/lltooldraganddrop.h b/indra/newview/lltooldraganddrop.h index 7b8cce3dc7f..92f007a2518 100644 --- a/indra/newview/lltooldraganddrop.h +++ b/indra/newview/lltooldraganddrop.h @@ -66,7 +66,8 @@ class LLToolDragAndDrop : public LLTool, public LLSingleton<LLToolDragAndDrop> SOURCE_AGENT, SOURCE_WORLD, SOURCE_NOTECARD, - SOURCE_LIBRARY + SOURCE_LIBRARY, + SOURCE_VIEWER }; void beginDrag(EDragAndDropType type, diff --git a/indra/newview/llviewerassettype.cpp b/indra/newview/llviewerassettype.cpp index b103f115976..a4b1c2155ff 100644 --- a/indra/newview/llviewerassettype.cpp +++ b/indra/newview/llviewerassettype.cpp @@ -80,7 +80,9 @@ LLViewerAssetDictionary::LLViewerAssetDictionary() addEntry(LLViewerAssetType::AT_LINK_FOLDER, new ViewerAssetEntry(DAD_LINK)); addEntry(LLViewerAssetType::AT_MESH, new ViewerAssetEntry(DAD_MESH)); - + + addEntry(LLViewerAssetType::AT_WIDGET, new ViewerAssetEntry(DAD_WIDGET)); + addEntry(LLViewerAssetType::AT_NONE, new ViewerAssetEntry(DAD_NONE)); }; -- GitLab From 2d0dfbca99ffa442025358ece6340b894245d3b0 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Mon, 3 Oct 2011 16:37:07 -0700 Subject: [PATCH 088/256] * Added tooltips to the toolbar buttons. Reviewed by Richard. --- indra/llui/lltoolbar.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index c62bbe4e715..c0058d534df 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -511,10 +511,13 @@ LLToolBarButton* LLToolBar::createButton(const LLCommandId& id) LLCommand* commandp = LLCommandManager::instance().getCommand(id); if (!commandp) return NULL; + std::string label = LLTrans::getString(commandp->labelRef()); + std::string tooltip = label + "\n" + LLTrans::getString(commandp->tooltipRef()); + LLToolBarButton::Params button_p; button_p.name = id.name(); - button_p.label = LLTrans::getString(commandp->labelRef()); - button_p.tool_tip = button_p.label(); + button_p.label = label; + button_p.tool_tip = tooltip; button_p.image_overlay = LLUI::getUIImage(commandp->icon()); button_p.overwriteFrom(mButtonParams[mButtonType]); LLToolBarButton* button = LLUICtrlFactory::create<LLToolBarButton>(button_p); -- GitLab From 13165e909a5ba35df864ace97206da1242f41265 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 3 Oct 2011 17:11:09 -0700 Subject: [PATCH 089/256] fixed build --- indra/llxuixml/llinitparam.h | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/indra/llxuixml/llinitparam.h b/indra/llxuixml/llinitparam.h index 9a6ded47ffe..3dce7a939f2 100644 --- a/indra/llxuixml/llinitparam.h +++ b/indra/llxuixml/llinitparam.h @@ -564,10 +564,6 @@ namespace LLInitParam public: typedef const T& value_assignment_t; - S32 mKeyVersion; - mutable S32 mValidatedVersion; - mutable bool mValidated; // lazy validation flag - ParamValue() : T(), mKeyVersion(0), @@ -607,6 +603,12 @@ namespace LLInitParam { return *this; } + + S32 mKeyVersion; + + protected: + mutable S32 mValidatedVersion; + mutable bool mValidated; // lazy validation flag }; template<typename T, typename NAME_VALUE_LOOKUP = TypeValues<T> > @@ -1679,8 +1681,6 @@ namespace LLInitParam S32 mLastParseGeneration; }; - - template<typename DERIVED_BLOCK, typename BASE_BLOCK, typename NAME_VALUE_LOOKUP> @@ -1690,17 +1690,18 @@ namespace LLInitParam : public Param, protected BatchBlock<DERIVED_BLOCK, BASE_BLOCK> { + typedef BatchBlock<DERIVED_BLOCK, BASE_BLOCK> block_t; typedef const BatchBlock<DERIVED_BLOCK, BASE_BLOCK>& value_assignment_t; ParamValue() - : T(), + : block_t(), mKeyVersion(0), mValidatedVersion(-1), mValidated(false) {} ParamValue(value_assignment_t other) - : T(other), + : block_t(other), mKeyVersion(0), mValidatedVersion(-1), mValidated(false) @@ -1710,7 +1711,7 @@ namespace LLInitParam void setValue(value_assignment_t val) { *this = val; - mLastParseGeneration = -1; + block_t::mLastParseGeneration = -1; } value_assignment_t getValue() const @@ -1733,6 +1734,11 @@ namespace LLInitParam return *this; } + S32 mKeyVersion; + + protected: + mutable S32 mValidatedVersion; + mutable bool mValidated; // lazy validation flag }; template<typename T> -- GitLab From edacb7b3363dca6cd28a4ff7ea27154d6a30702f Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 3 Oct 2011 18:52:22 -0700 Subject: [PATCH 090/256] implemented Range and ClampedValue classes to standardize min/max settings fixed not serializing named values when values provided from code --- indra/llui/lltoolbar.cpp | 11 +- indra/llui/lltoolbar.h | 11 +- indra/llui/lltoolbarview.cpp | 18 +-- indra/llui/lltoolbarview.h | 4 +- indra/llui/llui.h | 126 ++++++++++++++++++ indra/llxuixml/llinitparam.h | 39 ++++-- indra/newview/app_settings/toolbars.xml | 4 +- .../skins/default/xui/en/floater_toybox.xml | 4 +- .../skins/default/xui/en/widgets/toolbar.xml | 8 +- 9 files changed, 185 insertions(+), 40 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index c0058d534df..66c2d7ab0bd 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -319,7 +319,7 @@ void LLToolBar::resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row { if (getOrientation(mSideType) == LLLayoutStack::HORIZONTAL) { - button->reshape(llclamp(button->getRect().getWidth(), button->mMinWidth, button->mMaxWidth), max_row_girth); + button->reshape(button->mWidthRange.clamp(button->getRect().getWidth()), max_row_girth); } else // VERTICAL { @@ -378,10 +378,10 @@ void LLToolBar::updateLayoutAsNeeded() BOOST_FOREACH(LLToolBarButton* button, mButtons) { - button->reshape(button->mMinWidth, button->mDesiredHeight); + button->reshape(button->mWidthRange.getMin(), button->mDesiredHeight); button->autoResize(); - S32 button_clamped_width = llclamp(button->getRect().getWidth(), button->mMinWidth, button->mMaxWidth); + S32 button_clamped_width = button->mWidthRange.clamp(button->getRect().getWidth()); S32 button_length = (orientation == LLLayoutStack::HORIZONTAL) ? button_clamped_width : button->getRect().getHeight(); @@ -396,7 +396,7 @@ void LLToolBar::updateLayoutAsNeeded() { if (orientation == LLLayoutStack::VERTICAL) { // row girth (width in this case) is clamped to allowable button widths - max_row_girth = llclamp(max_row_girth, button->mMinWidth, button->mMaxWidth); + max_row_girth = button->mWidthRange.clamp(max_row_girth); } // make buttons in current row all same girth @@ -543,8 +543,7 @@ LLToolBarButton::LLToolBarButton(const Params& p) : LLButton(p), mMouseDownX(0), mMouseDownY(0), - mMinWidth(p.min_button_width), - mMaxWidth(p.max_button_width), + mWidthRange(p.button_width), mDesiredHeight(p.desired_height), mId("") {} diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 5d64630fa61..48ca6c62b30 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -41,13 +41,11 @@ class LLToolBarButton : public LLButton public: struct Params : public LLInitParam::Block<Params, LLButton::Params> { - Optional<S32> min_button_width, - max_button_width, - desired_height; + Optional<LLUI::Range<S32> > button_width; + Optional<S32> desired_height; Params() - : min_button_width("min_button_width", 0), - max_button_width("max_button_width", S32_MAX), + : button_width("button_width"), desired_height("desired_height", 20) {} @@ -62,8 +60,7 @@ class LLToolBarButton : public LLButton LLCommandId mId; S32 mMouseDownX; S32 mMouseDownY; - S32 mMinWidth; - S32 mMaxWidth; + LLUI::Range<S32> mWidthRange; S32 mDesiredHeight; }; diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 12247519ad7..49d4bfdc3c2 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -169,8 +169,8 @@ bool LLToolBarView::loadToolbars(bool force_default) { if (toolbar_set.left_toolbar.button_display_mode.isProvided()) { - U32 button_type = toolbar_set.left_toolbar.button_display_mode; - mToolbarLeft->setButtonType((LLToolBarEnums::ButtonType)(button_type)); + LLToolBarEnums::ButtonType button_type = toolbar_set.left_toolbar.button_display_mode; + mToolbarLeft->setButtonType(button_type); } BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.left_toolbar.commands) { @@ -181,8 +181,8 @@ bool LLToolBarView::loadToolbars(bool force_default) { if (toolbar_set.right_toolbar.button_display_mode.isProvided()) { - U32 button_type = toolbar_set.right_toolbar.button_display_mode; - mToolbarRight->setButtonType((LLToolBarEnums::ButtonType)(button_type)); + LLToolBarEnums::ButtonType button_type = toolbar_set.right_toolbar.button_display_mode; + mToolbarRight->setButtonType(button_type); } BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.right_toolbar.commands) { @@ -193,8 +193,8 @@ bool LLToolBarView::loadToolbars(bool force_default) { if (toolbar_set.bottom_toolbar.button_display_mode.isProvided()) { - U32 button_type = toolbar_set.bottom_toolbar.button_display_mode; - mToolbarBottom->setButtonType((LLToolBarEnums::ButtonType)(button_type)); + LLToolBarEnums::ButtonType button_type = toolbar_set.bottom_toolbar.button_display_mode; + mToolbarBottom->setButtonType(button_type); } BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.bottom_toolbar.commands) { @@ -223,17 +223,17 @@ void LLToolBarView::saveToolbars() const LLToolBarView::ToolbarSet toolbar_set; if (mToolbarLeft) { - toolbar_set.left_toolbar.button_display_mode = (int)(mToolbarLeft->getButtonType()); + toolbar_set.left_toolbar.button_display_mode = mToolbarLeft->getButtonType(); addToToolset(mToolbarLeft->getCommandsList(),toolbar_set.left_toolbar); } if (mToolbarRight) { - toolbar_set.right_toolbar.button_display_mode = (int)(mToolbarRight->getButtonType()); + toolbar_set.right_toolbar.button_display_mode = mToolbarRight->getButtonType(); addToToolset(mToolbarRight->getCommandsList(),toolbar_set.right_toolbar); } if (mToolbarBottom) { - toolbar_set.bottom_toolbar.button_display_mode = (int)(mToolbarBottom->getButtonType()); + toolbar_set.bottom_toolbar.button_display_mode = mToolbarBottom->getButtonType(); addToToolset(mToolbarBottom->getCommandsList(),toolbar_set.bottom_toolbar); } diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index 20525a22ac3..c67b8d9d64d 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -50,8 +50,8 @@ class LLToolBarView : public LLUICtrl // the user folder for the user specific (saved) settings struct Toolbar : public LLInitParam::Block<Toolbar> { - Mandatory<U32> button_display_mode; - Multiple<LLCommandId::Params> commands; + Mandatory<LLToolBarEnums::ButtonType> button_display_mode; + Multiple<LLCommandId::Params> commands; Toolbar(); }; struct ToolbarSet : public LLInitParam::Block<ToolbarSet> diff --git a/indra/llui/llui.h b/indra/llui/llui.h index 3afb7c65a90..9f6fccfef65 100644 --- a/indra/llui/llui.h +++ b/indra/llui/llui.h @@ -147,6 +147,132 @@ class LLUI { LOG_CLASS(LLUI); public: + // + // Classes + // + + template <typename T> + struct Range + { + typedef Range<T> self_t; + + struct Params : public LLInitParam::Block<Params> + { + Optional<T> minimum, + maximum; + + Params() + : minimum("min", 0), + maximum("max", S32_MAX) + { + + } + }; + + // correct for inverted params + Range(const Params& p = Params()) + : mMin(p.minimum), + mMax(p.maximum) + { + sanitizeRange(); + } + + Range(T minimum, T maximum) + : mMin(minimum), + mMax(maximum) + { + sanitizeRange(); + } + + S32 clamp(T input) + { + if (input < mMin) return mMin; + if (input > mMax) return mMax; + return input; + } + + void setRange(T minimum, T maximum) + { + mMin = minimum; + mMax = maximum; + sanitizeRange(); + } + + S32 getMin() { return mMin; } + S32 getMax() { return mMax; } + + bool operator==(const self_t& other) const + { + return mMin == other.mMin + && mMax == other.mMax; + } + private: + void sanitizeRange() + { + if (mMin > mMax) + { + llwarns << "Bad interval range (" << mMin << ", " << mMax << ")" << llendl; + // since max is usually the most dangerous one to ignore (buffer overflow, etc), prefer it + // in the case of a malformed range + mMin = mMax; + } + } + + + T mMin, + mMax; + }; + + template<typename T> + struct ClampedValue : public Range<T> + { + typedef Range<T> range_t; + + struct Params : public LLInitParam::Block<Params, typename range_t::Params> + { + Mandatory<S32> value; + + Params() + : value("", 0) + { + addSynonym(value, "value"); + } + }; + + ClampedValue(const Params& p) + : range_t(p) + {} + + ClampedValue(const range_t& range) + : range_t(range) + { + // set value here, after range has been sanitized + mValue = clamp(0); + } + + ClampedValue(T value, const range_t& range = range_t()) + : range_t(range) + { + mValue = clamp(value); + } + + T get() + { + return mValue; + } + + void set(T value) + { + mValue = clamp(value); + } + + + private: + T mValue; + }; + + typedef ClampedValue<S32> ClampedS32; + // // Methods // diff --git a/indra/llxuixml/llinitparam.h b/indra/llxuixml/llinitparam.h index 3dce7a939f2..9db67a15c83 100644 --- a/indra/llxuixml/llinitparam.h +++ b/indra/llxuixml/llinitparam.h @@ -87,6 +87,7 @@ namespace LLInitParam void setValueName(const std::string& key) {} std::string getValueName() const { return ""; } + std::string calcValueName(const T& value) const { return ""; } void clearValueName() const {} static bool getValueFromName(const std::string& name, T& value) @@ -124,6 +125,22 @@ namespace LLInitParam return mValueName; } + std::string calcValueName(const T& value) const + { + value_name_map_t* map = getValueNames(); + for (value_name_map_t::iterator it = map->begin(), end_it = map->end(); + it != end_it; + ++it) + { + if (ParamCompare<T>::equals(it->second, value)) + { + return it->first; + } + } + + return ""; + } + void clearValueName() const { mValueName.clear(); @@ -709,18 +726,19 @@ namespace LLInitParam { if (!diff_param || !ParamCompare<std::string>::equals(static_cast<const self_t*>(diff_param)->getValueName(), key)) { - if (!parser.writeValue(key, name_stack)) - { - return; - } + parser.writeValue(key, name_stack); } } // then try to serialize value directly else if (!diff_param || !ParamCompare<T>::equals(typed_param.getValue(), static_cast<const self_t*>(diff_param)->getValue())) { - if (!parser.writeValue(typed_param.getValue(), name_stack)) + if (!parser.writeValue(typed_param.getValue(), name_stack)) { - return; + std::string calculated_key = typed_param.calcValueName(typed_param.getValue()); + if (!diff_param || !ParamCompare<std::string>::equals(static_cast<const self_t*>(diff_param)->getValueName(), calculated_key)) + { + parser.writeValue(calculated_key, name_stack); + } } } } @@ -1002,9 +1020,14 @@ namespace LLInitParam if(key.empty()) // not parsed via name values, write out value directly { - if (!parser.writeValue(*it, name_stack)) + bool value_written == parser.writeValue(*it, name_stack); + if (!value_written) { - break; + std::string calculated_key = typed_param.calcValueName(typed_param.getValue()); + if (!parser.writeValue(calculated_key, name_stack)) + { + break; + } } } else diff --git a/indra/newview/app_settings/toolbars.xml b/indra/newview/app_settings/toolbars.xml index 19dec78c639..a9345b3b0a6 100644 --- a/indra/newview/app_settings/toolbars.xml +++ b/indra/newview/app_settings/toolbars.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <toolbars> <bottom_toolbar - button_display_mode="0"> + button_display_mode="icons_with_text"> <command name="chat"/> <command name="speak"/> <command name="places"/> @@ -12,7 +12,7 @@ <command name="howto"/> </bottom_toolbar> <left_toolbar - button_display_mode="1"> + button_display_mode="icons_only"> <command name="avatar"/> <command name="inventory"/> <command name="snapshot"/> diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index de39032cbf8..972ae1487ae 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -48,8 +48,8 @@ button_display_mode="icons_with_text" follows="all" left="20" - button_icon_and_text.max_button_width="140" - button_icon_and_text.min_button_width="70" + button_icon_and_text.button_width.max="140" + button_icon_and_text.button_width.min="70" name="toybox_toolbar" pad_left="5" pad_right="5" diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 8422e3943d5..0c7e7cff564 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -12,8 +12,8 @@ bg_opaque_image_overlay="MouseGray" background_opaque="true"/> <button_icon_and_text imgoverlay_label_space="7" - min_button_width="70" - max_button_width="140" + button_width.min="70" + button_width.max="140" desired_height="24" pad_left="10" pad_right="10" @@ -25,8 +25,8 @@ <button_icon pad_left="10" pad_right="10" desired_height="35" - min_button_width="35" - max_button_width="35" + button_width.min="35" + button_width.max="35" follows="left|top" label="" chrome="true" -- GitLab From 1cff73e807018b8c258285f5b8dcc90e66e17955 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 3 Oct 2011 18:57:23 -0700 Subject: [PATCH 091/256] fixed build --- indra/llui/lltoolbar.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 4b7e04b6821..71f4e09a241 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -107,7 +107,7 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p) { mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_WITH_TEXT] = p.button_icon_and_text; mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_ONLY] = p.button_icon; - mUUID = LLUUID::LLUUID::generateNewID(p.name); + mUUID = LLUUID::generateNewID(p.name); } LLToolBar::~LLToolBar() -- GitLab From 3689995fcfca3a99038b2aadec638819a63a02c8 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 3 Oct 2011 18:58:30 -0700 Subject: [PATCH 092/256] fixed build --- indra/llui/lltoolbar.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 4b7e04b6821..efa077ffa10 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -107,7 +107,7 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p) { mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_WITH_TEXT] = p.button_icon_and_text; mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_ONLY] = p.button_icon; - mUUID = LLUUID::LLUUID::generateNewID(p.name); + mUUID = LLUUID::generateNewID(p.name); } LLToolBar::~LLToolBar() @@ -570,7 +570,7 @@ LLToolBarButton::LLToolBarButton(const Params& p) mDesiredHeight(p.desired_height), mId("") { - mUUID = LLUUID::LLUUID::generateNewID(p.name); + mUUID = LLUUID::generateNewID(p.name); } BOOL LLToolBarButton::handleMouseDown(S32 x, S32 y, MASK mask) -- GitLab From 9f6307277bf02753b55c7819626318f717224cc6 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 4 Oct 2011 10:50:10 -0700 Subject: [PATCH 093/256] potential fix for build --- indra/newview/lltoolbarview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 2ea2f608cc9..65f63926b66 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -25,7 +25,7 @@ * $/LicenseInfo$ */ -#include "linden_common.h" +#include "llviewerprecompiledheaders.h" #include "lltoolbarview.h" -- GitLab From cfbb5aad37418af614a491e278083bc95bb820a2 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 4 Oct 2011 11:32:00 -0700 Subject: [PATCH 094/256] another potential gcc fix --- indra/llxuixml/llinitparam.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/indra/llxuixml/llinitparam.h b/indra/llxuixml/llinitparam.h index 0f17fb61da1..1a131d15a3f 100644 --- a/indra/llxuixml/llinitparam.h +++ b/indra/llxuixml/llinitparam.h @@ -128,7 +128,7 @@ namespace LLInitParam std::string calcValueName(const T& value) const { value_name_map_t* map = getValueNames(); - for (value_name_map_t::iterator it = map->begin(), end_it = map->end(); + for (typename value_name_map_t::iterator it = map->begin(), end_it = map->end(); it != end_it; ++it) { @@ -1020,16 +1020,16 @@ namespace LLInitParam if(key.empty()) // not parsed via name values, write out value directly { - bool value_written == parser.writeValue(*it, name_stack); + bool value_written = parser.writeValue(*it, name_stack); if (!value_written) { std::string calculated_key = typed_param.calcValueName(typed_param.getValue()); if (!parser.writeValue(calculated_key, name_stack)) - { - break; + { + break; + } } } - } else { if(!parser.writeValue(key, name_stack)) -- GitLab From 44e9fb446f3c92c3dfd9b5be8a3e02ec5a44ba00 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 4 Oct 2011 12:04:29 -0700 Subject: [PATCH 095/256] another potential gcc fix --- indra/llui/llui.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/llui/llui.h b/indra/llui/llui.h index 9f6fccfef65..8cec1a16f40 100644 --- a/indra/llui/llui.h +++ b/indra/llui/llui.h @@ -158,8 +158,8 @@ class LLUI struct Params : public LLInitParam::Block<Params> { - Optional<T> minimum, - maximum; + typename Optional<T> minimum, + maximum; Params() : minimum("min", 0), -- GitLab From 530d5af4073f4dda4003005c9c117af53b84aa9d Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 4 Oct 2011 12:05:27 -0700 Subject: [PATCH 096/256] EXP-1204 PROGRESS -- As a User I want flexible floater management with no sidetray EXP-1292 FIX -- Mini-map floater can't be closed by clicking the sidebar button again. * Mini-map floater text updated * Mini-map floater behavior now acts more like other windows, has a title, etc. --- indra/newview/llfloatermap.cpp | 50 +------------------ indra/newview/llfloatermap.h | 6 --- .../skins/default/xui/en/floater_map.xml | 28 +++++------ .../skins/default/xui/en/menu_bottomtray.xml | 2 +- .../skins/default/xui/en/menu_viewer.xml | 2 +- .../skins/default/xui/en/panel_bottomtray.xml | 4 +- 6 files changed, 18 insertions(+), 74 deletions(-) diff --git a/indra/newview/llfloatermap.cpp b/indra/newview/llfloatermap.cpp index 641e64247ba..87135130542 100644 --- a/indra/newview/llfloatermap.cpp +++ b/indra/newview/llfloatermap.cpp @@ -100,16 +100,13 @@ BOOL LLFloaterMap::postBuild() mTextBoxSouthWest = getChild<LLTextBox> ("floater_map_southwest"); mTextBoxNorthWest = getChild<LLTextBox> ("floater_map_northwest"); - stretchMiniMap(getRect().getWidth() - MAP_PADDING_LEFT - MAP_PADDING_RIGHT - ,getRect().getHeight() - MAP_PADDING_TOP - MAP_PADDING_BOTTOM); - updateMinorDirections(); // Get the drag handle all the way in back sendChildToBack(getDragHandle()); - setIsChrome(TRUE); - getDragHandle()->setTitleVisible(TRUE); + //setIsChrome(TRUE); + //getDragHandle()->setTitleVisible(TRUE); // keep onscreen gFloaterView->adjustToFitScreen(this, FALSE); @@ -223,40 +220,10 @@ void LLFloaterMap::draw() LLFloater::draw(); } -// virtual -void LLFloaterMap::onFocusReceived() -{ - setBackgroundOpaque(true); - LLPanel::onFocusReceived(); -} - -// virtual -void LLFloaterMap::onFocusLost() -{ - setBackgroundOpaque(false); - LLPanel::onFocusLost(); -} - -void LLFloaterMap::stretchMiniMap(S32 width,S32 height) -{ - //fix for ext-7112 - //by default ctrl can't overlap caption area - if(mMap) - { - LLRect map_rect; - map_rect.setLeftTopAndSize( MAP_PADDING_LEFT, getRect().getHeight() - MAP_PADDING_TOP, width, height); - mMap->reshape( width, height, 1); - mMap->setRect(map_rect); - } -} - void LLFloaterMap::reshape(S32 width, S32 height, BOOL called_from_parent) { LLFloater::reshape(width, height, called_from_parent); - stretchMiniMap(width - MAP_PADDING_LEFT - MAP_PADDING_RIGHT - ,height - MAP_PADDING_TOP - MAP_PADDING_BOTTOM); - updateMinorDirections(); } @@ -285,16 +252,3 @@ void LLFloaterMap::handleZoom(const LLSD& userdata) mMap->setScale(scale); } } - -void LLFloaterMap::setMinimized(BOOL b) -{ - LLFloater::setMinimized(b); - if(b) - { - setTitle(getString("mini_map_caption")); - } - else - { - setTitle(""); - } -} diff --git a/indra/newview/llfloatermap.h b/indra/newview/llfloatermap.h index 5cf66a594bf..8a1b965e628 100644 --- a/indra/newview/llfloatermap.h +++ b/indra/newview/llfloatermap.h @@ -45,18 +45,12 @@ class LLFloaterMap : public LLFloater /*virtual*/ BOOL handleDoubleClick( S32 x, S32 y, MASK mask ); /*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); /*virtual*/ void draw(); - /*virtual*/ void onFocusLost(); - /*virtual*/ void onFocusReceived(); - /*virtual*/ void setMinimized(BOOL b); - private: void handleZoom(const LLSD& userdata); void setDirectionPos( LLTextBox* text_box, F32 rotation ); void updateMinorDirections(); - void stretchMiniMap(S32 width,S32 height); - LLTextBox* mTextBoxEast; LLTextBox* mTextBoxNorth; LLTextBox* mTextBoxWest; diff --git a/indra/newview/skins/default/xui/en/floater_map.xml b/indra/newview/skins/default/xui/en/floater_map.xml index ae99fa8dd5b..51f63edc31e 100644 --- a/indra/newview/skins/default/xui/en/floater_map.xml +++ b/indra/newview/skins/default/xui/en/floater_map.xml @@ -1,20 +1,17 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater - bg_alpha_image_overlay="DkGray_66" - legacy_header_height="0" can_minimize="true" can_resize="true" follows="top|right" - height="174" + height="200" layout="topleft" min_height="128" min_width="128" name="Map" - title="" + title="Mini-map" help_topic="map" save_rect="true" save_visibility="true" - single_instance="true" left="0" top="0" width="200"> @@ -27,17 +24,16 @@ [REGION](Double-click to teleport, shift-drag to pan) </floater.string> <floater.string name="mini_map_caption"> - MINIMAP + Mini-map </floater.string> <net_map - bg_color="NetMapBackgroundColor" follows="top|left|bottom|right" layout="topleft" left="0" mouse_opaque="false" name="Net Map" width="200" - height="218" + height="200" top="0"/> <text type="string" @@ -49,7 +45,7 @@ name="floater_map_north" right="10" text_color="1 1 1 0.7" - top="209"> + top="189"> N </text> <text @@ -62,7 +58,7 @@ name="floater_map_east" right="10" text_color="1 1 1 0.7" - top="209"> + top="189"> E </text> <text @@ -75,7 +71,7 @@ name="floater_map_west" right="11" text_color="1 1 1 0.7" - top="195"> + top="175"> W </text> <text @@ -88,7 +84,7 @@ name="floater_map_south" right="10" text_color="1 1 1 0.7" - top="209"> + top="189"> S </text> <text @@ -101,7 +97,7 @@ name="floater_map_southeast" right="20" text_color="1 1 1 0.7" - top="209"> + top="189"> SE </text> <text @@ -114,7 +110,7 @@ name="floater_map_northeast" right="20" text_color="1 1 1 0.7" - top="209"> + top="189"> NE </text> <text @@ -127,7 +123,7 @@ name="floater_map_southwest" right="20" text_color="1 1 1 0.7" - top="209"> + top="189"> SW </text> <text @@ -140,7 +136,7 @@ name="floater_map_northwest" right="20" text_color="1 1 1 0.7" - top="209"> + top="189"> NW </text> </floater> diff --git a/indra/newview/skins/default/xui/en/menu_bottomtray.xml b/indra/newview/skins/default/xui/en/menu_bottomtray.xml index 07dabe1909e..1a102c21bbb 100644 --- a/indra/newview/skins/default/xui/en/menu_bottomtray.xml +++ b/indra/newview/skins/default/xui/en/menu_bottomtray.xml @@ -97,7 +97,7 @@ parameter="ShowWorldMapButton" /> </menu_item_check> <menu_item_check - label="Mini-Map button" + label="Mini-map button" layout="topleft" name="ShowMiniMapButton"> <menu_item_check.on_click diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 733b97d8274..1ba204473f6 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -257,7 +257,7 @@ name="World" tear_off="true"> <menu_item_check - label="Mini-Map" + label="Mini-map" name="Mini-Map" shortcut="control|shift|M"> <menu_item_check.on_check diff --git a/indra/newview/skins/default/xui/en/panel_bottomtray.xml b/indra/newview/skins/default/xui/en/panel_bottomtray.xml index ec5853649eb..2737746c0eb 100644 --- a/indra/newview/skins/default/xui/en/panel_bottomtray.xml +++ b/indra/newview/skins/default/xui/en/panel_bottomtray.xml @@ -353,11 +353,11 @@ Disabled for now. image_pressed_selected="PushButton_Selected_Press" image_selected="PushButton_Selected_Press" is_toggle="true" - label="Mini-Map" + label="Mini-map" layout="topleft" left="0" name="mini_map_btn" - tool_tip="Shows/hides Mini-Map" + tool_tip="Shows/hides mini-map" top="5" use_ellipses="true" width="80"> -- GitLab From 29987ec5949d22c462566d453ce1de2c76c154e8 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 4 Oct 2011 12:08:48 -0700 Subject: [PATCH 097/256] * Updated strings for FUI crusade --- indra/newview/app_settings/settings.xml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index ad07af5e870..07799d4eee0 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -9671,7 +9671,7 @@ <key>ShowBuildButton</key> <map> <key>Comment</key> - <string>Shows/Hides Build button in the bottom tray.</string> + <string>Shows/hides build button in the bottom tray.</string> <key>Persist</key> <integer>1</integer> <key>Type</key> @@ -9682,7 +9682,7 @@ <key>ShowCameraButton</key> <map> <key>Comment</key> - <string>Show/Hide View button in the bottom tray.</string> + <string>Show/hide view button in the bottom tray.</string> <key>Persist</key> <integer>1</integer> <key>Type</key> @@ -9770,7 +9770,7 @@ <key>ShowGestureButton</key> <map> <key>Comment</key> - <string>Shows/Hides Gesture button in the bottom tray.</string> + <string>Shows/hides gesture button in the bottom tray.</string> <key>Persist</key> <integer>1</integer> <key>Type</key> @@ -9803,7 +9803,7 @@ <key>ShowMiniMapButton</key> <map> <key>Comment</key> - <string>Shows/Hides Mini-Map button in the bottom tray.</string> + <string>Shows/hides mini-map button in the bottom tray.</string> <key>Persist</key> <integer>1</integer> <key>Type</key> @@ -9814,7 +9814,7 @@ <key>ShowMoveButton</key> <map> <key>Comment</key> - <string>Shows/Hides Move button in the bottom tray.</string> + <string>Shows/hides move button in the bottom tray.</string> <key>Persist</key> <integer>1</integer> <key>Type</key> @@ -9847,7 +9847,7 @@ <key>ShowSearchButton</key> <map> <key>Comment</key> - <string>Shows/Hides Search button in the bottom tray.</string> + <string>Shows/hides search button in the bottom tray.</string> <key>Persist</key> <integer>1</integer> <key>Type</key> @@ -9858,7 +9858,7 @@ <key>ShowSnapshotButton</key> <map> <key>Comment</key> - <string>Shows/Hides Snapshot button button in the bottom tray.</string> + <string>Shows/hides snapshot button button in the bottom tray.</string> <key>Persist</key> <integer>1</integer> <key>Type</key> @@ -9880,7 +9880,7 @@ <key>ShowNavbarFavoritesPanel</key> <map> <key>Comment</key> - <string>Show/Hide Navigation Bar Favorites Panel</string> + <string>Show/hide navigation bar favorites panel</string> <key>Persist</key> <integer>1</integer> <key>Type</key> @@ -9891,7 +9891,7 @@ <key>ShowNavbarNavigationPanel</key> <map> <key>Comment</key> - <string>Show/Hide Navigation Bar Navigation Panel</string> + <string>Show/hide navigation bar navigation panel</string> <key>Persist</key> <integer>1</integer> <key>Type</key> @@ -9902,7 +9902,7 @@ <key>ShowWorldMapButton</key> <map> <key>Comment</key> - <string>Shows/Hides Map button in the bottom tray.</string> + <string>Shows/hides map button in the bottom tray.</string> <key>Persist</key> <integer>1</integer> <key>Type</key> @@ -9913,7 +9913,7 @@ <key>ShowMiniLocationPanel</key> <map> <key>Comment</key> - <string>Show/Hide Mini-Location Panel</string> + <string>Show/hide mini-location panel</string> <key>Persist</key> <integer>1</integer> <key>Type</key> -- GitLab From f3aac4c8ab45d52c4f038ad1a16768d9d8e0b201 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 4 Oct 2011 12:15:41 -0700 Subject: [PATCH 098/256] EXP-1289 FIX -- Default bottom bar is showing "Places" button instead of "Destinations" EXP-1290 FIX -- Snapshot button to be removed from the default left sidebar EXP-1291 FIX -- Places command is missing on the default left sidebar * Updated to new default buttons based on the wiki. * Updated button_display_mode to text rather than numbers. --- indra/newview/app_settings/toolbars.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/indra/newview/app_settings/toolbars.xml b/indra/newview/app_settings/toolbars.xml index 19dec78c639..21084d2c8da 100644 --- a/indra/newview/app_settings/toolbars.xml +++ b/indra/newview/app_settings/toolbars.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <toolbars> <bottom_toolbar - button_display_mode="0"> + button_display_mode="icons_with_text"> <command name="chat"/> <command name="speak"/> - <command name="places"/> + <command name="destinations"/> <command name="people"/> <command name="profile"/> <command name="view"/> @@ -12,14 +12,14 @@ <command name="howto"/> </bottom_toolbar> <left_toolbar - button_display_mode="1"> + button_display_mode="icons_only"> <command name="avatar"/> + <command name="appearance"/> <command name="inventory"/> - <command name="snapshot"/> <command name="search"/> - <command name="shop"/> - <command name="move_objects"/> + <command name="places"/> + <command name="marketplace"/> + <command name="voice"/> <command name="minimap"/> - <command name="preferences"/> </left_toolbar> -</toolbars> \ No newline at end of file +</toolbars> -- GitLab From 50c0447808f7041d5af5017c847a462e9599bdb5 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 4 Oct 2011 13:26:54 -0700 Subject: [PATCH 099/256] disabled min and max windows macros another attempt at fixing gcc builds --- indra/llcommon/llapr.h | 3 +++ indra/llcommon/llprocesslauncher.h | 1 + indra/llrender/llglheaders.h | 1 + indra/llui/llui.h | 33 +++++++++++++++--------------- indra/llwindow/lldragdropwin32.h | 2 ++ indra/llwindow/llwindowwin32.h | 1 + indra/win_crash_logger/StdAfx.h | 2 +- 7 files changed, 25 insertions(+), 18 deletions(-) diff --git a/indra/llcommon/llapr.h b/indra/llcommon/llapr.h index 3f846f13145..286fc43a77f 100644 --- a/indra/llcommon/llapr.h +++ b/indra/llcommon/llapr.h @@ -37,6 +37,9 @@ // If you get undefined symbols, find the appropriate // Windows header file and include that in your .cpp file. #define WIN32_LEAN_AND_MEAN + // do not define min() and max() macros, which collide with + // things like numeric_limits<T> + #define NOMINMAX #include <winsock2.h> #include <windows.h> #endif diff --git a/indra/llcommon/llprocesslauncher.h b/indra/llcommon/llprocesslauncher.h index 954c2491472..23e48b1823e 100644 --- a/indra/llcommon/llprocesslauncher.h +++ b/indra/llcommon/llprocesslauncher.h @@ -28,6 +28,7 @@ #define LL_LLPROCESSLAUNCHER_H #if LL_WINDOWS +#define NOMINMAX #include <windows.h> #endif diff --git a/indra/llrender/llglheaders.h b/indra/llrender/llglheaders.h index 851a75629e1..b936fd30f84 100644 --- a/indra/llrender/llglheaders.h +++ b/indra/llrender/llglheaders.h @@ -520,6 +520,7 @@ extern PFNGLSAMPLEMASKIPROC glSampleMaski; // windows gl headers depend on things like APIENTRY, so include windows. #define WIN32_LEAN_AND_MEAN +#define NOMINMAX #include <winsock2.h> #include <windows.h> diff --git a/indra/llui/llui.h b/indra/llui/llui.h index 8cec1a16f40..af8f2396576 100644 --- a/indra/llui/llui.h +++ b/indra/llui/llui.h @@ -41,6 +41,7 @@ #include <boost/signals2.hpp> #include "lllazyvalue.h" #include "llframetimer.h" +#include <limits> // LLUIFactory #include "llsd.h" @@ -150,27 +151,25 @@ class LLUI // // Classes // + template <typename T> + struct RangeParams : public LLInitParam::Block<RangeParams<T> > + { + Optional<T> minimum, + maximum; + + RangeParams() + : minimum("min", T()), + maximum("max", std::numeric_limits<T>::max()) + {} + }; template <typename T> struct Range { typedef Range<T> self_t; - struct Params : public LLInitParam::Block<Params> - { - typename Optional<T> minimum, - maximum; - - Params() - : minimum("min", 0), - maximum("max", S32_MAX) - { - - } - }; - // correct for inverted params - Range(const Params& p = Params()) + Range(const RangeParams<T>& p = RangeParams<T>()) : mMin(p.minimum), mMax(p.maximum) { @@ -228,12 +227,12 @@ class LLUI { typedef Range<T> range_t; - struct Params : public LLInitParam::Block<Params, typename range_t::Params> + struct Params : public LLInitParam::Block<Params, RangeParams<T> > { - Mandatory<S32> value; + Mandatory<T> value; Params() - : value("", 0) + : value("", T()) { addSynonym(value, "value"); } diff --git a/indra/llwindow/lldragdropwin32.h b/indra/llwindow/lldragdropwin32.h index 929e7f9e377..63054bffec3 100644 --- a/indra/llwindow/lldragdropwin32.h +++ b/indra/llwindow/lldragdropwin32.h @@ -31,6 +31,7 @@ #ifndef LL_LLDRAGDROP32_H #define LL_LLDRAGDROP32_H +#define NOMINMAX #include <windows.h> #include <ole2.h> @@ -54,6 +55,7 @@ class LLDragDropWin32 #ifndef LL_LLDRAGDROP32_H #define LL_LLDRAGDROP32_H +#define NOMINMAX #include <windows.h> #include <ole2.h> diff --git a/indra/llwindow/llwindowwin32.h b/indra/llwindow/llwindowwin32.h index 387e4cbdb65..dc1950fb315 100644 --- a/indra/llwindow/llwindowwin32.h +++ b/indra/llwindow/llwindowwin32.h @@ -29,6 +29,7 @@ // Limit Windows API to small and manageable set. #define WIN32_LEAN_AND_MEAN +#define NOMINMAX #include <winsock2.h> #include <windows.h> diff --git a/indra/win_crash_logger/StdAfx.h b/indra/win_crash_logger/StdAfx.h index ce70fe2994c..71faf88bad8 100644 --- a/indra/win_crash_logger/StdAfx.h +++ b/indra/win_crash_logger/StdAfx.h @@ -37,7 +37,7 @@ #endif // _MSC_VER > 1000 #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers - +#define NOMINMAX // don't define min and max macros // Windows Header Files: #include <windows.h> -- GitLab From db2e763ff0537785336a330d03bb9307478cb79a Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 4 Oct 2011 14:09:03 -0700 Subject: [PATCH 100/256] * Modified commands to add functions for is_enabled, is_running and is_starting, currently not hooked to any functionality. --- indra/llui/llcommandmanager.cpp | 24 +++++-- indra/llui/llcommandmanager.h | 43 ++++++++++-- indra/llui/lltoolbar.cpp | 4 +- indra/newview/app_settings/commands.xml | 92 ++++++++++++------------- indra/newview/llfloatertoybox.cpp | 34 ++------- indra/newview/llfloatertoybox.h | 4 -- 6 files changed, 109 insertions(+), 92 deletions(-) diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp index b1147134c21..922f243806c 100644 --- a/indra/llui/llcommandmanager.cpp +++ b/indra/llui/llcommandmanager.cpp @@ -48,24 +48,36 @@ const LLCommandId LLCommandId::null("null command"); // LLCommand::Params::Params() - : function("function") - , available_in_toybox("available_in_toybox", false) + : available_in_toybox("available_in_toybox", false) , icon("icon") , label_ref("label_ref") , name("name") - , parameter("parameter") , tooltip_ref("tooltip_ref") + , execute_function("execute_function") + , execute_parameters("execute_parameters") + , is_enabled_function("is_enabled_function") + , is_enabled_parameters("is_enabled_parameters") + , is_running_function("is_running_function") + , is_running_parameters("is_running_parameters") + , is_starting_function("is_starting_function") + , is_starting_parameters("is_starting_parameters") { } LLCommand::LLCommand(const LLCommand::Params& p) - : mFunction(p.function) - , mAvailableInToybox(p.available_in_toybox) + : mAvailableInToybox(p.available_in_toybox) , mIcon(p.icon) , mIdentifier(p.name) , mLabelRef(p.label_ref) - , mParameter(p.parameter) , mTooltipRef(p.tooltip_ref) + , mExecuteFunction(p.execute_function) + , mExecuteParameters(p.execute_parameters) + , mIsEnabledFunction(p.is_enabled_function) + , mIsEnabledParameters(p.is_enabled_parameters) + , mIsRunningFunction(p.is_running_function) + , mIsRunningParameters(p.is_running_parameters) + , mIsStartingFunction(p.is_starting_function) + , mIsStartingParameters(p.is_starting_parameters) { } diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index 6481a056895..3ac5548a0dc 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -83,41 +83,72 @@ class LLCommandId typedef std::list<LLCommandId> command_id_list_t; + class LLCommand { public: struct Params : public LLInitParam::Block<Params> { Mandatory<bool> available_in_toybox; - Mandatory<std::string> function; Mandatory<std::string> icon; Mandatory<std::string> label_ref; Mandatory<std::string> name; - Optional<LLSD> parameter; Mandatory<std::string> tooltip_ref; + Mandatory<std::string> execute_function; + Optional<LLSD> execute_parameters; + + Optional<std::string> is_enabled_function; + Optional<LLSD> is_enabled_parameters; + + Optional<std::string> is_running_function; + Optional<LLSD> is_running_parameters; + + Optional<std::string> is_starting_function; + Optional<LLSD> is_starting_parameters; + Params(); }; LLCommand(const LLCommand::Params& p); const bool availableInToybox() const { return mAvailableInToybox; } - const std::string& functionName() const { return mFunction; } const std::string& icon() const { return mIcon; } const LLCommandId& id() const { return mIdentifier; } const std::string& labelRef() const { return mLabelRef; } - const LLSD& parameter() const { return mParameter; } const std::string& tooltipRef() const { return mTooltipRef; } + const std::string& executeFunctionName() const { return mExecuteFunction; } + const LLSD& executeParameters() const { return mExecuteParameters; } + + const std::string& isEnabledFunctionName() const { return mIsEnabledFunction; } + const LLSD& isEnabledParameters() const { return mIsEnabledParameters; } + + const std::string& isRunningFunctionName() const { return mIsRunningFunction; } + const LLSD& isRunningParameters() const { return mIsRunningParameters; } + + const std::string& isStartingFunctionName() const { return mIsStartingFunction; } + const LLSD& isStartingParameters() const { return mIsStartingParameters; } + private: LLCommandId mIdentifier; bool mAvailableInToybox; - std::string mFunction; std::string mIcon; std::string mLabelRef; - LLSD mParameter; std::string mTooltipRef; + + std::string mExecuteFunction; + LLSD mExecuteParameters; + + std::string mIsEnabledFunction; + LLSD mIsEnabledParameters; + + std::string mIsRunningFunction; + LLSD mIsRunningParameters; + + std::string mIsStartingFunction; + LLSD mIsStartingParameters; }; diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index efa077ffa10..a544aa9ec7e 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -525,8 +525,8 @@ LLToolBarButton* LLToolBar::createButton(const LLCommandId& id) if (!mReadOnly) { LLUICtrl::CommitCallbackParam cbParam; - cbParam.function_name = commandp->functionName(); - cbParam.parameter = commandp->parameter(); + cbParam.function_name = commandp->executeFunctionName(); + cbParam.parameter = commandp->executeParameters(); button->setCommitCallback(cbParam); button->setStartDragCallback(mStartDragItemCallback); button->setHandleDragCallback(mHandleDragItemCallback); diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 77bf7cace3e..3a91ef490d7 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -5,183 +5,183 @@ icon="Command_AboutLand_Icon" label_ref="Command_AboutLand_Label" tooltip_ref="Command_AboutLand_Tooltip" - function="Floater.ToolbarToggle" - parameter="about_land" + execute_function="Floater.ToolbarToggle" + execute_parameters="about_land" /> <command name="appearance" available_in_toybox="true" icon="Command_Appearance_Icon" label_ref="Command_Appearance_Label" tooltip_ref="Command_Appearance_Tooltip" - function="Floater.ToolbarToggle" - parameter="appearance" + execute_function="Floater.ToolbarToggle" + execute_parameters="appearance" /> <command name="avatar" available_in_toybox="true" icon="Command_Avatar_Icon" label_ref="Command_Avatar_Label" tooltip_ref="Command_Avatar_Tooltip" - function="Floater.ToolbarToggle" - parameter="avatar_picker" + execute_function="Floater.ToolbarToggle" + execute_parameters="avatar_picker" /> <command name="build" available_in_toybox="true" icon="Command_Build_Icon" label_ref="Command_Build_Label" tooltip_ref="Command_Build_Tooltip" - function="Floater.ToolbarToggle" - parameter="build" + execute_function="Floater.ToolbarToggle" + execute_parameters="build" /> <command name="chat" available_in_toybox="true" icon="Command_Chat_Icon" label_ref="Command_Chat_Label" tooltip_ref="Command_Chat_Tooltip" - function="Floater.ToolbarToggle" - parameter="chat_bar" + execute_function="Floater.ToolbarToggle" + execute_parameters="chat_bar" /> <command name="compass" available_in_toybox="false" icon="Command_Compass_Icon" label_ref="Command_Compass_Label" tooltip_ref="Command_Compass_Tooltip" - function="Floater.ToolbarToggle" - parameter="compass" + execute_function="Floater.ToolbarToggle" + execute_parameters="compass" /> <command name="destinations" available_in_toybox="true" icon="Command_Destinations_Icon" label_ref="Command_Destinations_Label" tooltip_ref="Command_Destinations_Tooltip" - function="Floater.ToolbarToggle" - parameter="destinations" + execute_function="Floater.ToolbarToggle" + execute_parameters="destinations" /> <command name="gestures" available_in_toybox="true" icon="Command_Gestures_Icon" label_ref="Command_Gestures_Label" tooltip_ref="Command_Gestures_Tooltip" - function="Floater.ToolbarToggle" - parameter="gestures" + execute_function="Floater.ToolbarToggle" + execute_parameters="gestures" /> <command name="howto" available_in_toybox="true" icon="Command_HowTo_Icon" label_ref="Command_HowTo_Label" tooltip_ref="Command_HowTo_Tooltip" - function="Floater.ToolbarToggle" - parameter="help_browser" + execute_function="Floater.ToolbarToggle" + execute_parameters="help_browser" /> <command name="inventory" available_in_toybox="true" icon="Command_Inventory_Icon" label_ref="Command_Inventory_Label" tooltip_ref="Command_Inventory_Tooltip" - function="Floater.ToolbarToggle" - parameter="inventory" + execute_function="Floater.ToolbarToggle" + execute_parameters="inventory" /> <command name="map" available_in_toybox="true" icon="Command_Map_Icon" label_ref="Command_Map_Label" tooltip_ref="Command_Map_Tooltip" - function="Floater.ToolbarToggle" - parameter="world_map" + execute_function="Floater.ToolbarToggle" + execute_parameters="world_map" /> <command name="marketplace" available_in_toybox="true" icon="Command_Marketplace_Icon" label_ref="Command_Marketplace_Label" tooltip_ref="Command_Marketplace_Tooltip" - function="Floater.ToolbarToggle" - parameter="marketplace" + execute_function="Floater.ToolbarToggle" + execute_parameters="marketplace" /> <command name="minimap" available_in_toybox="true" icon="Command_MiniMap_Icon" label_ref="Command_MiniMap_Label" tooltip_ref="Command_MiniMap_Tooltip" - function="Floater.ToolbarToggle" - parameter="mini_map" + execute_function="Floater.ToolbarToggle" + execute_parameters="mini_map" /> <command name="move" available_in_toybox="true" icon="Command_Move_Icon" label_ref="Command_Move_Label" tooltip_ref="Command_Move_Tooltip" - function="Floater.ToolbarToggle" - parameter="moveview" + execute_function="Floater.ToolbarToggle" + execute_parameters="moveview" /> <command name="people" available_in_toybox="true" icon="Command_People_Icon" label_ref="Command_People_Label" tooltip_ref="Command_People_Tooltip" - function="Floater.ToolbarToggle" - parameter="people" + execute_function="Floater.ToolbarToggle" + execute_parameters="people" /> <command name="places" available_in_toybox="true" icon="Command_Places_Icon" label_ref="Command_Places_Label" tooltip_ref="Command_Places_Tooltip" - function="Floater.ToolbarToggle" - parameter="places" + execute_function="Floater.ToolbarToggle" + execute_parameters="places" /> <command name="preferences" available_in_toybox="true" icon="Command_Preferences_Icon" label_ref="Command_Preferences_Label" tooltip_ref="Command_Preferences_Tooltip" - function="Floater.ToolbarToggle" - parameter="preferences" + execute_function="Floater.ToolbarToggle" + execute_parameters="preferences" /> <command name="profile" available_in_toybox="true" icon="Command_Profile_Icon" label_ref="Command_Profile_Label" tooltip_ref="Command_Profile_Tooltip" - function="Floater.ToolbarToggle" - parameter="my_profile" + execute_function="Floater.ToolbarToggle" + execute_parameters="my_profile" /> <command name="search" available_in_toybox="true" icon="Command_Search_Icon" label_ref="Command_Search_Label" tooltip_ref="Command_Search_Tooltip" - function="Floater.ToolbarToggle" - parameter="search" + execute_function="Floater.ToolbarToggle" + execute_parameters="search" /> <command name="snapshot" available_in_toybox="true" icon="Command_Snapshot_Icon" label_ref="Command_Snapshot_Label" tooltip_ref="Command_Snapshot_Tooltip" - function="Floater.ToolbarToggle" - parameter="snapshot" + execute_function="Floater.ToolbarToggle" + execute_parameters="snapshot" /> <command name="speak" available_in_toybox="true" icon="Command_Speak_Icon" label_ref="Command_Speak_Label" tooltip_ref="Command_Speak_Tooltip" - function="Floater.ToolbarToggle" - parameter="speak" + execute_function="Floater.ToolbarToggle" + execute_parameters="speak" /> <command name="view" available_in_toybox="true" icon="Command_View_Icon" label_ref="Command_View_Label" tooltip_ref="Command_View_Tooltip" - function="Floater.ToolbarToggle" - parameter="camera" + execute_function="Floater.ToolbarToggle" + execute_parameters="camera" /> <command name="voice" available_in_toybox="true" icon="Command_Voice_Icon" label_ref="Command_Voice_Label" tooltip_ref="Command_Voice_Tooltip" - function="Floater.ToolbarToggle" - parameter="voice_controls" + execute_function="Floater.ToolbarToggle" + execute_parameters="voice_controls" /> </commands> diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp index 7a6afb4e33a..cf22e071aaf 100644 --- a/indra/newview/llfloatertoybox.cpp +++ b/indra/newview/llfloatertoybox.cpp @@ -61,8 +61,6 @@ BOOL LLFloaterToybox::postBuild() center(); mBtnRestoreDefaults = getChild<LLButton>("btn_restore_defaults"); - mBtnRestoreDefaults->setCommitCallback(boost::bind(&LLToolBarView::loadDefaultToolbars)); - mToolBar = getChild<LLToolBar>("toybox_toolbar"); LLCommandManager& cmdMgr = LLCommandManager::instance(); @@ -97,46 +95,26 @@ BOOL LLFloaterToybox::postBuild() return TRUE; } -void LLFloaterToybox::onOpen(const LLSD& key) -{ - -} - -BOOL LLFloaterToybox::canClose() -{ - return TRUE; -} - -void LLFloaterToybox::onClose(bool app_quitting) -{ - -} - void LLFloaterToybox::draw() { llassert(gToolBarView != NULL); - LLCommandManager& cmdMgr = LLCommandManager::instance(); + const command_id_list_t& command_list = mToolBar->getCommandsList(); - for (U32 i = 0; i < cmdMgr.commandCount(); i++) + for (command_id_list_t::const_iterator it = command_list.begin(); it != command_list.end(); ++it) { - LLCommand * command = cmdMgr.getCommand(i); + const LLCommandId& id = *it; - if (command->availableInToybox()) - { - mToolBar->enableCommand(command->id(), !gToolBarView->hasCommand(command->id())); - } + const bool commandOnToolbar = gToolBarView->hasCommand(id); + mToolBar->enableCommand(id, !commandOnToolbar); } LLFloater::draw(); } -void LLFloaterToybox::onFocusReceived() -{ -} - void LLFloaterToybox::onBtnRestoreDefaults() { + LLToolBarView::loadDefaultToolbars(); } diff --git a/indra/newview/llfloatertoybox.h b/indra/newview/llfloatertoybox.h index 3574e060bf4..f7245506c59 100644 --- a/indra/newview/llfloatertoybox.h +++ b/indra/newview/llfloatertoybox.h @@ -42,11 +42,7 @@ class LLFloaterToybox : public LLFloater // virtuals BOOL postBuild(); - void onOpen(const LLSD& key); - BOOL canClose(); - void onClose(bool app_quitting); void draw(); - void onFocusReceived(); protected: void onBtnRestoreDefaults(); -- GitLab From a8fcfc5e19811ce579799d415a9ad63a0f1f6dc7 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 4 Oct 2011 14:11:45 -0700 Subject: [PATCH 101/256] removed attempt at templating LLUI::Clamp values in order to get build working again --- indra/llcommon/llapr.h | 3 -- indra/llcommon/llprocesslauncher.h | 1 - indra/llrender/llglheaders.h | 1 - indra/llui/lltoolbar.h | 4 +- indra/llui/llui.h | 72 +++++++++++++----------------- indra/llwindow/lldragdropwin32.h | 2 - indra/llwindow/llwindowwin32.h | 1 - indra/win_crash_logger/StdAfx.h | 1 - 8 files changed, 34 insertions(+), 51 deletions(-) diff --git a/indra/llcommon/llapr.h b/indra/llcommon/llapr.h index 286fc43a77f..3f846f13145 100644 --- a/indra/llcommon/llapr.h +++ b/indra/llcommon/llapr.h @@ -37,9 +37,6 @@ // If you get undefined symbols, find the appropriate // Windows header file and include that in your .cpp file. #define WIN32_LEAN_AND_MEAN - // do not define min() and max() macros, which collide with - // things like numeric_limits<T> - #define NOMINMAX #include <winsock2.h> #include <windows.h> #endif diff --git a/indra/llcommon/llprocesslauncher.h b/indra/llcommon/llprocesslauncher.h index 23e48b1823e..954c2491472 100644 --- a/indra/llcommon/llprocesslauncher.h +++ b/indra/llcommon/llprocesslauncher.h @@ -28,7 +28,6 @@ #define LL_LLPROCESSLAUNCHER_H #if LL_WINDOWS -#define NOMINMAX #include <windows.h> #endif diff --git a/indra/llrender/llglheaders.h b/indra/llrender/llglheaders.h index b936fd30f84..851a75629e1 100644 --- a/indra/llrender/llglheaders.h +++ b/indra/llrender/llglheaders.h @@ -520,7 +520,6 @@ extern PFNGLSAMPLEMASKIPROC glSampleMaski; // windows gl headers depend on things like APIENTRY, so include windows. #define WIN32_LEAN_AND_MEAN -#define NOMINMAX #include <winsock2.h> #include <windows.h> diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 407cbde7d27..3c317e10a2b 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -45,7 +45,7 @@ class LLToolBarButton : public LLButton public: struct Params : public LLInitParam::Block<Params, LLButton::Params> { - Optional<LLUI::Range<S32> > button_width; + Optional<LLUI::RangeS32> button_width; Optional<S32> desired_height; Params() @@ -67,7 +67,7 @@ class LLToolBarButton : public LLButton LLCommandId mId; S32 mMouseDownX; S32 mMouseDownY; - LLUI::Range<S32> mWidthRange; + LLUI::RangeS32 mWidthRange; S32 mDesiredHeight; bool mIsDragged; startdrag_callback_t mStartDragItemCallback; diff --git a/indra/llui/llui.h b/indra/llui/llui.h index af8f2396576..28e84fa4441 100644 --- a/indra/llui/llui.h +++ b/indra/llui/llui.h @@ -151,46 +151,43 @@ class LLUI // // Classes // - template <typename T> - struct RangeParams : public LLInitParam::Block<RangeParams<T> > - { - Optional<T> minimum, - maximum; - RangeParams() - : minimum("min", T()), - maximum("max", std::numeric_limits<T>::max()) - {} - }; - - template <typename T> - struct Range + struct RangeS32 { - typedef Range<T> self_t; + struct Params : public LLInitParam::Block<Params> + { + Optional<S32> minimum, + maximum; + + Params() + : minimum("min", 0), + maximum("max", S32_MAX) + {} + }; // correct for inverted params - Range(const RangeParams<T>& p = RangeParams<T>()) - : mMin(p.minimum), + RangeS32(const Params& p = Params()) + : mMin(p.minimum), mMax(p.maximum) { sanitizeRange(); } - Range(T minimum, T maximum) - : mMin(minimum), + RangeS32(S32 minimum, S32 maximum) + : mMin(minimum), mMax(maximum) { sanitizeRange(); } - S32 clamp(T input) + S32 clamp(S32 input) { if (input < mMin) return mMin; if (input > mMax) return mMax; return input; } - void setRange(T minimum, T maximum) + void setRange(S32 minimum, S32 maximum) { mMin = minimum; mMax = maximum; @@ -200,7 +197,7 @@ class LLUI S32 getMin() { return mMin; } S32 getMax() { return mMax; } - bool operator==(const self_t& other) const + bool operator==(const RangeS32& other) const { return mMin == other.mMin && mMax == other.mMax; @@ -218,60 +215,55 @@ class LLUI } - T mMin, + S32 mMin, mMax; }; - template<typename T> - struct ClampedValue : public Range<T> + struct ClampedS32 : public RangeS32 { - typedef Range<T> range_t; - - struct Params : public LLInitParam::Block<Params, RangeParams<T> > + struct Params : public LLInitParam::Block<Params, RangeS32::Params> { - Mandatory<T> value; + Mandatory<S32> value; Params() - : value("", T()) + : value("", 0) { addSynonym(value, "value"); } }; - ClampedValue(const Params& p) - : range_t(p) + ClampedS32(const Params& p) + : RangeS32(p) {} - ClampedValue(const range_t& range) - : range_t(range) + ClampedS32(const RangeS32& range) + : RangeS32(range) { // set value here, after range has been sanitized mValue = clamp(0); } - ClampedValue(T value, const range_t& range = range_t()) - : range_t(range) + ClampedS32(S32 value, const RangeS32& range = RangeS32()) + : RangeS32(range) { mValue = clamp(value); } - T get() + S32 get() { return mValue; } - void set(T value) + void set(S32 value) { mValue = clamp(value); } private: - T mValue; + S32 mValue; }; - typedef ClampedValue<S32> ClampedS32; - // // Methods // diff --git a/indra/llwindow/lldragdropwin32.h b/indra/llwindow/lldragdropwin32.h index 63054bffec3..929e7f9e377 100644 --- a/indra/llwindow/lldragdropwin32.h +++ b/indra/llwindow/lldragdropwin32.h @@ -31,7 +31,6 @@ #ifndef LL_LLDRAGDROP32_H #define LL_LLDRAGDROP32_H -#define NOMINMAX #include <windows.h> #include <ole2.h> @@ -55,7 +54,6 @@ class LLDragDropWin32 #ifndef LL_LLDRAGDROP32_H #define LL_LLDRAGDROP32_H -#define NOMINMAX #include <windows.h> #include <ole2.h> diff --git a/indra/llwindow/llwindowwin32.h b/indra/llwindow/llwindowwin32.h index dc1950fb315..387e4cbdb65 100644 --- a/indra/llwindow/llwindowwin32.h +++ b/indra/llwindow/llwindowwin32.h @@ -29,7 +29,6 @@ // Limit Windows API to small and manageable set. #define WIN32_LEAN_AND_MEAN -#define NOMINMAX #include <winsock2.h> #include <windows.h> diff --git a/indra/win_crash_logger/StdAfx.h b/indra/win_crash_logger/StdAfx.h index 71faf88bad8..35976658acb 100644 --- a/indra/win_crash_logger/StdAfx.h +++ b/indra/win_crash_logger/StdAfx.h @@ -37,7 +37,6 @@ #endif // _MSC_VER > 1000 #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers -#define NOMINMAX // don't define min and max macros // Windows Header Files: #include <windows.h> -- GitLab From 05879242832607795040573791b0790891367b81 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 4 Oct 2011 14:55:55 -0700 Subject: [PATCH 102/256] * Updating "Move" floater to be more FUI-like --- indra/newview/llmoveview.cpp | 2 -- indra/newview/skins/default/xui/en/floater_moveview.xml | 5 +++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/indra/newview/llmoveview.cpp b/indra/newview/llmoveview.cpp index 142ee40cc8a..a29526777a4 100644 --- a/indra/newview/llmoveview.cpp +++ b/indra/newview/llmoveview.cpp @@ -92,8 +92,6 @@ LLFloaterMove::~LLFloaterMove() // virtual BOOL LLFloaterMove::postBuild() { - setIsChrome(TRUE); - setTitleVisible(TRUE); // restore title visibility after chrome applying updateTransparency(TT_ACTIVE); // force using active floater transparency (STORM-730) LLDockableFloater::postBuild(); diff --git a/indra/newview/skins/default/xui/en/floater_moveview.xml b/indra/newview/skins/default/xui/en/floater_moveview.xml index 6f29255a6b5..3c0905a2a54 100644 --- a/indra/newview/skins/default/xui/en/floater_moveview.xml +++ b/indra/newview/skins/default/xui/en/floater_moveview.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - can_dock="true" + can_dock="false" can_minimize="true" - can_close="false" + can_close="true" follows="bottom" height="110" layout="topleft" @@ -12,6 +12,7 @@ save_rect="true" save_visibility="true" save_dock_state="true" + title="Move" width="133"> <string name="walk_forward_tooltip"> -- GitLab From 4716969716245ea832400dd087c93a514770cd63 Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Tue, 4 Oct 2011 15:10:12 -0700 Subject: [PATCH 103/256] EXP-1293 Nearby chat toasts no longer appear EXP-1294 Nearby chat floater doesn't accommodate existing chat history when expanded --- indra/newview/llnearbychatbar.cpp | 6 +++++- indra/newview/skins/default/xui/en/floater_chat_bar.xml | 8 ++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp index dbe30e18472..cba4fafe42d 100644 --- a/indra/newview/llnearbychatbar.cpp +++ b/indra/newview/llnearbychatbar.cpp @@ -53,6 +53,8 @@ S32 LLNearbyChatBar::sLastSpecialChatChannel = 0; +const S32 EXPANDED_HEIGHT = 300; + // legacy callback glue void send_chat_from_viewer(const std::string& utf8_out_text, EChatType type, S32 channel); @@ -448,13 +450,15 @@ BOOL LLNearbyChatBar::postBuild() // Register for font change notifications LLViewerChat::setFontChangedCallback(boost::bind(&LLNearbyChatBar::onChatFontChange, this, _1)); + mExpandedHeight = getMinHeight() + EXPANDED_HEIGHT; + return TRUE; } void LLNearbyChatBar::applyRectControl() { LLFloater::applyRectControl(); - if (getRect().getHeight() > getMinHeight()) + if (getRect().getHeight() > getMinHeight()) { getChildView("nearby_chat")->setVisible(true); mExpandedHeight = getRect().getHeight(); diff --git a/indra/newview/skins/default/xui/en/floater_chat_bar.xml b/indra/newview/skins/default/xui/en/floater_chat_bar.xml index 9d61c94eb14..6977e29b788 100644 --- a/indra/newview/skins/default/xui/en/floater_chat_bar.xml +++ b/indra/newview/skins/default/xui/en/floater_chat_bar.xml @@ -2,7 +2,7 @@ <floater height="60" layout="topleft" - legacy_header_height="20" + legacy_header_height="25" single_instance="true" title="Nearby chat" save_rect="true" @@ -38,7 +38,7 @@ text_pad_left="5" text_pad_right="25" tool_tip="Press Enter to say, Ctrl+Enter to shout" - top="0" + top="2" width="335" /> <output_monitor auto_update="true" @@ -49,14 +49,14 @@ left_pad="-24" mouse_opaque="true" name="chat_zone_indicator" - top="4" + top="6" visible="true" width="20" /> <button follows="right" is_toggle="true" width="20" - top="0" + top="2" layout="topleft" left_pad="12" image_disabled="ComboButton_UpOff" -- GitLab From 4ee79abdca66f73aaba25ebf0b874bd422db46f6 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 4 Oct 2011 15:21:13 -0700 Subject: [PATCH 104/256] Renamed PREFERENCES --- indra/newview/skins/default/xui/en/floater_preferences.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/en/floater_preferences.xml b/indra/newview/skins/default/xui/en/floater_preferences.xml index dcfa8bc060d..c8a139904a8 100644 --- a/indra/newview/skins/default/xui/en/floater_preferences.xml +++ b/indra/newview/skins/default/xui/en/floater_preferences.xml @@ -8,7 +8,7 @@ name="Preferences" help_topic="preferences" single_instance="true" - title="PREFERENCES" + title="Preferences" width="658"> <button follows="right|bottom" -- GitLab From d2aebf5588becf9a5002dc2efa4e0964e2d78a56 Mon Sep 17 00:00:00 2001 From: eli <none@none> Date: Tue, 4 Oct 2011 17:02:38 -0700 Subject: [PATCH 105/256] sync with viewer-development --- .../xui/en/floater_publish_classified.xml | 2 +- .../skins/default/xui/en/notifications.xml | 168 +++++++++--------- 2 files changed, 86 insertions(+), 84 deletions(-) diff --git a/indra/newview/skins/default/xui/en/floater_publish_classified.xml b/indra/newview/skins/default/xui/en/floater_publish_classified.xml index 6ce9ed6e771..322e34272c0 100644 --- a/indra/newview/skins/default/xui/en/floater_publish_classified.xml +++ b/indra/newview/skins/default/xui/en/floater_publish_classified.xml @@ -36,7 +36,7 @@ Remember, Classified fees are non-refundable. left="15" value="50" min_val="50" - max_val="99999" + max_val="999999" name="price_for_listing" top_pad="10" tool_tip="Price for listing." diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 64438fe6141..41a90f59843 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -2297,8 +2297,8 @@ Would you be my friend? icon="alertmodal.tga" label="Save Outfit" name="SaveOutfitAs" - type="alertmodal" - unique="true"> + type="alertmodal"> + <unique/> Save what I'm wearing as a new Outfit: <tag>confirm</tag> <form name="form"> @@ -4611,8 +4611,8 @@ Go to your [http://secondlife.com/account/ Dashboard] to see your account histor <notification icon="alertmodal.tga" name="ConfirmQuit" - type="alertmodal" - unique="true"> + type="alertmodal"> + <unique/> Are you sure you want to quit? <tag>confirm</tag> <usetemplate @@ -4625,8 +4625,8 @@ Are you sure you want to quit? <notification icon="alertmodal.tga" name="DeleteItems" - type="alertmodal" - unique="true"> + type="alertmodal"> + <unique/> [QUESTION] <tag>confirm</tag> <usetemplate @@ -4639,8 +4639,9 @@ Are you sure you want to quit? <notification icon="alertmodal.tga" name="HelpReportAbuseEmailLL" - type="alert" - unique="true"> + type="alert"> + <unique/> + Use this tool to report violations of the [http://secondlife.com/corporate/tos.php Terms of Service] and [http://secondlife.com/corporate/cs.php Community Standards]. All reported abuses are investigated and resolved. @@ -5615,8 +5616,8 @@ Message from [NAME]: icon="notify.tga" name="NotSafe" persist="true" - type="notify" - unique="true"> + type="notify"> + <unique/> This land has damage enabled. You can be hurt here. If you die, you will be teleported to your home location. </notification> @@ -5625,8 +5626,8 @@ You can be hurt here. If you die, you will be teleported to your home location. icon="notify.tga" name="NoFly" persist="true" - type="notify" - unique="true"> + type="notify"> + <unique/> <tag>fail</tag> This area has flying disabled. You can't fly here. @@ -5636,8 +5637,8 @@ You can't fly here. icon="notify.tga" name="PushRestricted" persist="true" - type="notify" - unique="true"> + type="notify"> + <unique/> This area does not allow pushing. You can't push others here unless you own the land. </notification> @@ -5645,8 +5646,8 @@ This area does not allow pushing. You can't push others here unless you own icon="notify.tga" name="NoVoice" persist="true" - type="notify" - unique="true"> + type="notify"> + <unique/> This area has voice chat disabled. You won't be able to hear anyone talking. <tag>voice</tag> </notification> @@ -5655,8 +5656,8 @@ This area has voice chat disabled. You won't be able to hear anyone talking icon="notify.tga" name="NoBuild" persist="true" - type="notify" - unique="true"> + type="notify"> + <unique/> This area has building disabled. You can't build or rez objects here. </notification> @@ -5664,8 +5665,8 @@ This area has building disabled. You can't build or rez objects here. icon="notify.tga" name="SeeAvatars" persist="true" - type="notify" - unique="true"> + type="notify"> + <unique/> This parcel hides avatars and text chat from another parcel. You can't see other residents outside the parcel, and those outside are not able to see you. Regular text chat on channel 0 is also blocked. </notification> @@ -6553,8 +6554,8 @@ The voice call you are trying to join, [VOICE_CHANNEL_NAME], has reached maximum <notification icon="notifytip.tga" name="ProximalVoiceChannelFull" - type="notifytip" - unique="true"> + type="notifytip"> + <unique/> We're sorry. This area has reached maximum capacity for voice conversations. Please try to use voice in another area. <tag>fail</tag> <tag>voice</tag> @@ -6622,8 +6623,8 @@ Failed to connect to [VOICE_CHANNEL_NAME], please try again later. You will now duration="10" icon="notifytip.tga" name="VoiceLoginRetry" - type="notifytip" - unique="true"> + type="notifytip"> + <unique/> We are creating a voice channel for you. This may take up to one minute. <tag>status</tag> <tag>voice</tag> @@ -6634,8 +6635,8 @@ We are creating a voice channel for you. This may take up to one minute. name="VoiceEffectsExpired" sound="UISndAlert" persist="true" - type="notify" - unique="true"> + type="notify"> + <unique/> One or more of your subscribed Voice Morphs has expired. [[URL] Click here] to renew your subscription. <tag>fail</tag> @@ -6647,8 +6648,8 @@ One or more of your subscribed Voice Morphs has expired. name="VoiceEffectsExpiredInUse" sound="UISndAlert" persist="true" - type="notify" - unique="true"> + type="notify"> + <unique/> The active Voice Morph has expired, your normal voice settings have been applied. [[URL] Click here] to renew your subscription. <tag>fail</tag> @@ -6660,8 +6661,8 @@ The active Voice Morph has expired, your normal voice settings have been applied name="VoiceEffectsWillExpire" sound="UISndAlert" persist="true" - type="notify" - unique="true"> + type="notify"> + <unique/> One or more of your Voice Morphs will expire in less than [INTERVAL] days. [[URL] Click here] to renew your subscription. <tag>fail</tag> @@ -6673,8 +6674,8 @@ One or more of your Voice Morphs will expire in less than [INTERVAL] days. name="VoiceEffectsNew" sound="UISndAlert" persist="true" - type="notify" - unique="true"> + type="notify"> + <unique/> New Voice Morphs are available! <tag>voice</tag> </notification> @@ -7075,8 +7076,9 @@ Are you sure you want to leave this call? ignoretext="Confirm before I leave call" name="okcancelignore" notext="No" - yestext="Yes" - unique="true"/> + yestext="Yes"> + <unique/> + </usetemplate> </notification> <notification @@ -7095,31 +7097,31 @@ Mute everyone? ignoretext="Confirm before I mute all participants in a group call" name="okcancelignore" yestext="Ok" - notext="Cancel" - unique="true"/> + notext="Cancel"> + <unique/> + </usetemplate> </notification> <notification name="HintChat" label="Chat" - type="hint" - unique="true"> + type="hint"> + <unique/> To join the conversation, type into the chat field below. </notification> <notification name="HintSit" - label="Stand" - type="hint" - unique="true"> + type="hint"> + <unique/> To stand up and exit the sitting position, click the Stand button. </notification> <notification name="HintSpeak" label="Speak" - type="hint" - unique="true"> + type="hint"> + <unique/> Click the Speak button to turn your microphone on and off. Click on the up arrow to see the voice control panel. @@ -7130,32 +7132,32 @@ Hiding the Speak button will disable the voice feature. <notification name="HintDestinationGuide" label="Explore the World" - type="hint" - unique="true"> + type="hint"> + <unique/> The Destination Guide contains thousands of new places to discover. Select a location and choose Teleport to start exploring. </notification> <notification name="HintSidePanel" label="Side Panel" - type="hint" - unique="true"> + type="hint"> + <unique/> Get quick access to your inventory, outfits, profiles and more in the side panel. </notification> <notification name="HintMove" label="Move" - type="hint" - unique="true"> + type="hint"> + <unique/> To walk or run, open the Move Panel and use the directional arrows to navigate. You can also use the directional keys on your keyboard. </notification> <notification name="HintMoveClick" label="" - type="hint" - unique="true"> + type="hint"> + <unique/> 1. Click to Walk Click anywhere on the ground to walk to that spot. @@ -7167,8 +7169,8 @@ Click and drag anywhere on the world to rotate your view <notification name="HintDisplayName" label="Display Name" - type="hint" - unique="true"> + type="hint"> + <unique/> Set your customizable display name here. This is in addition to your unique username, which can't be changed. You can change how you see other people's names in your preferences. </notification> @@ -7176,8 +7178,8 @@ Click and drag anywhere on the world to rotate your view <notification name="HintView" label="View" - type="hint" - unique="true"> + type="hint"> + <unique/> To change your camera view, use the Orbit and Pan controls. Reset your view by pressing Escape or walking. <tag>custom_skin</tag> </notification> @@ -7185,16 +7187,16 @@ Click and drag anywhere on the world to rotate your view <notification name="HintInventory" label="Inventory" - type="hint" - unique="true"> + type="hint"> + <unique/> Check your inventory to find items. Newest items can be easily found in the Recent tab. </notification> <notification name="HintLindenDollar" label="You've got Linden Dollars!" - type="hint" - unique="true"> + type="hint"> + <unique/> Here's your current balance of L$. Click Buy L$ to purchase more Linden Dollars. <tag>funds</tag> </notification> @@ -7383,8 +7385,8 @@ The site at '<nolink>[HOST_NAME]</nolink>' in realm ' <notification name="ModeChange" label="" - type="alertmodal" - unique="true"> + type="alertmodal"> + <unique/> Changing modes requires you to quit and restart. <tag>confirm</tag> <usetemplate @@ -7396,8 +7398,8 @@ The site at '<nolink>[HOST_NAME]</nolink>' in realm ' <notification name="NoClassifieds" label="" - type="alertmodal" - unique="true"> + type="alertmodal"> + <unique/> <tag>fail</tag> <tag>confirm</tag> Creation and editing of Classifieds is only available in Advanced mode. Would you like to quit and change modes? The mode selector can be found on the login screen. @@ -7410,8 +7412,8 @@ The site at '<nolink>[HOST_NAME]</nolink>' in realm ' <notification name="NoGroupInfo" label="" - type="alertmodal" - unique="true"> + type="alertmodal"> + <unique/> <tag>fail</tag> <tag>confirm</tag> Creation and editing of Groups is only available in Advanced mode. Would you like to quit and change modes? The mode selector can be found on the login screen. @@ -7424,8 +7426,8 @@ The site at '<nolink>[HOST_NAME]</nolink>' in realm ' <notification name="NoPlaceInfo" label="" - type="alertmodal" - unique="true"> + type="alertmodal"> + <unique/> <tag>fail</tag> <tag>confirm</tag> Viewing place profile is only available in Advanced mode. Would you like to quit and change modes? The mode selector can be found on the login screen. @@ -7438,8 +7440,8 @@ The site at '<nolink>[HOST_NAME]</nolink>' in realm ' <notification name="NoPicks" label="" - type="alertmodal" - unique="true"> + type="alertmodal"> + <unique/> <tag>fail</tag> <tag>confirm</tag> Creation and editing of Picks is only available in Advanced mode. Would you like to quit and change modes? The mode selector can be found on the login screen. @@ -7452,8 +7454,8 @@ The site at '<nolink>[HOST_NAME]</nolink>' in realm ' <notification name="NoWorldMap" label="" - type="alertmodal" - unique="true"> + type="alertmodal"> + <unique/> <tag>fail</tag> <tag>confirm</tag> Viewing of the world map is only available in Advanced mode. Would you like to quit and change modes? The mode selector can be found on the login screen. @@ -7466,8 +7468,8 @@ The site at '<nolink>[HOST_NAME]</nolink>' in realm ' <notification name="NoVoiceCall" label="" - type="alertmodal" - unique="true"> + type="alertmodal"> + <unique/> <tag>fail</tag> <tag>confirm</tag> Voice calls are only available in Advanced mode. Would you like to logout and change modes? @@ -7480,8 +7482,8 @@ The site at '<nolink>[HOST_NAME]</nolink>' in realm ' <notification name="NoAvatarShare" label="" - type="alertmodal" - unique="true"> + type="alertmodal"> + <unique/> <tag>fail</tag> <tag>confirm</tag> Sharing is only available in Advanced mode. Would you like to logout and change modes? @@ -7494,8 +7496,8 @@ The site at '<nolink>[HOST_NAME]</nolink>' in realm ' <notification name="NoAvatarPay" label="" - type="alertmodal" - unique="true"> + type="alertmodal"> + <unique/> <tag>fail</tag> <tag>confirm</tag> Paying other residents is only available in Advanced mode. Would you like to logout and change modes? @@ -7508,8 +7510,8 @@ The site at '<nolink>[HOST_NAME]</nolink>' in realm ' <notification name="NoInventory" label="" - type="alertmodal" - unique="true"> + type="alertmodal"> + <unique/> <tag>fail</tag> <tag>confirm</tag> Viewing inventory is only available in Advanced mode. Would you like to logout and change modes? @@ -7522,8 +7524,8 @@ The site at '<nolink>[HOST_NAME]</nolink>' in realm ' <notification name="NoAppearance" label="" - type="alertmodal" - unique="true"> + type="alertmodal"> + <unique/> <tag>fail</tag> <tag>confirm</tag> The appearance editor is only available in Advanced mode. Would you like to logout and change modes? @@ -7536,8 +7538,8 @@ The site at '<nolink>[HOST_NAME]</nolink>' in realm ' <notification name="NoSearch" label="" - type="alertmodal" - unique="true"> + type="alertmodal"> + <unique/> <tag>fail</tag> <tag>confirm</tag> Search is only available in Advanced mode. Would you like to logout and change modes? -- GitLab From 3b3a13707309eb4b7d6ed5d309081c99e5f28eca Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Wed, 5 Oct 2011 11:18:17 -0700 Subject: [PATCH 106/256] EXP-1286 : DaD is functional though has bugs... Working on it... --- indra/llui/llcommandmanager.cpp | 18 +++++- indra/llui/llcommandmanager.h | 13 +++- indra/llui/lltoolbar.cpp | 103 +++++++++++++++++++++++++++----- indra/llui/lltoolbar.h | 38 ++++++------ indra/newview/lltoolbarview.cpp | 54 ++++++++--------- indra/newview/lltoolbarview.h | 2 +- 6 files changed, 165 insertions(+), 63 deletions(-) diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp index b1147134c21..a8127ab3e3b 100644 --- a/indra/llui/llcommandmanager.cpp +++ b/indra/llui/llcommandmanager.cpp @@ -112,9 +112,25 @@ LLCommand * LLCommandManager::getCommand(const LLCommandId& commandId) return command_match; } +LLCommand * LLCommandManager::getCommand(const LLUUID& commandUUID) +{ + LLCommand * command_match = NULL; + + CommandUUIDMap::const_iterator found = mCommandUUIDs.find(commandUUID); + + if (found != mCommandUUIDs.end()) + { + command_match = mCommands[found->second]; + } + + return command_match; +} + void LLCommandManager::addCommand(LLCommand * command) { - mCommandIndices[command->id()] = mCommands.size(); + LLCommandId command_id = command->id(); + mCommandIndices[command_id] = mCommands.size(); + mCommandUUIDs[command_id.uuid()] = mCommands.size(); mCommands.push_back(command); lldebugs << "Successfully added command: " << command->id().name() << llendl; diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index 6481a056895..c3d2cccd73b 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -52,13 +52,18 @@ class LLCommandId LLCommandId(const std::string& name) : mName(name) - {} + { + mUUID = LLUUID::LLUUID::generateNewID(name); + } LLCommandId(const Params& p) : mName(p.name) - {} + { + mUUID = LLUUID::LLUUID::generateNewID(p.name); + } const std::string& name() const { return mName; } + const LLUUID& uuid() const { return mUUID; } bool operator!=(const LLCommandId& command) const { @@ -79,6 +84,7 @@ class LLCommandId private: std::string mName; + LLUUID mUUID; }; typedef std::list<LLCommandId> command_id_list_t; @@ -141,6 +147,7 @@ class LLCommandManager U32 commandCount() const; LLCommand * getCommand(U32 commandIndex); LLCommand * getCommand(const LLCommandId& commandId); + LLCommand * getCommand(const LLUUID& commandUUID); static bool load(); @@ -148,11 +155,13 @@ class LLCommandManager void addCommand(LLCommand * command); private: + typedef std::map<LLUUID, U32> CommandUUIDMap; typedef std::map<LLCommandId, U32> CommandIndexMap; typedef std::vector<LLCommand *> CommandVector; CommandVector mCommands; CommandIndexMap mCommandIndices; + CommandUUIDMap mCommandUUIDs; }; diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 199574629fb..c349bbcf2ed 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -107,7 +107,6 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p) { mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_WITH_TEXT] = p.button_icon_and_text; mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_ONLY] = p.button_icon; - mUUID = LLUUID::LLUUID::generateNewID(p.name); } LLToolBar::~LLToolBar() @@ -193,21 +192,71 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) mNeedsLayout = true; } -bool LLToolBar::addCommand(const LLCommandId& commandId) +bool LLToolBar::addCommand(const LLCommandId& commandId, int rank) { LLCommand * command = LLCommandManager::instance().getCommand(commandId); if (!command) return false; - mButtonCommands.push_back(commandId); + // Create the button and do the things that don't need ordering LLToolBarButton* button = createButton(commandId); - mButtons.push_back(button); mButtonPanel->addChild(button); mButtonMap.insert(std::make_pair(commandId, button)); + + // Insert the command and button in the right place in their respective lists + if ((rank >= mButtonCommands.size()) || (rank < 0)) + { + // In that case, back load + mButtonCommands.push_back(commandId); + mButtons.push_back(button); + } + else + { + // Insert in place: iterate to the right spot... + std::list<LLToolBarButton*>::iterator it_button = mButtons.begin(); + command_id_list_t::iterator it_command = mButtonCommands.begin(); + while (rank > 0) + { + ++it_button; + ++it_command; + rank--; + } + // ...then insert + mButtonCommands.insert(it_command,commandId); + mButtons.insert(it_button,button); + } + mNeedsLayout = true; return true; } +bool LLToolBar::removeCommand(const LLCommandId& commandId) +{ + if (!hasCommand(commandId)) return false; + + // First erase the map record + command_id_map::iterator it = mButtonMap.find(commandId); + mButtonMap.erase(it); + + // Now iterate on the commands and buttons to identify the relevant records + std::list<LLToolBarButton*>::iterator it_button = mButtons.begin(); + command_id_list_t::iterator it_command = mButtonCommands.begin(); + while (*it_command != commandId) + { + ++it_button; + ++it_command; + } + + // Delete the button and erase the command and button records + delete (*it_button); + mButtonCommands.erase(it_command); + mButtons.erase(it_button); + + mNeedsLayout = true; + + return true; +} + void LLToolBar::clearCommandsList() { // Clears the commands list @@ -328,6 +377,33 @@ void LLToolBar::resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row } } +int LLToolBar::getRankFromPosition(S32 x, S32 y) +{ + int rank = 0; + + LLLayoutStack::ELayoutOrientation orientation = getOrientation(mSideType); + + // Simply compare the passed coord with the buttons outbound box + std::list<LLToolBarButton*>::iterator it_button = mButtons.begin(); + std::list<LLToolBarButton*>::iterator end_button = mButtons.end(); + while (it_button != end_button) + { + LLRect button_rect = (*it_button)->getRect(); + if (((orientation == LLLayoutStack::HORIZONTAL) && (button_rect.mRight > x)) || + ((orientation == LLLayoutStack::VERTICAL) && (button_rect.mTop > y)) ) + { + llinfos << "Merov debug : rank compute: orientation = " << orientation << ", x = " << x << ", y = " << y << llendl; + llinfos << "Merov debug : rank compute: rect = " << button_rect.mLeft << ", " << button_rect.mTop << ", " << button_rect.mRight << ", " << button_rect.mBottom << llendl; + break; + } + rank++; + ++it_button; + } + llinfos << "Merov debug : rank = " << rank << llendl; + + return rank; +} + void LLToolBar::updateLayoutAsNeeded() { if (!mNeedsLayout) return; @@ -494,6 +570,7 @@ void LLToolBar::createButtons() delete button; } mButtons.clear(); + mButtonMap.clear(); BOOST_FOREACH(LLCommandId& command_id, mButtonCommands) { @@ -503,7 +580,6 @@ void LLToolBar::createButtons() mButtonMap.insert(std::make_pair(command_id, button)); } mNeedsLayout = true; - } LLToolBarButton* LLToolBar::createButton(const LLCommandId& id) @@ -543,20 +619,20 @@ BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EAcceptance* accept, std::string& tooltip_msg) { - llinfos << "Merov debug : handleDragAndDrop. drop = " << drop << ", tooltip = " << tooltip_msg << llendl; + llinfos << "Merov debug : handleDragAndDrop. drop = " << drop << ", x = " << x << ", y = " << y << llendl; // If we have a drop callback, that means that we can handle the drop BOOL handled = (mHandleDropCallback ? TRUE : FALSE); - // if drop, time to call the drop callback to get the operation done + // if drop is set, it's time to call the callback to get the operation done if (handled && drop) { - handled = mHandleDropCallback(cargo_type,cargo_data,mUUID); + handled = mHandleDropCallback(cargo_data, x, y ,this); } - // We accept multi drop by default - *accept = (handled ? ACCEPT_YES_MULTI : ACCEPT_NO); + // We accept only single tool drop on toolbars + *accept = (handled ? ACCEPT_YES_SINGLE : ACCEPT_NO); - // We'll use that flag to change the visual aspect of the target on draw() + // We'll use that flag to change the visual aspect of the toolbar target on draw() mDragAndDropTarget = handled; return handled; @@ -571,7 +647,6 @@ LLToolBarButton::LLToolBarButton(const Params& p) mDesiredHeight(p.desired_height), mId("") { - mUUID = LLUUID::LLUUID::generateNewID(p.name); } BOOL LLToolBarButton::handleMouseDown(S32 x, S32 y, MASK mask) @@ -590,13 +665,13 @@ BOOL LLToolBarButton::handleHover( S32 x, S32 y, MASK mask ) { if (!mIsDragged) { - mStartDragItemCallback(x,y,mUUID); + mStartDragItemCallback(x,y,mId.uuid()); mIsDragged = true; handled = TRUE; } else { - handled = mHandleDragItemCallback(x,y,mUUID,LLAssetType::AT_WIDGET); + handled = mHandleDragItemCallback(x,y,mId.uuid(),LLAssetType::AT_WIDGET); } } else diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 10e5f49c0fc..ddf2e048b69 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -35,9 +35,11 @@ #include "llcommandmanager.h" #include "llassettype.h" -typedef boost::function<void (S32 x, S32 y, const LLUUID& uuid)> startdrag_callback_t; -typedef boost::function<BOOL (S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type)> handledrag_callback_t; -typedef boost::function<BOOL (EDragAndDropType type, void* data, const LLUUID& uuid)> handledrop_callback_t; +class LLToolBar; + +typedef boost::function<void (S32 x, S32 y, const LLUUID& uuid)> tool_startdrag_callback_t; +typedef boost::function<BOOL (S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type)> tool_handledrag_callback_t; +typedef boost::function<BOOL (void* data, S32 x, S32 y, LLToolBar* toolbar)> tool_handledrop_callback_t; class LLToolBarButton : public LLButton { @@ -63,8 +65,8 @@ class LLToolBarButton : public LLButton BOOL handleHover(S32 x, S32 y, MASK mask); void setCommandId(const LLCommandId& id) { mId = id; } - void setStartDragCallback(startdrag_callback_t cb) { mStartDragItemCallback = cb; } - void setHandleDragCallback(handledrag_callback_t cb) { mHandleDragItemCallback = cb; } + void setStartDragCallback(tool_startdrag_callback_t cb) { mStartDragItemCallback = cb; } + void setHandleDragCallback(tool_handledrag_callback_t cb) { mHandleDragItemCallback = cb; } private: LLCommandId mId; S32 mMouseDownX; @@ -72,10 +74,9 @@ class LLToolBarButton : public LLButton S32 mMinWidth; S32 mMaxWidth; S32 mDesiredHeight; - bool mIsDragged; - startdrag_callback_t mStartDragItemCallback; - handledrag_callback_t mHandleDragItemCallback; - LLUUID mUUID; + bool mIsDragged; + tool_startdrag_callback_t mStartDragItemCallback; + tool_handledrag_callback_t mHandleDragItemCallback; }; @@ -146,6 +147,7 @@ class LLToolBar // virtuals void draw(); void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); + int getRankFromPosition(S32 x, S32 y); BOOL handleRightMouseDown(S32 x, S32 y, MASK mask); virtual BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EDragAndDropType cargo_type, @@ -153,12 +155,13 @@ class LLToolBar EAcceptance* accept, std::string& tooltip_msg); - bool addCommand(const LLCommandId& commandId); + bool addCommand(const LLCommandId& commandId, int rank = -1); + bool removeCommand(const LLCommandId& commandId); bool hasCommand(const LLCommandId& commandId) const; bool enableCommand(const LLCommandId& commandId, bool enabled); - void setStartDragCallback(startdrag_callback_t cb) { mStartDragItemCallback = cb; } - void setHandleDragCallback(handledrag_callback_t cb) { mHandleDragItemCallback = cb; } - void setHandleDropCallback(handledrop_callback_t cb) { mHandleDropCallback = cb; } + void setStartDragCallback(tool_startdrag_callback_t cb) { mStartDragItemCallback = cb; } + void setHandleDragCallback(tool_handledrag_callback_t cb) { mHandleDragItemCallback = cb; } + void setHandleDropCallback(tool_handledrop_callback_t cb) { mHandleDropCallback = cb; } LLToolBarButton* createButton(const LLCommandId& id); @@ -168,10 +171,10 @@ class LLToolBar ~LLToolBar(); void initFromParams(const Params&); - startdrag_callback_t mStartDragItemCallback; - handledrag_callback_t mHandleDragItemCallback; - handledrop_callback_t mHandleDropCallback; - bool mDragAndDropTarget; + tool_startdrag_callback_t mStartDragItemCallback; + tool_handledrag_callback_t mHandleDragItemCallback; + tool_handledrop_callback_t mHandleDropCallback; + bool mDragAndDropTarget; public: // Methods used in loading and saving toolbar settings @@ -188,7 +191,6 @@ class LLToolBar BOOL isSettingChecked(const LLSD& userdata); void onSettingEnable(const LLSD& userdata); - LLUUID mUUID; const bool mReadOnly; std::list<LLToolBarButton*> mButtons; diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 5822f682df1..a0ea1f43e35 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -82,15 +82,15 @@ BOOL LLToolBarView::postBuild() mToolbarLeft->setStartDragCallback(boost::bind(LLToolBarView::startDragItem,_1,_2,_3)); mToolbarLeft->setHandleDragCallback(boost::bind(LLToolBarView::handleDragItem,_1,_2,_3,_4)); - mToolbarLeft->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3)); + mToolbarLeft->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3,_4)); mToolbarRight->setStartDragCallback(boost::bind(LLToolBarView::startDragItem,_1,_2,_3)); mToolbarRight->setHandleDragCallback(boost::bind(LLToolBarView::handleDragItem,_1,_2,_3,_4)); - mToolbarRight->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3)); + mToolbarRight->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3,_4)); mToolbarBottom->setStartDragCallback(boost::bind(LLToolBarView::startDragItem,_1,_2,_3)); mToolbarBottom->setHandleDragCallback(boost::bind(LLToolBarView::handleDragItem,_1,_2,_3,_4)); - mToolbarBottom->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3)); + mToolbarBottom->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3,_4)); return TRUE; } @@ -286,10 +286,6 @@ void LLToolBarView::addToToolset(command_id_list_t& command_list, Toolbar& toolb void LLToolBarView::draw() { - static bool debug_print = true; - static S32 old_width = 0; - static S32 old_height = 0; - //LLPanel* sizer_left = getChild<LLPanel>("sizer_left"); LLRect bottom_rect, left_rect, right_rect; @@ -310,19 +306,6 @@ void LLToolBarView::draw() mToolbarRight->localRectToOtherView(mToolbarRight->getLocalRect(), &right_rect, this); } - if ((old_width != getRect().getWidth()) || (old_height != getRect().getHeight())) - debug_print = true; - if (debug_print) - { - LLRect ctrl_rect = getRect(); - llinfos << "Merov debug : draw control rect = " << ctrl_rect.mLeft << ", " << ctrl_rect.mTop << ", " << ctrl_rect.mRight << ", " << ctrl_rect.mBottom << llendl; - llinfos << "Merov debug : draw bottom rect = " << bottom_rect.mLeft << ", " << bottom_rect.mTop << ", " << bottom_rect.mRight << ", " << bottom_rect.mBottom << llendl; - llinfos << "Merov debug : draw left rect = " << left_rect.mLeft << ", " << left_rect.mTop << ", " << left_rect.mRight << ", " << left_rect.mBottom << llendl; - llinfos << "Merov debug : draw right rect = " << right_rect.mLeft << ", " << right_rect.mTop << ", " << right_rect.mRight << ", " << right_rect.mBottom << llendl; - old_width = ctrl_rect.getWidth(); - old_height = ctrl_rect.getHeight(); - debug_print = false; - } // Debug draw LLColor4 back_color = LLColor4::blue; LLColor4 back_color_vert = LLColor4::red; @@ -365,7 +348,7 @@ BOOL LLToolBarView::handleDragItem( S32 x, S32 y, const LLUUID& uuid, LLAssetTyp gClipboard.setSourceObject(uuid,LLAssetType::AT_WIDGET); LLToolDragAndDrop::ESource src = LLToolDragAndDrop::SOURCE_VIEWER; LLUUID srcID; - llinfos << "Merov debug: handleDragItem() : beginMultiDrag()" << llendl; + llinfos << "Merov debug: handleDragItem() : beginMultiDrag()" << llendl; LLToolDragAndDrop::getInstance()->beginMultiDrag(types, cargo_ids, src, srcID); sDragStarted = true; return TRUE; @@ -379,18 +362,35 @@ BOOL LLToolBarView::handleDragItem( S32 x, S32 y, const LLUUID& uuid, LLAssetTyp return FALSE; } -BOOL LLToolBarView::handleDrop( EDragAndDropType cargo_type, void* cargo_data, const LLUUID& toolbar_id) +BOOL LLToolBarView::handleDrop( void* cargo_data, S32 x, S32 y, LLToolBar* toolbar) { LLInventoryItem* inv_item = (LLInventoryItem*)cargo_data; - llinfos << "Merov debug : handleDrop. Drop " << inv_item->getUUID() << " named " << inv_item->getName() << " of type " << inv_item->getType() << " to toolbar " << toolbar_id << " under cargo type " << cargo_type << llendl; + llinfos << "Merov debug : handleDrop. Drop " << inv_item->getUUID() << " named " << inv_item->getName() << " of type " << inv_item->getType() << llendl; LLAssetType::EType type = inv_item->getType(); if (type == LLAssetType::AT_WIDGET) { - llinfos << "Merov debug : handleDrop. Drop source is a widget -> that's where we'll get code in..." << llendl; - // Find out if he command is in one of the toolbar - // If it is, pull it out of the toolbar - // Now insert it in the toolbar in the correct spot... + llinfos << "Merov debug : handleDrop. Drop source is a widget -> drop it in place..." << llendl; + // Get the command from its uuid + LLCommandManager& mgr = LLCommandManager::instance(); + LLCommand* command = mgr.getCommand(inv_item->getUUID()); + if (command) + { + // Convert the (x,y) position in rank in toolbar + int rank = toolbar->getRankFromPosition(x,y); + // Suppress the command from the toolbars (including the one it's dropped in, + // this will handle move position). + gToolBarView->mToolbarLeft->removeCommand(command->id()); + gToolBarView->mToolbarRight->removeCommand(command->id()); + gToolBarView->mToolbarBottom->removeCommand(command->id()); + // Now insert it in the toolbar at the detected rank + toolbar->addCommand(command->id(),rank); + } + else + { + llwarns << "Merov debug : handleDrop failing: command couldn't be found in manager" << llendl; + } + } else { diff --git a/indra/newview/lltoolbarview.h b/indra/newview/lltoolbarview.h index b7d3a4033a4..3d488f837fe 100644 --- a/indra/newview/lltoolbarview.h +++ b/indra/newview/lltoolbarview.h @@ -76,7 +76,7 @@ class LLToolBarView : public LLUICtrl static void startDragItem( S32 x, S32 y, const LLUUID& uuid); static BOOL handleDragItem( S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type); - static BOOL handleDrop( EDragAndDropType cargo_type, void* cargo_data, const LLUUID& folder_id); + static BOOL handleDrop( void* cargo_data, S32 x, S32 y, LLToolBar* toolbar); protected: friend class LLUICtrlFactory; -- GitLab From ba60e0906549840b8632d72f17b3f9bcda65e882 Mon Sep 17 00:00:00 2001 From: callum <none@none> Date: Wed, 5 Oct 2011 12:52:40 -0700 Subject: [PATCH 107/256] Fix for typo that broke build. --- indra/llui/llcommandmanager.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index b11f905574e..8e5abd64615 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -53,13 +53,13 @@ class LLCommandId LLCommandId(const std::string& name) : mName(name) { - mUUID = LLUUID::LLUUID::generateNewID(name); + mUUID = LLUUID::generateNewID(name); } LLCommandId(const Params& p) : mName(p.name) { - mUUID = LLUUID::LLUUID::generateNewID(p.name); + mUUID = LLUUID::generateNewID(p.name); } const std::string& name() const { return mName; } -- GitLab From 1c4d540afd488c5b64102fc14ea65433855f802a Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Wed, 5 Oct 2011 13:03:22 -0700 Subject: [PATCH 108/256] * Added function setOpenCallback to match existing setCloseCallback. --- indra/llui/llfloater.cpp | 9 +++++++-- indra/llui/llfloater.h | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index bc494e97f55..c28bcc2ec9f 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -1029,7 +1029,7 @@ void LLFloater::setMinimized(BOOL minimize) if (minimize == mMinimized) return; - if(mMinimizeSignal) + if (mMinimizeSignal) { (*mMinimizeSignal)(this, LLSD(minimize)); } @@ -2857,7 +2857,7 @@ void LLFloater::initFromParams(const LLFloater::Params& p) // open callback if (p.open_callback.isProvided()) { - mOpenSignal.connect(initCommitCallback(p.open_callback)); + setOpenCallback(initCommitCallback(p.open_callback)); } // close callback if (p.close_callback.isProvided()) @@ -2872,6 +2872,11 @@ boost::signals2::connection LLFloater::setMinimizeCallback( const commit_signal_ return mMinimizeSignal->connect(cb); } +boost::signals2::connection LLFloater::setOpenCallback( const commit_signal_t::slot_type& cb ) +{ + return mOpenSignal.connect(cb); +} + boost::signals2::connection LLFloater::setCloseCallback( const commit_signal_t::slot_type& cb ) { return mCloseSignal.connect(cb); diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index fba59e82e1e..5aff542049c 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -144,6 +144,7 @@ friend class LLMultiFloater; bool buildFromFile(const std::string &filename, LLXMLNodePtr output_node = NULL); boost::signals2::connection setMinimizeCallback( const commit_signal_t::slot_type& cb ); + boost::signals2::connection setOpenCallback( const commit_signal_t::slot_type& cb ); boost::signals2::connection setCloseCallback( const commit_signal_t::slot_type& cb ); void initFromParams(const LLFloater::Params& p); -- GitLab From eda12bd009d8f71eb82b6e6238335a172d6e5fb0 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 5 Oct 2011 13:37:39 -0700 Subject: [PATCH 109/256] fixed bad xml merge --- .../default/xui/en/panel_preferences_move.xml | 101 +++++++++++------- 1 file changed, 64 insertions(+), 37 deletions(-) diff --git a/indra/newview/skins/default/xui/en/panel_preferences_move.xml b/indra/newview/skins/default/xui/en/panel_preferences_move.xml index d06ba1bc013..d9067b41c75 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_move.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_move.xml @@ -107,7 +107,7 @@ name="keyboard_lbl" width="270" top_delta="2"> - Keyboard: + Keyboard: </text> <check_box control_name="ArrowKeysAlwaysMove" @@ -139,7 +139,7 @@ name="mouse_lbl" width="270" top_pad="15"> - Mouse: + Mouse: </text> <check_box control_name="FirstPersonAvatarVisible" @@ -185,43 +185,70 @@ name="invert_mouse" top_delta="0" width="128" /> - <check_box + <text follows="left|top" - height="20" - label="Double-Click to:" + type="string" + length="1" + height="10" layout="topleft" - left_delta="0" - name="double_click_chkbox" - width="237" - top_pad="0"> - <check_box.commit_callback - function="Pref.CommitDoubleClickChekbox"/> - </check_box> - <radio_group - height="20" - layout="topleft" - left_delta="17" - top_pad="2" - name="double_click_action"> - <radio_item - height="16" - label="Teleport" - layout="topleft" - left="0" - name="radio_teleport" - top_delta="20" - width="110" /> - <radio_item - height="16" - label="Auto-pilot" - left_pad="0" - layout="topleft" - name="radio_autopilot" - top_delta="0" - width="75" /> - <radio_group.commit_callback - function="Pref.CommitRadioDoubleClick"/> - </radio_group> + left="86" + name="single_click_action_lbl" + width="150" + top_pad="20"> + Single click on land: + </text> + <combo_box + height="23" + layout="topleft" + left_pad="10" + top_delta="-6" + name="single_click_action_combo" + width="200"> + <combo_box.item + label="No action" + name="0" + value="0"/> + <combo_box.item + label="Move to clicked point" + name="1" + value="1"/> + <combo_box.commit_callback + function="Pref.ClickActionChange"/> + </combo_box> + <text + follows="left|top" + type="string" + length="1" + height="10" + layout="topleft" + left="86" + name="double_click_action_lbl" + width="150" + top_pad="12"> + Double click on land: + </text> + <combo_box + height="23" + layout="topleft" + left_pad="10" + top_delta="-6" + name="double_click_action_combo" + width="200"> + <combo_box.item + label="No action" + name="0" + value="0"/> + <combo_box.item + label="Move to clicked point" + name="1" + value="1"/> + <combo_box.item + label="Teleport to clicked point" + name="2" + value="2"/> + <combo_box.commit_callback + function="Pref.ClickActionChange"/> + </combo_box> <button height="23" label="Other Devices" -- GitLab From 00dc8b3982cf69dbe69b8c1913e701c37f22eba0 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Wed, 5 Oct 2011 14:47:50 -0700 Subject: [PATCH 110/256] EXP-1286 : DaD works between all toolbars, button drops in correct place, removal of button works too --- indra/llui/lltoolbar.cpp | 16 ++++++++++------ indra/newview/lltoolbarview.cpp | 10 +++++----- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 07beb147d75..9ffb859053e 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -382,6 +382,11 @@ int LLToolBar::getRankFromPosition(S32 x, S32 y) int rank = 0; LLLayoutStack::ELayoutOrientation orientation = getOrientation(mSideType); + S32 button_panel_x = 0; + S32 button_panel_y = 0; + localPointToOtherView(x, y, &button_panel_x, &button_panel_y, mButtonPanel); + + //llinfos << "Merov debug : rank compute: orientation = " << orientation << ", x = " << button_panel_x << ", y = " << button_panel_y << llendl; // Simply compare the passed coord with the buttons outbound box std::list<LLToolBarButton*>::iterator it_button = mButtons.begin(); @@ -389,17 +394,16 @@ int LLToolBar::getRankFromPosition(S32 x, S32 y) while (it_button != end_button) { LLRect button_rect = (*it_button)->getRect(); - if (((orientation == LLLayoutStack::HORIZONTAL) && (button_rect.mRight > x)) || - ((orientation == LLLayoutStack::VERTICAL) && (button_rect.mTop > y)) ) + //llinfos << "Merov debug : rank compute: rect = " << button_rect.mLeft << ", " << button_rect.mTop << ", " << button_rect.mRight << ", " << button_rect.mBottom << llendl; + if (((orientation == LLLayoutStack::HORIZONTAL) && (button_rect.mRight > button_panel_x)) || + ((orientation == LLLayoutStack::VERTICAL) && (button_rect.mBottom < button_panel_y)) ) { - llinfos << "Merov debug : rank compute: orientation = " << orientation << ", x = " << x << ", y = " << y << llendl; - llinfos << "Merov debug : rank compute: rect = " << button_rect.mLeft << ", " << button_rect.mTop << ", " << button_rect.mRight << ", " << button_rect.mBottom << llendl; break; } rank++; ++it_button; } - llinfos << "Merov debug : rank = " << rank << llendl; + //llinfos << "Merov debug : rank = " << rank << llendl; return rank; } @@ -619,7 +623,7 @@ BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EAcceptance* accept, std::string& tooltip_msg) { - llinfos << "Merov debug : handleDragAndDrop. drop = " << drop << ", x = " << x << ", y = " << y << llendl; + //llinfos << "Merov debug : handleDragAndDrop. drop = " << drop << ", x = " << x << ", y = " << y << llendl; // If we have a drop callback, that means that we can handle the drop BOOL handled = (mHandleDropCallback ? TRUE : FALSE); diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 3b8577862aa..5f3e3860355 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -329,7 +329,7 @@ void LLToolBarView::draw() void LLToolBarView::startDragItem( S32 x, S32 y, const LLUUID& uuid) { - llinfos << "Merov debug: startDragItem() : x = " << x << ", y = " << y << llendl; + //llinfos << "Merov debug: startDragItem() : x = " << x << ", y = " << y << llendl; LLToolDragAndDrop::getInstance()->setDragStart( x, y ); sDragStarted = false; } @@ -348,7 +348,7 @@ BOOL LLToolBarView::handleDragItem( S32 x, S32 y, const LLUUID& uuid, LLAssetTyp gClipboard.setSourceObject(uuid,LLAssetType::AT_WIDGET); LLToolDragAndDrop::ESource src = LLToolDragAndDrop::SOURCE_VIEWER; LLUUID srcID; - llinfos << "Merov debug: handleDragItem() : beginMultiDrag()" << llendl; + //llinfos << "Merov debug: handleDragItem() : beginMultiDrag()" << llendl; LLToolDragAndDrop::getInstance()->beginMultiDrag(types, cargo_ids, src, srcID); sDragStarted = true; return TRUE; @@ -365,12 +365,12 @@ BOOL LLToolBarView::handleDragItem( S32 x, S32 y, const LLUUID& uuid, LLAssetTyp BOOL LLToolBarView::handleDrop( void* cargo_data, S32 x, S32 y, LLToolBar* toolbar) { LLInventoryItem* inv_item = (LLInventoryItem*)cargo_data; - llinfos << "Merov debug : handleDrop. Drop " << inv_item->getUUID() << " named " << inv_item->getName() << " of type " << inv_item->getType() << llendl; + //llinfos << "Merov debug : handleDrop. Drop " << inv_item->getUUID() << " named " << inv_item->getName() << " of type " << inv_item->getType() << llendl; LLAssetType::EType type = inv_item->getType(); if (type == LLAssetType::AT_WIDGET) { - llinfos << "Merov debug : handleDrop. Drop source is a widget -> drop it in place..." << llendl; + //llinfos << "Merov debug : handleDrop. Drop source is a widget -> drop it in place..." << llendl; // Get the command from its uuid LLCommandManager& mgr = LLCommandManager::instance(); LLCommand* command = mgr.getCommand(inv_item->getUUID()); @@ -388,7 +388,7 @@ BOOL LLToolBarView::handleDrop( void* cargo_data, S32 x, S32 y, LLToolBar* toolb } else { - llwarns << "Merov debug : handleDrop failing: command couldn't be found in manager" << llendl; + llwarns << "Command couldn't be found in command manager" << llendl; } } -- GitLab From 6f9ed8b303e9e840fcd624b03ec0958dceba3dc7 Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Wed, 5 Oct 2011 15:09:04 -0700 Subject: [PATCH 111/256] EXP-1273 Add floater for "Destinations" content --- indra/newview/CMakeLists.txt | 2 + indra/newview/app_settings/settings.xml | 2 +- indra/newview/llfloaterdestinations.cpp | 51 +++++++++++++++++++++++++ indra/newview/llfloaterdestinations.h | 43 +++++++++++++++++++++ indra/newview/llviewerfloaterreg.cpp | 5 ++- indra/newview/llviewerwindow.cpp | 7 ++++ 6 files changed, 108 insertions(+), 2 deletions(-) create mode 100644 indra/newview/llfloaterdestinations.cpp create mode 100644 indra/newview/llfloaterdestinations.h diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index ce47cca16f3..e17620252b8 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -182,6 +182,7 @@ set(viewer_SOURCE_FILES llfloatercamera.cpp llfloatercolorpicker.cpp llfloaterdeleteenvpreset.cpp + llfloaterdestinations.cpp llfloaterdisplayname.cpp llfloatereditdaycycle.cpp llfloatereditsky.cpp @@ -745,6 +746,7 @@ set(viewer_HEADER_FILES llfloatercamera.h llfloatercolorpicker.h llfloaterdeleteenvpreset.h + llfloaterdestinations.h llfloaterdisplayname.h llfloatereditdaycycle.h llfloatereditsky.h diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 07799d4eee0..d0d7cc996a4 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -2739,7 +2739,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string></string> + <string>http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/guide.html</string> </map> <key>DisableCameraConstraints</key> <map> diff --git a/indra/newview/llfloaterdestinations.cpp b/indra/newview/llfloaterdestinations.cpp new file mode 100644 index 00000000000..fa7e2a742c8 --- /dev/null +++ b/indra/newview/llfloaterdestinations.cpp @@ -0,0 +1,51 @@ +/** + * @file llfloaterdestinations.h + * @author Leyla Farazha + * @brief floater for the destinations guide + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +/** + * Floater that appears when buying an object, giving a preview + * of its contents and their permissions. + */ + +#include "llviewerprecompiledheaders.h" + +#include "llfloaterdestinations.h" +#include "lluictrlfactory.h" + + +LLFloaterDestinations::LLFloaterDestinations(const LLSD& key) + : LLFloater(key) +{ +} + +LLFloaterDestinations::~LLFloaterDestinations() +{ +} + +BOOL LLFloaterDestinations::postBuild() +{ + return TRUE; +} \ No newline at end of file diff --git a/indra/newview/llfloaterdestinations.h b/indra/newview/llfloaterdestinations.h new file mode 100644 index 00000000000..85d9b3391e5 --- /dev/null +++ b/indra/newview/llfloaterdestinations.h @@ -0,0 +1,43 @@ +/** + * @file llfloaterdestinations.h + * @author Leyla Farazha + * @brief floater for the destinations guide + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#ifndef LL_FLOATER_DESTINATIONS_H +#define LL_FLOATER_DESTINATIONS_H + +#include "llfloater.h" + +class LLFloaterDestinations: + public LLFloater +{ + friend class LLFloaterReg; +private: + LLFloaterDestinations(const LLSD& key); + /*virtual*/ ~LLFloaterDestinations(); + /*virtual*/ BOOL postBuild(); +}; + +#endif diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 174a4d6409a..16099335622 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -56,7 +56,7 @@ #include "llfloatereditwater.h" #include "llfloaterenvironmentsettings.h" #include "llfloaterevent.h" -#include "llfloatersearch.h" +#include "llfloaterdestinations.h" #include "llfloaterfonttest.h" #include "llfloatergesture.h" #include "llfloatergodtools.h" @@ -92,6 +92,7 @@ #include "llfloaterreporter.h" #include "llfloaterscriptdebug.h" #include "llfloaterscriptlimits.h" +#include "llfloatersearch.h" #include "llfloatersellland.h" #include "llfloatersettingsdebug.h" #include "llfloatersidepanelcontainer.h" @@ -185,6 +186,8 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("compile_queue", "floater_script_queue.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterCompileQueue>); + LLFloaterReg::add("destinations", "floater_destinations.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterDestinations>); + LLFloaterReg::add("env_post_process", "floater_post_process.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPostProcess>); LLFloaterReg::add("env_settings", "floater_environment_settings.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterEnvironmentSettings>); LLFloaterReg::add("env_delete_preset", "floater_delete_env_preset.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterDeleteEnvPreset>); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 149f9893d77..30b6b0012d8 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1939,6 +1939,13 @@ void LLViewerWindow::initWorldUI() gToolBarView->loadToolbars(); gToolBarView->setVisible(TRUE); } + + LLMediaCtrl* destinations = LLFloaterReg::getInstance("destinations")->getChild<LLMediaCtrl>("destination_guide_contents"); + if (destinations) + { + destinations->setErrorPageURL(gSavedSettings.getString("GenericErrorPageURL")); + destinations->navigateTo(gSavedSettings.getString("DestinationGuideURL"), "text/html"); + } } // Destroy the UI -- GitLab From 93e3c8e4a51dd60c202bc2e3f11b9ae850b2b6c8 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Wed, 5 Oct 2011 16:28:40 -0700 Subject: [PATCH 112/256] EXP-1280 FIX -- Minimized floaters associated with toolbar buttons should change the state of their parent button * Toolbar buttons now display green when its corresponding floater is open or minimized. * Made changes to buttons so flash time and rate is configurable * Removed unused "highlight_color" attribute from LLButton * Implemented "isVisible" function for toolbar button floaters. It returns true when the floater is visible or minimized. * Toolbar floater unminimize now also puts focus to the floater * All commands now specify their "is_running_function" for toolbar button state * ButtonFlashCount and ButtonFlashRate have been moved to button.xml settings and are now configurable on the button. Toolbar buttons are set to never flash and this functionality is used to show which buttons have windows open. * All toybox buttons show hover glow even when disabled Reviewed by Richard. --- indra/llui/llbutton.cpp | 24 ++--- indra/llui/llbutton.h | 13 ++- indra/llui/llfloaterreg.cpp | 23 +++++ indra/llui/llfloaterreg.h | 1 + indra/llui/lltoolbar.cpp | 89 +++++++++++++++++-- indra/llui/lltoolbar.h | 12 ++- indra/llui/llui.cpp | 1 + indra/newview/app_settings/commands.xml | 46 ++++++++++ indra/newview/app_settings/settings.xml | 22 ----- .../default/xui/en/floater_test_button.xml | 1 - .../skins/default/xui/en/floater_toybox.xml | 13 +++ .../skins/default/xui/en/widgets/button.xml | 7 +- .../skins/default/xui/en/widgets/toolbar.xml | 6 +- 13 files changed, 210 insertions(+), 48 deletions(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index f259e8027ea..c9ee62296fe 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -83,7 +83,6 @@ LLButton::Params::Params() label_color_selected("label_color_selected"), // requires is_toggle true label_color_disabled("label_color_disabled"), label_color_disabled_selected("label_color_disabled_selected"), - highlight_color("highlight_color"), image_color("image_color"), image_color_disabled("image_color_disabled"), image_overlay_color("image_overlay_color", LLColor4::white), @@ -99,10 +98,13 @@ LLButton::Params::Params() scale_image("scale_image", true), hover_glow_amount("hover_glow_amount"), commit_on_return("commit_on_return", true), + display_pressed_state("display_pressed_state", true), use_draw_context_alpha("use_draw_context_alpha", true), badge("badge"), handle_right_mouse("handle_right_mouse"), - held_down_delay("held_down_delay") + held_down_delay("held_down_delay"), + button_flash_count("button_flash_count"), + button_flash_rate("button_flash_rate") { addSynonym(is_toggle, "toggle"); changeDefault(initial_value, LLSD(false)); @@ -136,7 +138,6 @@ LLButton::LLButton(const LLButton::Params& p) mSelectedLabelColor(p.label_color_selected()), mDisabledLabelColor(p.label_color_disabled()), mDisabledSelectedLabelColor(p.label_color_disabled_selected()), - mHighlightColor(p.highlight_color()), mImageColor(p.image_color()), mFlashBgColor(p.flash_color()), mDisabledImageColor(p.image_color_disabled()), @@ -159,12 +160,15 @@ LLButton::LLButton(const LLButton::Params& p) mCommitOnReturn(p.commit_on_return), mFadeWhenDisabled(FALSE), mForcePressedState(false), + mDisplayPressedState(p.display_pressed_state), mLastDrawCharsCount(0), mMouseDownSignal(NULL), mMouseUpSignal(NULL), mHeldDownSignal(NULL), mUseDrawContextAlpha(p.use_draw_context_alpha), - mHandleRightMouse(p.handle_right_mouse) + mHandleRightMouse(p.handle_right_mouse), + mButtonFlashCount(p.button_flash_count), + mButtonFlashRate(p.button_flash_rate) { static LLUICachedControl<S32> llbutton_orig_h_pad ("UIButtonOrigHPad", 0); static Params default_params(LLUICtrlFactory::getDefaultParams<LLButton>()); @@ -570,15 +574,13 @@ void LLButton::draw() { F32 alpha = mUseDrawContextAlpha ? getDrawContext().mAlpha : getCurrentTransparency(); bool flash = FALSE; - static LLUICachedControl<F32> button_flash_rate("ButtonFlashRate", 0); - static LLUICachedControl<S32> button_flash_count("ButtonFlashCount", 0); if( mFlashing ) { F32 elapsed = mFlashingTimer.getElapsedTimeF32(); - S32 flash_count = S32(elapsed * button_flash_rate * 2.f); + S32 flash_count = S32(elapsed * mButtonFlashRate * 2.f); // flash on or off? - flash = (flash_count % 2 == 0) || flash_count > S32((F32)button_flash_count * 2.f); + flash = (flash_count % 2 == 0) || flash_count > S32((F32)mButtonFlashCount * 2.f); } bool pressed_by_keyboard = FALSE; @@ -607,7 +609,7 @@ void LLButton::draw() LLColor4 glow_color = LLColor4::white; LLRender::eBlendType glow_type = LLRender::BT_ADD_WITH_ALPHA; LLUIImage* imagep = NULL; - if (pressed) + if (pressed && mDisplayPressedState) { imagep = selected ? mImagePressedSelected : mImagePressed; } @@ -800,7 +802,7 @@ void LLButton::draw() S32 center_y = getLocalRect().getCenterY(); //FUGLY HACK FOR "DEPRESSED" BUTTONS - if (pressed) + if (pressed && mDisplayPressedState) { center_y--; center_x++; @@ -873,7 +875,7 @@ void LLButton::draw() S32 y_offset = 2 + (getRect().getHeight() - 20)/2; - if (pressed) + if (pressed && mDisplayPressedState) { y_offset--; x++; diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h index 08b45e01b33..14c1d01c7ee 100644 --- a/indra/llui/llbutton.h +++ b/indra/llui/llbutton.h @@ -91,7 +91,6 @@ class LLButton label_color_selected, label_color_disabled, label_color_disabled_selected, - highlight_color, image_color, image_color_disabled, image_overlay_color, @@ -120,7 +119,8 @@ class LLButton // misc Optional<bool> is_toggle, scale_image, - commit_on_return; + commit_on_return, + display_pressed_state; Optional<F32> hover_glow_amount; Optional<TimeIntervalParam> held_down_delay; @@ -131,6 +131,9 @@ class LLButton Optional<bool> handle_right_mouse; + Optional<S32> button_flash_count; + Optional<F32> button_flash_rate; + Params(); }; @@ -273,6 +276,9 @@ class LLButton void getOverlayImageSize(S32& overlay_width, S32& overlay_height); LLFrameTimer mMouseDownTimer; + bool mNeedsHighlight; + S32 mButtonFlashCount; + F32 mButtonFlashRate; private: void drawBorder(LLUIImage* imagep, const LLColor4& color, S32 size); @@ -322,7 +328,6 @@ class LLButton flash icon name is set in attributes(by default it isn't). First way is used otherwise. */ LLPointer<LLUIImage> mImageFlash; - LLUIColor mHighlightColor; LLUIColor mFlashBgColor; LLUIColor mImageColor; @@ -355,10 +360,10 @@ class LLButton F32 mHoverGlowStrength; F32 mCurGlowStrength; - bool mNeedsHighlight; bool mCommitOnReturn; bool mFadeWhenDisabled; bool mForcePressedState; + bool mDisplayPressedState; LLFrameTimer mFlashingTimer; diff --git a/indra/llui/llfloaterreg.cpp b/indra/llui/llfloaterreg.cpp index 27e96856b3e..d0ae9413a33 100644 --- a/indra/llui/llfloaterreg.cpp +++ b/indra/llui/llfloaterreg.cpp @@ -478,6 +478,7 @@ void LLFloaterReg::toggleToolbarFloaterInstance(const LLSD& sdname) if (LLFloater::isMinimized(instance)) { instance->setMinimized(FALSE); + instance->setFocus(TRUE); } else if (!LLFloater::isShown(instance)) { @@ -493,6 +494,28 @@ void LLFloaterReg::toggleToolbarFloaterInstance(const LLSD& sdname) } } +//static +bool LLFloaterReg::floaterInstanceOpen(const LLSD& sdname) +{ + LLSD key; + std::string name = sdname.asString(); + parse_name_key(name, key); + + bool visible_or_minimized = instanceVisible(name, key); + + if (!visible_or_minimized) + { + LLFloater* instance = findInstance(name, key); + + if (instance != NULL) + { + visible_or_minimized = LLFloater::isMinimized(instance); + } + } + + return visible_or_minimized; +} + //static bool LLFloaterReg::floaterInstanceVisible(const LLSD& sdname) { diff --git a/indra/llui/llfloaterreg.h b/indra/llui/llfloaterreg.h index 6239d98a7d7..07ae45cc4c5 100644 --- a/indra/llui/llfloaterreg.h +++ b/indra/llui/llfloaterreg.h @@ -128,6 +128,7 @@ class LLFloaterReg static void hideFloaterInstance(const LLSD& sdname); static void toggleFloaterInstance(const LLSD& sdname); static void toggleToolbarFloaterInstance(const LLSD& sdname); + static bool floaterInstanceOpen(const LLSD& sdname); static bool floaterInstanceVisible(const LLSD& sdname); static bool floaterInstanceMinimized(const LLSD& sdname); diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index a544aa9ec7e..0ec2eefc197 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -471,7 +471,33 @@ void LLToolBar::updateLayoutAsNeeded() void LLToolBar::draw() { - if (mButtons.empty()) return; + if (mButtons.empty()) + { + return; + } + + // Update enable/disable state and highlight state for editable toolbars + if (!mReadOnly) + { + for (toolbar_button_list::iterator btn_it = mButtons.begin(); btn_it != mButtons.end(); ++btn_it) + { + LLToolBarButton* btn = *btn_it; + LLCommand* command = LLCommandManager::instance().getCommand(btn->mId); + + if (command && btn->mIsEnabledSignal) + { + const bool button_command_enabled = (*btn->mIsEnabledSignal)(btn, command->isEnabledParameters()); + btn->setEnabled(button_command_enabled); + } + + if (command && btn->mIsRunningSignal) + { + const bool button_command_running = (*btn->mIsRunningSignal)(btn, command->isRunningParameters()); + btn->setFlashing(button_command_running); + } + } + } + updateLayoutAsNeeded(); // rect may have shifted during layout LLUI::popMatrix(); @@ -527,14 +553,47 @@ LLToolBarButton* LLToolBar::createButton(const LLCommandId& id) LLUICtrl::CommitCallbackParam cbParam; cbParam.function_name = commandp->executeFunctionName(); cbParam.parameter = commandp->executeParameters(); + button->setCommitCallback(cbParam); button->setStartDragCallback(mStartDragItemCallback); button->setHandleDragCallback(mHandleDragItemCallback); + + const std::string& isEnabledFunction = commandp->isEnabledFunctionName(); + if (isEnabledFunction.length() > 0) + { + LLUICtrl::EnableCallbackParam isEnabledParam; + isEnabledParam.function_name = isEnabledFunction; + isEnabledParam.parameter = commandp->isEnabledParameters(); + enable_signal_t::slot_type isEnabledCB = initEnableCallback(isEnabledParam); + + if (NULL == button->mIsEnabledSignal) + { + button->mIsEnabledSignal = new enable_signal_t(); + } + + button->mIsEnabledSignal->connect(isEnabledCB); + } + + const std::string& isRunningFunction = commandp->isRunningFunctionName(); + if (isRunningFunction.length() > 0) + { + LLUICtrl::EnableCallbackParam isRunningParam; + isRunningParam.function_name = isRunningFunction; + isRunningParam.parameter = commandp->isRunningParameters(); + enable_signal_t::slot_type isRunningCB = initEnableCallback(isRunningParam); + + if (NULL == button->mIsRunningSignal) + { + button->mIsRunningSignal = new enable_signal_t(); + } + + button->mIsRunningSignal->connect(isRunningCB); + } } button->setCommandId(id); - return button; + return button; } BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, @@ -568,9 +627,22 @@ LLToolBarButton::LLToolBarButton(const Params& p) mMouseDownY(0), mWidthRange(p.button_width), mDesiredHeight(p.desired_height), - mId("") + mId(""), + mIsEnabledSignal(NULL), + mIsRunningSignal(NULL), + mIsStartingSignal(NULL) { mUUID = LLUUID::generateNewID(p.name); + + mButtonFlashRate = 0.0; + mButtonFlashCount = 0; +} + +LLToolBarButton::~LLToolBarButton() +{ + delete mIsEnabledSignal; + delete mIsRunningSignal; + delete mIsStartingSignal; } BOOL LLToolBarButton::handleMouseDown(S32 x, S32 y, MASK mask) @@ -594,10 +666,10 @@ BOOL LLToolBarButton::handleHover(S32 x, S32 y, MASK mask) handled = TRUE; } else - { + { handled = mHandleDragItemCallback(x,y,mUUID,LLAssetType::AT_WIDGET); - } } + } else { handled = LLButton::handleHover(x, y, mask); @@ -605,3 +677,10 @@ BOOL LLToolBarButton::handleHover(S32 x, S32 y, MASK mask) return handled; } +void LLToolBarButton::onMouseEnter(S32 x, S32 y, MASK mask) +{ + LLUICtrl::onMouseEnter(x, y, mask); + + // Always highlight toolbar buttons, even if they are disabled + mNeedsHighlight = TRUE; +} diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 3c317e10a2b..b649ab28ff4 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -56,6 +56,7 @@ class LLToolBarButton : public LLButton }; LLToolBarButton(const Params& p); + ~LLToolBarButton(); BOOL handleMouseDown(S32 x, S32 y, MASK mask); BOOL handleHover(S32 x, S32 y, MASK mask); @@ -63,6 +64,9 @@ class LLToolBarButton : public LLButton void setStartDragCallback(startdrag_callback_t cb) { mStartDragItemCallback = cb; } void setHandleDragCallback(handledrag_callback_t cb) { mHandleDragItemCallback = cb; } + + void onMouseEnter(S32 x, S32 y, MASK mask); + private: LLCommandId mId; S32 mMouseDownX; @@ -73,6 +77,10 @@ class LLToolBarButton : public LLButton startdrag_callback_t mStartDragItemCallback; handledrag_callback_t mHandleDragItemCallback; LLUUID mUUID; + + enable_signal_t* mIsEnabledSignal; + enable_signal_t* mIsRunningSignal; + enable_signal_t* mIsStartingSignal; }; @@ -153,6 +161,7 @@ class LLToolBar bool addCommand(const LLCommandId& commandId); bool hasCommand(const LLCommandId& commandId) const; bool enableCommand(const LLCommandId& commandId, bool enabled); + void setStartDragCallback(startdrag_callback_t cb) { mStartDragItemCallback = cb; } void setHandleDragCallback(handledrag_callback_t cb) { mHandleDragItemCallback = cb; } void setHandleDropCallback(handledrop_callback_t cb) { mHandleDropCallback = cb; } @@ -188,7 +197,8 @@ class LLToolBar LLUUID mUUID; const bool mReadOnly; - std::list<LLToolBarButton*> mButtons; + typedef std::list<LLToolBarButton*> toolbar_button_list; + toolbar_button_list mButtons; command_id_list_t mButtonCommands; typedef std::map<LLCommandId, LLToolBarButton*> command_id_map; command_id_map mButtonMap; diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp index 76a12e649b4..9c0253f0743 100644 --- a/indra/llui/llui.cpp +++ b/indra/llui/llui.cpp @@ -1637,6 +1637,7 @@ void LLUI::initClass(const settings_map_t& settings, // Used by menus along with Floater.Toggle to display visibility as a checkmark LLUICtrl::EnableCallbackRegistry::defaultRegistrar().add("Floater.Visible", boost::bind(&LLFloaterReg::floaterInstanceVisible, _2)); + LLUICtrl::EnableCallbackRegistry::defaultRegistrar().add("Floater.IsOpen", boost::bind(&LLFloaterReg::floaterInstanceOpen, _2)); // Parse the master list of commands LLCommandManager::load(); diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 3a91ef490d7..1fff95417b3 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -7,6 +7,8 @@ tooltip_ref="Command_AboutLand_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="about_land" + is_running_function="Floater.IsOpen" + is_running_parameters="about_land" /> <command name="appearance" available_in_toybox="true" @@ -15,6 +17,8 @@ tooltip_ref="Command_Appearance_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="appearance" + is_running_function="Floater.IsOpen" + is_running_parameters="appearance" /> <command name="avatar" available_in_toybox="true" @@ -23,6 +27,8 @@ tooltip_ref="Command_Avatar_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="avatar_picker" + is_running_function="Floater.IsOpen" + is_running_parameters="avatar_picker" /> <command name="build" available_in_toybox="true" @@ -31,6 +37,8 @@ tooltip_ref="Command_Build_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="build" + is_running_function="Floater.IsOpen" + is_running_parameters="build" /> <command name="chat" available_in_toybox="true" @@ -39,6 +47,8 @@ tooltip_ref="Command_Chat_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="chat_bar" + is_running_function="Floater.IsOpen" + is_running_parameters="chat_bar" /> <command name="compass" available_in_toybox="false" @@ -47,6 +57,8 @@ tooltip_ref="Command_Compass_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="compass" + is_running_function="Floater.IsOpen" + is_running_parameters="compass" /> <command name="destinations" available_in_toybox="true" @@ -55,6 +67,8 @@ tooltip_ref="Command_Destinations_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="destinations" + is_running_function="Floater.IsOpen" + is_running_parameters="destinations" /> <command name="gestures" available_in_toybox="true" @@ -63,6 +77,8 @@ tooltip_ref="Command_Gestures_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="gestures" + is_running_function="Floater.IsOpen" + is_running_parameters="gestures" /> <command name="howto" available_in_toybox="true" @@ -71,6 +87,8 @@ tooltip_ref="Command_HowTo_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="help_browser" + is_running_function="Floater.IsOpen" + is_running_parameters="help_browser" /> <command name="inventory" available_in_toybox="true" @@ -79,6 +97,8 @@ tooltip_ref="Command_Inventory_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="inventory" + is_running_function="Floater.IsOpen" + is_running_parameters="inventory" /> <command name="map" available_in_toybox="true" @@ -87,6 +107,8 @@ tooltip_ref="Command_Map_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="world_map" + is_running_function="Floater.IsOpen" + is_running_parameters="world_map" /> <command name="marketplace" available_in_toybox="true" @@ -95,6 +117,8 @@ tooltip_ref="Command_Marketplace_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="marketplace" + is_running_function="Floater.IsOpen" + is_running_parameters="marketplace" /> <command name="minimap" available_in_toybox="true" @@ -103,6 +127,8 @@ tooltip_ref="Command_MiniMap_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="mini_map" + is_running_function="Floater.IsOpen" + is_running_parameters="mini_map" /> <command name="move" available_in_toybox="true" @@ -111,6 +137,8 @@ tooltip_ref="Command_Move_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="moveview" + is_running_function="Floater.IsOpen" + is_running_parameters="moveview" /> <command name="people" available_in_toybox="true" @@ -119,6 +147,8 @@ tooltip_ref="Command_People_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="people" + is_running_function="Floater.IsOpen" + is_running_parameters="people" /> <command name="places" available_in_toybox="true" @@ -127,6 +157,8 @@ tooltip_ref="Command_Places_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="places" + is_running_function="Floater.IsOpen" + is_running_parameters="places" /> <command name="preferences" available_in_toybox="true" @@ -135,6 +167,8 @@ tooltip_ref="Command_Preferences_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="preferences" + is_running_function="Floater.IsOpen" + is_running_parameters="preferences" /> <command name="profile" available_in_toybox="true" @@ -143,6 +177,8 @@ tooltip_ref="Command_Profile_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="my_profile" + is_running_function="Floater.IsOpen" + is_running_parameters="my_profile" /> <command name="search" available_in_toybox="true" @@ -151,6 +187,8 @@ tooltip_ref="Command_Search_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="search" + is_running_function="Floater.IsOpen" + is_running_parameters="search" /> <command name="snapshot" available_in_toybox="true" @@ -159,6 +197,8 @@ tooltip_ref="Command_Snapshot_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="snapshot" + is_running_function="Floater.IsOpen" + is_running_parameters="snapshot" /> <command name="speak" available_in_toybox="true" @@ -167,6 +207,8 @@ tooltip_ref="Command_Speak_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="speak" + is_running_function="Floater.IsOpen" + is_running_parameters="speak" /> <command name="view" available_in_toybox="true" @@ -175,6 +217,8 @@ tooltip_ref="Command_View_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="camera" + is_running_function="Floater.IsOpen" + is_running_parameters="camera" /> <command name="voice" available_in_toybox="true" @@ -183,5 +227,7 @@ tooltip_ref="Command_Voice_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="voice_controls" + is_running_function="Floater.IsOpen" + is_running_parameters="voice_controls" /> </commands> diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 07799d4eee0..0da20b15ed1 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -1150,28 +1150,6 @@ <key>Value</key> <integer>0</integer> </map> - <key>ButtonFlashCount</key> - <map> - <key>Comment</key> - <string>Number of flashes after which flashing buttons stay lit up</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>S32</string> - <key>Value</key> - <integer>8</integer> - </map> - <key>ButtonFlashRate</key> - <map> - <key>Comment</key> - <string>Frequency at which buttons flash (hz)</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>F32</string> - <key>Value</key> - <real>1.25</real> - </map> <key>ButtonHPad</key> <map> <key>Comment</key> diff --git a/indra/newview/skins/default/xui/en/floater_test_button.xml b/indra/newview/skins/default/xui/en/floater_test_button.xml index bf0a774e766..9bc05107a20 100644 --- a/indra/newview/skins/default/xui/en/floater_test_button.xml +++ b/indra/newview/skins/default/xui/en/floater_test_button.xml @@ -78,7 +78,6 @@ <button bottom_delta="30" height="23" - highlight_color="EmphasisColor" label="Highlight" layout="topleft" name="highlight_color_button" /> diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index 972ae1487ae..5c6fa5bc865 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -61,6 +61,19 @@ side="top" top="85"> <button_panel background_visible="false" /> + <button_icon_and_text image_unselected="PushButton_Off" + image_selected="PushButton_Off" + image_disabled_selected="PushButton_Disabled" + image_disabled="PushButton_Disabled" + label_color="ButtonLabelColor" + label_color_selected="ButtonLabelColor" + label_color_disabled="ButtonLabelDisabledColor" + label_color_disabled_selected="ButtonLabelDisabledColor" + image_color="ButtonImageColor" + image_color_disabled="ButtonImageColor" + flash_color="ButtonUnselectedFgColor" + hover_glow_amount="0.15" + display_pressed_state="false" /> </toolbar> <panel bevel_style="none" diff --git a/indra/newview/skins/default/xui/en/widgets/button.xml b/indra/newview/skins/default/xui/en/widgets/button.xml index 61d36468d74..e2baba92a3a 100644 --- a/indra/newview/skins/default/xui/en/widgets/button.xml +++ b/indra/newview/skins/default/xui/en/widgets/button.xml @@ -15,7 +15,6 @@ label_color_selected="ButtonLabelSelectedColor" label_color_disabled="ButtonLabelDisabledColor" label_color_disabled_selected="ButtonLabelSelectedDisabledColor" - highlight_color="ButtonUnselectedFgColor" image_color="ButtonImageColor" image_color_disabled="ButtonImageColor" flash_color="ButtonFlashBgColor" @@ -27,5 +26,9 @@ scale_image="true" handle_right_mouse="true" use_draw_context_alpha="true" - held_down_delay.seconds="0.5"> + held_down_delay.seconds="0.5" + button_flash_count="8" + button_flash_rate="1.25" + display_pressed_state="true" + > </button> diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 0c7e7cff564..15851661146 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -21,7 +21,8 @@ chrome="true" image_overlay_alignment="left" use_ellipses="true" - auto_resize="true"/> + auto_resize="true" + flash_color="EmphasisColor"/> <button_icon pad_left="10" pad_right="10" desired_height="35" @@ -31,5 +32,6 @@ label="" chrome="true" use_ellipses="true" - auto_resize="true"/> + auto_resize="true" + flash_color="EmphasisColor"/> </toolbar> -- GitLab From 17c699e4281ffff58e24c5db960a5c33018f1747 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Wed, 5 Oct 2011 16:29:12 -0700 Subject: [PATCH 113/256] * Updated flash_color to use old LLButton highlight_color default. --- indra/llui/lltooltip.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llui/lltooltip.cpp b/indra/llui/lltooltip.cpp index bc6461a0c21..23cdd9ad9a4 100644 --- a/indra/llui/lltooltip.cpp +++ b/indra/llui/lltooltip.cpp @@ -200,7 +200,7 @@ LLToolTip::LLToolTip(const LLToolTip::Params& p) icon_params.image_selected(imagep); icon_params.scale_image(true); - icon_params.flash_color(icon_params.highlight_color()); + icon_params.flash_color.control = "ButtonUnselectedFgColor"; mInfoButton = LLUICtrlFactory::create<LLButton>(icon_params); if (p.click_callback.isProvided()) { -- GitLab From 352ae994480a960541050c82f83a25262f8b44e0 Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Wed, 5 Oct 2011 16:39:00 -0700 Subject: [PATCH 114/256] adding floater_destinations.xml --- .../default/xui/en/floater_destinations.xml | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 indra/newview/skins/default/xui/en/floater_destinations.xml diff --git a/indra/newview/skins/default/xui/en/floater_destinations.xml b/indra/newview/skins/default/xui/en/floater_destinations.xml new file mode 100644 index 00000000000..50a279c046b --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_destinations.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + legacy_header_height="225" + can_minimize="true" + can_close="true" + user_resize="true" + can_resize="true" + min_height="230" + height="230" + layout="topleft" + name="Destinations" + single_instance="true" + help_topic="destinations" + save_rect="true" + title="Destinations" + width="445"> + <web_browser + top="25" + height="200" + width="435" + follows="all" + name="destination_guide_contents" + start_url="http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/guide.html" + trusted_content="true"/> +</floater> -- GitLab From 70495f6f2f61687717135f027c224003f5c5360a Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Wed, 5 Oct 2011 16:56:49 -0700 Subject: [PATCH 115/256] Fixing merge mistakes! --- indra/llui/lltoolbar.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 62217a664af..392e26f4960 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -712,8 +712,6 @@ LLToolBarButton::LLToolBarButton(const Params& p) mIsRunningSignal(NULL), mIsStartingSignal(NULL) { - mUUID = LLUUID::generateNewID(p.name); - mButtonFlashRate = 0.0; mButtonFlashCount = 0; } -- GitLab From 64d005bfed6c5adcd29df3ae0774747480a0d839 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Wed, 5 Oct 2011 17:04:07 -0700 Subject: [PATCH 116/256] EXP-1286 : Add DaD to toybox --- indra/llui/lltoolbar.cpp | 11 ++++++++--- indra/llui/lltoolbar.h | 1 + indra/newview/llfloatertoybox.cpp | 5 ++++- indra/newview/lltoolbarview.cpp | 16 +++++++++------- 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 9ffb859053e..ef36f426fab 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -103,7 +103,11 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p) mPadTop(p.pad_top), mPadBottom(p.pad_bottom), mPadBetween(p.pad_between), - mPopupMenuHandle() + mPopupMenuHandle(), + mStartDragItemCallback(NULL), + mHandleDragItemCallback(NULL), + mHandleDropCallback(NULL), + mDragAndDropTarget(false) { mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_WITH_TEXT] = p.button_icon_and_text; mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_ONLY] = p.button_icon; @@ -608,9 +612,10 @@ LLToolBarButton* LLToolBar::createButton(const LLCommandId& id) cbParam.function_name = commandp->executeFunctionName(); cbParam.parameter = commandp->executeParameters(); button->setCommitCallback(cbParam); - button->setStartDragCallback(mStartDragItemCallback); - button->setHandleDragCallback(mHandleDragItemCallback); } + // Drag and drop behavior must work also if provided in the Toybox and, potentially, any read-only toolbar + button->setStartDragCallback(mStartDragItemCallback); + button->setHandleDragCallback(mHandleDragItemCallback); button->setCommandId(id); return button; diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index a35f6d9db19..b630b82d0f5 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -159,6 +159,7 @@ class LLToolBar void setStartDragCallback(tool_startdrag_callback_t cb) { mStartDragItemCallback = cb; } void setHandleDragCallback(tool_handledrag_callback_t cb) { mHandleDragItemCallback = cb; } void setHandleDropCallback(tool_handledrop_callback_t cb) { mHandleDropCallback = cb; } + bool isReadOnly() const { return mReadOnly; } LLToolBarButton* createButton(const LLCommandId& id); diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp index cf22e071aaf..58bb417b71f 100644 --- a/indra/newview/llfloatertoybox.cpp +++ b/indra/newview/llfloatertoybox.cpp @@ -62,7 +62,10 @@ BOOL LLFloaterToybox::postBuild() mBtnRestoreDefaults = getChild<LLButton>("btn_restore_defaults"); mToolBar = getChild<LLToolBar>("toybox_toolbar"); - + mToolBar->setStartDragCallback(boost::bind(LLToolBarView::startDragItem,_1,_2,_3)); + mToolBar->setHandleDragCallback(boost::bind(LLToolBarView::handleDragItem,_1,_2,_3,_4)); + mToolBar->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3,_4)); + LLCommandManager& cmdMgr = LLCommandManager::instance(); // diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 5f3e3860355..c0408e4850d 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -377,24 +377,26 @@ BOOL LLToolBarView::handleDrop( void* cargo_data, S32 x, S32 y, LLToolBar* toolb if (command) { // Convert the (x,y) position in rank in toolbar - int rank = toolbar->getRankFromPosition(x,y); + int rank = 0; + if (!toolbar->isReadOnly()) + { + rank = toolbar->getRankFromPosition(x,y); + } // Suppress the command from the toolbars (including the one it's dropped in, // this will handle move position). gToolBarView->mToolbarLeft->removeCommand(command->id()); gToolBarView->mToolbarRight->removeCommand(command->id()); gToolBarView->mToolbarBottom->removeCommand(command->id()); // Now insert it in the toolbar at the detected rank - toolbar->addCommand(command->id(),rank); + if (!toolbar->isReadOnly()) + { + toolbar->addCommand(command->id(),rank); + } } else { llwarns << "Command couldn't be found in command manager" << llendl; } - - } - else - { - llinfos << "Merov debug : handleDrop. Drop source is not a widget -> nothing to do" << llendl; } return TRUE; -- GitLab From fc5030fcfe9d3ffcbb2ad1ae0b1dacd1699a54ce Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Wed, 5 Oct 2011 22:46:30 -0700 Subject: [PATCH 117/256] EXP-1286 : Clean-up the mess I added to llcommandmanager. All CommandId now have a trusted UUID which is the base for indexing and comparison. --- indra/llui/llcommandmanager.cpp | 19 ++----------------- indra/llui/llcommandmanager.h | 16 ++++++++++------ indra/newview/lltoolbarview.cpp | 3 ++- 3 files changed, 14 insertions(+), 24 deletions(-) diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp index 2bd50af7af7..9ce7533e1bb 100644 --- a/indra/llui/llcommandmanager.cpp +++ b/indra/llui/llcommandmanager.cpp @@ -114,7 +114,7 @@ LLCommand * LLCommandManager::getCommand(const LLCommandId& commandId) { LLCommand * command_match = NULL; - CommandIndexMap::const_iterator found = mCommandIndices.find(commandId); + CommandIndexMap::const_iterator found = mCommandIndices.find(commandId.uuid()); if (found != mCommandIndices.end()) { @@ -124,25 +124,10 @@ LLCommand * LLCommandManager::getCommand(const LLCommandId& commandId) return command_match; } -LLCommand * LLCommandManager::getCommand(const LLUUID& commandUUID) -{ - LLCommand * command_match = NULL; - - CommandUUIDMap::const_iterator found = mCommandUUIDs.find(commandUUID); - - if (found != mCommandUUIDs.end()) - { - command_match = mCommands[found->second]; - } - - return command_match; -} - void LLCommandManager::addCommand(LLCommand * command) { LLCommandId command_id = command->id(); - mCommandIndices[command_id] = mCommands.size(); - mCommandUUIDs[command_id.uuid()] = mCommands.size(); + mCommandIndices[command_id.uuid()] = mCommands.size(); mCommands.push_back(command); lldebugs << "Successfully added command: " << command->id().name() << llendl; diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index 8e5abd64615..8f9f956ec7e 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -62,17 +62,24 @@ class LLCommandId mUUID = LLUUID::generateNewID(p.name); } + LLCommandId(const LLUUID& uuid) + : mName(""), + mUUID(uuid) + + { + } + const std::string& name() const { return mName; } const LLUUID& uuid() const { return mUUID; } bool operator!=(const LLCommandId& command) const { - return (mName != command.mName); + return (mUUID != command.mUUID); } bool operator==(const LLCommandId& command) const { - return (mName == command.mName); + return (mUUID == command.mUUID); } bool operator<(const LLCommandId& command) const @@ -178,7 +185,6 @@ class LLCommandManager U32 commandCount() const; LLCommand * getCommand(U32 commandIndex); LLCommand * getCommand(const LLCommandId& commandId); - LLCommand * getCommand(const LLUUID& commandUUID); static bool load(); @@ -186,13 +192,11 @@ class LLCommandManager void addCommand(LLCommand * command); private: - typedef std::map<LLUUID, U32> CommandUUIDMap; - typedef std::map<LLCommandId, U32> CommandIndexMap; + typedef std::map<LLUUID, U32> CommandIndexMap; typedef std::vector<LLCommand *> CommandVector; CommandVector mCommands; CommandIndexMap mCommandIndices; - CommandUUIDMap mCommandUUIDs; }; diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index c0408e4850d..95ed603bbfb 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -373,7 +373,8 @@ BOOL LLToolBarView::handleDrop( void* cargo_data, S32 x, S32 y, LLToolBar* toolb //llinfos << "Merov debug : handleDrop. Drop source is a widget -> drop it in place..." << llendl; // Get the command from its uuid LLCommandManager& mgr = LLCommandManager::instance(); - LLCommand* command = mgr.getCommand(inv_item->getUUID()); + LLCommandId command_id(inv_item->getUUID()); + LLCommand* command = mgr.getCommand(command_id); if (command) { // Convert the (x,y) position in rank in toolbar -- GitLab From 5d414d6decbf05feae154c992291deab34ed8b92 Mon Sep 17 00:00:00 2001 From: Seth ProductEngine <slitovchuk@productengine.com> Date: Thu, 6 Oct 2011 09:40:05 +0300 Subject: [PATCH 118/256] Linux build fix. --- indra/integration_tests/llui_libtest/CMakeLists.txt | 1 + indra/newview/llfloaterdestinations.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/indra/integration_tests/llui_libtest/CMakeLists.txt b/indra/integration_tests/llui_libtest/CMakeLists.txt index df471671545..1180460f4b8 100644 --- a/indra/integration_tests/llui_libtest/CMakeLists.txt +++ b/indra/integration_tests/llui_libtest/CMakeLists.txt @@ -71,6 +71,7 @@ endif (DARWIN) # Sort by high-level to low-level target_link_libraries(llui_libtest llui + llinventory llmessage ${LLRENDER_LIBRARIES} ${LLIMAGE_LIBRARIES} diff --git a/indra/newview/llfloaterdestinations.cpp b/indra/newview/llfloaterdestinations.cpp index fa7e2a742c8..647b3b50468 100644 --- a/indra/newview/llfloaterdestinations.cpp +++ b/indra/newview/llfloaterdestinations.cpp @@ -48,4 +48,4 @@ LLFloaterDestinations::~LLFloaterDestinations() BOOL LLFloaterDestinations::postBuild() { return TRUE; -} \ No newline at end of file +} -- GitLab From fc489b12c99abab8a61fb3c7546fe802065fe2b0 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Thu, 6 Oct 2011 10:37:22 -0700 Subject: [PATCH 119/256] Updated to pass coding policy checks --- indra/newview/llfloaterdestinations.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/indra/newview/llfloaterdestinations.cpp b/indra/newview/llfloaterdestinations.cpp index fa7e2a742c8..ce36f7759cf 100644 --- a/indra/newview/llfloaterdestinations.cpp +++ b/indra/newview/llfloaterdestinations.cpp @@ -48,4 +48,5 @@ LLFloaterDestinations::~LLFloaterDestinations() BOOL LLFloaterDestinations::postBuild() { return TRUE; -} \ No newline at end of file +} + -- GitLab From 63b357758ea83dce34d8bc3e2f8ee7246b5aced5 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Thu, 6 Oct 2011 14:38:02 -0700 Subject: [PATCH 120/256] EXP-1205 FIX -- Some characters in description of toybox dialog is cut off at the bottom --- indra/newview/skins/default/xui/en/floater_toybox.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index 5c6fa5bc865..653788bd3c5 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -18,6 +18,7 @@ <text follows="left|top" font="SansSerifMedium" + valign="bottom" halign="left" height="20" layout="topleft" @@ -32,6 +33,7 @@ <text follows="left|top" font="SansSerifMedium" + valign="bottom" halign="left" height="20" layout="topleft" -- GitLab From adeaf71e3314e44a33864dbe90d93040d4247c67 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Thu, 6 Oct 2011 15:19:15 -0700 Subject: [PATCH 121/256] EXP-1300 WIP Visual feedback for Drag and Drop removed hover highlighting of buttons when dragging over them also updated toolbar button art to match spec --- indra/llui/llbutton.cpp | 13 ++++--------- indra/llui/llbutton.h | 1 - indra/llui/lltoolbar.cpp | 2 +- .../skins/default/xui/en/widgets/toolbar.xml | 7 +++++++ 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index c9ee62296fe..68cb5164b61 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -515,15 +515,6 @@ BOOL LLButton::handleRightMouseUp(S32 x, S32 y, MASK mask) return TRUE; } - -void LLButton::onMouseEnter(S32 x, S32 y, MASK mask) -{ - LLUICtrl::onMouseEnter(x, y, mask); - - if (isInEnabledChain()) - mNeedsHighlight = TRUE; -} - void LLButton::onMouseLeave(S32 x, S32 y, MASK mask) { LLUICtrl::onMouseLeave(x, y, mask); @@ -538,6 +529,10 @@ void LLButton::setHighlight(bool b) BOOL LLButton::handleHover(S32 x, S32 y, MASK mask) { + if (isInEnabledChain() + && (!gFocusMgr.getMouseCapture() || gFocusMgr.getMouseCapture() != this)) + mNeedsHighlight = TRUE; + if (!childrenHandleHover(x, y, mask)) { if (mMouseDownTimer.getStarted()) diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h index 14c1d01c7ee..a0a7b4e372c 100644 --- a/indra/llui/llbutton.h +++ b/indra/llui/llbutton.h @@ -160,7 +160,6 @@ class LLButton virtual void draw(); /*virtual*/ BOOL postBuild(); - virtual void onMouseEnter(S32 x, S32 y, MASK mask); virtual void onMouseLeave(S32 x, S32 y, MASK mask); virtual void onMouseCaptureLost(); diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 7fc6a6de8db..63a1706fe45 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -577,7 +577,7 @@ void LLToolBar::draw() if (command && btn->mIsRunningSignal) { const bool button_command_running = (*btn->mIsRunningSignal)(btn, command->isRunningParameters()); - btn->setFlashing(button_command_running); + btn->setToggleState(button_command_running); } } } diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 15851661146..613dc667622 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -12,6 +12,10 @@ bg_opaque_image_overlay="MouseGray" background_opaque="true"/> <button_icon_and_text imgoverlay_label_space="7" + label_color_selected="White" + image_pressed="PushButton_Press" + image_pressed_selected="PushButton_Selected_Press" + image_selected="PushButton_Selected_Press" button_width.min="70" button_width.max="140" desired_height="24" @@ -25,6 +29,9 @@ flash_color="EmphasisColor"/> <button_icon pad_left="10" pad_right="10" + image_pressed="PushButton_Press" + image_pressed_selected="PushButton_Selected_Press" + image_selected="PushButton_Selected_Press" desired_height="35" button_width.min="35" button_width.max="35" -- GitLab From 4eecfd4faeb253ad34258ccbe8e4c206d9d2c478 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Thu, 6 Oct 2011 16:42:19 -0700 Subject: [PATCH 122/256] Updated FUI toolbar buttons and corresponding floaters including: * About land * Appearance * Gestures * Inventory * Map * Nearby voice * Snapshot --- indra/newview/app_settings/commands.xml | 4 ++-- .../skins/default/xui/en/floater_about_land.xml | 2 +- .../skins/default/xui/en/floater_gesture.xml | 2 +- .../skins/default/xui/en/floater_my_appearance.xml | 3 ++- .../skins/default/xui/en/floater_my_inventory.xml | 2 +- .../skins/default/xui/en/floater_snapshot.xml | 4 ++-- .../default/xui/en/floater_voice_controls.xml | 10 +++++----- .../skins/default/xui/en/floater_world_map.xml | 2 +- .../skins/default/xui/en/sidepanel_inventory.xml | 14 +++++++------- 9 files changed, 22 insertions(+), 21 deletions(-) diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 1fff95417b3..8ee4b7d075b 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -96,9 +96,9 @@ label_ref="Command_Inventory_Label" tooltip_ref="Command_Inventory_Tooltip" execute_function="Floater.ToolbarToggle" - execute_parameters="inventory" + execute_parameters="my_inventory" is_running_function="Floater.IsOpen" - is_running_parameters="inventory" + is_running_parameters="my_inventory" /> <command name="map" available_in_toybox="true" diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml index e5dcc9bcb57..9cd838318c9 100644 --- a/indra/newview/skins/default/xui/en/floater_about_land.xml +++ b/indra/newview/skins/default/xui/en/floater_about_land.xml @@ -6,7 +6,7 @@ name="floaterland" help_topic="floaterland" save_rect="true" - title="ABOUT LAND" + title="About land" width="490"> <floater.string name="maturity_icon_general"> diff --git a/indra/newview/skins/default/xui/en/floater_gesture.xml b/indra/newview/skins/default/xui/en/floater_gesture.xml index 9f5e6828d20..c0424f4de3c 100644 --- a/indra/newview/skins/default/xui/en/floater_gesture.xml +++ b/indra/newview/skins/default/xui/en/floater_gesture.xml @@ -5,7 +5,7 @@ height="465" name="gestures" help_topic="gestures" - title="GESTURES" + title="Gestures" background_visible="true" follows="all" label="Places" diff --git a/indra/newview/skins/default/xui/en/floater_my_appearance.xml b/indra/newview/skins/default/xui/en/floater_my_appearance.xml index 8f97887b3f2..de2aa49c0cf 100644 --- a/indra/newview/skins/default/xui/en/floater_my_appearance.xml +++ b/indra/newview/skins/default/xui/en/floater_my_appearance.xml @@ -6,9 +6,10 @@ height="588" layout="topleft" name="floater_my_appearance" + help_topic="appearance" save_rect="true" single_instance="true" - title="MY APPEARANCE" + title="Appearance" width="333"> <panel top="18" diff --git a/indra/newview/skins/default/xui/en/floater_my_inventory.xml b/indra/newview/skins/default/xui/en/floater_my_inventory.xml index fd03a5324e7..3f852c9ed5c 100644 --- a/indra/newview/skins/default/xui/en/floater_my_inventory.xml +++ b/indra/newview/skins/default/xui/en/floater_my_inventory.xml @@ -9,7 +9,7 @@ name="floater_my_inventory" save_rect="true" save_visibility="true" - title="My Inventory" + title="Inventory" width="333" > <panel class="sidepanel_inventory" diff --git a/indra/newview/skins/default/xui/en/floater_snapshot.xml b/indra/newview/skins/default/xui/en/floater_snapshot.xml index 89a0c4c2873..4ba513bf9cb 100644 --- a/indra/newview/skins/default/xui/en/floater_snapshot.xml +++ b/indra/newview/skins/default/xui/en/floater_snapshot.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - can_minimize="false" + can_minimize="true" can_close="true" follows="left|top" height="520" @@ -10,7 +10,7 @@ help_topic="snapshot" save_rect="true" save_visibility="true" - title="SNAPSHOT PREVIEW" + title="Snapshot preview" width="245"> <floater.string name="unknown"> diff --git a/indra/newview/skins/default/xui/en/floater_voice_controls.xml b/indra/newview/skins/default/xui/en/floater_voice_controls.xml index f017a7ace6b..447549db44d 100644 --- a/indra/newview/skins/default/xui/en/floater_voice_controls.xml +++ b/indra/newview/skins/default/xui/en/floater_voice_controls.xml @@ -2,14 +2,14 @@ <floater can_resize="true" can_minimize="true" - can_close="false" + can_close="true" height="205" layout="topleft" min_height="124" min_width="190" name="floater_voice_controls" help_topic="floater_voice_controls" - title="Voice Controls" + title="Voice controls" save_dock_state="true" save_visibility="true" save_rect="true" @@ -17,15 +17,15 @@ width="282"> <string name="title_nearby"> - NEARBY VOICE + Nearby voice </string> <string name="title_group"> - Group Call with [GROUP] + Group call with [GROUP] </string> <string name="title_adhoc"> - Conference Call + Conference call </string> <string name="title_peer_2_peer"> diff --git a/indra/newview/skins/default/xui/en/floater_world_map.xml b/indra/newview/skins/default/xui/en/floater_world_map.xml index 019e7cd032a..3d997a17f79 100644 --- a/indra/newview/skins/default/xui/en/floater_world_map.xml +++ b/indra/newview/skins/default/xui/en/floater_world_map.xml @@ -12,7 +12,7 @@ save_rect="true" save_visibility="true" single_instance="true" - title="WORLD MAP" + title="World map" width="650"> <panel filename="panel_world_map.xml" diff --git a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml index 2b5e3143a43..b52784d6bc4 100644 --- a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml +++ b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml @@ -93,10 +93,10 @@ label="" height="200" width="330"> - <string name="InboxLabelWithArg">Received Items ([NUM])</string> - <string name="InboxLabelNoArg">Received Items</string> + <string name="InboxLabelWithArg">Received items ([NUM])</string> + <string name="InboxLabelNoArg">Received items</string> <button - label="Received Items" + label="Received items" font="SansSerifMedium" name="inbox_btn" height="35" @@ -124,7 +124,7 @@ halign="right" top_pad="0" width="300"> - [NUM] New + [NUM] new </text> <panel follows="all" @@ -175,10 +175,10 @@ label="" height="200" width="330"> - <string name="OutboxLabelWithArg">Merchant Outbox ([NUM])</string> - <string name="OutboxLabelNoArg">Merchant Outbox</string> + <string name="OutboxLabelWithArg">Merchant outbox ([NUM])</string> + <string name="OutboxLabelNoArg">Merchant outbox</string> <button - label="Merchant Outbox" + label="Merchant outbox" font="SansSerifMedium" name="outbox_btn" height="35" -- GitLab From 740b3547d6b4685bcd89bb2781ccb423ab935799 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Thu, 6 Oct 2011 16:48:19 -0700 Subject: [PATCH 123/256] EXP-1303 FIX Drag and dropping button over viewer area can select objects inworld fixed close button not working on floaters against right edge of window fixed drag and drop only working once per toolbar button reimplemented drag and drop threshold --- indra/llui/lltoolbar.cpp | 20 ++++++++++++++++++-- indra/llui/lltoolbar.h | 1 + indra/newview/lltooldraganddrop.cpp | 26 +++++++++++++++----------- 3 files changed, 34 insertions(+), 13 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 63a1706fe45..c34fbcd4f51 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -177,6 +177,7 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) center_panel_p.rect = getLocalRect(); center_panel_p.auto_resize = false; center_panel_p.user_resize = false; + center_panel_p.mouse_opaque = false; LLLayoutPanel* center_panel = LLUICtrlFactory::create<LLLayoutPanel>(center_panel_p); mCenteringStack->addChild(center_panel); @@ -557,7 +558,13 @@ void LLToolBar::draw() { if (mButtons.empty()) { - return; + mButtonPanel->setVisible(FALSE); + mButtonPanel->setMouseOpaque(FALSE); + } + else + { + mButtonPanel->setVisible(TRUE); + mButtonPanel->setMouseOpaque(TRUE); } // Update enable/disable state and highlight state for editable toolbars @@ -741,7 +748,11 @@ BOOL LLToolBarButton::handleHover(S32 x, S32 y, MASK mask) // llinfos << "Merov debug: handleHover, x = " << x << ", y = " << y << ", mouse = " << hasMouseCapture() << llendl; BOOL handled = FALSE; - if (hasMouseCapture() && mStartDragItemCallback && mHandleDragItemCallback) + S32 mouse_distance_squared = (x - mMouseDownX) * (x - mMouseDownX) + (y - mMouseDownY) * (y - mMouseDownY); + S32 drag_threshold = LLUI::sSettingGroups["config"]->getS32("DragAndDropDistanceThreshold"); + if (mouse_distance_squared > drag_threshold * drag_threshold + && hasMouseCapture() && + mStartDragItemCallback && mHandleDragItemCallback) { if (!mIsDragged) { @@ -768,3 +779,8 @@ void LLToolBarButton::onMouseEnter(S32 x, S32 y, MASK mask) // Always highlight toolbar buttons, even if they are disabled mNeedsHighlight = TRUE; } + +void LLToolBarButton::onMouseCaptureLost() +{ + mIsDragged = false; +} diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 3fbe5a7703b..4fac0811304 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -68,6 +68,7 @@ class LLToolBarButton : public LLButton void setHandleDragCallback(tool_handledrag_callback_t cb) { mHandleDragItemCallback = cb; } void onMouseEnter(S32 x, S32 y, MASK mask); + void onMouseCaptureLost(); private: LLCommandId mId; diff --git a/indra/newview/lltooldraganddrop.cpp b/indra/newview/lltooldraganddrop.cpp index a8014b8cde0..6910b8eced6 100644 --- a/indra/newview/lltooldraganddrop.cpp +++ b/indra/newview/lltooldraganddrop.cpp @@ -803,7 +803,7 @@ void LLToolDragAndDrop::pick(const LLPickInfo& pick_info) LLViewerObject* hit_obj = pick_info.getObject(); LLSelectMgr::getInstance()->unhighlightAll(); - + bool highlight_object = false; // Treat attachments as part of the avatar they are attached to. if (hit_obj != NULL) { @@ -845,16 +845,7 @@ void LLToolDragAndDrop::pick(const LLPickInfo& pick_info) { target = DT_OBJECT; hit_face = pick_info.mObjectFace; - // if any item being dragged will be applied to the object under our cursor - // highlight that object - for (S32 i = 0; i < (S32)mCargoIDs.size(); i++) - { - if (mCargoTypes[i] != DAD_OBJECT || (pick_info.mKeyMask & MASK_CONTROL)) - { - LLSelectMgr::getInstance()->highlightObjectAndFamily(hit_obj); - break; - } - } + highlight_object = true; } } else if (pick_info.mPickType == LLPickInfo::PICK_LAND) @@ -900,6 +891,19 @@ void LLToolDragAndDrop::pick(const LLPickInfo& pick_info) } } + if (highlight_object && mLastAccept > ACCEPT_NO_LOCKED) + { + // if any item being dragged will be applied to the object under our cursor + // highlight that object + for (S32 i = 0; i < (S32)mCargoIDs.size(); i++) + { + if (mCargoTypes[i] != DAD_OBJECT || (pick_info.mKeyMask & MASK_CONTROL)) + { + LLSelectMgr::getInstance()->highlightObjectAndFamily(hit_obj); + break; + } + } + } ECursorType cursor = acceptanceToCursor( mLastAccept ); gViewerWindow->getWindow()->setCursor( cursor ); -- GitLab From ea02a6a80d52a030db71100856826eaff43ccce8 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Thu, 6 Oct 2011 17:14:54 -0700 Subject: [PATCH 124/256] EXP-1301 : Init some members that were not initialized correctly --- indra/llui/lltoolbar.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index c34fbcd4f51..1f5fa5f361e 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -723,7 +723,10 @@ LLToolBarButton::LLToolBarButton(const Params& p) mId(""), mIsEnabledSignal(NULL), mIsRunningSignal(NULL), - mIsStartingSignal(NULL) + mIsStartingSignal(NULL), + mIsDragged(false), + mStartDragItemCallback(NULL), + mHandleDragItemCallback(NULL) { mButtonFlashRate = 0.0; mButtonFlashCount = 0; -- GitLab From 23205bb535e446979471296c9fa26f2530a9abaf Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Thu, 6 Oct 2011 17:18:49 -0700 Subject: [PATCH 125/256] EXP-1274 Create floater for "Avatar Picker" content --- indra/newview/app_settings/commands.xml | 4 +-- indra/newview/app_settings/settings.xml | 2 +- indra/newview/llviewerfloaterreg.cpp | 1 + indra/newview/llviewerwindow.cpp | 6 +++++ .../skins/default/xui/en/floater_avatar.xml | 26 +++++++++++++++++++ .../default/xui/en/floater_destinations.xml | 2 ++ 6 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 indra/newview/skins/default/xui/en/floater_avatar.xml diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 1fff95417b3..e4fc008b4cd 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -26,9 +26,9 @@ label_ref="Command_Avatar_Label" tooltip_ref="Command_Avatar_Tooltip" execute_function="Floater.ToolbarToggle" - execute_parameters="avatar_picker" + execute_parameters="avatar" is_running_function="Floater.IsOpen" - is_running_parameters="avatar_picker" + is_running_parameters="avatar" /> <command name="build" available_in_toybox="true" diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 203bcab03ae..092e69952cf 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -619,7 +619,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string></string> + <string>http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/avatars.html</string> </map> <key>AvatarBakedTextureUploadTimeout</key> <map> diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 7befc741e39..b0daf9f3c26 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -168,6 +168,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("about_land", "floater_about_land.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterLand>); LLFloaterReg::add("appearance", "floater_my_appearance.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("auction", "floater_auction.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAuction>); + LLFloaterReg::add("avatar", "floater_avatar.xml", &LLFloaterReg::build<LLFloater>); LLFloaterReg::add("avatar_picker", "floater_avatar_picker.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAvatarPicker>); LLFloaterReg::add("avatar_textures", "floater_avatar_textures.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAvatarTextures>); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index a28950f376b..fae3ee9081c 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1945,6 +1945,12 @@ void LLViewerWindow::initWorldUI() destinations->setErrorPageURL(gSavedSettings.getString("GenericErrorPageURL")); destinations->navigateTo(gSavedSettings.getString("DestinationGuideURL"), "text/html"); } + LLMediaCtrl* avatar_picker = LLFloaterReg::getInstance("avatar")->findChild<LLMediaCtrl>("avatar_picker_contents"); + if (avatar_picker) + { + avatar_picker->setErrorPageURL(gSavedSettings.getString("GenericErrorPageURL")); + avatar_picker->navigateTo(gSavedSettings.getString("AvatarPickerURL"), "text/html"); + } } // Destroy the UI diff --git a/indra/newview/skins/default/xui/en/floater_avatar.xml b/indra/newview/skins/default/xui/en/floater_avatar.xml new file mode 100644 index 00000000000..a0c1f4c0212 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_avatar.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + legacy_header_height="225" + can_minimize="true" + can_close="true" + user_resize="true" + can_resize="true" + min_height="230" + min_width="455" + max_height="230" + height="230" + layout="topleft" + name="Avatar" + single_instance="true" + help_topic="avatar" + save_rect="true" + title="Avatar Picker" + width="445"> + <web_browser + top="25" + height="200" + width="435" + follows="all" + name="avatar_picker_contents" + trusted_content="true"/> +</floater> diff --git a/indra/newview/skins/default/xui/en/floater_destinations.xml b/indra/newview/skins/default/xui/en/floater_destinations.xml index 50a279c046b..9dd9338f37d 100644 --- a/indra/newview/skins/default/xui/en/floater_destinations.xml +++ b/indra/newview/skins/default/xui/en/floater_destinations.xml @@ -6,6 +6,8 @@ user_resize="true" can_resize="true" min_height="230" + min_width="525" + max_height="230" height="230" layout="topleft" name="Destinations" -- GitLab From 35d3fa12ba1b375a55c34680f9c8577ca3c4842c Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Fri, 7 Oct 2011 10:11:20 -0700 Subject: [PATCH 126/256] minor code cleanup --- indra/llui/llcommandmanager.cpp | 2 +- indra/llui/llfloater.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp index b1147134c21..42aa9b333bb 100644 --- a/indra/llui/llcommandmanager.cpp +++ b/indra/llui/llcommandmanager.cpp @@ -139,7 +139,7 @@ bool LLCommandManager::load() if (!commandsParams.validateBlock()) { - llerrs << "Unable to validate commands param block from file: " << commands_file << llendl; + llerrs << "Invalid commands file: " << commands_file << llendl; return false; } diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index bc494e97f55..177344cde7c 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -840,9 +840,9 @@ void LLFloater::applyRectControl() if (mRectControl.size() > 1) { const LLRect& rect = getControlGroup()->getRect(mRectControl); - if (rect.getWidth() > 0 && rect.getHeight() > 0) + if (rect.notEmpty()) { - translate( rect.mLeft - getRect().mLeft, rect.mBottom - getRect().mBottom); + setOrigin(rect.mLeft, rect.mBottom); if (mResizable) { reshape(llmax(mMinWidth, rect.getWidth()), llmax(mMinHeight, rect.getHeight())); -- GitLab From 13a2431cb3ca24be1de51c041a046df6fe641b9e Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Fri, 7 Oct 2011 21:07:03 +0300 Subject: [PATCH 127/256] EXP-1255 FIXED (More spillover does not contain separator and "Open Landmarks" menuitem) - Added menu item "Open landmarks" as the last menu item in favorites menu --- indra/llui/lltoolbar.h | 2 + indra/newview/llfavoritesbar.cpp | 197 ++++++++++++------ indra/newview/llfavoritesbar.h | 14 ++ .../default/xui/en/panel_navigation_bar.xml | 18 +- .../newview/skins/default/xui/en/strings.xml | 2 + 5 files changed, 161 insertions(+), 72 deletions(-) diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 4fac0811304..e4534dea5f0 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -173,6 +173,8 @@ class LLToolBar LLToolBarButton* createButton(const LLCommandId& id); + bool hasButtons() { return !mButtons.empty(); } + protected: friend class LLUICtrlFactory; LLToolBar(const Params&); diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index 6dcfa95a0eb..98de4188785 100644 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -31,6 +31,7 @@ #include "llfocusmgr.h" #include "llinventory.h" #include "lllandmarkactions.h" +#include "lltoolbarview.h" #include "lltrans.h" #include "lluictrlfactory.h" #include "llmenugl.h" @@ -54,6 +55,7 @@ static LLDefaultChildRegistry::Register<LLFavoritesBarCtrl> r("favorites_bar"); const S32 DROP_DOWN_MENU_WIDTH = 250; +const S32 DROP_DOWN_MENU_TOP_PAD = 13; /** * Helper for LLFavoriteLandmarkButton and LLFavoriteLandmarkMenuItem. @@ -893,84 +895,155 @@ void LLFavoritesBarCtrl::showDropDownMenu() { if (mOverflowMenuHandle.isDead()) { - LLToggleableMenu::Params menu_p; - menu_p.name("favorites menu"); - menu_p.can_tear_off(false); - menu_p.visible(false); - menu_p.scrollable(true); - menu_p.max_scrollable_items = 10; - menu_p.preferred_width = DROP_DOWN_MENU_WIDTH; - - LLToggleableMenu* menu = LLUICtrlFactory::create<LLFavoriteLandmarkToggleableMenu>(menu_p); - mOverflowMenuHandle = menu->getHandle(); + createOverflowMenu(); } LLToggleableMenu* menu = (LLToggleableMenu*)mOverflowMenuHandle.get(); + if (menu && menu->toggleVisibility()) + { + if (mUpdateDropDownItems) + { + updateMenuItems(menu); + } + + menu->buildDrawLabels(); + menu->updateParent(LLMenuGL::sMenuContainer); + menu->setButtonRect(mMoreTextBox->getRect(), this); + positionAndShowMenu(menu); + } +} + +void LLFavoritesBarCtrl::createOverflowMenu() +{ + LLToggleableMenu::Params menu_p; + menu_p.name("favorites menu"); + menu_p.can_tear_off(false); + menu_p.visible(false); + menu_p.scrollable(true); + menu_p.max_scrollable_items = 10; + menu_p.preferred_width = DROP_DOWN_MENU_WIDTH; + + LLToggleableMenu* menu = LLUICtrlFactory::create<LLFavoriteLandmarkToggleableMenu>(menu_p); + mOverflowMenuHandle = menu->getHandle(); +} - if (menu) +void LLFavoritesBarCtrl::updateMenuItems(LLToggleableMenu* menu) +{ + menu->empty(); + + U32 widest_item = 0; + + for (S32 i = mFirstDropDownItem; i < mItems.count(); i++) { - if (!menu->toggleVisibility()) - return; + LLViewerInventoryItem* item = mItems.get(i); + const std::string& item_name = item->getName(); - U32 max_width = llmin(DROP_DOWN_MENU_WIDTH, getRect().getWidth()); - if (mUpdateDropDownItems) + LLFavoriteLandmarkMenuItem::Params item_params; + item_params.name(item_name); + item_params.label(item_name); + item_params.on_click.function(boost::bind(&LLFavoritesBarCtrl::onButtonClick, this, item->getUUID())); + + LLFavoriteLandmarkMenuItem *menu_item = LLUICtrlFactory::create<LLFavoriteLandmarkMenuItem>(item_params); + menu_item->initFavoritesBarPointer(this); + menu_item->setRightMouseDownCallback(boost::bind(&LLFavoritesBarCtrl::onButtonRightClick, this, item->getUUID(), _1, _2, _3, _4)); + menu_item->LLUICtrl::setMouseDownCallback(boost::bind(&LLFavoritesBarCtrl::onButtonMouseDown, this, item->getUUID(), _1, _2, _3, _4)); + menu_item->LLUICtrl::setMouseUpCallback(boost::bind(&LLFavoritesBarCtrl::onButtonMouseUp, this, item->getUUID(), _1, _2, _3, _4)); + menu_item->setLandmarkID(item->getUUID()); + + fitLabelWidth(menu_item); + + widest_item = llmax(widest_item, menu_item->getNominalWidth()); + + menu->addChild(menu_item); + } + + addOpenLandmarksMenuItem(menu); + mUpdateDropDownItems = false; +} + +void LLFavoritesBarCtrl::fitLabelWidth(LLMenuItemCallGL* menu_item) +{ + U32 max_width = llmin(DROP_DOWN_MENU_WIDTH, getRect().getWidth()); + std::string item_name = menu_item->getName(); + + // Check whether item name wider than menu + if (menu_item->getNominalWidth() > max_width) + { + S32 chars_total = item_name.length(); + S32 chars_fitted = 1; + menu_item->setLabel(LLStringExplicit("")); + S32 label_space = max_width - menu_item->getFont()->getWidth("...") - + menu_item->getNominalWidth();// This returns width of menu item with empty label (pad pixels) + + while (chars_fitted < chars_total + && menu_item->getFont()->getWidth(item_name, 0, chars_fitted) < label_space) { - menu->empty(); + chars_fitted++; + } + chars_fitted--; // Rolling back one char, that doesn't fit - U32 widest_item = 0; + menu_item->setLabel(item_name.substr(0, chars_fitted) + "..."); + } +} - for (S32 i = mFirstDropDownItem; i < mItems.count(); i++) - { - LLViewerInventoryItem* item = mItems.get(i); - const std::string& item_name = item->getName(); - - LLFavoriteLandmarkMenuItem::Params item_params; - item_params.name(item_name); - item_params.label(item_name); - - item_params.on_click.function(boost::bind( - &LLFavoritesBarCtrl::onButtonClick, this, - item->getUUID())); - LLFavoriteLandmarkMenuItem *menu_item = LLUICtrlFactory::create<LLFavoriteLandmarkMenuItem>(item_params); - menu_item->initFavoritesBarPointer(this); - menu_item->setRightMouseDownCallback(boost::bind(&LLFavoritesBarCtrl::onButtonRightClick, this, item->getUUID(), _1, _2, _3, _4)); - menu_item->LLUICtrl::setMouseDownCallback(boost::bind(&LLFavoritesBarCtrl::onButtonMouseDown, this, item->getUUID(), _1, _2, _3, _4)); - menu_item->LLUICtrl::setMouseUpCallback(boost::bind(&LLFavoritesBarCtrl::onButtonMouseUp, this, item->getUUID(), _1, _2, _3, _4)); - menu_item->setLandmarkID(item->getUUID()); - - // Check whether item name wider than menu - if (menu_item->getNominalWidth() > max_width) - { - S32 chars_total = item_name.length(); - S32 chars_fitted = 1; - menu_item->setLabel(LLStringExplicit("")); - S32 label_space = max_width - menu_item->getFont()->getWidth("...") - - menu_item->getNominalWidth();// This returns width of menu item with empty label (pad pixels) - - while (chars_fitted < chars_total - && menu_item->getFont()->getWidth(item_name, 0, chars_fitted) < label_space) - { - chars_fitted++; - } - chars_fitted--; // Rolling back one char, that doesn't fit +void LLFavoritesBarCtrl::addOpenLandmarksMenuItem(LLToggleableMenu* menu) +{ + std::string label_untrans = "Open landmarks"; + std::string label_transl; + bool translated = LLTrans::findString(label_transl, label_untrans); + + LLMenuItemCallGL::Params item_params; + item_params.name("open_my_landmarks"); + item_params.label(translated ? label_transl: label_untrans); + item_params.on_click.function(boost::bind(&LLFloaterSidePanelContainer::showPanel, "places", LLSD())); + LLMenuItemCallGL* menu_item = LLUICtrlFactory::create<LLMenuItemCallGL>(item_params); + + fitLabelWidth(menu_item); + + LLMenuItemSeparatorGL::Params sep_params; + sep_params.enabled_color=LLUIColorTable::instance().getColor("MenuItemEnabledColor"); + sep_params.disabled_color=LLUIColorTable::instance().getColor("MenuItemDisabledColor"); + sep_params.highlight_bg_color=LLUIColorTable::instance().getColor("MenuItemHighlightBgColor"); + sep_params.highlight_fg_color=LLUIColorTable::instance().getColor("MenuItemHighlightFgColor"); + LLMenuItemSeparatorGL* separator = LLUICtrlFactory::create<LLMenuItemSeparatorGL>(sep_params); + + menu->addChild(separator); + menu->addChild(menu_item); +} - menu_item->setLabel(item_name.substr(0, chars_fitted) - + "..."); - } - widest_item = llmax(widest_item, menu_item->getNominalWidth()); +void LLFavoritesBarCtrl::positionAndShowMenu(LLToggleableMenu* menu) +{ + U32 max_width = llmin(DROP_DOWN_MENU_WIDTH, getRect().getWidth()); - menu->addChild(menu_item); - } - mUpdateDropDownItems = false; + S32 menu_x = getRect().getWidth() - max_width; + S32 menu_y = getParent()->getRect().mBottom - DROP_DOWN_MENU_TOP_PAD; + + // the menu should be offset of the right edge of the window + // so it's no covered by buttons in the right-side toolbar. + LLToolBar* right_toolbar = gToolBarView->getChild<LLToolBar>("toolbar_right"); + if (right_toolbar && right_toolbar->hasButtons()) + { + S32 toolbar_top = 0; + + if (LLView* top_border_panel = right_toolbar->getChild<LLView>("button_panel")) + { + toolbar_top = top_border_panel->calcScreenRect().mTop; } - menu->buildDrawLabels(); - menu->updateParent(LLMenuGL::sMenuContainer); + // Calculating the bottom (in screen coord) of the drop down menu + S32 menu_top = getParent()->getRect().mBottom - DROP_DOWN_MENU_TOP_PAD; + S32 menu_bottom = menu_top - menu->getRect().getHeight(); + S32 menu_bottom_screen = 0; - menu->setButtonRect(mMoreTextBox->getRect(), this); + localPointToScreen(0, menu_bottom, &menu_top, &menu_bottom_screen); - LLMenuGL::showPopup(this, menu, getRect().getWidth() - max_width, 0); + if (menu_bottom_screen < toolbar_top) + { + menu_x -= right_toolbar->getRect().getWidth(); + } } + + LLMenuGL::showPopup(this, menu, menu_x, menu_y); } void LLFavoritesBarCtrl::onButtonClick(LLUUID item_id) diff --git a/indra/newview/llfavoritesbar.h b/indra/newview/llfavoritesbar.h index a41795a0807..1b11d6196e8 100644 --- a/indra/newview/llfavoritesbar.h +++ b/indra/newview/llfavoritesbar.h @@ -34,6 +34,9 @@ #include "llinventoryobserver.h" #include "llinventorymodel.h" +class LLMenuItemCallGL; +class LLToggleableMenu; + class LLFavoritesBarCtrl : public LLUICtrl, public LLInventoryObserver { public: @@ -132,6 +135,17 @@ class LLFavoritesBarCtrl : public LLUICtrl, public LLInventoryObserver // finds an item by it's UUID in the items array LLInventoryModel::item_array_t::iterator findItemByUUID(LLInventoryModel::item_array_t& items, const LLUUID& id); + void createOverflowMenu(); + + void updateMenuItems(LLToggleableMenu* menu); + + // Fits menu item label width with favorites menu width + void fitLabelWidth(LLMenuItemCallGL* menu_item); + + void addOpenLandmarksMenuItem(LLToggleableMenu* menu); + + void positionAndShowMenu(LLToggleableMenu* menu); + BOOL mShowDragMarker; LLUICtrl* mLandingTab; LLUICtrl* mLastTab; diff --git a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml index 21c9eb74371..bf9eeb6d265 100644 --- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml @@ -60,9 +60,9 @@ layout="topleft" auto_resize="true" user_resize="true" - min_width="340" + min_width="480" name="navigation_layout_panel" - width="340"> + width="480"> <panel background_visible="false" follows="left|top|right" @@ -71,7 +71,7 @@ layout="topleft" left="0" name="navigation_panel" - width="340"> + width="480"> <pull_button follows="left|top" direction="down" @@ -118,7 +118,7 @@ mouse_opaque="false" name="location_combo" top_delta="0" - width="215"> + width="355"> <combo_list mouse_wheel_opaque="true"/> </location_input> @@ -149,9 +149,9 @@ layout="topleft" auto_resize="true" user_resize="true" - min_width="335" + min_width="315" name="favorites_layout_panel" - width="335"> + width="315"> <favorites_bar follows="left|right|top" font="SansSerifSmall" @@ -161,7 +161,7 @@ name="favorite" image_drag_indication="Accordion_ArrowOpened_Off" tool_tip="Drag Landmarks here for quick access to your favorite places in Second Life!" - width="331"> + width="311"> <label follows="left|top" height="15" @@ -177,14 +177,12 @@ <!-- More button actually is a text box. --> <more_button follows="left|bottom" - font.name="SansSerifSmall" - font.style="UNDERLINE" name=">>" tab_stop="false" tool_tip="Show more of My Favorites" top="15" width="50"> - More... + More ▼ </more_button> </favorites_bar> </layout_panel> diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index f021fdd6a16..be1ed234fc2 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -2051,6 +2051,8 @@ Returns a string with the requested data about the region <string name="Marketplace Error Unsellable Item">Error: This item can not be sold on the marketplace.</string> <string name="Marketplace Error Internal Import">Error: There was a problem with this item. Try again later.</string> + <string name="Open landmarks">Open landmarks</string> + <!-- use value="" because they have preceding spaces --> <string name="no_transfer" value=" (no transfer)" /> <string name="no_modify" value=" (no modify)" /> -- GitLab From 0a3628b66db2a89f5ae509c7e8836a51619f0bef Mon Sep 17 00:00:00 2001 From: Jonathan Yap <none@none> Date: Fri, 7 Oct 2011 14:35:54 -0400 Subject: [PATCH 128/256] STORM-1639 Duplicated XUI ID: floater_build_options.xml --- doc/contributions.txt | 1 + indra/newview/skins/default/xui/en/floater_build_options.xml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/contributions.txt b/doc/contributions.txt index bcdc5a63d21..064b1570897 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -575,6 +575,7 @@ Jonathan Yap STORM-1567 STORM-1572 STORM-1574 + STORM-1639 Kadah Coba STORM-1060 Jondan Lundquist diff --git a/indra/newview/skins/default/xui/en/floater_build_options.xml b/indra/newview/skins/default/xui/en/floater_build_options.xml index c247a12e7a1..afb79170431 100644 --- a/indra/newview/skins/default/xui/en/floater_build_options.xml +++ b/indra/newview/skins/default/xui/en/floater_build_options.xml @@ -37,7 +37,7 @@ layout="topleft" left="10" tool_tip="Grid opacity" - name="grid_opacity_label" + name="grid_mode_label" top_pad="30" width="123"> Mode -- GitLab From fbe563fdf44c1843de29e189f05203fa4ab20d61 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Fri, 7 Oct 2011 12:03:29 -0700 Subject: [PATCH 129/256] adjusted toolbar padding per spec --- .../skins/default/xui/en/panel_toolbar_view.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 44da813f618..31a26dab7fd 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -41,10 +41,10 @@ <toolbar follows="left|top|bottom" button_panel.bg_opaque_image="Rounded_Rect_Right" name="toolbar_left" - height="500" width="30" left="0" - top="0" + top="10" + bottom="-10" side="left" button_display_mode="icons_only"> </toolbar> @@ -63,10 +63,10 @@ button_panel.bg_opaque_image="Rounded_Rect_Left" follows="right|top|bottom" name="toolbar_right" - height="500" width="30" left="0" - top="0" + top="10" + bottom="-10" side="right" button_display_mode="icons_only"> </toolbar> @@ -83,8 +83,8 @@ button_panel.bg_opaque_image="Rounded_Rect_Top" name="toolbar_bottom" height="30" - width="1024" - left="0" + left="40" + right="-40" top="0" side="bottom" follows="left|right|bottom" -- GitLab From ca2f043ffeb0b6f7c0a5ea171411c45f6dcc0bf4 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Fri, 7 Oct 2011 12:09:16 -0700 Subject: [PATCH 130/256] moved stand/stop flying buttons to above bottom toolbar --- indra/newview/skins/default/xui/en/main_view.xml | 9 --------- .../skins/default/xui/en/panel_toolbar_view.xml | 14 +++++++++++++- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index cf566d7d232..57baa7cdd39 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -90,15 +90,6 @@ top="0" visible="false" width="1024"/> - <panel bottom="500" - follows="left|right|bottom" - height="25" - left="0" - mouse_opaque="false" - tab_stop="false" - name="stand_stop_flying_container" - visible="false" - width="500"/> </layout_panel> <!--<layout_panel auto_resize="false" min_height="33" diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 31a26dab7fd..03d45887d42 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -52,7 +52,19 @@ <layout_panel name="non_toolbar_panel" auto_resize="true" user_resize="false" - mouse_opaque="false"/> + mouse_opaque="false" + height="100" + width="100"> + <panel bottom="100" + follows="left|right|bottom" + height="25" + left="0" + mouse_opaque="false" + tab_stop="false" + name="stand_stop_flying_container" + visible="false" + width="100"/> + </layout_panel> <layout_panel name="right_toolbar_panel" auto_resize="false" user_resize="false" -- GitLab From 3ba9bd536b036fda89d467729870cfac0c5727b8 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 7 Oct 2011 12:20:06 -0700 Subject: [PATCH 131/256] * "search" floater now only minimized after teleport if it is visible to begin with. * LLAgent now keeps track of whether or not the agent can build in the current parcel. * Hooked up is_enabled_function to build and speak commands. --- indra/newview/app_settings/commands.xml | 4 +++ indra/newview/llagent.cpp | 43 ++++++++++++++++++++++++- indra/newview/llagent.h | 9 ++++++ 3 files changed, 55 insertions(+), 1 deletion(-) diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 8ee4b7d075b..a59642b2d81 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -37,6 +37,8 @@ tooltip_ref="Command_Build_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="build" + is_enabled_function="Agent.IsActionAllowed" + is_enabled_parameters="build" is_running_function="Floater.IsOpen" is_running_parameters="build" /> @@ -207,6 +209,8 @@ tooltip_ref="Command_Speak_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="speak" + is_enabled_function="Agent.IsActionAllowed" + is_enabled_parameters="speak" is_running_function="Floater.IsOpen" is_running_parameters="speak" /> diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index ba421269856..ed29ac79609 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -71,6 +71,7 @@ #include "lltoolpie.h" #include "lltoolmgr.h" #include "lltrans.h" +#include "lluictrl.h" #include "llurlentry.h" #include "llviewercontrol.h" #include "llviewerdisplay.h" @@ -152,6 +153,34 @@ bool handleSlowMotionAnimation(const LLSD& newvalue) return true; } +// static +void LLAgent::parcelChangedCallback() +{ + bool can_edit = LLToolMgr::getInstance()->canEdit(); + + gAgent.mCanEditParcel = can_edit; +} + +// static +bool LLAgent::isActionAllowed(const LLSD& sdname) +{ + bool retval = false; + + const std::string& param = sdname.asString(); + + if (param == "build") + { + retval = gAgent.canEditParcel(); + } + else if (param == "speak") + { + retval = true; + } + + return retval; +} + + // ************************************************************ // Enabled this definition to compile a 'hacked' viewer that // locally believes the end user has godlike powers. @@ -183,6 +212,7 @@ LLAgent::LLAgent() : mbTeleportKeepsLookAt(false), mAgentAccess(new LLAgentAccess(gSavedSettings)), + mCanEditParcel(false), mTeleportSourceSLURL(new LLSLURL), mTeleportState( TELEPORT_NONE ), mRegionp(NULL), @@ -246,6 +276,10 @@ LLAgent::LLAgent() : mListener.reset(new LLAgentListener(*this)); mMoveTimer.stop(); + + LLViewerParcelMgr::getInstance()->addAgentParcelChangedCallback(boost::bind(&LLAgent::parcelChangedCallback)); + + LLUICtrl::EnableCallbackRegistry::currentRegistrar().add("Agent.IsActionAllowed", boost::bind(&LLAgent::isActionAllowed, _2)); } // Requires gSavedSettings to be initialized. @@ -3361,7 +3395,14 @@ bool LLAgent::teleportCore(bool is_local) LLFloaterReg::hideInstance("region_info"); // minimize the Search floater (STORM-1474) - LLFloaterReg::getInstance("search")->setMinimized(TRUE); + { + LLFloater* instance = LLFloaterReg::getInstance("search"); + + if (instance && instance->getVisible()) + { + instance->setMinimized(TRUE); + } + } LLViewerParcelMgr::getInstance()->deselectLand(); LLViewerMediaFocus::getInstance()->clearFocus(); diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h index 5e23ced4243..1775a0235cc 100644 --- a/indra/newview/llagent.h +++ b/indra/newview/llagent.h @@ -575,6 +575,15 @@ class LLAgent : public LLOldEvents::LLObservable ** ** *******************************************************************************/ + // Build +public: + bool canEditParcel() const { return mCanEditParcel; } +private: + bool mCanEditParcel; + + static bool isActionAllowed(const LLSD& sdname); + static void parcelChangedCallback(); + /******************************************************************************** ** ** ** ACCESS -- GitLab From 3ce63ffea34daee10ea50a6ca9272d46f2715f05 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 7 Oct 2011 12:28:01 -0700 Subject: [PATCH 132/256] * Updated to no longer perform user_status marketplace query for DD. * Fixed setting to always display the inbox inventory panel. --- indra/newview/app_settings/settings.xml | 2 +- indra/newview/llviewermedia.cpp | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 092e69952cf..aa2ff646a86 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -4246,7 +4246,7 @@ <key>Type</key> <string>Boolean</string> <key>Value</key> - <integer>0</integer> + <integer>1</integer> </map> <key>InventoryDisplayOutbox</key> <map> diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 13dbc5e3863..41b4dc01e8d 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -1488,7 +1488,8 @@ void LLViewerMedia::setOpenIDCookie() new LLViewerMediaWebProfileResponder(raw_profile_url.getAuthority()), headers); - doOnetimeEarlyHTTPRequests(); + // FUI: No longer perform the user_status query + //doOnetimeEarlyHTTPRequests(); } } -- GitLab From 3a280f747dae737fd03bd4c2c886aa6231c0b703 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 7 Oct 2011 15:18:14 -0700 Subject: [PATCH 133/256] Button iconshg pullhg pullhg pull111 --- .../skins/default/textures/textures.xml | 46 +++++++++--------- .../textures/toolbar_icons/appearance.png | Bin 0 -> 1205 bytes .../textures/toolbar_icons/avatars.png | Bin 0 -> 1432 bytes .../default/textures/toolbar_icons/build.png | Bin 0 -> 1246 bytes .../default/textures/toolbar_icons/chat.png | Bin 0 -> 1277 bytes .../textures/toolbar_icons/destinations.png | Bin 0 -> 1297 bytes .../textures/toolbar_icons/gestures.png | Bin 0 -> 1675 bytes .../default/textures/toolbar_icons/howto.png | Bin 0 -> 1306 bytes .../textures/toolbar_icons/inventory.png | Bin 0 -> 1114 bytes .../default/textures/toolbar_icons/land.png | Bin 0 -> 1123 bytes .../default/textures/toolbar_icons/map.png | Bin 0 -> 1206 bytes .../textures/toolbar_icons/marketplace.png | Bin 0 -> 1311 bytes .../textures/toolbar_icons/mini_map.png | Bin 0 -> 1645 bytes .../default/textures/toolbar_icons/move.png | Bin 0 -> 1322 bytes .../textures/toolbar_icons/nearbyvoice.png | Bin 0 -> 1280 bytes .../default/textures/toolbar_icons/people.png | Bin 0 -> 1313 bytes .../default/textures/toolbar_icons/places.png | Bin 0 -> 1391 bytes .../textures/toolbar_icons/preferences.png | Bin 0 -> 1427 bytes .../textures/toolbar_icons/profile.png | Bin 0 -> 1180 bytes .../default/textures/toolbar_icons/search.png | Bin 0 -> 1406 bytes .../textures/toolbar_icons/snapshot.png | Bin 0 -> 1142 bytes .../default/textures/toolbar_icons/speak.png | Bin 0 -> 1253 bytes .../default/textures/toolbar_icons/view.png | Bin 0 -> 1618 bytes 23 files changed, 23 insertions(+), 23 deletions(-) create mode 100644 indra/newview/skins/default/textures/toolbar_icons/appearance.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/avatars.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/build.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/chat.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/destinations.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/gestures.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/howto.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/inventory.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/land.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/map.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/marketplace.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/mini_map.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/move.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/nearbyvoice.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/people.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/places.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/preferences.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/profile.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/search.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/snapshot.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/speak.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/view.png diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index a98ef58f501..0e4b354e0d6 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -125,29 +125,29 @@ with the same filename but different name <texture name="Checkbox_Press" file_name="widgets/Checkbox_Press.png" preload="true" /> <texture name="Check_Mark" file_name="icons/check_mark" preload="true" /> - <texture name="Command_AboutLand_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Appearance_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Avatar_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Build_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Chat_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Compass_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Destinations_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Gestures_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_HowTo_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Inventory_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Map_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Marketplace_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_MiniMap_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Move_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_People_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Places_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Preferences_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Profile_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Search_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Snapshot_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Speak_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_View_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Voice_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_AboutLand_Icon" file_name="toolbar_icons/land.png" preload="true" /> + <texture name="Command_Appearance_Icon" file_name="toolbar_icons/appearance.png" preload="true" /> + <texture name="Command_Avatar_Icon" file_name="toolbar_icons/avatars.png" preload="true" /> + <texture name="Command_Build_Icon" file_name="toolbar_icons/build.png" preload="true" /> + <texture name="Command_Chat_Icon" file_name="toolbar_icons/chat.png" preload="true" /> + <texture name="Command_Compass_Icon" file_name="toolbar_icons/land.png" preload="true" /> + <texture name="Command_Destinations_Icon" file_name="toolbar_icons/destinations.png" preload="true" /> + <texture name="Command_Gestures_Icon" file_name="toolbar_icons/gestures.png" preload="true" /> + <texture name="Command_HowTo_Icon" file_name="toolbar_icons/howto.png" preload="true" /> + <texture name="Command_Inventory_Icon" file_name="toolbar_icons/inventory.png" preload="true" /> + <texture name="Command_Map_Icon" file_name="toolbar_icons/map.png" preload="true" /> + <texture name="Command_Marketplace_Icon" file_name="toolbar_icons/marketplace.png" preload="true" /> + <texture name="Command_MiniMap_Icon" file_name="toolbar_icons/mini_map.png" preload="true" /> + <texture name="Command_Move_Icon" file_name="toolbar_icons/move.png" preload="true" /> + <texture name="Command_People_Icon" file_name="toolbar_icons/people.png" preload="true" /> + <texture name="Command_Places_Icon" file_name="toolbar_icons/places.png" preload="true" /> + <texture name="Command_Preferences_Icon" file_name="toolbar_icons/preferences.png" preload="true" /> + <texture name="Command_Profile_Icon" file_name="toolbar_icons/profile.png" preload="true" /> + <texture name="Command_Search_Icon" file_name="toolbar_icons/search.png" preload="true" /> + <texture name="Command_Snapshot_Icon" file_name="toolbar_icons/snapshot.png" preload="true" /> + <texture name="Command_Speak_Icon" file_name="toolbar_icons/speak.png" preload="true" /> + <texture name="Command_View_Icon" file_name="toolbar_icons/view.png" preload="true" /> + <texture name="Command_Voice_Icon" file_name="toolbar_icons/nearbyvoice.png" preload="true" /> <texture name="ComboButton_Disabled" file_name="widgets/ComboButton_Disabled.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> <texture name="ComboButton_Selected" file_name="widgets/ComboButton_Selected.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> diff --git a/indra/newview/skins/default/textures/toolbar_icons/appearance.png b/indra/newview/skins/default/textures/toolbar_icons/appearance.png new file mode 100644 index 0000000000000000000000000000000000000000..e6b13653885bb803839f1ececacd8f10a9b57fbe GIT binary patch literal 1205 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVix)zQt;#Kp<g(!|ox(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1PFwUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZns$CG!Lpb z1-Dxqaq86vIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@iwptMMf`Nfi)6>N<q~cc6 zpa1{unN1m#xAG)03f_u}dhv+Ofk&u@_sH&xPwq5Eh<2=J`dFy&k5P<uCr8^>6I0jl z^--q(#ROz-?EkMZ;XcC=GlQS){PKF0zrVeGJ=eNiuArnKgZ<P~#*HjD!VO$^m%rUq z{qfP!#s57LE-&+~UeG4GHfm?l)%*MF{~vsE4@jEno0qc%tdr_^dZ3Mg*WmZh&(FXA zk2s*t@uR`_ow-0rc<5PXsSrk^4*8Dvf7ONmFf{%6@k2~4!JwA?k@%Bi*XG;T*Rim% z=(M*^G!fYU>-+or)2HjlPZKIS`sC!~aK@GA4;WN$PCF}=J>>vflD9%wdzGj@gDXSG zT1g*!?n&DH&Y5*ewWY!{4<B(*HR$0zH0`%z<KM;!cC$p4LyS2T4ltPZ)VRAJS6=`s ONIYHrT-G@yGywn^*`HJZ literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/avatars.png b/indra/newview/skins/default/textures/toolbar_icons/avatars.png new file mode 100644 index 0000000000000000000000000000000000000000..8fa0600cee51365850e9f4c7d282e37432d15d73 GIT binary patch literal 1432 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi-+|<&=!otzj(!|lw(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1OqgUQklVEdbi=l3J8mmYU*Ll%J~r_Oewb7PpwWI=We! zxEcb@v&8Neh~5+|Zh`7G!l_pu=oo!a#3DsBObD2IKumbD1#;jCKQ#}S+KYh6x+qp6 zgn@yH$J50zq~g|^5N~hkK#_N6O!!qNu5fhfuGD#><aj1-;v11Wp3Om<^nNlgjpb~- z5GuYdXp;N`J)sM!3Xv%j+4DAW7Ah!Snwp_{G|+hF$uHK2efIdUU);uScWzGgxtiyt z=@!11<Noqjo|Te0zSe=Yfl(+XqWR(c<|tN?2Rw$Su6T+{h8E8Cdma%uWp~)>uXk<I z19imipWalX?0Km_$87hRUpE{YjTmmF82!w2XPM;uHqb0WK7Wb~%eCU2chmz#{JC2X zh2M}qAiZqu(h#lC-0ipBw?^r*|7I-MwD$AYD%<s|UNKMhmF_>jeX7^f*%!^?wWji| z(7kLg!*{gAYOh_c?)>xT7m0>$7M#GVsWH=MU#h3i%db`HA#41uWSEG(+;IPWePZ*j zyYK8mT^*km{ZyXY_-6Xc<x3~Xb{`d6W?bcEz^*65_rBrFt%n5_XNzwL-JI!@=KcQe z<BvD)d8AyKtnj!-L&Qtrx9IEgoiW@y*zQ)??DIeQBf~`Nw&2dYdD9g*vbILWHkb9e zDc=mz^nWtZBSqL-P~)}khSMQM4pQ6`1ou4u{`)+8^TG7_=f9tu#pA-aB1dUr#h!p? z8_qtwykREycgM}strMO_9yWW@u`APTcHK7X1hF00+jDD`1vq^EJ$wDXSwn)y>%U8j z?#%rxwbpU#%l|COn%S7goclPE<&jxEgL(mHOmyvjRtW}&<G(H+;3(Dxm6e{ZelF{r G5}E*$_zJE7 literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/build.png b/indra/newview/skins/default/textures/toolbar_icons/build.png new file mode 100644 index 0000000000000000000000000000000000000000..e21ab3f0e449443ef5ac93f9282098fe34a121fc GIT binary patch literal 1246 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi-+|<&=!ot<n(!|lw(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1O$kUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnrq&G!Lpb z1-DyVaO%|uIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@i-dz3sJOcw`kf)1dNX4x) zlh1p#1c)5_+9z;zRgyxJ(DcT$T2Wi2n-pG1-eOyO_<F|0?kxgM6B4=%qqd!HHB#cr zYq`kr|E`^@vx#VmnCy>2z2|d&->vS8n-+9x&7mDt4XHN;@95oNl4iY`X~y?=&6T$Y zWE&+uimUAo<jjc|Icn@0_)h0^)z{kkMhoA|CKpZKGX6ZfDQw!)*E-^^6X(CzW#O1{ zCT;U?rHdO>Jol-3?sB@DSSEbgWWKahlY)=T@yf-v(>h=7`j>J0+n%1kTnE4L9IjZz zyjJ8<Na)^&m33SPbJ*k)82t{YN_?-?bvhBXujBC#*{<bR7mD{x+?>63X2J6WYo5cE zs#DLuc)&kV=KSZp>|7u1pWV9xwAa0syY6O`wOTdy?_)N%oo=%kV=h^()?28+F|BtY zpWq?+d0{O()<tc5esNv%`mDbJipwfC>~(61ocPy%p*$lSL&nu(SK^=ZUI3Lip00i_ I>zopr0EN`Mg8%>k literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/chat.png b/indra/newview/skins/default/textures/toolbar_icons/chat.png new file mode 100644 index 0000000000000000000000000000000000000000..e0dbac495fcea3c9f804befcf18d44c1a306f184 GIT binary patch literal 1277 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi-+|<&=!qUjq(!|lw(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1PCvUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnqfVG!Lpb z1-Dxaaq86vIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@iu3~5Y$H2f?=;`7ZQgJKk z&;S4S%%%*&%u^Xo|F8ca;G35Aj5SEf;SBqcI}T^qrvBnQa=+n+u)zLb-@m^P7ipfr z!;l%YcKv$u&)+|9o;q#XwP(+tPft%y7G^s6|HsG2XP=*+FK<)(>&vlEPfvemzB-?g z>wc>=M@oanzE!7A?FiS8k7M}sU$}X`eRbKUHCs%iR!nElVq^9PCh=qI=iBcW$mZbr z|L5al+Y9WR4#qnqe*OOKT>t;q*WM842|T~A+`9GZC_~93!y?|shwl9H?^0NHJu?OZ ze$_z!o{sbdC10jrGC6YM#1Gz-3szpdOusU?l`r%={r~sZ`s|S-OI-RC59oZ8c%hU$ zq5B>q??={4(@z>aSGypfuJBiCj>5tjydByNKR5*qOGP^-H_i}VHeYa>*2IH%cbCsq zQBiqTR9vjhu(QA6hmL@K>#kpX0`CuBXnCR(QI<I0Jb#}4gum<^=}Nb|_%|mQN=*4Y oxA6vJN58;amKC8J7+EA3T3ipuPUpK61}cy|UHx3vIVCg!03m?NHUIzs literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/destinations.png b/indra/newview/skins/default/textures/toolbar_icons/destinations.png new file mode 100644 index 0000000000000000000000000000000000000000..e2325f083ad37e13fe97eaa2b0aa7d31117b38ae GIT binary patch literal 1297 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi$*~QY((ZbNx(!|lw(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1OnfUQklVEdbi=l3J8mmYU*Ll%J~r_Oewb7PlCin_9Y9 zSeoE852`l>w_6Nw>eUB2MjsThND&Pa0;V1i6P|2=9C*S{%>$<PB4DyMewu8+z`)q* z>EaktaVzQ1|Nr*PrVQMAoNjJzjtWcJk33S)6WGu4=(I!k{iLf5MS@mrOs!wOeEIbI z`}_I7KR-Wzet-S{e{~-o9BgfBYRXzLM=Q)Wg6CoEj)I3N6Q2FgU{KkXc6OGff+-8{ zsgox;|Ni~`{ri6lh7%ildU`mT*zWEqOt$yA3^d~!v!<oOG&ZRXJZg2{-`$<e!u#vj z*VoY#9>wpkt7QtZ@hHl<zrVhock1u1b^V;SA1o~_emHz-=a-LTN`5CEr1P)(|G&T5 z0<))1o!XtS=I@V>k2z0-1z1EzMX@nV?O@orVcD`}*U!(lw|9>HGHJo}hOXBMi66hb zyqtaX=+V-jKYyC`%h~Q?5oV9N=6*pzL5zv*jkL{1HZJSTBp#-R6aMdTGz#PtYHLi~ zB6XK#!Srtrg8DBjWZe4MHD%d9Ce7HGS2I7PyjXsq#*FhA<EH6NM!J4iD`Hp<EpiC| z%dqR2_%;T&V>&EdGp`@GvWIC!Ktp@`b4|O}9v6`uHit9(N7z4VGI1C%IK^KyHwX@X Q1S+IFUHx3vIVCg!07?zj0{{R3 literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/gestures.png b/indra/newview/skins/default/textures/toolbar_icons/gestures.png new file mode 100644 index 0000000000000000000000000000000000000000..2404bb4e25328057fa3b9f22490bceb0e6af0520 GIT binary patch literal 1675 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi$*~QY((ZbZ#(!|lw(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1OzjUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnqfYG!Lpb z1-DyFaO%|uIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@ijuK}6&%nU+-_yl0q~g|^ zDbXI617(hXzyG)Hdh8UbEl<t1U);lUCTjK?l?h%NRU6uaIyhQ1I9@F^obS}SK%qEO ze15HNn11iH6`qq;T((`4V75>}R{GtuZTsBK3=3^b9~7Uv`Tx(k?|<~3_h?P^+VcP6 zj3wD7v$c!aPE5PL!sv;LI!7~$1^0~ywl`LAT=abY{Wq)H<ddzLpD%qf;=NF6HFw(S zr)IS?=YQXI=iSWYvfUp)-?`(x=IfTNTW2Oz3tkcW-6e23YxCV#Z(qMYz9+)Y!NkO- z#&==BoV3k1%jfv1bI%T4tE=lT)amkj^TmtnxbNN#x-r+;q^WDdr1Q`3pGe)T(z8Ay zz|Y@*^Ovf>z6&(Px+QC#?~Yj)Jb&4;xY(C3B@+xJvhC)-zjU#!Eo#k8Pp*y$oSfpe z^3v7p=DPmwZdPH35*d3$#kyUY6n8l&teAc><=5J^Yhz5LVvo;@TjQ-*)^Rc=%Hv$e zg_9{pKOaY%>}uP2^I^fAuxyiOP75cPN$_|*GHpMbC&<-WIy>Vji*TGo@3FF$^$KP# z9@D&*CP`F2ur5*xS$*|eja~c%50#)tg06wnKSm36AH7t)>Q~#*q^ln)Y=S~{1--gl zl=zO#s<4q;c=;t~$Qv!Q;w@3RvQ7`oOwFSOXQ@s0Tb>~9ELZAVwwt;AiIuf==+p~` zk~aP@n6h)Zt(?%QrVuULrc2zfUcL6@izwO|GxPM*O&U&b8n0LXOV$wCa5Km1M&2xG z>BlK5PL34^Kl1XNFtnd|Hm!c*jE91~O0iGNf<zWyeP|G|_F7%b`p}gjif^PpSJ*sB zT6a0X(5zz1-o1OTJS@A<&(<8bV~+mc#jH$>`){T^n)KZDK+SWxrw5XsIQ^+gYHI#1 zqFA~5+cKrqtGPED8}k>28rAEDgd8lqz{>L><Eeswz}?=HCr=tze|uBqa{IsFhXc3& zDpg2HKYsl9JKu);yt(zt<*Dobyei)t7ZcON!^?LrjC*F>)9S4C0-AC~KPFGv`AYth s<GQBZ3e0uQ0zVkmg>St3u%CgMA+_+h(Bl8s>p<0mr>mdKI;Vst05Thp6#xJL literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/howto.png b/indra/newview/skins/default/textures/toolbar_icons/howto.png new file mode 100644 index 0000000000000000000000000000000000000000..8594d7111333ede852f8c3ea8dc533c205533b5d GIT binary patch literal 1306 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi$*~QY((ZbTz(!|lw(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1O?oUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnv1@G!Lpb z1-Dx)aO%|uIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@i7TN#sIRgV@pQnpsNX4zB zKmY&RGn+CfpHOgfa|=_jX7PQ;FR(e`;^t5C0t+M#oj7rT!6@VYzFH-Ro&Pg_7>jNE zuN}VbNlO&hm9q*g#XN0}_5c6H{(p3o+jaqyz%_=hn}2?Oe$F*1agKfczdy4kOgJ!c z?%dd^vuB^~OT5r8Z-1}phr%A9mao$0c`-aDJ;EC5>{}k_Ur}J2;OH^!bHkOzEeB_t z=f`<@dpF<w_U#*^g4Bu)O`V-DZ|f^0BqlyQAe0s_ae+D5%ggJteU^zIyVR%sYu4z< zwkvWpXm8kG`#X$(O4_T}ud|u0o>@<l*>zpQU{4#5g{7smBUi($BF<fGDawkhIXO8t zM^rq-Y~s{3Pd+XYR2B)y5twxPpWs_lL&J^rJNC3aTM=Kud+E|8CfE1dTe-#kfF^%q zj_Crr{O|hh+po*cVE&hQ_OAku$qFHft4G(YS<~Nm@$d8oe-VBeiv{l<Joq3bHHV|w z!H{>$$F!oNPghjEr`f2AsJ(jiD(3q7`1#Fe6$Cn%9xYumEmNVHfr*DfN643vdAGMc PsI>BQ^>bP0l+XkKM$*sz literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/inventory.png b/indra/newview/skins/default/textures/toolbar_icons/inventory.png new file mode 100644 index 0000000000000000000000000000000000000000..ab3191255e1f6f73176259ec9c6e55a9de190f44 GIT binary patch literal 1114 zcmaJ=U1-xl9FL3WoE2n(s0f}JxCd>LYuviV)=`^w7M3}>;s(kzO>SFU^ReW%X7fb{ z!bB8&sO(AiqCTmhf<*-p6%}#lKn1}EA5?tsn}H06UgkP|um&!7|Ks=j{Xg$$dt1wj znsqf4MXgBhlrm(m^;h*0^4~pqqLXZEak2|{SUtF)IEadCRt|x*q4c5*QncZLhbT%> zG^1y`aF^UFs+PejK8E!So3JS=+U(hi+K({Ep<dmLF`sVSVt}s2n9c^7m+b`V(|3+I zsAHrptB&-m5shiy4x*k&1Pp`~;2C+-6}=cUrz?`Pf6Xyq4ubn*%<rJO<aUs-90VFz zKB)4IJZOY06t;%L;VmG<L!RS991I0vSQJ7c&x84oA>JIVN6bj6d0)heF?|@@BF7a9 z1-2ltmeb3@NF?HGghD}r2)e^2R=l9;)|C|`<f@KtW8E@=uc+j#K^$X9q`y-z>;+lV zoi7t980RTA2U*@vsSK3m|3eL90qx=p`V;Rzh28A1jkpYQtwBd6jq9oNUD;y7K?=5< ztYziPRc!CGu;unyHb`_d09jFW)3@jFvMi=e7b~WU(o&2e3aqYcViLkI6eK<w*&2s1 z$?u3XC7O6C-q@6sl1&0Eb0te1G?0nQT<s4RR^<AlVA#a7gdBYcX(`7tz+B3rUNM$L zvZCHRSF0FHB2|&gkzhE#v41tXd_|_mKQ4?dF%||NnPl1>GS>a4cYP;MVlpkov);?x zkDouA=>}>QU8I(eJ$d#tzWU12Tuar=P}P@#HSfL_HwOaX((TX1&7E&&>#64#_FU^| z*>hvj*sGJ%q0#DzV^h};jxe!kbo~UIzxy^Y@pu}{Ja~QQz90yN_>q0oz1~Bu+rFJ? z{rvUKqj%uN;q`P)UL8MP+B+JkqUnQ59zwY6vijlM`CYg4b+cFDSg}|<nWamm(l`v% z*4F0go`LS}?o%6ArsxAJh2@Xxd3yZjr`h@q(Z#t&@7&oXR5eefHoY&6O{G8juRWb? KlP>PqKl%$VQg2-V literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/land.png b/indra/newview/skins/default/textures/toolbar_icons/land.png new file mode 100644 index 0000000000000000000000000000000000000000..89ea7604a4210ea76ca3fc680ff50da6eb984166 GIT binary patch literal 1123 zcmaJ=OK1~87~WbNv>K6GsrBNxLhCF0NSY>D6Vo)C)~H)c8Z;;EW_OY<?LOR{HruM8 z^`ZwKMFmmO;zjVFD0nF1<0Obs^q_?zf`S(Gpsi39#X4J?>cO}$JM$0U_x;Z~-rm;g zu3TM75QICqjZfjd%2|tC_`iGf<Q}}$qC^ID=s8pnO-RIKJqtln74t9!MY(_fV;Clg za#BfWP)69vNxDjj4u-N-1G5Pt9JLKm>V^npVP4T9<j1=YNTA3Oa*tnN1S1Z+lx+hh z>=<ZEO9S0fNG79OLD=T7fC`ZaY_&(TI6Fel>T>w(T+<|&g`n;T`8%kL&<^6d34xzt zJQCB$fJT;LeGP#?U^DPCEJHJ1n)Q0v0O#{^3<Ksq5_>b{9GBu-=6qo*LUti!a5P;g z6sUra(#<^0hC(4n!|U~6gvaXFkZ5}}Yh6)+hn8e222yklIErFc??n+3NBTPj)tHyn zthqAbg3-2U&@9C`DHVZ&@PDYP&Z8}qf`8)ur?8doHz1vYmfmYhxN*64jw^$Un@~i$ znb!55VinuFbfjBdx&h)HejtdFqB-^~UJ$sXW+73NV3LoJSb<U$nM<&2fc5bWiBLm~ zWfM$uC>Reie5^5;;1fX~TjcV()T=@b6}j>suD>ML83onAo_T00eNb*ObrsB}%qgW~ z@s`w^<I1ID@s;G#I2hV#>|c#8Ug7C+j`L%SjrqZc8lH9&kF~AcI)$IaSdx#W?eXl7 znVD$0pICD2>GNkB7Nic!7bf3Ko!jJFb(k8My0Y`r)Y~T$-1xW~>|@J>vvp%zve|6a z`n^ZXYVs4yhCR_qrOz;yUkt<TbuXB~Bas7NcAx&h)wwp7Ro7IwT+^>c4t-y;)xGih z_3($WoAjg8Uw5r-I_ZCZ;KcdNnW3TAFYimOwa@S6MD6n8(OlD;r4{ckEv#MOTeQYi zp0B^w*ExLqb;pi$=ghay6H!L`c{Lcjf9U&k&7IVAw7GKCWOdJ_rXTKOGgs?Z^bp`7 Xu{>%wy^=;&I?q0tXyb1*cMkpnF7tJJ literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/map.png b/indra/newview/skins/default/textures/toolbar_icons/map.png new file mode 100644 index 0000000000000000000000000000000000000000..ed1049b7db7cf2a8d10f54aabcacfb58205f9b89 GIT binary patch literal 1206 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi)(9qn_*u}!t(!|lw(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19ysMpQS(#*-+(Ez7jP*TV(0NU)5T9jFqn&MWJpQ`}&vQ;K- zx0vBH52`l>i(8=nFvqD^ALtl;P{bldG)xGXdO%EgvITPB2|qOtnA(eg$(rfIg?0u8 zMlDYl$B>F!Nq_$Tw`VqG;O@9^^<v{k*G7pW7g--gI>@jdNpJiiCGh{)qWR3LuC;J# zB|Lxh=+d3r*SG)rFi|=C$kC&!`f<CqY~QfqLVJI|zKBLV%Mm#TouZ$oL?={fii%F{ zxV3B7)ZgFU-)DN#ZOpJY?C-O)v%~*SY}h<G*t+NM<KzAL?tL<r6DLhFigb_O{pjiG z>C@8v=G%RLeSQ6W15<~OY;FG|7&bY2u>C72EXzB(OfE%0cw^(qQ>RWbU1<)sy~t(= z1dpetFA$P2&ESywBE8yCY}z#LPSc0{0t_qnf6)2#{r&y*`|JPD<4>8@*d?a0jU`Fo zzqC(p`|fJRs&5RhezTlWl2PD&-e@7*@pB>Dg5<gte=0S8GYjOiKeC!|)1bEJiq;JV aCLRWd^D?!&5{_K}l_Z|7elF{r5}E)pzNm`; literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/marketplace.png b/indra/newview/skins/default/textures/toolbar_icons/marketplace.png new file mode 100644 index 0000000000000000000000000000000000000000..62bad20be69817302e64799a0d12d19ca5a70ad3 GIT binary patch literal 1311 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsViy&C<-t+|k(8(!|lw(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1ObbUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnqfXG!Lpb z1-Dy_aO%|uIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@ij!Z2RU|?XJ?CIhdQgJKk z&;S4S%%%*&%u^Y-J1$(knCT!ioBc??hvAb?Q?+?`{!cv6BWdhax@Bvu<2_X|=Bv$_ z6Rt}vtf&eIn7}pRn&R#3fDLXTAtiPb_O(9?b$TEy@Lkb*vSi2of9i~X{{H@Mc_EwA zVEw@Z@e20}zrVZN=^(D^9Q#}RM4rnhJB=i%#u<_)O#b}(`r26Guh`veg$<#Bfrio^ z`<b=Yu^wYH)(MM@jFdb-*Zw@iqWb^;Vz(z9<q}R!O$|`0VZYWX#_i<rr#)i*+gn?+ zbuVOFy@*S0n6)qe^fcX_iHV8(0<K?i-mA*+NLo_L%<-qVoL$8SW{>>`r*67#ZDn<; z=HHi--|p|PS6FV`xaZlUH!+NpSgKyzcl`hS-2ba~__~^7PfZ1;DJwpzNZ_2r+TAVp z_s7S_e&ONQ4_;jzW_xgQU0q`h-;v{mJ2gI^pKrhagXQDv>*MXOuZ`X={9=~UjP4DR zCDO|luGzAMVZ{VaPd_QO?>|33?{~1Yu3>xHe1-92Rz{Y)|6lC|pRS%L>batIgMo>M Y;kVF_qp~>x7ePgqr>mdKI;Vst09#1f2mk;8 literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/mini_map.png b/indra/newview/skins/default/textures/toolbar_icons/mini_map.png new file mode 100644 index 0000000000000000000000000000000000000000..b66af223bb27c0b1f6a6de76d4009a740436b8f7 GIT binary patch literal 1645 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsViy&C<-t+|k_C(!|lw(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1OVZUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnv1?G!Lpb z1-DzwaO%|uIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@i-WE7Pl!1Zip{I*uNX4x+ zA@LrU14Zs#+2RxB)~T>LNojJg*y@eb4@iVKH(Pe6?MV5&a#6cX^-Dz!jzfpy)OfQb zSnOEsP9)STO>H~0<j9t1bM{#%`CK$hd-d;oZML*?P05G9?{+?~dA|Gkyy_VSv(Iwz zJqkZ~K5pZtO`9G^NHy>T%q%}H$yAqWG}A*fUPI)cxR#*CaivlVncls7_j=vv4ACkz zDo=7fn%~98%UjE=&tuJTuq3eOs({EuucfbM&YY?J;s2U->*gJ;@>v@uuXOSK_vIU0 z9)H}SG}o_ts@K!w2?j5gOK6|!Oi-S1GDT}b96t}w2@$T=y4u>mvVY<dEc*Swn3|iv zKB*Y4H$6TjZ{37HQ~fGz=FR)~@#FK|yLVp?xT+j;lKa1Lf=d7LFRV<B>eklQQAM$O z(<kn1a$1~g79DOh^NpEQ?^}z^vXYW5fy*!7jgO9=eZbU=^Omfv?Dso)-y>zd&5e0x zVE#SgPm9w+bB&EPiHQe$w~8*2RyeAV_4@t${k|9cRD=SL9mqUie0pZIh|}eJi*_8o zm|=3nT3=V!*Hvj^V)Ma*(yFRk&KKI=+a^Cb5SPSP-0gJw^y$8xJ1q+>WacSw+TQr` zvu68-^vRo9a(_uEr<ay~<u0BPonuxt;RyGiqsDTMpHDgb*}P-NjiB&wag8&cz!2d7 zC2{(Ev}*AT?Gyf5>c-s<%5rnxUR<_p*|b%wRtfHnyWc9g=t8Ljd-bNxn>R~u<e#A! z>FdjT{?4%l%evQZ+q(7ZjTEC;H|O7b;@11FzB=#VNxL`uKS{CVoVywl9eq2q$bgIg zY+AAQx-89a94&2Ar%nx*>UC?nK5NVEw_y`KN*MonvnoEA;-WN>pO5cb<LAhwL7fvn z3)Ka#6evv3$$7KxYL+eg?X4R(Ch7~GR21uu+-RjM)_v$@$*e?auF0`lE;cjf&wqcg z_k8iZZ(JLTjvSehC%lvOf1OhcTgAqH4@UFva!$Mt9sh3pE1bX(ezNJW_!9FNPzB)W L>gTe~DWM4f(HVN$ literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/move.png b/indra/newview/skins/default/textures/toolbar_icons/move.png new file mode 100644 index 0000000000000000000000000000000000000000..585411078233ed9a823ef9e5cee535e65a8e9bea GIT binary patch literal 1322 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi-(Ztxv(8$8o(!|No(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1O_pUQklVEdbi=l3J8mmYU*Ll%J~r_Oewb7Pq*$S(-VS zJA%w}#O@Y|-V`iuf$DX{saGH97=2L0B1JSz2$*_6On9;da^ML+H4m8Di-5_R(a38q z0|VncPZ!6Kid#v4{{OdUHf7*8YM(e!aJp5U!avR<_6bZc_!5*38JS8;&t`IUJ*u;! z@do3G6p3SOVe8{!xu)#?_xO0f_us#Nuig04`1O%t2Xn_$|2Y<h!YKkG){l)kSi6-S z*j!GZKHdG}=g&^Y!@l3Ht`2{{bH|Q#pFe$ir+O<pFE4M}`}_OtyPt4v*gk3U<kO9p z9=TNK-rZIDR^hCE+@6S@oEx8?pYLyPZQaT|RfJ)q<}OExjcGYKYd$<bKY#x1?fLcm z!oPoie=p3*$=NtnJDiQdbm{(@pO;u;<&}#RnlA}Xi2wcOrm>uwnws^5v<W}fMsH`j zdgaQFMju;+X^f9@9crc}d@(mMxpH6+3zvRv?cao&#BS|hKi}WoT`rJvVt@VrbB!-1 ztNS;_BsfoUT)1%IM}@OM!F>!%rZzm>%zfnk#^mEdK|GJxZ}MIG@%Q(4wiRrSGsHXl z>P)V495UHk`@2lnW6!EpS~E48*TwJOCw9}+W0sKPqvd{cqx_~gI`DY4Jf9HD%)FrC v|JT>o-D21hmnhprdUCFMCb#Vqhr$7dnv`$<T9jE@K&6+btDnm{r-UW|`v>H3 literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/nearbyvoice.png b/indra/newview/skins/default/textures/toolbar_icons/nearbyvoice.png new file mode 100644 index 0000000000000000000000000000000000000000..5bdcb22aa5e7698eada073b07bf7f15ab5452b9b GIT binary patch literal 1280 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi%(Am|=(b(D5(!|No(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19ysMiS?F%||+t~m9Al0t3)&}Ns^qRg_?6t|-MTm`U~tuk@D z#Sy1@P`xQw+yeE76HdMQK*#8VA{Hs4VM4&v17gCHEsz6G_^Elo)LsNk)<?vbxiBy= z0z<$tq~cc6pa1{unN1mlnWr*b<w;_w>~(oB$y~@K(7o`5dO`sIt^?=hT374E?Ws^! zQ(HDCqPeQ!(ffrtiV9^cNfYhs|Cux&>6f>!a|{Rwm^Q&N!8w5~G&Gd;%v|g54k;-q zasfS$KR-YJy#CLRkIPoC)|Q^_XluY@%#tP$kgV5H``|#Mv4h_2zrVjbvhBOSr}DEF zPxA!R#nLQGTJP<tEEavz)z-%L^7M55+4cYb{k^(2di%M<UxY>f_Vo0;pJ!89G=1*e zxi`<8>G^)Jnf?9#+TY)rfuQ$F$&qjG?pn(UILF2P`@Yz{-{RlDzo$<eIpPx46cP}? z!II><;F*0?RMh&$#AS!ho;`c+(4kM9hZPolW=)j1yCC^^U#q5;7T2FYKa14^{;?Yy z7c+>9i)$O?^a=Ug%xIM5KJvODA~Z76l0m}ldt;j&`zPHFubUp6LVW9DcW;wX`S<np w_0%OPf;ny189wqUTyrq%D7-M$oq>^!K`=Eu=Q__FZcv%z>FVdQ&MBb@0BGmN?f?J) literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/people.png b/indra/newview/skins/default/textures/toolbar_icons/people.png new file mode 100644 index 0000000000000000000000000000000000000000..7228ae8e2f17985e31bc955d3725f168f103067e GIT binary patch literal 1313 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi-(Ztxv(8$@<(!|No(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1OecUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnrq%G!Lpb z1-DzAaO%|uIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@i&JV8UVPIgK>gnPbQgJKk z&;S4S%%%*=oLQm^ey|J7cbLXt&E_I-$U$M^v}xNCuC5AYPdh(vFY}4-2LhaX9D&KN z_5Z{J-`?Kte{9OZ!PBsVsf#z^k+@!r#UFXzhCQ8E6%+(synA==gDlst-@n6|k6Jhs z^~>Au>&v@vZmzZR1}PC~Y3ar_0x2^#Z{Doy@$Tj2<>423tA2i3Djn8*ZjR+<hS-nO zbfc{tisbF<?);P&=1`D6(xSgFH8s^$LQ+yRY+cMw!N@;1H>b~Tc*N$ghEcd#T17+S z2kTu0Tid<b4!1=br2eFxnQ`&s_xJam`{itJ?aH~i>HmQx7Xre=!&#?HZcta#;5+cB zX2zZW%I<x0rca*ynqjH(lY*X(ju&lD`4}@w%xivpcxd8t@o+o;_J$)3J04tLAK(7} zF~j?Nd#m}4I*y(^sagH{+FDZ?hYOc4Zx+<pA+=(nZ%oV`wiD~>|Nr~TE-ybnETQDI z!)6XH2DVOy8H_!*p1)Wr_JlWOWAygCyX}>N><I_dJ9YPbdps%mkAID2)Al72HEfJ5 Z5)1+=^;Ht81q(rimZz(q%Q~loCIE;T(=`A9 literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/places.png b/indra/newview/skins/default/textures/toolbar_icons/places.png new file mode 100644 index 0000000000000000000000000000000000000000..97d9fa066c430580aa5b92a9a45c2d75e2668752 GIT binary patch literal 1391 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVix%+bWs*vZn>(!|No(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1O?oUQklVEdbi=l3J8mmYU*Ll%J~r_Oewb7PlBXnixA7 z8XMs>52`l>w_7Z5>eUB2MjsThND&Pa0;V1i6P|2=9C*S{%>$<PB4D!KyT|l40|Vn@ zPZ!6Kid#v4{{OdUHf0btJJ`xCmNLht^3#QWd3(86uU>q3c!_69^XAA4s^{n1+pC-C z=t!J+^Zwl{E2brX8>N;kxOCpZOD}$B5$oZQ3D*;T{QdoXa@?MZk1wvQ4Cb0`p8sw~ z`TKjZ3s&!IH0ZER{`KXm)va5+4sUpa_?JAan#gPP<Lm3|?LU50tbcxf{`x=t%yTU2 z{+L`bh>c<My}dR2`m*r#aZCTGGo+oJwN)&`Lv54eiN?3P5)L+HD=8`cY)R5kP&mNm z(aB_Jye&d_Z}szY)oyNXzD{hM+}zzog@qd*b^Uwq;Ji=ic9Zd014BcmkJ<{K_05{& zcI?=-@87SluWg;!_SXIVb#=OaJm2H4f3M!(-*3JqVq=ow!UOmA)&5qgxv0-_#9YmP zUQYGfTU!_J;Hmui>8aZSMj3~kuG0zvWvq{k9l|3UV%U5ZO#ct`yR61HUJv=oA0HAO zLsFK!{#E)qjFI=ElUawL_cBwqN3I8s>@5EK>+AEVS+i$0Zd{U=lcbcBoV@tK%a<#8 zr)WQZ{5YEJRQB}5ovdeF4bJc%;dIy|elyy-{GCm~lM{lTGpuUj4yP%|SXf(bWi|~@ zFzyfxuVg7HW4>_n>xm@$#sf!g>|pj>!T8KHhD|W|mZ4HH0}~Geg9z8;qS$50pd!%I L)z4*}Q$iB}&in<m literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/preferences.png b/indra/newview/skins/default/textures/toolbar_icons/preferences.png new file mode 100644 index 0000000000000000000000000000000000000000..df80d926b583a0fe3b25041f0ea024dc8ace6bb6 GIT binary patch literal 1427 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi-(Ztxv(AdD$(!|No(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1O<nUQklVEdbi=l3J8mmYU*Ll%J~r_OewbPPZ7j;xrGc zHwC9#jNEYQ)dxC89~7}j5e*XprXCOzo@{{}c*0N31E%&OV6u+Lv3|qAz{Kw9;uunK zE9uYw|MtwG44iD7OodDW#Y}}f0^J9`G@orS{E(<1psTC<bw};*Z_KKyOV6ziUw?0& zL1L43Kn%ySwoZxVE-o%hxHveLtXi?+#QnY1+kL#fy;(huS5;T1FRJJj`1kYk^FW2a z|9^jfzrHc#`uh0&_nLn={L*n0H#9P0W8Ns+AuA`hkJ%;v{=UB|0Xe_d#qK`maCCY? zsi1%g^F~d9&-3kSfBo52`g&W#p@(N@o0mK2Rs8<;_V?A*;qn##|NUiO!Cjun`vz!m z{Cum@S7O1zm;dEEFqk}8yLa#3CCcu7F+YBMe0=!7#{-~4I32vWk1Aw@c+It~F8f|D z^We$J$+sKzEVh-ukMmdf&LiNhY~93~(lvj6JfF4oZWU?i**5D89zS{%)Ysj8o4?1F zSzTRScn#;L`}^ysPs{~*ieJH0xa0Q1oRkf$*-_0#74LvjT+2RPSsA=Jk!wMY!H&w$ z&pa30&AGvo)a15R-r&QH#C3bh-_K(TI3w7x*D+^?g~45pQzuTOJUWvN^y;nlH)RXj z?k~u=w>kZMrhv5XJ0rXGmW&%ec8lxxJ?z?gykEX~Pae;aR~CEOSbjJBcr(*Decpqv zt;_xA*Rif-d^8&<e)zx*=1O2ZuCDp}>no>0e=XZ4(MAjQj{b+I`+G8;3QBAEEPRut jaE<9vMv@mt0|PU|3y$)Q8WZHFfQm^^S3j3^P6<r_-XIgh literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/profile.png b/indra/newview/skins/default/textures/toolbar_icons/profile.png new file mode 100644 index 0000000000000000000000000000000000000000..32fe2bf8ace6f41fef05446d9ea0a14aa4afc05b GIT binary patch literal 1180 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVix%+bWs*vZA!(!|No(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1P3sUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnrq$G!Lpb z1-DzAaq86vIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@i{_5=dlYxOzz|+Msq~cc6 zpa1{unN1mlnWr*b<w;@`T&JgJs2{f{K=HbOVB*8=JO>O`{qSeBDE{@uQa1N3+XTn^ z|AIM^7A;n9IMgA0b7uOvIhNJ$-b5NI1PgWa3p_SuWMnj(a^T<3&(FV4dh|%w?bxyP zjd#QyVjRNO)c*bT_4e-a_YyUG_g-D-bpNCg#|sz5?Ck7|=jYp3JG9!IFzV>+?A*9w z$BmZ$`SqG18q-pm_tpITB<bNB9vb@f=9bFO(kluy1oYe5#0%LXqawbr{`mQnY3BNg zPu?>W$_Qi&Ox@(zFm>wGkMH(YZ{1~OCDC={=+T?s-`w@Spb&7TV4ijTzP>v;hfbg7 rKBu%)MD2~`f<+yL7pA&1FtRZ$nI;^`QGe7LR9<+x`njxgN@xNA0G^t> literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/search.png b/indra/newview/skins/default/textures/toolbar_icons/search.png new file mode 100644 index 0000000000000000000000000000000000000000..bcb11e950d100f3cb33229367754ed0a5f7e9ada GIT binary patch literal 1406 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVix%+bWs*xAt4(!|No(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1OnfUQklVEdbi=l3J8mmYU*Ll%J~r_OewbPPaI@;WQ7b zHwCv_3~=hz2RcR{6tPGV4HE*U9uO0rY=Inj!cWZuruHIWvex=Ir<#F*@sp>EV@SoV zq$?M%r8zKhIppviDRMZ&d*pq?4?Y2T)<^w35eJ@XhaWKEo^qb$$UKJ}DIp;xc`>=X zg$oua96x#T<kyFX+sn=K@9Zdja$@4EN0TPi^6X$Z;p&i+nUQdz;?a+fm;V<w*w_F2 zQ&sT4&St{N2Hs{KL8eEqN?%`l>vE}_x#M+%#oO1{*I%yx|L-re%8&2w@85Uu;-2oP z$NBN&WCt@R-kJPIa!zzTJ3Bl5_rJftw=0~C-(NTPaB9GneYL;&oOvtxj?B3sVrFi7 z)}?5p-Yy%B2{ThuQ;sZj+$P<zKbiaVRPFG4KRH<f)*0@yIk8~-86BN73g`CM|F26n zb_sWP7nvf{@Tq>GQ_c;ZUEdxZ?KW57yYOF6L41+qA+9BRa&vNA98WT8)d<ga<Ucph zb~p2phYuc1u&(;@B56UIslqg-q}l}qR`T-my;4J`nuqXfG|IV~cL>hfWNDUvvq)qH zN3X*ipzrSA*jD;_XZrd1^%t*Q65{3H*&-|?B-HlmBjcmB5yC1OSKi;*sr=>R<Kx}` zIUBsE>zzFy`u7CWf-k{bJ{A2Jzs#@v^W!5=K*D1qp1TSuI_yV|Ih^4Uwk~}Y!l-xn zgJg@SvUJ(kS64Grq+9YN1Vkq03UJ)tS8FYrA)!&fkLjc2!DSQqdls(zW8u)i$guBT VZK+tNjufaw^mO%eS?83{1OTg_2l)U1 literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/snapshot.png b/indra/newview/skins/default/textures/toolbar_icons/snapshot.png new file mode 100644 index 0000000000000000000000000000000000000000..d26da9b1d2c78f56bd473c3fad6a891734cb0036 GIT binary patch literal 1142 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi%(Am|=(b&Y*(!|No(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1P0rUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnqfWG!Lpb z1-Dy_aq86vIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@ie(k<tKQK$Y@^o<wskoK& z=l_3uW>W@X=BW%<d6F((yTo*HjYCYY+I5FXjt+B99Y3yK|K|v&Nb>?Q0d6@1o9b_G zPS$fBJlxJNZ}4w<(3Xt~l}iPWiHVD+-``$e&pKtdT*vH&A4~$#OoieCw-aWxoIhz_ z_vZ#vk%3g&zn`C<OO|ZqVcE03>8L{6`}_N6FVa3TyRYHi-zHxhL&b-do}5M+8XBUr zcPyF|q;u}TF}6v;K|+n|s(4b~F+Wmw(BVDuZMIpypHsNE!7q8+sxJlC&dmJ1E$8N^ z8<#H!TdA5}jf;$oWQ|^v`_td@#yN|cZoviyW`=BY*QpHKHdTR20#8>zmvv4FO#mbB Bf?ogt literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/speak.png b/indra/newview/skins/default/textures/toolbar_icons/speak.png new file mode 100644 index 0000000000000000000000000000000000000000..10cd354c5c571d590bde78888ab06a7d753072a5 GIT binary patch literal 1253 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi%(Am|=(b&S((!|No(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1O_pUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnv1>G!Lpb z1-Dzwaq86vIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@iUZU;smw|yX($mE;q~cc6 zpa1{unN1nE^*G%W7=qLs)^I*z`e>?P_gQ}WS%t!!8T04g&$zxWHhO>k|9>x!_shpS z<k;ES700|Pl-g4K{M^$27Y{r<+<tvh&V}9O@8>O${_^kd@AMs4j306-hlPdl^)RF+ zCLUfoud~ssp^S|&`L006M^$by1v90L3)j|0XYbjwXUWVNGyWxNuyyU+vExMU{e64; z60Cmx{r&y>y?gh*<lo;X>)3C);Ks+9#_7-g{`~x0{a^&MmQ`|QrexWd7Z)=fSnVe) zshew4S+uIL(UIZ8reKM<W0M}~HYTzE{`D)(w&ur&n8?VP%on_UCae3~sVFHe3J(dH z!o#Cny<k^x3lCEx%Yq+Yo}ZsDe{*m3ckT%dvuDrVv1G{--U&0Aj-2i|m+i3T-|Oq^ z<CZ97F($cA3O2j&^Np00RR4q@{S7nt)13}IUbN`{j0GaotK70ga~K%e82I-uGfqhP RQU@w{JYD@<);T3K0RYtX!<GO5 literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/view.png b/indra/newview/skins/default/textures/toolbar_icons/view.png new file mode 100644 index 0000000000000000000000000000000000000000..5425af87e0e2624a0d4e35c16156a53318ae8364 GIT binary patch literal 1618 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVgY7`PS&&W5g*CQgQit_Dt)7S0w1E{<jvt}d<? z#)dGxF8Rr&xv6<2Fuf@Vy+%0of|5dR0nlcb)S}F?)D*X({9FaFm#s2!y2Z&2r+HAl zDY)HYfK#tN&@uX;h((HMm=G}afSB-P3*^8Perg^twHE=C_0_OF;tUK-$2?seLn>|^ z35oXzE)=<^!xrh^s_;d@=|c1G$6^v~8f)ZuN`5YSq#$bEw6I_4g+t4sl>uoH0z2i@ z%v{)XPlO6sNo|dKdhD3ldye9rYjfZIe|D$f-oE<<1y`$ttv($5d+z<5;`5gK-^ZEx zUS2bKgV8n4o0)RctFIhqRB7PZ!SSJi_W-*N(`ScA5voQ}oOfo;QkxjC!_dqu?ep)y z*}He|7Wq@MFyKbd(WJ6ox8yxx@$cR5$fm^=+V&{T-L!9?i4My@ztvamrj(UNK3u-O z`{?UcA3rYFu;6A{wtV^Zhw)4n?OX>h8W`EgI0gvq5wFS1D!R03^XAQNR;QkSzS7;w z+TC!zUbfdw|KQeFC04TGE{nEz*oNw~v>O-gtPxIbdANf|FFG>vXXiPdpp_+4OH?v* z|BCe=pPpkjTYfRWT*<;O0ayB?8Xq`r6iAzQ<KDf#hK|l;r=`E9dM&+oCnwKLve)gB zK<?J4m(fC<mNI<%>rIS>6W_RP-LvP-q0>urwnoi8s3bp~&sNUAaZA40?964gTO+>7 z@*U^Bf9;xG@yU}ZpOyx#?Ad7Gv~BO++9f3uPCw;(G09!t@J)XGg8lm&=NNNu-MaOq z(M+FBJTCQH*X0RRtx_vGk+yl?s#UAfJ$@XT!YP*Lzx48Ak6*E$6w|XZGCU&U;_9Y{ ztaS;Wcx{@Pb=q2n{l0-y_^p45aJ8P86x8W*=*rEDAGsb^9u$4Dtl_uS+&tmASu?FB zu`)5%2PZ2FMl=72F_0+H66rFv>z{u3ZEg9^7%>&yM|;GKHoX4&t9S3-y`e{n_&9}j zu-|p5uC5Z|xF*5V=Go(EHm}*lZnn=d^&PJ&-x#-^{%|m#;oQ_uH{JKuY5rJq`|UTI z@YUy?O2qfX<*VxG32-poy?eJ(ZhrjPw9QjH=Kg)Yy{zH$0frBZH>`G;ESlSYKqKJe k^f}40fB*l#D9^~oz<V#d;)5t(6R4E;boFyt=akR{0R7)@a{vGU literal 0 HcmV?d00001 -- GitLab From feabe29f356ca2bae5275a5cb0d772614166d2c5 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Fri, 7 Oct 2011 18:30:57 -0700 Subject: [PATCH 134/256] EXP-1300 : Completed the drawing of drop zones on toolbars when dragging tools --- indra/llui/lltoolbar.cpp | 4 ++ indra/llui/lltoolbar.h | 6 +- indra/newview/llfloatertoybox.cpp | 6 +- indra/newview/lltoolbarview.cpp | 69 ++++++++++--------- indra/newview/lltoolbarview.h | 7 +- indra/newview/skins/default/colors.xml | 4 ++ .../default/xui/en/panel_toolbar_view.xml | 12 ++-- .../skins/default/xui/en/widgets/toolbar.xml | 1 + 8 files changed, 63 insertions(+), 46 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 1f5fa5f361e..5f7afb07fc0 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -86,6 +86,7 @@ LLToolBar::Params::Params() pad_right("pad_right"), pad_bottom("pad_bottom"), pad_between("pad_between"), + min_girth("min_girth"), button_panel("button_panel") {} @@ -103,6 +104,7 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p) mPadTop(p.pad_top), mPadBottom(p.pad_bottom), mPadBetween(p.pad_between), + mMinGirth(p.min_girth), mPopupMenuHandle(), mStartDragItemCallback(NULL), mHandleDragItemCallback(NULL), @@ -517,6 +519,8 @@ void LLToolBar::updateLayoutAsNeeded() S32 total_girth = cur_row // current row position... + max_row_girth // ...incremented by size of final row... + girth_pad_end; // ...plus padding reserved on end + total_girth = llmax(total_girth,mMinGirth); + max_row_length = llmax(max_row_length, row_running_length - mPadBetween + row_pad_end); resizeButtonsInRow(buttons_in_row, max_row_girth); diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 4fac0811304..be0589f3c67 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -141,7 +141,8 @@ class LLToolBar pad_top, pad_right, pad_bottom, - pad_between; + pad_between, + min_girth; // get rid of this Multiple<LLCommandId::Params> commands; @@ -219,7 +220,8 @@ class LLToolBar mPadRight, mPadTop, mPadBottom, - mPadBetween; + mPadBetween, + mMinGirth; LLToolBarButton::Params mButtonParams[LLToolBarEnums::BTNTYPE_COUNT]; diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp index 58bb417b71f..609041803a4 100644 --- a/indra/newview/llfloatertoybox.cpp +++ b/indra/newview/llfloatertoybox.cpp @@ -62,9 +62,9 @@ BOOL LLFloaterToybox::postBuild() mBtnRestoreDefaults = getChild<LLButton>("btn_restore_defaults"); mToolBar = getChild<LLToolBar>("toybox_toolbar"); - mToolBar->setStartDragCallback(boost::bind(LLToolBarView::startDragItem,_1,_2,_3)); - mToolBar->setHandleDragCallback(boost::bind(LLToolBarView::handleDragItem,_1,_2,_3,_4)); - mToolBar->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3,_4)); + mToolBar->setStartDragCallback(boost::bind(LLToolBarView::startDragTool,_1,_2,_3)); + mToolBar->setHandleDragCallback(boost::bind(LLToolBarView::handleDragTool,_1,_2,_3,_4)); + mToolBar->setHandleDropCallback(boost::bind(LLToolBarView::handleDropTool,_1,_2,_3,_4)); LLCommandManager& cmdMgr = LLCommandManager::instance(); diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 95ed603bbfb..8c7dc53af08 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -43,6 +43,11 @@ LLToolBarView* gToolBarView = NULL; static LLDefaultChildRegistry::Register<LLToolBarView> r("toolbar_view"); bool LLToolBarView::sDragStarted = false; +bool isToolDragged() +{ + return (LLToolDragAndDrop::getInstance()->getSource() == LLToolDragAndDrop::SOURCE_VIEWER); +} + LLToolBarView::Toolbar::Toolbar() : button_display_mode("button_display_mode"), commands("command") @@ -80,17 +85,17 @@ BOOL LLToolBarView::postBuild() mToolbarRight = getChild<LLToolBar>("toolbar_right"); mToolbarBottom = getChild<LLToolBar>("toolbar_bottom"); - mToolbarLeft->setStartDragCallback(boost::bind(LLToolBarView::startDragItem,_1,_2,_3)); - mToolbarLeft->setHandleDragCallback(boost::bind(LLToolBarView::handleDragItem,_1,_2,_3,_4)); - mToolbarLeft->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3,_4)); + mToolbarLeft->setStartDragCallback(boost::bind(LLToolBarView::startDragTool,_1,_2,_3)); + mToolbarLeft->setHandleDragCallback(boost::bind(LLToolBarView::handleDragTool,_1,_2,_3,_4)); + mToolbarLeft->setHandleDropCallback(boost::bind(LLToolBarView::handleDropTool,_1,_2,_3,_4)); - mToolbarRight->setStartDragCallback(boost::bind(LLToolBarView::startDragItem,_1,_2,_3)); - mToolbarRight->setHandleDragCallback(boost::bind(LLToolBarView::handleDragItem,_1,_2,_3,_4)); - mToolbarRight->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3,_4)); + mToolbarRight->setStartDragCallback(boost::bind(LLToolBarView::startDragTool,_1,_2,_3)); + mToolbarRight->setHandleDragCallback(boost::bind(LLToolBarView::handleDragTool,_1,_2,_3,_4)); + mToolbarRight->setHandleDropCallback(boost::bind(LLToolBarView::handleDropTool,_1,_2,_3,_4)); - mToolbarBottom->setStartDragCallback(boost::bind(LLToolBarView::startDragItem,_1,_2,_3)); - mToolbarBottom->setHandleDragCallback(boost::bind(LLToolBarView::handleDragItem,_1,_2,_3,_4)); - mToolbarBottom->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3,_4)); + mToolbarBottom->setStartDragCallback(boost::bind(LLToolBarView::startDragTool,_1,_2,_3)); + mToolbarBottom->setHandleDragCallback(boost::bind(LLToolBarView::handleDragTool,_1,_2,_3,_4)); + mToolbarBottom->setHandleDropCallback(boost::bind(LLToolBarView::handleDropTool,_1,_2,_3,_4)); return TRUE; } @@ -306,37 +311,34 @@ void LLToolBarView::draw() mToolbarRight->localRectToOtherView(mToolbarRight->getLocalRect(), &right_rect, this); } - // Debug draw - LLColor4 back_color = LLColor4::blue; - LLColor4 back_color_vert = LLColor4::red; - LLColor4 back_color_hori = LLColor4::yellow; - back_color[VALPHA] = 0.5f; - back_color_hori[VALPHA] = 0.5f; - back_color_vert[VALPHA] = 0.5f; - //gl_rect_2d(getLocalRect(), back_color, TRUE); - //gl_rect_2d(bottom_rect, back_color_hori, TRUE); - //gl_rect_2d(left_rect, back_color_vert, TRUE); - //gl_rect_2d(right_rect, back_color_vert, TRUE); + // Draw drop zones if drop of a tool is active + if (isToolDragged()) + { + LLColor4 drop_color = LLUIColorTable::instance().getColor( "ToolbarDropZoneColor" ); + gl_rect_2d(bottom_rect, drop_color, TRUE); + gl_rect_2d(left_rect, drop_color, TRUE); + gl_rect_2d(right_rect, drop_color, TRUE); + } LLUICtrl::draw(); } // ---------------------------------------- -// Drag and Drop hacks (under construction) +// Drag and Drop Handling // ---------------------------------------- -void LLToolBarView::startDragItem( S32 x, S32 y, const LLUUID& uuid) +void LLToolBarView::startDragTool( S32 x, S32 y, const LLUUID& uuid) { - //llinfos << "Merov debug: startDragItem() : x = " << x << ", y = " << y << llendl; + //llinfos << "Merov debug: startDragTool() : x = " << x << ", y = " << y << llendl; LLToolDragAndDrop::getInstance()->setDragStart( x, y ); sDragStarted = false; } -BOOL LLToolBarView::handleDragItem( S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type) +BOOL LLToolBarView::handleDragTool( S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type) { -// llinfos << "Merov debug: handleDragItem() : x = " << x << ", y = " << y << ", uuid = " << uuid << llendl; +// llinfos << "Merov debug: handleDragTool() : x = " << x << ", y = " << y << ", uuid = " << uuid << llendl; if (LLToolDragAndDrop::getInstance()->isOverThreshold( x, y )) { if (!sDragStarted) @@ -348,7 +350,7 @@ BOOL LLToolBarView::handleDragItem( S32 x, S32 y, const LLUUID& uuid, LLAssetTyp gClipboard.setSourceObject(uuid,LLAssetType::AT_WIDGET); LLToolDragAndDrop::ESource src = LLToolDragAndDrop::SOURCE_VIEWER; LLUUID srcID; - //llinfos << "Merov debug: handleDragItem() : beginMultiDrag()" << llendl; + //llinfos << "Merov debug: handleDragTool() : beginMultiDrag()" << llendl; LLToolDragAndDrop::getInstance()->beginMultiDrag(types, cargo_ids, src, srcID); sDragStarted = true; return TRUE; @@ -362,15 +364,15 @@ BOOL LLToolBarView::handleDragItem( S32 x, S32 y, const LLUUID& uuid, LLAssetTyp return FALSE; } -BOOL LLToolBarView::handleDrop( void* cargo_data, S32 x, S32 y, LLToolBar* toolbar) +BOOL LLToolBarView::handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* toolbar) { LLInventoryItem* inv_item = (LLInventoryItem*)cargo_data; - //llinfos << "Merov debug : handleDrop. Drop " << inv_item->getUUID() << " named " << inv_item->getName() << " of type " << inv_item->getType() << llendl; - + //llinfos << "Merov debug : handleDropTool. Drop " << inv_item->getUUID() << " named " << inv_item->getName() << " of type " << inv_item->getType() << llendl; + LLAssetType::EType type = inv_item->getType(); if (type == LLAssetType::AT_WIDGET) { - //llinfos << "Merov debug : handleDrop. Drop source is a widget -> drop it in place..." << llendl; + //llinfos << "Merov debug : handleDropTool. Drop source is a widget -> drop it in place..." << llendl; // Get the command from its uuid LLCommandManager& mgr = LLCommandManager::instance(); LLCommandId command_id(inv_item->getUUID()); @@ -399,8 +401,11 @@ BOOL LLToolBarView::handleDrop( void* cargo_data, S32 x, S32 y, LLToolBar* toolb llwarns << "Command couldn't be found in command manager" << llendl; } } - + stopDragTool(); return TRUE; } - +void LLToolBarView::stopDragTool() +{ + sDragStarted = false; +} diff --git a/indra/newview/lltoolbarview.h b/indra/newview/lltoolbarview.h index 414fcd87515..a0c526ac541 100644 --- a/indra/newview/lltoolbarview.h +++ b/indra/newview/lltoolbarview.h @@ -74,9 +74,10 @@ class LLToolBarView : public LLUICtrl static bool loadDefaultToolbars(); - static void startDragItem( S32 x, S32 y, const LLUUID& uuid); - static BOOL handleDragItem( S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type); - static BOOL handleDrop( void* cargo_data, S32 x, S32 y, LLToolBar* toolbar); + static void startDragTool( S32 x, S32 y, const LLUUID& uuid); + static BOOL handleDragTool( S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type); + static BOOL handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* toolbar); + static void stopDragTool(); protected: friend class LLUICtrlFactory; diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml index b5cc949ebfe..8baaa14595f 100644 --- a/indra/newview/skins/default/colors.xml +++ b/indra/newview/skins/default/colors.xml @@ -795,6 +795,10 @@ <color name="DirectChatColor" reference="LtOrange" /> + + <color + name="ToolbarDropZoneColor" + value=".48 .69 1 .5" /> <!-- Generic color names (legacy) --> <color diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 44da813f618..72890014817 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -41,10 +41,10 @@ <toolbar follows="left|top|bottom" button_panel.bg_opaque_image="Rounded_Rect_Right" name="toolbar_left" - height="500" + height="483" width="30" left="0" - top="0" + top="10" side="left" button_display_mode="icons_only"> </toolbar> @@ -63,10 +63,10 @@ button_panel.bg_opaque_image="Rounded_Rect_Left" follows="right|top|bottom" name="toolbar_right" - height="500" + height="483" width="30" left="0" - top="0" + top="10" side="right" button_display_mode="icons_only"> </toolbar> @@ -83,8 +83,8 @@ button_panel.bg_opaque_image="Rounded_Rect_Top" name="toolbar_bottom" height="30" - width="1024" - left="0" + width="944" + left="40" top="0" side="bottom" follows="left|right|bottom" diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 613dc667622..d36b0150059 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -4,6 +4,7 @@ pad_top="1" pad_bottom="1" pad_between="1" + min_girth="24" mouse_opaque="false" read_only="false"> <button_panel name="button_panel" -- GitLab From ec5ea33c8113a63e956c195ccf051b2a03979be9 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Sun, 9 Oct 2011 15:52:45 -0700 Subject: [PATCH 135/256] EXP-1300 : drop tool animation. First shot. Works but still a bit hacky and with some bugs (tools can be duplicated at times). --- indra/llui/llcommandmanager.cpp | 2 +- indra/llui/llcommandmanager.h | 11 +++-- indra/llui/lltoolbar.cpp | 83 ++++++++++++++++++++++++++++----- indra/llui/lltoolbar.h | 4 +- indra/newview/lltoolbarview.cpp | 9 ++-- 5 files changed, 89 insertions(+), 20 deletions(-) diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp index 1b87f20d12a..d8e035a3203 100644 --- a/indra/llui/llcommandmanager.cpp +++ b/indra/llui/llcommandmanager.cpp @@ -41,7 +41,7 @@ // LLCommandId class // -const LLCommandId LLCommandId::null("null command"); +const LLCommandId LLCommandId::null = LLCommandId(); // // LLCommand class diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index 8f9f956ec7e..fdad7cd1b5a 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -50,6 +50,12 @@ class LLCommandId {} }; + LLCommandId() + : mName("null command") + { + mUUID = LLUUID::generateNewID(mName); + } + LLCommandId(const std::string& name) : mName(name) { @@ -62,10 +68,9 @@ class LLCommandId mUUID = LLUUID::generateNewID(p.name); } - LLCommandId(const LLUUID& uuid) - : mName(""), + LLCommandId(const std::string& name, const LLUUID& uuid) + : mName(name), mUUID(uuid) - { } diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 5f7afb07fc0..6332b2674ad 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -33,6 +33,7 @@ #include "llcommandmanager.h" #include "llmenugl.h" #include "lltrans.h" +#include "llinventory.h" // uncomment this and remove the one in llui.cpp when there is an external reference to this translation unit // thanks, MSVC! @@ -113,6 +114,8 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p) { mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_WITH_TEXT] = p.button_icon_and_text; mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_ONLY] = p.button_icon; + mDraggedCommand = LLCommandId::null; + mRank = 0; } LLToolBar::~LLToolBar() @@ -203,17 +206,24 @@ bool LLToolBar::addCommand(const LLCommandId& commandId, int rank) { LLCommand * command = LLCommandManager::instance().getCommand(commandId); if (!command) return false; - + llinfos << "Merov debug : addCommand, " << commandId.name() << ", " << commandId.uuid() << llendl; + // Create the button and do the things that don't need ordering LLToolBarButton* button = createButton(commandId); mButtonPanel->addChild(button); - mButtonMap.insert(std::make_pair(commandId, button)); + LLCommandId temp_command = commandId; + if (commandId.name() == "Drag Tool") + { + temp_command = LLCommandId("Drag Tool"); + } + mButtonMap.insert(std::make_pair(temp_command.uuid(), button)); + // Insert the command and button in the right place in their respective lists if ((rank >= mButtonCommands.size()) || (rank < 0)) { // In that case, back load - mButtonCommands.push_back(commandId); + mButtonCommands.push_back(temp_command); mButtons.push_back(button); } else @@ -228,7 +238,7 @@ bool LLToolBar::addCommand(const LLCommandId& commandId, int rank) rank--; } // ...then insert - mButtonCommands.insert(it_command,commandId); + mButtonCommands.insert(it_command,temp_command); mButtons.insert(it_button,button); } @@ -241,14 +251,20 @@ bool LLToolBar::removeCommand(const LLCommandId& commandId) { if (!hasCommand(commandId)) return false; + llinfos << "Merov debug : removeCommand, " << commandId.name() << ", " << commandId.uuid() << llendl; // First erase the map record - command_id_map::iterator it = mButtonMap.find(commandId); + LLCommandId temp_command = commandId; + if (commandId.name() == "Drag Tool") + { + temp_command = LLCommandId("Drag Tool"); + } + command_id_map::iterator it = mButtonMap.find(temp_command.uuid()); mButtonMap.erase(it); // Now iterate on the commands and buttons to identify the relevant records std::list<LLToolBarButton*>::iterator it_button = mButtons.begin(); command_id_list_t::iterator it_command = mButtonCommands.begin(); - while (*it_command != commandId) + while (*it_command != temp_command) { ++it_button; ++it_command; @@ -276,7 +292,12 @@ bool LLToolBar::hasCommand(const LLCommandId& commandId) const { if (commandId != LLCommandId::null) { - command_id_map::const_iterator it = mButtonMap.find(commandId); + LLCommandId temp_command = commandId; + if (commandId.name() == "Drag Tool") + { + temp_command = LLCommandId("Drag Tool"); + } + command_id_map::const_iterator it = mButtonMap.find(temp_command.uuid()); return (it != mButtonMap.end()); } @@ -289,7 +310,12 @@ bool LLToolBar::enableCommand(const LLCommandId& commandId, bool enabled) if (commandId != LLCommandId::null) { - command_id_map::iterator it = mButtonMap.find(commandId); + LLCommandId temp_command = commandId; + if (commandId.name() == "Drag Tool") + { + temp_command = LLCommandId("Drag Tool"); + } + command_id_map::iterator it = mButtonMap.find(temp_command.uuid()); if (it != mButtonMap.end()) { it->second->setEnabled(enabled); @@ -507,7 +533,7 @@ void LLToolBar::updateLayoutAsNeeded() button_rect.setLeftTopAndSize(cur_row, panel_rect.mTop - cur_start, button_clamped_width, button->getRect().getHeight()); } button->setShape(button_rect); - + buttons_in_row.push_back(button); row_running_length += button_length + mPadBetween; @@ -592,6 +618,12 @@ void LLToolBar::draw() } } } + // HACK!!! + if (!mDragAndDropTarget) + { + removeCommand(mDraggedCommand); + mDraggedCommand = LLCommandId::null; + } updateLayoutAsNeeded(); // rect may have shifted during layout @@ -622,7 +654,12 @@ void LLToolBar::createButtons() LLToolBarButton* button = createButton(command_id); mButtons.push_back(button); mButtonPanel->addChild(button); - mButtonMap.insert(std::make_pair(command_id, button)); + LLCommandId temp_command = command_id; + if (command_id.name() == "Drag Tool") + { + temp_command = LLCommandId("Drag Tool"); + } + mButtonMap.insert(std::make_pair(temp_command.uuid(), button)); } mNeedsLayout = true; } @@ -713,7 +750,31 @@ BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, *accept = (handled ? ACCEPT_YES_SINGLE : ACCEPT_NO); // We'll use that flag to change the visual aspect of the toolbar target on draw() - mDragAndDropTarget = handled; + mDragAndDropTarget = false; + + // HACK!!! + if (!isReadOnly() && handled) + { + if (!drop) + { + LLInventoryItem* inv_item = (LLInventoryItem*)cargo_data; + LLAssetType::EType type = inv_item->getType(); + if (type == LLAssetType::AT_WIDGET) + { + mRank = getRankFromPosition(x, y); + mDraggedCommand = LLCommandId("Drag Tool",inv_item->getUUID()); + removeCommand(mDraggedCommand); + addCommand(mDraggedCommand,mRank); + mDragAndDropTarget = true; + } + } + else + { + removeCommand(mDraggedCommand); + mDraggedCommand = LLCommandId::null; + } + + } return handled; } diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index be0589f3c67..9e48dee608e 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -184,6 +184,8 @@ class LLToolBar tool_handledrag_callback_t mHandleDragItemCallback; tool_handledrop_callback_t mHandleDropCallback; bool mDragAndDropTarget; + int mRank; + LLCommandId mDraggedCommand; public: // Methods used in loading and saving toolbar settings @@ -205,7 +207,7 @@ class LLToolBar typedef std::list<LLToolBarButton*> toolbar_button_list; toolbar_button_list mButtons; command_id_list_t mButtonCommands; - typedef std::map<LLCommandId, LLToolBarButton*> command_id_map; + typedef std::map<LLUUID, LLToolBarButton*> command_id_map; command_id_map mButtonMap; LLToolBarEnums::ButtonType mButtonType; diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 8c7dc53af08..44b244f1636 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -375,7 +375,7 @@ BOOL LLToolBarView::handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* t //llinfos << "Merov debug : handleDropTool. Drop source is a widget -> drop it in place..." << llendl; // Get the command from its uuid LLCommandManager& mgr = LLCommandManager::instance(); - LLCommandId command_id(inv_item->getUUID()); + LLCommandId command_id("",inv_item->getUUID()); LLCommand* command = mgr.getCommand(command_id); if (command) { @@ -387,9 +387,10 @@ BOOL LLToolBarView::handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* t } // Suppress the command from the toolbars (including the one it's dropped in, // this will handle move position). - gToolBarView->mToolbarLeft->removeCommand(command->id()); - gToolBarView->mToolbarRight->removeCommand(command->id()); - gToolBarView->mToolbarBottom->removeCommand(command->id()); + llinfos << "Merov debug : handleDropTool, " << command_id.name() << ", " << command_id.uuid() << llendl; + gToolBarView->mToolbarLeft->removeCommand(command_id); + gToolBarView->mToolbarRight->removeCommand(command_id); + gToolBarView->mToolbarBottom->removeCommand(command_id); // Now insert it in the toolbar at the detected rank if (!toolbar->isReadOnly()) { -- GitLab From 9273459251a6c59f8fabc50d9eef0b78e092e6fd Mon Sep 17 00:00:00 2001 From: Seth ProductEngine <slitovchuk@productengine.com> Date: Mon, 10 Oct 2011 17:09:46 +0300 Subject: [PATCH 136/256] EXP-1285 FIXED Chiclets moved to the upper right of the viewer window. - Floaters dock to chiclets at the bottom. - Floaters docking region limited to non-toolbar view. - Chiclet bar is positioned between the right toolbar and the minimized floaters stacked at the top left corner by default. --- indra/llui/lldockcontrol.cpp | 2 +- indra/newview/CMakeLists.txt | 2 + indra/newview/llagent.cpp | 6 +- indra/newview/llchiclet.cpp | 12 +- indra/newview/llchicletbar.cpp | 340 ++++++++++++++++++ indra/newview/llchicletbar.h | 99 +++++ indra/newview/llimfloater.cpp | 19 +- indra/newview/llimfloater.h | 2 - indra/newview/llimview.cpp | 8 +- indra/newview/llimview.h | 2 - indra/newview/llscriptfloater.cpp | 31 +- indra/newview/llscriptfloater.h | 2 - indra/newview/llsyswellwindow.cpp | 16 +- indra/newview/llsyswellwindow.h | 5 - indra/newview/llviewerwindow.cpp | 14 +- .../default/xui/en/panel_chiclet_bar.xml | 176 +++++++++ .../default/xui/en/panel_toolbar_view.xml | 24 +- 17 files changed, 680 insertions(+), 80 deletions(-) create mode 100644 indra/newview/llchicletbar.cpp create mode 100644 indra/newview/llchicletbar.h create mode 100644 indra/newview/skins/default/xui/en/panel_chiclet_bar.xml diff --git a/indra/llui/lldockcontrol.cpp b/indra/llui/lldockcontrol.cpp index 6e39fcd714f..6397bbd0dec 100644 --- a/indra/llui/lldockcontrol.cpp +++ b/indra/llui/lldockcontrol.cpp @@ -92,7 +92,7 @@ void LLDockControl::setDock(LLView* dockWidget) void LLDockControl::getAllowedRect(LLRect& rect) { - rect = mDockableFloater->getRootView()->getRect(); + rect = mDockableFloater->getRootView()->getChild<LLView>("non_toolbar_panel")->getRect(); } void LLDockControl::repositionDockable() diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 97ccfeac29e..6cbd76bc71a 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -118,6 +118,7 @@ set(viewer_SOURCE_FILES llchatitemscontainerctrl.cpp llchatmsgbox.cpp llchiclet.cpp + llchicletbar.cpp llclassifiedinfo.cpp llclassifiedstatsresponder.cpp llcofwearables.cpp @@ -684,6 +685,7 @@ set(viewer_HEADER_FILES llchatitemscontainerctrl.h llchatmsgbox.h llchiclet.h + llchicletbar.h llclassifiedinfo.h llclassifiedstatsresponder.h llcofwearables.h diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 31a73c8c317..10aa67c78f2 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -36,10 +36,10 @@ #include "llagentwearables.h" #include "llagentui.h" #include "llanimationstates.h" -#include "llbottomtray.h" #include "llcallingcard.h" #include "llcapabilitylistener.h" #include "llchannelmanager.h" +#include "llchicletbar.h" #include "llconsole.h" #include "llenvmanager.h" #include "llfirstuse.h" @@ -1874,7 +1874,7 @@ void LLAgent::endAnimationUpdateUI() LLPanelTopInfoBar::getInstance()->setVisible(TRUE); } - LLBottomTray::getInstance()->onMouselookModeOut(); + LLChicletBar::getInstance()->setVisible(TRUE); LLPanelStandStopFlying::getInstance()->setVisible(TRUE); @@ -1978,7 +1978,7 @@ void LLAgent::endAnimationUpdateUI() LLPanelTopInfoBar::getInstance()->setVisible(FALSE); - LLBottomTray::getInstance()->onMouselookModeIn(); + LLChicletBar::getInstance()->setVisible(FALSE); LLPanelStandStopFlying::getInstance()->setVisible(FALSE); diff --git a/indra/newview/llchiclet.cpp b/indra/newview/llchiclet.cpp index 245157923dd..a0763749032 100644 --- a/indra/newview/llchiclet.cpp +++ b/indra/newview/llchiclet.cpp @@ -29,7 +29,7 @@ #include "llagent.h" #include "llavataractions.h" -#include "llbottomtray.h" +#include "llchicletbar.h" #include "lleventtimer.h" #include "llgroupactions.h" #include "lliconctrl.h" @@ -214,10 +214,10 @@ void LLSysWellChiclet::updateWidget(bool is_window_empty) { mButton->setEnabled(!is_window_empty); - LLSD params; - params["well_empty"] = is_window_empty; - params["well_name"] = getName(); - notifyParent(params); + if (LLChicletBar::instanceExists()) + { + LLChicletBar::getInstance()->showWellButton(getName(), !is_window_empty); + } } // virtual BOOL LLSysWellChiclet::handleRightMouseDown(S32 x, S32 y, MASK mask) @@ -297,7 +297,7 @@ void LLIMWellChiclet::createMenu() void LLIMWellChiclet::messageCountChanged(const LLSD& session_data) { const LLUUID& session_id = session_data["session_id"]; - const S32 counter = LLBottomTray::getInstance()->getTotalUnreadIMCount(); + const S32 counter = LLChicletBar::getInstance()->getTotalUnreadIMCount(); const bool im_not_visible = !LLFloaterReg::instanceVisible("im_container") && !LLFloaterReg::instanceVisible("impanel", session_id); diff --git a/indra/newview/llchicletbar.cpp b/indra/newview/llchicletbar.cpp new file mode 100644 index 00000000000..a17e1d13f57 --- /dev/null +++ b/indra/newview/llchicletbar.cpp @@ -0,0 +1,340 @@ +/** + * @file llchicletbar.cpp + * @brief LLChicletBar class implementation + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#include "llviewerprecompiledheaders.h" // must be first include + +#include "llchicletbar.h" + +// library includes +#include "llfloaterreg.h" +#include "lllayoutstack.h" + +// newview includes +#include "llchiclet.h" +#include "llimfloater.h" // for LLIMFloater +#include "llsyswellwindow.h" + +namespace +{ + const std::string& PANEL_CHICLET_NAME = "chiclet_list_panel"; + + S32 get_panel_min_width(LLLayoutStack* stack, LLView* panel) + { + S32 minimal_width = 0; + llassert(stack); + if ( stack && panel && panel->getVisible() ) + { + stack->getPanelMinSize(panel->getName(), &minimal_width); + } + return minimal_width; + } + + S32 get_panel_max_width(LLLayoutStack* stack, LLPanel* panel) + { + S32 max_width = 0; + llassert(stack); + if ( stack && panel && panel->getVisible() ) + { + stack->getPanelMaxSize(panel->getName(), &max_width); + } + return max_width; + } + + S32 get_curr_width(LLUICtrl* ctrl) + { + S32 cur_width = 0; + if ( ctrl && ctrl->getVisible() ) + { + cur_width = ctrl->getRect().getWidth(); + } + return cur_width; + } +} + +LLChicletBar::LLChicletBar(const LLSD&) +: mChicletPanel(NULL), + mToolbarStack(NULL) +{ + // Firstly add our self to IMSession observers, so we catch session events + // before chiclets do that. + LLIMMgr::getInstance()->addSessionObserver(this); + + buildFromFile("panel_chiclet_bar.xml"); +} + +LLChicletBar::~LLChicletBar() +{ + if (!LLSingleton<LLIMMgr>::destroyed()) + { + LLIMMgr::getInstance()->removeSessionObserver(this); + } +} + +LLIMChiclet* LLChicletBar::createIMChiclet(const LLUUID& session_id) +{ + LLIMChiclet::EType im_chiclet_type = LLIMChiclet::getIMSessionType(session_id); + + switch (im_chiclet_type) + { + case LLIMChiclet::TYPE_IM: + return getChicletPanel()->createChiclet<LLIMP2PChiclet>(session_id); + case LLIMChiclet::TYPE_GROUP: + return getChicletPanel()->createChiclet<LLIMGroupChiclet>(session_id); + case LLIMChiclet::TYPE_AD_HOC: + return getChicletPanel()->createChiclet<LLAdHocChiclet>(session_id); + case LLIMChiclet::TYPE_UNKNOWN: + break; + } + + return NULL; +} + +//virtual +void LLChicletBar::sessionAdded(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id) +{ + if (!getChicletPanel()) return; + + LLIMModel::LLIMSession* session = LLIMModel::getInstance()->findIMSession(session_id); + if (!session) return; + + // no need to spawn chiclets for participants in P2P calls called through Avaline + if (session->isP2P() && session->isOtherParticipantAvaline()) return; + + if (getChicletPanel()->findChiclet<LLChiclet>(session_id)) return; + + LLIMChiclet* chiclet = createIMChiclet(session_id); + if(chiclet) + { + chiclet->setIMSessionName(name); + chiclet->setOtherParticipantId(other_participant_id); + + LLIMFloater::onIMChicletCreated(session_id); + + } + else + { + llwarns << "Could not create chiclet" << llendl; + } +} + +//virtual +void LLChicletBar::sessionRemoved(const LLUUID& session_id) +{ + if(getChicletPanel()) + { + // IM floater should be closed when session removed and associated chiclet closed + LLIMFloater* iMfloater = LLFloaterReg::findTypedInstance<LLIMFloater>("impanel", session_id); + if (iMfloater != NULL) + { + iMfloater->closeFloater(); + } + + getChicletPanel()->removeChiclet(session_id); + } +} + +void LLChicletBar::sessionIDUpdated(const LLUUID& old_session_id, const LLUUID& new_session_id) +{ + //this is only needed in case of outgoing ad-hoc/group chat sessions + LLChicletPanel* chiclet_panel = getChicletPanel(); + if (chiclet_panel) + { + //it should be ad-hoc im chiclet or group im chiclet + LLChiclet* chiclet = chiclet_panel->findChiclet<LLChiclet>(old_session_id); + if (chiclet) chiclet->setSessionId(new_session_id); + } +} + +S32 LLChicletBar::getTotalUnreadIMCount() +{ + return getChicletPanel()->getTotalUnreadIMCount(); +} + +BOOL LLChicletBar::postBuild() +{ + mToolbarStack = getChild<LLLayoutStack>("toolbar_stack"); + mChicletPanel = getChild<LLChicletPanel>("chiclet_list"); + + showWellButton("im_well", !LLIMWellWindow::getInstance()->isWindowEmpty()); + showWellButton("notification_well", !LLNotificationWellWindow::getInstance()->isWindowEmpty()); + + return TRUE; +} + +void LLChicletBar::showWellButton(const std::string& well_name, bool visible) +{ + LLView * panel = findChild<LLView>(well_name + "_panel"); + if (!panel) return; + + panel->setVisible(visible); +} + +void LLChicletBar::log(LLView* panel, const std::string& descr) +{ + if (NULL == panel) return; + LLView* layout = panel->getParent(); + LL_DEBUGS("Chiclet Bar Rects") << descr << ": " + << "panel: " << panel->getName() + << ", rect: " << panel->getRect() + << " layout: " << layout->getName() + << ", rect: " << layout->getRect() + << LL_ENDL; +} + +void LLChicletBar::reshape(S32 width, S32 height, BOOL called_from_parent) +{ + static S32 debug_calling_number = 0; + lldebugs << "**************************************** " << ++debug_calling_number << llendl; + + S32 current_width = getRect().getWidth(); + S32 delta_width = width - current_width; + lldebugs << "Reshaping: " + << ", width: " << width + << ", cur width: " << current_width + << ", delta_width: " << delta_width + << ", called_from_parent: " << called_from_parent + << llendl; + + if (mChicletPanel) log(mChicletPanel, "before"); + + // Difference between chiclet bar width required to fit its children and the actual width. (see EXT-991) + // Positive value means that chiclet bar is not wide enough. + // Negative value means that there is free space. + static S32 extra_shrink_width = 0; + bool should_be_reshaped = true; + + if (mChicletPanel && mToolbarStack) + { + // Firstly, update layout stack to ensure we deal with correct panel sizes. + { + BOOL saved_anim = mToolbarStack->getAnimate(); + // Set chiclet panel to be autoresized by default. + mToolbarStack->updatePanelAutoResize(PANEL_CHICLET_NAME, TRUE); + // Disable animation to prevent layout updating in several frames. + mToolbarStack->setAnimate(FALSE); + // Force the updating of layout to reset panels collapse factor. + mToolbarStack->updateLayout(); + // Restore animate state. + mToolbarStack->setAnimate(saved_anim); + } + + // chiclet bar is narrowed + if (delta_width < 0) + { + if (extra_shrink_width > 0) // not enough space + { + extra_shrink_width += llabs(delta_width); + should_be_reshaped = false; + } + else + { + extra_shrink_width = processWidthDecreased(delta_width); + + // increase new width to extra_shrink_width value to not reshape less than chiclet bar minimum + width += extra_shrink_width; + } + } + // chiclet bar is widened + else + { + if (extra_shrink_width > delta_width) + { + // Still not enough space. + // Only subtract the delta from the required delta and don't reshape. + extra_shrink_width -= delta_width; + should_be_reshaped = false; + } + else if (extra_shrink_width > 0) + { + // If we have some extra shrink width let's reduce delta_width & width + delta_width -= extra_shrink_width; + width -= extra_shrink_width; + extra_shrink_width = 0; + } + } + } + + if (should_be_reshaped) + { + lldebugs << "Reshape all children with width: " << width << llendl; + LLPanel::reshape(width, height, called_from_parent); + } + + if (mChicletPanel) log(mChicletPanel, "after"); +} + +S32 LLChicletBar::processWidthDecreased(S32 delta_width) +{ + bool still_should_be_processed = true; + + const S32 chiclet_panel_shrink_headroom = getChicletPanelShrinkHeadroom(); + + // Decreasing width of chiclet panel. + if (chiclet_panel_shrink_headroom > 0) + { + // we have some space to decrease chiclet panel + S32 shrink_by = llmin(-delta_width, chiclet_panel_shrink_headroom); + + lldebugs << "delta_width: " << delta_width + << ", panel_delta_min: " << chiclet_panel_shrink_headroom + << ", shrink_by: " << shrink_by + << llendl; + + // is chiclet panel wide enough to process resizing? + delta_width += chiclet_panel_shrink_headroom; + + still_should_be_processed = delta_width < 0; + + lldebugs << "Shrinking chiclet panel by " << shrink_by << " px" << llendl; + mChicletPanel->getParent()->reshape(mChicletPanel->getParent()->getRect().getWidth() - shrink_by, mChicletPanel->getParent()->getRect().getHeight()); + log(mChicletPanel, "after processing panel decreasing via chiclet panel"); + + lldebugs << "RS_CHICLET_PANEL" + << ", delta_width: " << delta_width + << llendl; + } + + S32 extra_shrink_width = 0; + + if (still_should_be_processed) + { + extra_shrink_width = -delta_width; + llwarns << "There is no enough width to reshape all children: " + << extra_shrink_width << llendl; + } + + return extra_shrink_width; +} + +S32 LLChicletBar::getChicletPanelShrinkHeadroom() const +{ + static const S32 min_width = mChicletPanel->getMinWidth(); + const S32 cur_width = mChicletPanel->getParent()->getRect().getWidth(); + + S32 shrink_headroom = cur_width - min_width; + llassert(shrink_headroom >= 0); // the panel cannot get narrower than the minimum + return shrink_headroom; +} diff --git a/indra/newview/llchicletbar.h b/indra/newview/llchicletbar.h new file mode 100644 index 00000000000..224dfbb6470 --- /dev/null +++ b/indra/newview/llchicletbar.h @@ -0,0 +1,99 @@ +/** +* @file llchicletbar.h +* @brief LLChicletBar class header file +* +* $LicenseInfo:firstyear=2011&license=viewerlgpl$ +* Second Life Viewer Source Code +* Copyright (C) 2011, Linden Research, Inc. +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; +* version 2.1 of the License only. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +* +* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA +* $/LicenseInfo$ +*/ + +#ifndef LL_LLCHICLETBAR_H +#define LL_LLCHICLETBAR_H + +#include "llpanel.h" +#include "llimview.h" + +class LLChicletPanel; +class LLIMChiclet; +class LLLayoutPanel; +class LLLayoutStack; + +class LLChicletBar + : public LLSingleton<LLChicletBar> + , public LLPanel + , public LLIMSessionObserver +{ + LOG_CLASS(LLChicletBar); + friend class LLSingleton<LLChicletBar>; +public: + ~LLChicletBar(); + + BOOL postBuild(); + + LLChicletPanel* getChicletPanel() { return mChicletPanel; } + + // LLIMSessionObserver observe triggers + virtual void sessionAdded(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id); + virtual void sessionRemoved(const LLUUID& session_id); + void sessionIDUpdated(const LLUUID& old_session_id, const LLUUID& new_session_id); + + S32 getTotalUnreadIMCount(); + + /*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent); + + /** + * Creates IM Chiclet based on session type (IM chat or Group chat) + */ + LLIMChiclet* createIMChiclet(const LLUUID& session_id); + + /** + * Shows/hides panel with specified well button (IM or Notification) + * + * @param well_name - name of the well panel to be processed. + * @param visible - a flag specifying whether a button should be shown or hidden. + */ + void showWellButton(const std::string& well_name, bool visible); + +private: + /** + * Updates child controls size and visibility when it is necessary to reduce total width. + * + * @param delta_width - value by which chiclet bar should be shrunk. It is a negative value. + * @returns positive value which chiclet bar can not process when it reaches its minimal width. + * Zero if there was enough space to process delta_width. + */ + S32 processWidthDecreased(S32 delta_width); + + /** helper function to log debug messages */ + void log(LLView* panel, const std::string& descr); + + /** + * @return difference between current chiclet panel width and the minimum. + */ + S32 getChicletPanelShrinkHeadroom() const; + +protected: + LLChicletBar(const LLSD& key = LLSD()); + + LLChicletPanel* mChicletPanel; + LLLayoutStack* mToolbarStack; +}; + +#endif // LL_LLCHICLETBAR_H diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp index 14d85246e94..f5cda52d444 100644 --- a/indra/newview/llimfloater.cpp +++ b/indra/newview/llimfloater.cpp @@ -34,9 +34,9 @@ #include "llappviewer.h" #include "llavatarnamecache.h" #include "llbutton.h" -#include "llbottomtray.h" #include "llchannelmanager.h" #include "llchiclet.h" +#include "llchicletbar.h" #include "llfloaterreg.h" #include "llimfloatercontainer.h" // to replace separate IM Floaters with multifloater container #include "llinventoryfunctions.h" @@ -117,14 +117,14 @@ void LLIMFloater::onFocusLost() { LLIMModel::getInstance()->resetActiveSessionID(); - LLBottomTray::getInstance()->getChicletPanel()->setChicletToggleState(mSessionID, false); + LLChicletBar::getInstance()->getChicletPanel()->setChicletToggleState(mSessionID, false); } void LLIMFloater::onFocusReceived() { LLIMModel::getInstance()->setActiveSessionID(mSessionID); - LLBottomTray::getInstance()->getChicletPanel()->setChicletToggleState(mSessionID, true); + LLChicletBar::getInstance()->getChicletPanel()->setChicletToggleState(mSessionID, true); if (getVisible()) { @@ -444,7 +444,7 @@ LLIMFloater* LLIMFloater::show(const LLUUID& session_id) if (floater->getDockControl() == NULL) { LLChiclet* chiclet = - LLBottomTray::getInstance()->getChicletPanel()->findChiclet<LLChiclet>( + LLChicletBar::getInstance()->getChicletPanel()->findChiclet<LLChiclet>( session_id); if (chiclet == NULL) { @@ -452,11 +452,11 @@ LLIMFloater* LLIMFloater::show(const LLUUID& session_id) } else { - LLBottomTray::getInstance()->getChicletPanel()->scrollToChiclet(chiclet); + LLChicletBar::getInstance()->getChicletPanel()->scrollToChiclet(chiclet); } floater->setDockControl(new LLDockControl(chiclet, floater, floater->getDockTongue(), - LLDockControl::TOP, boost::bind(&LLIMFloater::getAllowedRect, floater, _1))); + LLDockControl::BOTTOM)); } // window is positioned, now we can show it. @@ -466,11 +466,6 @@ LLIMFloater* LLIMFloater::show(const LLUUID& session_id) return floater; } -void LLIMFloater::getAllowedRect(LLRect& rect) -{ - rect = gViewerWindow->getWorldViewRectScaled(); -} - void LLIMFloater::setDocked(bool docked, bool pop_on_undock) { // update notification channel state @@ -522,7 +517,7 @@ void LLIMFloater::setVisible(BOOL visible) if(!visible) { - LLIMChiclet* chiclet = LLBottomTray::getInstance()->getChicletPanel()->findChiclet<LLIMChiclet>(mSessionID); + LLIMChiclet* chiclet = LLChicletBar::getInstance()->getChicletPanel()->findChiclet<LLIMChiclet>(mSessionID); if(chiclet) { chiclet->setToggleState(false); diff --git a/indra/newview/llimfloater.h b/indra/newview/llimfloater.h index 8a3020ea10a..f7cd35b5eb2 100644 --- a/indra/newview/llimfloater.h +++ b/indra/newview/llimfloater.h @@ -145,8 +145,6 @@ class LLIMFloater : public LLTransientDockableFloater static void* createPanelIMControl(void* userdata); static void* createPanelGroupControl(void* userdata); static void* createPanelAdHocControl(void* userdata); - // gets a rect that bounds possible positions for the LLIMFloater on a screen (EXT-1111) - void getAllowedRect(LLRect& rect); // Add the "User is typing..." indicator. void addTypingIndicator(const LLIMInfo* im_info); diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 46025337361..441ea2923d1 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -1675,11 +1675,6 @@ LLCallDialog::~LLCallDialog() LLUI::removePopup(this); } -void LLCallDialog::getAllowedRect(LLRect& rect) -{ - rect = gViewerWindow->getWorldViewRectScaled(); -} - BOOL LLCallDialog::postBuild() { if (!LLDockableFloater::postBuild()) @@ -1690,8 +1685,7 @@ BOOL LLCallDialog::postBuild() setDockControl(new LLDockControl( anchor_panel, this, - getDockTongue(), LLDockControl::TOP, - boost::bind(&LLCallDialog::getAllowedRect, this, _1))); + getDockTongue(), LLDockControl::TOP)); return TRUE; } diff --git a/indra/newview/llimview.h b/indra/newview/llimview.h index 0ee56c80704..93b604d36aa 100644 --- a/indra/newview/llimview.h +++ b/indra/newview/llimview.h @@ -508,8 +508,6 @@ class LLCallDialog : public LLDockableFloater virtual bool lifetimeHasExpired(); virtual void onLifetimeExpired(); - virtual void getAllowedRect(LLRect& rect); - /** * Sets icon depend on session. * diff --git a/indra/newview/llscriptfloater.cpp b/indra/newview/llscriptfloater.cpp index 170e23e4c5d..85a7e752715 100644 --- a/indra/newview/llscriptfloater.cpp +++ b/indra/newview/llscriptfloater.cpp @@ -28,9 +28,9 @@ #include "llscriptfloater.h" #include "llagentcamera.h" -#include "llbottomtray.h" #include "llchannelmanager.h" #include "llchiclet.h" +#include "llchicletbar.h" #include "llfloaterreg.h" #include "lllslconstants.h" #include "llnotifications.h" @@ -95,7 +95,7 @@ bool LLScriptFloater::toggle(const LLUUID& notification_id) show(notification_id); } - LLBottomTray::getInstance()->getChicletPanel()->setChicletToggleState(notification_id, true); + LLChicletBar::getInstance()->getChicletPanel()->setChicletToggleState(notification_id, true); return true; } @@ -131,11 +131,6 @@ void LLScriptFloater::setNotificationId(const LLUUID& id) mObjectId = notification_id_to_object_id(id); } -void LLScriptFloater::getAllowedRect(LLRect& rect) -{ - rect = gViewerWindow->getWorldViewRectScaled(); -} - void LLScriptFloater::createForm(const LLUUID& notification_id) { // delete old form @@ -211,7 +206,7 @@ void LLScriptFloater::setVisible(BOOL visible) if(!visible) { - LLIMChiclet* chiclet = LLBottomTray::getInstance()->getChicletPanel()->findChiclet<LLIMChiclet>(getNotificationId()); + LLIMChiclet* chiclet = LLChicletBar::getInstance()->getChicletPanel()->findChiclet<LLIMChiclet>(getNotificationId()); if(chiclet) { chiclet->setToggleState(false); @@ -224,7 +219,7 @@ void LLScriptFloater::onMouseDown() if(getNotificationId().notNull()) { // Remove new message icon - LLIMChiclet* chiclet = LLBottomTray::getInstance()->getChicletPanel()->findChiclet<LLIMChiclet>(getNotificationId()); + LLIMChiclet* chiclet = LLChicletBar::getInstance()->getChicletPanel()->findChiclet<LLIMChiclet>(getNotificationId()); if (chiclet == NULL) { llerror("Dock chiclet for LLScriptFloater doesn't exist", 0); @@ -267,7 +262,7 @@ void LLScriptFloater::onFocusLost() { if(getNotificationId().notNull()) { - LLBottomTray::getInstance()->getChicletPanel()->setChicletToggleState(getNotificationId(), false); + LLChicletBar::getInstance()->getChicletPanel()->setChicletToggleState(getNotificationId(), false); } } @@ -276,7 +271,7 @@ void LLScriptFloater::onFocusReceived() // first focus will be received before setObjectId() call - don't toggle chiclet if(getNotificationId().notNull()) { - LLBottomTray::getInstance()->getChicletPanel()->setChicletToggleState(getNotificationId(), true); + LLChicletBar::getInstance()->getChicletPanel()->setChicletToggleState(getNotificationId(), true); } } @@ -284,7 +279,7 @@ void LLScriptFloater::dockToChiclet(bool dock) { if (getDockControl() == NULL) { - LLChiclet* chiclet = LLBottomTray::getInstance()->getChicletPanel()->findChiclet<LLChiclet>(getNotificationId()); + LLChiclet* chiclet = LLChicletBar::getInstance()->getChicletPanel()->findChiclet<LLChiclet>(getNotificationId()); if (chiclet == NULL) { llwarns << "Dock chiclet for LLScriptFloater doesn't exist" << llendl; @@ -292,7 +287,7 @@ void LLScriptFloater::dockToChiclet(bool dock) } else { - LLBottomTray::getInstance()->getChicletPanel()->scrollToChiclet(chiclet); + LLChicletBar::getInstance()->getChicletPanel()->scrollToChiclet(chiclet); } // Stop saving position while we dock floater @@ -300,7 +295,7 @@ void LLScriptFloater::dockToChiclet(bool dock) setSavePosition(false); setDockControl(new LLDockControl(chiclet, this, getDockTongue(), - LLDockControl::TOP, boost::bind(&LLScriptFloater::getAllowedRect, this, _1))); + LLDockControl::BOTTOM)); setDocked(dock); @@ -352,7 +347,7 @@ void LLScriptFloaterManager::onAddNotification(const LLUUID& notification_id) script_notification_map_t::const_iterator it = findUsingObjectId(object_id); if(it != mNotifications.end()) { - LLIMChiclet* chiclet = LLBottomTray::getInstance()->getChicletPanel()->findChiclet<LLIMChiclet>(it->first); + LLIMChiclet* chiclet = LLChicletBar::getInstance()->getChicletPanel()->findChiclet<LLIMChiclet>(it->first); if(chiclet) { // Pass the new_message icon state further. @@ -375,11 +370,11 @@ void LLScriptFloaterManager::onAddNotification(const LLUUID& notification_id) // Create inventory offer chiclet for offer type notifications if( OBJ_GIVE_INVENTORY == obj_type ) { - LLBottomTray::instance().getChicletPanel()->createChiclet<LLInvOfferChiclet>(notification_id); + LLChicletBar::instance().getChicletPanel()->createChiclet<LLInvOfferChiclet>(notification_id); } else { - LLBottomTray::getInstance()->getChicletPanel()->createChiclet<LLScriptChiclet>(notification_id); + LLChicletBar::getInstance()->getChicletPanel()->createChiclet<LLScriptChiclet>(notification_id); } LLIMWellWindow::getInstance()->addObjectRow(notification_id, set_new_message); @@ -413,7 +408,7 @@ void LLScriptFloaterManager::onRemoveNotification(const LLUUID& notification_id) } // remove related chiclet - LLBottomTray::getInstance()->getChicletPanel()->removeChiclet(notification_id); + LLChicletBar::getInstance()->getChicletPanel()->removeChiclet(notification_id); LLIMWellWindow::getInstance()->removeObjectRow(notification_id); diff --git a/indra/newview/llscriptfloater.h b/indra/newview/llscriptfloater.h index 8e959a3d0e2..70451194b38 100644 --- a/indra/newview/llscriptfloater.h +++ b/indra/newview/llscriptfloater.h @@ -185,8 +185,6 @@ class LLScriptFloater : public LLDockableFloater */ void createForm(const LLUUID& object_id); - /*virtual*/ void getAllowedRect(LLRect& rect); - /** * Hide all notification toasts. */ diff --git a/indra/newview/llsyswellwindow.cpp b/indra/newview/llsyswellwindow.cpp index cb49976e5f5..ffe864e2207 100644 --- a/indra/newview/llsyswellwindow.cpp +++ b/indra/newview/llsyswellwindow.cpp @@ -35,16 +35,17 @@ #include "llfloaterreg.h" #include "llnotifications.h" -#include "llbottomtray.h" #include "llscriptfloater.h" #include "llviewercontrol.h" #include "llviewerwindow.h" #include "llchiclet.h" +#include "llchicletbar.h" #include "lltoastpanel.h" #include "llnotificationmanager.h" #include "llnotificationsutil.h" #include "llspeakers.h" +#include "lltoolbarview.h" //--------------------------------------------------------------------------------- LLSysWellWindow::LLSysWellWindow(const LLSD& key) : LLTransientDockableFloater(NULL, true, key), @@ -139,15 +140,6 @@ void LLSysWellWindow::initChannel() } } -//--------------------------------------------------------------------------------- -void LLSysWellWindow::getAllowedRect(LLRect& rect) -{ - rect = gViewerWindow->getWorldViewRectScaled(); -} - -//--------------------------------------------------------------------------------- - - //--------------------------------------------------------------------------------- void LLSysWellWindow::setVisible(BOOL visible) { @@ -156,8 +148,8 @@ void LLSysWellWindow::setVisible(BOOL visible) if (NULL == getDockControl() && getDockTongue().notNull()) { setDockControl(new LLDockControl( - LLBottomTray::getInstance()->getChild<LLView>(getAnchorViewName()), this, - getDockTongue(), LLDockControl::TOP, boost::bind(&LLSysWellWindow::getAllowedRect, this, _1))); + LLChicletBar::getInstance()->getChild<LLView>(getAnchorViewName()), this, + getDockTongue(), LLDockControl::BOTTOM)); } } diff --git a/indra/newview/llsyswellwindow.h b/indra/newview/llsyswellwindow.h index 9f8ab018108..52e53705059 100644 --- a/indra/newview/llsyswellwindow.h +++ b/indra/newview/llsyswellwindow.h @@ -76,11 +76,6 @@ class LLSysWellWindow : public LLTransientDockableFloater static const S32 MIN_WINDOW_WIDTH = 318; protected: - - // gets a rect that bounds possible positions for the SysWellWindow on a screen (EXT-1111) - void getAllowedRect(LLRect& rect); - - // init Window's channel virtual void initChannel(); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 665b31a427e..85f74c9fdd5 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -84,6 +84,7 @@ // newview includes #include "llagent.h" #include "llbox.h" +#include "llchicletbar.h" #include "llconsole.h" #include "llviewercontrol.h" #include "llcylinder.h" @@ -1848,13 +1849,12 @@ void LLViewerWindow::initWorldUI() //getRootView()->sendChildToFront(gFloaterView); //getRootView()->sendChildToFront(gSnapshotFloaterView); - // new bottom panel - LLPanel* bottom_tray_container = getRootView()->getChild<LLPanel>("bottom_tray_container"); - LLBottomTray* bottom_tray = LLBottomTray::getInstance(); - bottom_tray->setShape(bottom_tray_container->getLocalRect()); - bottom_tray->setFollowsAll(); - bottom_tray_container->addChild(bottom_tray); - bottom_tray_container->setVisible(TRUE); + LLPanel* chiclet_container = getRootView()->getChild<LLPanel>("chiclet_container"); + LLChicletBar* chiclet_bar = LLChicletBar::getInstance(); + chiclet_bar->setShape(chiclet_container->getLocalRect()); + chiclet_bar->setFollowsAll(); + chiclet_container->addChild(chiclet_bar); + chiclet_container->setVisible(TRUE); LLRect morph_view_rect = full_window; morph_view_rect.stretch( -STATUS_BAR_HEIGHT ); diff --git a/indra/newview/skins/default/xui/en/panel_chiclet_bar.xml b/indra/newview/skins/default/xui/en/panel_chiclet_bar.xml new file mode 100644 index 00000000000..355a76e05f9 --- /dev/null +++ b/indra/newview/skins/default/xui/en/panel_chiclet_bar.xml @@ -0,0 +1,176 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel + background_visible="false" + chrome="true" + follows="left|top|right" + height="30" + layout="topleft" + mouse_opaque="false" + name="chiclet_bar" + width="1310"> + <layout_stack + border_size="0" + clip="false" + follows="all" + height="30" + layout="topleft" + left="0" + mouse_opaque="false" + name="toolbar_stack" + orientation="horizontal" + top="0" + width="1310"> + <layout_panel + follows="left|right" + height="30" + layout="topleft" + min_width="95" + mouse_opaque="false" + name="chiclet_list_panel" + top="0" + user_resize="false" + width="189"> + <chiclet_panel + chiclet_padding="4" + follows="left|right" + height="24" + layout="topleft" + left="1" + min_width="95" + mouse_opaque="false" + name="chiclet_list" + top="7" + width="189"> + <button + auto_resize="true" + follows="right" + height="29" + image_hover_selected="SegmentedBtn_Left_Over" + image_hover_unselected="SegmentedBtn_Left_Over" + image_overlay="Arrow_Small_Left" + image_pressed="SegmentedBtn_Left_Press" + image_pressed_selected="SegmentedBtn_Left_Press" + image_selected="SegmentedBtn_Left_Off" + image_unselected="SegmentedBtn_Left_Off" + layout="topleft" + name="chicklet_left_scroll_button" + tab_stop="false" + top="-28" + visible="false" + width="7" /> + <button + auto_resize="true" + follows="right" + height="29" + image_hover_selected="SegmentedBtn_Right_Over" + image_hover_unselected="SegmentedBtn_Right_Over" + image_overlay="Arrow_Small_Right" + image_pressed="SegmentedBtn_Right_Press" + image_pressed_selected="SegmentedBtn_Right_Press" + image_selected="SegmentedBtn_Right_Off" + image_unselected="SegmentedBtn_Right_Off" + layout="topleft" + name="chicklet_right_scroll_button" + tab_stop="false" + top="-28" + visible="false" + width="7" /> + </chiclet_panel> + </layout_panel> + <layout_panel auto_resize="false" + user_resize="false" + width="4" + min_width="4"/> + <layout_panel + auto_resize="false" + follows="right" + height="28" + layout="topleft" + min_height="28" + min_width="37" + name="im_well_panel" + top="0" + user_resize="false" + width="37"> + <chiclet_im_well + follows="right" + height="28" + layout="topleft" + left="0" + max_displayed_count="99" + name="im_well" + top="0" + width="35"> + <!-- +Emulate 4 states of button by background images, see details in EXT-3147. The same should be for notification_well button +xml attribute Description +image_unselected "Unlit" - there are no new messages +image_selected "Unlit" + "Selected" - there are no new messages and the Well is open +image_pressed "Lit" - there are new messages +image_pressed_selected "Lit" + "Selected" - there are new messages and the Well is open + --> + <button + auto_resize="true" + follows="right" + halign="center" + height="23" + image_overlay="Unread_IM" + image_overlay_alignment="center" + image_pressed="WellButton_Lit" + image_pressed_selected="WellButton_Lit_Selected" + image_selected="PushButton_Press" + label_color="Black" + left="0" + name="Unread IM messages" + tool_tip="Conversations" + width="34"> + <init_callback + function="Button.SetDockableFloaterToggle" + parameter="im_well_window" /> + </button> + </chiclet_im_well> + </layout_panel> + <layout_panel + auto_resize="false" + follows="right" + height="28" + layout="topleft" + min_height="28" + min_width="37" + name="notification_well_panel" + top="0" + user_resize="false" + width="37"> + <chiclet_notification + follows="right" + height="23" + layout="topleft" + left="0" + max_displayed_count="99" + name="notification_well" + top="5" + width="35"> + <button + auto_resize="true" + bottom_pad="3" + follows="right" + halign="center" + height="23" + image_overlay="Notices_Unread" + image_overlay_alignment="center" + image_pressed="WellButton_Lit" + image_pressed_selected="WellButton_Lit_Selected" + image_selected="PushButton_Press" + label_color="Black" + left="0" + name="Unread" + tool_tip="Notifications" + width="34"> + <init_callback + function="Button.SetDockableFloaterToggle" + parameter="notification_well_window" /> + </button> + </chiclet_notification> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 5475fcd2454..3c69a0cb6cc 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -64,14 +64,32 @@ user_resize="false" mouse_opaque="false" height="100" - width="100"> + width="200"> <view top="0" follows="all" height="100" left="0" mouse_opaque="false" name="floater_snap_region" - width="100"/> + width="200"/> + <view top="0" + follows="left|top|bottom" + height="100" + left="0" + mouse_opaque="false" + name="minimized_floaters_region" + width="160"/> + <panel follows="left|top|right" + layout="topleft" + height="30" + left_pad="10" + mouse_opaque="false" + name="chiclet_container" + tab_stop="false" + top="0" + bg_visible="false" + width="20"> + </panel> <panel bottom="100" follows="left|right|bottom" height="25" @@ -80,7 +98,7 @@ tab_stop="false" name="stand_stop_flying_container" visible="false" - width="100"/> + width="200"/> </layout_panel> <layout_panel name="right_toolbar_panel" auto_resize="false" -- GitLab From 32267e0289788118d50cc3a41f57086a84f40122 Mon Sep 17 00:00:00 2001 From: eli <none@none> Date: Mon, 10 Oct 2011 12:16:12 -0700 Subject: [PATCH 137/256] sync with viewer-development --- .../skins/default/xui/en/floater_stats.xml | 339 ++++++++++++------ 1 file changed, 237 insertions(+), 102 deletions(-) diff --git a/indra/newview/skins/default/xui/en/floater_stats.xml b/indra/newview/skins/default/xui/en/floater_stats.xml index b87cb9a433c..406114294df 100644 --- a/indra/newview/skins/default/xui/en/floater_stats.xml +++ b/indra/newview/skins/default/xui/en/floater_stats.xml @@ -10,7 +10,7 @@ save_rect="true" save_visibility="true" title="STATISTICS" - width="250"> + width="260"> <scroll_container follows="top|left|bottom|right" height="380" @@ -19,15 +19,16 @@ name="statistics_scroll" reserve_scroll_corner="true" top="20" - width="250"> - <container_view - follows="top|left|bottom|right" - height="378" - layout="topleft" - left="2" - name="statistics_view" - top="20" - width="230" > + width="260"> + <container_view + follows="top|left|bottom|right" + height="378" + layout="topleft" + left="2" + name="statistics_view" + top="20" + width="245" > + <!--Basic Section--> <stat_view name="basic" label="Basic" @@ -39,9 +40,9 @@ unit_label="fps" stat="fpsstat" bar_min="0" - bar_max="45" - tick_spacing="7.5" - label_spacing="15.0" + bar_max="60" + tick_spacing="6" + label_spacing="12" precision="1" show_bar="true" show_history="true"> @@ -52,9 +53,10 @@ unit_label="kbps" stat="kbitstat" bar_min="0" - bar_max="900" - tick_spacing="100" - label_spacing="300" + bar_max="5000" + tick_spacing="500" + label_spacing="1000" + precision="0" show_bar="true" show_history="false"> </stat_bar> @@ -65,9 +67,9 @@ stat="packetslostpercentstat" bar_min="0" bar_max="5" - tick_spacing="1" + tick_spacing="0.5" label_spacing="1" - precision="1" + precision="3" show_per_sec="false" show_bar="false" show_mean="true"> @@ -78,15 +80,17 @@ unit_label="msec" stat="simpingstat" bar_min="0" - bar_max="1000" - tick_spacing="100" - label_spacing="200" + bar_max="5000" + tick_spacing="500" + label_spacing="1000" + precision="0" show_bar="false" show_per_sec="false" show_mean="false"> </stat_bar> </stat_view> - <stat_view + <!--Advanced Section--> + <stat_view name="advanced" label="Advanced" show_label="true" @@ -98,37 +102,39 @@ setting="OpenDebugStatRender"> <stat_bar name="ktrisframe" - label="KTris Drawn" + label="KTris Drawn per Frame" unit_label="/fr" stat="trianglesdrawnstat" bar_min="0" - bar_max="500" - tick_spacing="100" - label_spacing="500" - precision="1" - show_per_sec="false"> - </stat_bar> + bar_max="10000" + tick_spacing="1000" + label_spacing="2000" + precision="0" + show_per_sec="false" + show_bar="false"> + </stat_bar> <stat_bar name="ktrissec" - label="KTris Drawn" + label="KTris Drawn per Sec" unit_label="/sec" stat="trianglesdrawnstat" bar_min="0" - bar_max="3000" - tick_spacing="250" - label_spacing="1000" - precision="1"> - </stat_bar> + bar_max="200000" + tick_spacing="25000" + label_spacing="50000" + precision="0" + show_bar="false"> + </stat_bar> <stat_bar name="objs" label="Total Objects" unit_label="" stat="numobjectsstat" bar_min="0" - bar_max="3000" - tick_spacing="250" - label_spacing="1000" - precision="1" + bar_max="50000" + tick_spacing="5000" + label_spacing="10000" + precision="0" show_per_sec="false" show_bar="false"> </stat_bar> @@ -138,13 +144,14 @@ unit_label="/sec" stat="numnewobjectsstat" bar_min="0" - bar_max="1000" - tick_spacing="100" - label_spacing="500" + bar_max="2000" + tick_spacing="200" + label_spacing="400" show_per_sec="true" show_bar="false"> </stat_bar> </stat_view> + <!--Texture Stats--> <stat_view name="texture" label="Texture" @@ -182,8 +189,9 @@ tick_spacing="100.f" label_spacing="200.f" precision="1" - show_per_sec="false" > - </stat_bar> + show_per_sec="false" + show_bar="false"> + </stat_bar> <stat_bar name="formattedmemstat" @@ -194,8 +202,9 @@ tick_spacing="100.f" label_spacing="200.f" precision="1" - show_per_sec="false" > - </stat_bar> + show_per_sec="false" + show_bar="false"> + </stat_bar> <stat_bar name="rawmemstat" @@ -206,8 +215,9 @@ tick_spacing="100.f" label_spacing="200.f" precision="1" - show_per_sec="false" > - </stat_bar> + show_per_sec="false" + show_bar="false"> + </stat_bar> <stat_bar name="glboundmemstat" @@ -218,10 +228,11 @@ tick_spacing="100.f" label_spacing="200.f" precision="1" - show_per_sec="false" > - </stat_bar> + show_per_sec="false" + show_bar="false"> + </stat_bar> </stat_view> - + <!--Network Stats--> <stat_view name="network" label="Network" @@ -232,6 +243,11 @@ label="Packets In" stat="packetsinstat" unit_label="/sec" + bar_min="0.f" + bar_max="1024.f" + tick_spacing="128.f" + label_spacing="256.f" + precision="1" show_bar="false"> </stat_bar> @@ -239,7 +255,12 @@ name="packetsoutstat" label="Packets Out" stat="packetsoutstat" - unit_label="/sec" + unit_label="/sec" + bar_min="0.f" + bar_max="1024.f" + tick_spacing="128.f" + label_spacing="256.f" + precision="1" show_bar="false" > </stat_bar> @@ -247,7 +268,12 @@ name="objectkbitstat" label="Objects" stat="objectkbitstat" - unit_label="kbps" + unit_label="kbps" + bar_min="0.f" + bar_max="1024.f" + tick_spacing="128.f" + label_spacing="256.f" + precision="1" show_bar="false" > </stat_bar> @@ -255,7 +281,12 @@ name="texturekbitstat" label="Texture" stat="texturekbitstat" - unit_label="kbps" + unit_label="kbps" + bar_min="0.f" + bar_max="1024.f" + tick_spacing="128.f" + label_spacing="256.f" + precision="1" show_bar="false" > </stat_bar> @@ -263,7 +294,12 @@ name="assetkbitstat" label="Asset" stat="assetkbitstat" - unit_label="kbps" + unit_label="kbps" + bar_min="0.f" + bar_max="1024.f" + tick_spacing="128.f" + label_spacing="256.f" + precision="1" show_bar="false" > </stat_bar> @@ -271,7 +307,12 @@ name="layerskbitstat" label="Layers" stat="layerskbitstat" - unit_label="kbps" + unit_label="kbps" + bar_min="0.f" + bar_max="1024.f" + tick_spacing="128.f" + label_spacing="256.f" + precision="1" show_bar="false" > </stat_bar> @@ -279,12 +320,13 @@ name="actualinkbitstat" label="Actual In" stat="actualinkbitstat" - unit_label="kbps" - bar_min="0.f" - bar_max="1024.f" - tick_spacing="128.f" - label_spacing="256.f" - show_bar="true" + unit_label="kbps" + bar_min="0.f" + bar_max="1024.f" + tick_spacing="128.f" + label_spacing="256.f" + precision="1" + show_bar="false" show_history="false" > </stat_bar> @@ -292,26 +334,27 @@ name="actualoutkbitstat" label="Actual Out" stat="actualoutkbitstat" - unit_label="kbps" - bar_min="0.f" - bar_max="512.f" - tick_spacing="128.f" - label_spacing="256.f" - show_bar="true" + unit_label="kbps" + bar_min="0.f" + bar_max="1024.f" + tick_spacing="128.f" + label_spacing="256.f" + precision="1" + show_bar="false" show_history="false"> </stat_bar> <stat_bar name="vfspendingoperations" - label="VFS Pending Ops" + label="VFS Pending Operations" stat="vfspendingoperations" - unit_label=" " + unit_label=" Ops." show_per_sec="false" show_bar="false" > </stat_bar> </stat_view> </stat_view> - + <!--Sim Stats--> <stat_view name="sim" label="Simulator" @@ -321,11 +364,11 @@ name="simtimedilation" label="Time Dilation" stat="simtimedilation" - precision="2" + precision="3" bar_min="0.f" bar_max="1.f" - tick_spacing="0.25f" - label_spacing="0.5f" + tick_spacing="0.16666f" + label_spacing="0.33333f" show_per_sec="false" show_bar="false" show_mean="false" > @@ -335,10 +378,11 @@ name="simfps" label="Sim FPS" stat="simfps" + precision="1" bar_min="0.f" - bar_max="200.f" - tick_spacing="20.f" - label_spacing="100.f" + bar_max="45.f" + tick_spacing="7.5f" + label_spacing="15.f" show_per_sec="false" show_bar="false" show_mean="false" > @@ -350,9 +394,9 @@ stat="simphysicsfps" precision="1" bar_min="0.f" - bar_max="66.f" - tick_spacing="33.f" - label_spacing="33.f" + bar_max="45.f" + tick_spacing="7.5.f" + label_spacing="15.f" show_per_sec="false" show_bar="false" show_mean="false" > @@ -369,8 +413,8 @@ precision="0" bar_min="0.f" bar_max="500.f" - tick_spacing="10.f" - label_spacing="40.f" + tick_spacing="50.f" + label_spacing="100.f" show_per_sec="false" show_bar="false" show_mean="false" > @@ -383,8 +427,8 @@ precision="0" bar_min="0.f" bar_max="500.f" - tick_spacing="10.f" - label_spacing="40.f" + tick_spacing="50.f" + label_spacing="100.f" show_per_sec="false" show_bar="false" show_mean="false" > @@ -395,7 +439,7 @@ label="Memory Allocated" stat="physicsmemoryallocated" unit_label="MB" - precision="0" + precision="1" bar_min="0.f" bar_max="1024.f" tick_spacing="128.f" @@ -468,9 +512,9 @@ stat="simactiveobjects" precision="0" bar_min="0.f" - bar_max="800.f" - tick_spacing="100.f" - label_spacing="200.f" + bar_max="5000.f" + tick_spacing="750.f" + label_spacing="1250.f" show_per_sec="false" show_bar="false" show_mean="false" > @@ -482,9 +526,9 @@ stat="simactivescripts" precision="0" bar_min="0.f" - bar_max="800.f" - tick_spacing="100.f" - label_spacing="200.f" + bar_max="15000.f" + tick_spacing="1875.f" + label_spacing="3750.f" show_per_sec="false" show_bar="false" show_mean="false" > @@ -497,9 +541,9 @@ unit_label="eps" precision="0" bar_min="0.f" - bar_max="20000.f" - tick_spacing="2500.f" - label_spacing="5000.f" + bar_max="5000.f" + tick_spacing="750.f" + label_spacing="1250.f" show_per_sec="false" show_bar="false" show_mean="false" > @@ -568,7 +612,7 @@ label="Total Unacked Bytes" stat="simtotalunackedbytes" unit_label="kb" - precision="0" + precision="1" bar_min="0.f" bar_max="100000.f" tick_spacing="25000.f" @@ -587,7 +631,7 @@ label="Total Frame Time" stat="simframemsec" unit_label="ms" - precision="1" + precision="3" bar_min="0.f" bar_max="40.f" tick_spacing="10.f" @@ -602,7 +646,7 @@ label="Net Time" stat="simnetmsec" unit_label="ms" - precision="1" + precision="3" bar_min="0.f" bar_max="40.f" tick_spacing="10.f" @@ -617,7 +661,7 @@ label="Physics Time" stat="simsimphysicsmsec" unit_label="ms" - precision="1" + precision="3" bar_min="0.f" bar_max="40.f" tick_spacing="10.f" @@ -632,7 +676,7 @@ label="Simulation Time" stat="simsimothermsec" unit_label="ms" - precision="1" + precision="3" bar_min="0.f" bar_max="40.f" tick_spacing="10.f" @@ -647,7 +691,7 @@ label="Agent Time" stat="simagentmsec" unit_label="ms" - precision="1" + precision="3" bar_min="0.f" bar_max="40.f" tick_spacing="10.f" @@ -662,7 +706,7 @@ label="Images Time" stat="simimagesmsec" unit_label="ms" - precision="1" + precision="3" bar_min="0.f" bar_max="40.f" tick_spacing="10.f" @@ -677,7 +721,7 @@ label="Script Time" stat="simscriptmsec" unit_label="ms" - precision="1" + precision="3" bar_min="0.f" bar_max="40.f" tick_spacing="10.f" @@ -686,6 +730,97 @@ show_bar="false" show_mean="false" > </stat_bar> + + <stat_bar + name="simsparemsec" + label="Spare Time" + stat="simsparemsec" + unit_label="ms" + precision="3" + bar_min="0.f" + bar_max="40.f" + tick_spacing="10.f" + label_spacing="20.f" + show_per_sec="false" + show_bar="false" + show_mean="false" > + </stat_bar> + <!--2nd level time blocks under 'Details' second--> + <stat_view + name="timedetails" + label="Time Details (ms)" + show_label="true"> + <stat_bar + name="simsimphysicsstepmsec" + label=" Physics Step" + stat="simsimphysicsstepmsec" + unit_label="ms" + precision="3" + bar_min="0.f" + bar_max="40.f" + tick_spacing="10.f" + label_spacing="20.f" + show_per_sec="false" + show_bar="false" + show_mean="false" > + </stat_bar> + <stat_bar + name="simsimphysicsshapeupdatemsec" + label=" Update Phys Shapes" + stat="simsimphysicsshapeupdatemsec" + unit_label="ms" + precision="3" + bar_min="0.f" + bar_max="40.f" + tick_spacing="10.f" + label_spacing="20.f" + show_per_sec="false" + show_bar="false" + show_mean="false" > + </stat_bar> + <stat_bar + name="simsimphysicsothermsec" + label=" Physics Other" + stat="simsimphysicsothermsec" + unit_label="ms" + precision="3" + bar_min="0.f" + bar_max="40.f" + tick_spacing="10.f" + label_spacing="20.f" + show_per_sec="false" + show_bar="false" + show_mean="false" > + </stat_bar> + <stat_bar + name="simsleepmsec" + label=" Sleep Time" + stat="simsleepmsec" + unit_label="ms" + precision="3" + bar_min="0.f" + bar_max="40.f" + tick_spacing="10.f" + label_spacing="20.f" + show_per_sec="false" + show_bar="false" + show_mean="false" > + </stat_bar> + <stat_bar + name="simpumpiomsec" + label=" Pump IO" + stat="simpumpiomsec" + unit_label="ms" + precision="3" + bar_min="0.f" + bar_max="40.f" + tick_spacing="10.f" + label_spacing="20.f" + show_per_sec="false" + show_bar="false" + show_mean="false" > + </stat_bar> + </stat_view> </stat_view> </stat_view> </container_view> -- GitLab From e61569d71422931e0d1f8d7e2f6e4db13d8b03ba Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 10 Oct 2011 14:08:14 -0700 Subject: [PATCH 138/256] added compound LLSD parsing to param blocks reviewed by Leslie --- indra/llui/llnotifications.cpp | 72 +++----- indra/llui/llsdparam.cpp | 255 ++++++++++++++------------- indra/llui/llsdparam.h | 66 +++---- indra/llui/tests/llurlentry_stub.cpp | 2 +- indra/llui/tests/llurlentry_test.cpp | 1 - indra/llui/tests/llurlmatch_test.cpp | 4 +- indra/llxuixml/llinitparam.cpp | 52 +++--- indra/llxuixml/llinitparam.h | 155 +++++++++------- indra/llxuixml/llxuiparser.cpp | 50 +++--- indra/llxuixml/llxuiparser.h | 36 ++-- indra/newview/llappviewer.cpp | 47 ++--- 11 files changed, 376 insertions(+), 364 deletions(-) diff --git a/indra/llui/llnotifications.cpp b/indra/llui/llnotifications.cpp index ffe5908a9d7..8f7025a9a66 100644 --- a/indra/llui/llnotifications.cpp +++ b/indra/llui/llnotifications.cpp @@ -46,6 +46,7 @@ #include <algorithm> #include <boost/regex.hpp> +#include <boost/foreach.hpp> const std::string NOTIFICATION_PERSIST_VERSION = "0.93"; @@ -416,23 +417,17 @@ LLNotificationTemplate::LLNotificationTemplate(const LLNotificationTemplate::Par mSoundEffect = LLUUID(LLUI::sSettingGroups["config"]->getString(p.sound)); } - for(LLInitParam::ParamIterator<LLNotificationTemplate::UniquenessContext>::const_iterator it = p.unique.contexts.begin(), - end_it = p.unique.contexts.end(); - it != end_it; - ++it) + BOOST_FOREACH(const LLNotificationTemplate::UniquenessContext& context, p.unique.contexts) { - mUniqueContext.push_back(it->value); + mUniqueContext.push_back(context.value); } lldebugs << "notification \"" << mName << "\": tag count is " << p.tags.size() << llendl; - for(LLInitParam::ParamIterator<LLNotificationTemplate::Tag>::const_iterator it = p.tags.begin(), - end_it = p.tags.end(); - it != end_it; - ++it) + BOOST_FOREACH(const LLNotificationTemplate::Tag& tag, p.tags) { - lldebugs << " tag \"" << std::string(it->value) << "\"" << llendl; - mTags.push_back(it->value); + lldebugs << " tag \"" << std::string(tag.value) << "\"" << llendl; + mTags.push_back(tag.value); } mForm = LLNotificationFormPtr(new LLNotificationForm(p.name, p.form_ref.form)); @@ -1397,14 +1392,12 @@ void replaceFormText(LLNotificationForm::Params& form, const std::string& patter { form.ignore.text = replace; } - for (LLInitParam::ParamIterator<LLNotificationForm::FormElement>::iterator it = form.form_elements.elements.begin(), - end_it = form.form_elements.elements.end(); - it != end_it; - ++it) + + BOOST_FOREACH(LLNotificationForm::FormElement& element, form.form_elements.elements) { - if (it->button.isChosen() && it->button.text() == pattern) + if (element.button.isChosen() && element.button.text() == pattern) { - it->button.text = replace; + element.button.text = replace; } } } @@ -1453,48 +1446,42 @@ bool LLNotifications::loadTemplates() mTemplates.clear(); - for(LLInitParam::ParamIterator<LLNotificationTemplate::GlobalString>::const_iterator it = params.strings.begin(), end_it = params.strings.end(); - it != end_it; - ++it) + BOOST_FOREACH(LLNotificationTemplate::GlobalString& string, params.strings) { - mGlobalStrings[it->name] = it->value; + mGlobalStrings[string.name] = string.value; } std::map<std::string, LLNotificationForm::Params> form_templates; - for(LLInitParam::ParamIterator<LLNotificationTemplate::Template>::const_iterator it = params.templates.begin(), end_it = params.templates.end(); - it != end_it; - ++it) + BOOST_FOREACH(LLNotificationTemplate::Template& notification_template, params.templates) { - form_templates[it->name] = it->form; + form_templates[notification_template.name] = notification_template.form; } - for(LLInitParam::ParamIterator<LLNotificationTemplate::Params>::iterator it = params.notifications.begin(), end_it = params.notifications.end(); - it != end_it; - ++it) + BOOST_FOREACH(LLNotificationTemplate::Params& notification, params.notifications) { - if (it->form_ref.form_template.isChosen()) + if (notification.form_ref.form_template.isChosen()) { // replace form contents from template - it->form_ref.form = form_templates[it->form_ref.form_template.name]; - if(it->form_ref.form_template.yes_text.isProvided()) + notification.form_ref.form = form_templates[notification.form_ref.form_template.name]; + if(notification.form_ref.form_template.yes_text.isProvided()) { - replaceFormText(it->form_ref.form, "$yestext", it->form_ref.form_template.yes_text); + replaceFormText(notification.form_ref.form, "$yestext", notification.form_ref.form_template.yes_text); } - if(it->form_ref.form_template.no_text.isProvided()) + if(notification.form_ref.form_template.no_text.isProvided()) { - replaceFormText(it->form_ref.form, "$notext", it->form_ref.form_template.no_text); + replaceFormText(notification.form_ref.form, "$notext", notification.form_ref.form_template.no_text); } - if(it->form_ref.form_template.cancel_text.isProvided()) + if(notification.form_ref.form_template.cancel_text.isProvided()) { - replaceFormText(it->form_ref.form, "$canceltext", it->form_ref.form_template.cancel_text); + replaceFormText(notification.form_ref.form, "$canceltext", notification.form_ref.form_template.cancel_text); } - if(it->form_ref.form_template.ignore_text.isProvided()) + if(notification.form_ref.form_template.ignore_text.isProvided()) { - replaceFormText(it->form_ref.form, "$ignoretext", it->form_ref.form_template.ignore_text); + replaceFormText(notification.form_ref.form, "$ignoretext", notification.form_ref.form_template.ignore_text); } } - mTemplates[it->name] = LLNotificationTemplatePtr(new LLNotificationTemplate(*it)); + mTemplates[notification.name] = LLNotificationTemplatePtr(new LLNotificationTemplate(notification)); } return true; @@ -1517,12 +1504,9 @@ bool LLNotifications::loadVisibilityRules() mVisibilityRules.clear(); - for(LLInitParam::ParamIterator<LLNotificationVisibilityRule::Rule>::iterator it = params.rules.begin(), - end_it = params.rules.end(); - it != end_it; - ++it) + BOOST_FOREACH(LLNotificationVisibilityRule::Rule& rule, params.rules) { - mVisibilityRules.push_back(LLNotificationVisibilityRulePtr(new LLNotificationVisibilityRule(*it))); + mVisibilityRules.push_back(LLNotificationVisibilityRulePtr(new LLNotificationVisibilityRule(rule))); } return true; diff --git a/indra/llui/llsdparam.cpp b/indra/llui/llsdparam.cpp index 4b69360e330..83bed3e7456 100644 --- a/indra/llui/llsdparam.cpp +++ b/indra/llui/llsdparam.cpp @@ -34,6 +34,7 @@ static LLInitParam::Parser::parser_read_func_map_t sReadFuncs; static LLInitParam::Parser::parser_write_func_map_t sWriteFuncs; static LLInitParam::Parser::parser_inspect_func_map_t sInspectFuncs; +static const LLSD NO_VALUE_MARKER; // // LLParamSDParser @@ -60,29 +61,32 @@ LLParamSDParser::LLParamSDParser() } // special case handling of U32 due to ambiguous LLSD::assign overload -bool LLParamSDParser::writeU32Param(LLParamSDParser::parser_t& parser, const void* val_ptr, const parser_t::name_stack_t& name_stack) +bool LLParamSDParser::writeU32Param(LLParamSDParser::parser_t& parser, const void* val_ptr, parser_t::name_stack_t& name_stack) { LLParamSDParser& sdparser = static_cast<LLParamSDParser&>(parser); if (!sdparser.mWriteRootSD) return false; - LLSD* sd_to_write = sdparser.getSDWriteNode(name_stack); - if (!sd_to_write) return false; + LLSD& sd_to_write = LLParamSDParserUtilities::getSDWriteNode(*sdparser.mWriteRootSD, std::make_pair(name_stack.begin(), name_stack.end())); + sd_to_write.assign((S32)*((const U32*)val_ptr)); - sd_to_write->assign((S32)*((const U32*)val_ptr)); return true; } -bool LLParamSDParser::writeFlag(LLParamSDParser::parser_t& parser, const void* val_ptr, const parser_t::name_stack_t& name_stack) +bool LLParamSDParser::writeFlag(LLParamSDParser::parser_t& parser, const void* val_ptr, parser_t::name_stack_t& name_stack) { LLParamSDParser& sdparser = static_cast<LLParamSDParser&>(parser); if (!sdparser.mWriteRootSD) return false; - LLSD* sd_to_write = sdparser.getSDWriteNode(name_stack); - if (!sd_to_write) return false; + LLParamSDParserUtilities::getSDWriteNode(*sdparser.mWriteRootSD, std::make_pair(name_stack.begin(), name_stack.end())); return true; } +void LLParamSDParser::submit(LLInitParam::BaseBlock& block, const LLSD& sd, LLInitParam::Parser::name_stack_t& name_stack) +{ + mCurReadSD = &sd; + block.submitValue(name_stack, *this); +} void LLParamSDParser::readSD(const LLSD& sd, LLInitParam::BaseBlock& block, bool silent) { @@ -90,7 +94,8 @@ void LLParamSDParser::readSD(const LLSD& sd, LLInitParam::BaseBlock& block, bool mNameStack.clear(); setParseSilently(silent); - readSDValues(sd, block); + LLParamSDParserUtilities::readSDValues(boost::bind(&LLParamSDParser::submit, this, boost::ref(block), _1, _2), sd, mNameStack); + //readSDValues(sd, block); } void LLParamSDParser::writeSD(LLSD& sd, const LLInitParam::BaseBlock& block) @@ -100,43 +105,6 @@ void LLParamSDParser::writeSD(LLSD& sd, const LLInitParam::BaseBlock& block) block.serializeBlock(*this); } -const LLSD NO_VALUE_MARKER; - -void LLParamSDParser::readSDValues(const LLSD& sd, LLInitParam::BaseBlock& block) -{ - if (sd.isMap()) - { - for (LLSD::map_const_iterator it = sd.beginMap(); - it != sd.endMap(); - ++it) - { - mNameStack.push_back(make_pair(it->first, newParseGeneration())); - readSDValues(it->second, block); - mNameStack.pop_back(); - } - } - else if (sd.isArray()) - { - for (LLSD::array_const_iterator it = sd.beginArray(); - it != sd.endArray(); - ++it) - { - mNameStack.back().second = newParseGeneration(); - readSDValues(*it, block); - } - } - else if (sd.isUndefined()) - { - mCurReadSD = &NO_VALUE_MARKER; - block.submitValue(mNameStack, *this); - } - else - { - mCurReadSD = &sd; - block.submitValue(mNameStack, *this); - } -} - /*virtual*/ std::string LLParamSDParser::getCurrentElementName() { std::string full_name = "sd"; @@ -150,81 +118,6 @@ void LLParamSDParser::readSDValues(const LLSD& sd, LLInitParam::BaseBlock& block return full_name; } -LLSD* LLParamSDParser::getSDWriteNode(const parser_t::name_stack_t& name_stack) -{ - //TODO: implement nested LLSD writing - LLSD* sd_to_write = mWriteRootSD; - bool new_traversal = false; - for (name_stack_t::const_iterator it = name_stack.begin(), prev_it = mNameStack.begin(); - it != name_stack.end(); - ++it) - { - bool new_array_entry = false; - if (prev_it == mNameStack.end()) - { - new_traversal = true; - } - else - { - if (!new_traversal // have not diverged yet from previous trace - && prev_it->first == it->first // names match - && prev_it->second != it->second) // versions differ - { - // name stacks match, but version numbers differ in last place. - // create a different entry at this point using an LLSD array - new_array_entry = true; - } - if (prev_it->first != it->first // names differ - || prev_it->second != it->second) // versions differ - { - // at this point we have diverged from our last trace - // so any elements referenced here are new - new_traversal = true; - } - } - - LLSD* child_sd = it->first.empty() ? sd_to_write : &(*sd_to_write)[it->first]; - - if (child_sd->isArray()) - { - if (new_traversal) - { - // write to new element at end - sd_to_write = &(*child_sd)[child_sd->size()]; - } - else - { - // write to last of existing elements, or first element if empty - sd_to_write = &(*child_sd)[llmax(0, child_sd->size() - 1)]; - } - } - else - { - if (new_array_entry && !child_sd->isArray()) - { - // copy child contents into first element of an array - LLSD new_array = LLSD::emptyArray(); - new_array.append(*child_sd); - // assign array to slot that previously held the single value - *child_sd = new_array; - // return next element in that array - sd_to_write = &((*child_sd)[1]); - } - else - { - sd_to_write = child_sd; - } - } - if (prev_it != mNameStack.end()) - { - ++prev_it; - } - } - mNameStack = name_stack; - - //llinfos << ll_pretty_print_sd(*mWriteRootSD) << llendl; - return sd_to_write; -} bool LLParamSDParser::readFlag(Parser& parser, void* val_ptr) { @@ -312,3 +205,125 @@ bool LLParamSDParser::readSD(Parser& parser, void* val_ptr) *((LLSD*)val_ptr) = *self.mCurReadSD; return true; } + +// static +LLSD& LLParamSDParserUtilities::getSDWriteNode(LLSD& input, LLInitParam::Parser::name_stack_range_t& name_stack_range) +{ + LLSD* sd_to_write = &input; + + for (LLInitParam::Parser::name_stack_t::iterator it = name_stack_range.first; + it != name_stack_range.second; + ++it) + { + bool new_traversal = it->second; + + LLSD* child_sd = it->first.empty() ? sd_to_write : &(*sd_to_write)[it->first]; + + if (child_sd->isArray()) + { + if (new_traversal) + { + // write to new element at end + sd_to_write = &(*child_sd)[child_sd->size()]; + } + else + { + // write to last of existing elements, or first element if empty + sd_to_write = &(*child_sd)[llmax(0, child_sd->size() - 1)]; + } + } + else + { + if (new_traversal + && child_sd->isDefined() + && !child_sd->isArray()) + { + // copy child contents into first element of an array + LLSD new_array = LLSD::emptyArray(); + new_array.append(*child_sd); + // assign array to slot that previously held the single value + *child_sd = new_array; + // return next element in that array + sd_to_write = &((*child_sd)[1]); + } + else + { + sd_to_write = child_sd; + } + } + it->second = false; + } + + return *sd_to_write; +} + +//static +void LLParamSDParserUtilities::readSDValues(read_sd_cb_t cb, const LLSD& sd, LLInitParam::Parser::name_stack_t& stack) +{ + if (sd.isMap()) + { + for (LLSD::map_const_iterator it = sd.beginMap(); + it != sd.endMap(); + ++it) + { + stack.push_back(make_pair(it->first, true)); + readSDValues(cb, it->second, stack); + stack.pop_back(); + } + } + else if (sd.isArray()) + { + for (LLSD::array_const_iterator it = sd.beginArray(); + it != sd.endArray(); + ++it) + { + stack.back().second = true; + readSDValues(cb, *it, stack); + } + } + else if (sd.isUndefined()) + { + if (!cb.empty()) + { + cb(NO_VALUE_MARKER, stack); + } + } + else + { + if (!cb.empty()) + { + cb(sd, stack); + } + } +} + +namespace LLInitParam +{ + // LLSD specialization + // block param interface + bool ParamValue<LLSD, TypeValues<LLSD>, false>::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, bool new_name) + { + LLSD& sd = LLParamSDParserUtilities::getSDWriteNode(mValue, name_stack); + + LLSD::String string; + + if (p.readValue<LLSD::String>(string)) + { + sd = string; + return true; + } + return false; + } + + //static + void ParamValue<LLSD, TypeValues<LLSD>, false>::serializeElement(Parser& p, const LLSD& sd, Parser::name_stack_t& name_stack) + { + p.writeValue<LLSD::String>(sd.asString(), name_stack); + } + + void ParamValue<LLSD, TypeValues<LLSD>, false>::serializeBlock(Parser& p, Parser::name_stack_t name_stack, const BaseBlock* diff_block) const + { + // read from LLSD value and serialize out to parser (which could be LLSD, XUI, etc) + LLParamSDParserUtilities::readSDValues(boost::bind(&serializeElement, boost::ref(p), _1, _2), mValue); + } +} diff --git a/indra/llui/llsdparam.h b/indra/llui/llsdparam.h index a371c28f68e..265993ffb5b 100644 --- a/indra/llui/llsdparam.h +++ b/indra/llui/llsdparam.h @@ -29,6 +29,15 @@ #define LL_LLSDPARAM_H #include "llinitparam.h" +#include "boost/function.hpp" + +struct LLParamSDParserUtilities +{ + static LLSD& getSDWriteNode(LLSD& input, LLInitParam::Parser::name_stack_range_t& name_stack_range); + + typedef boost::function<void (const LLSD&, LLInitParam::Parser::name_stack_t&)> read_sd_cb_t; + static void readSDValues(read_sd_cb_t cb, const LLSD& sd, LLInitParam::Parser::name_stack_t& stack = LLInitParam::Parser::name_stack_t()); +}; class LLParamSDParser : public LLInitParam::Parser @@ -45,25 +54,22 @@ typedef LLInitParam::Parser parser_t; /*virtual*/ std::string getCurrentElementName(); private: - void readSDValues(const LLSD& sd, LLInitParam::BaseBlock& block); + void submit(LLInitParam::BaseBlock& block, const LLSD& sd, LLInitParam::Parser::name_stack_t& name_stack); template<typename T> - static bool writeTypedValue(Parser& parser, const void* val_ptr, const parser_t::name_stack_t& name_stack) + static bool writeTypedValue(Parser& parser, const void* val_ptr, parser_t::name_stack_t& name_stack) { LLParamSDParser& sdparser = static_cast<LLParamSDParser&>(parser); if (!sdparser.mWriteRootSD) return false; - LLSD* sd_to_write = sdparser.getSDWriteNode(name_stack); - if (!sd_to_write) return false; + LLSD& sd_to_write = LLParamSDParserUtilities::getSDWriteNode(*sdparser.mWriteRootSD, std::make_pair(name_stack.begin(), name_stack.end())); - sd_to_write->assign(*((const T*)val_ptr)); + sd_to_write.assign(*((const T*)val_ptr)); return true; } - LLSD* getSDWriteNode(const parser_t::name_stack_t& name_stack); - - static bool writeU32Param(Parser& parser, const void* value_ptr, const parser_t::name_stack_t& name_stack); - static bool writeFlag(Parser& parser, const void* value_ptr, const parser_t::name_stack_t& name_stack); + static bool writeU32Param(Parser& parser, const void* value_ptr, parser_t::name_stack_t& name_stack); + static bool writeFlag(Parser& parser, const void* value_ptr, parser_t::name_stack_t& name_stack); static bool readFlag(Parser& parser, void* val_ptr); static bool readS32(Parser& parser, void* val_ptr); @@ -85,29 +91,29 @@ typedef LLInitParam::Parser parser_t; template<typename T> class LLSDParamAdapter : public T +{ +public: + LLSDParamAdapter() {} + LLSDParamAdapter(const LLSD& sd) { - public: - LLSDParamAdapter() {} - LLSDParamAdapter(const LLSD& sd) - { - LLParamSDParser parser; - parser.readSD(sd, *this); - } - - operator LLSD() const - { - LLParamSDParser parser; - LLSD sd; - parser.writeSD(sd, *this); - return sd; - } + LLParamSDParser parser; + parser.readSD(sd, *this); + } + + operator LLSD() const + { + LLParamSDParser parser; + LLSD sd; + parser.writeSD(sd, *this); + return sd; + } - LLSDParamAdapter(const T& val) - : T(val) - { - T::operator=(val); - } - }; + LLSDParamAdapter(const T& val) + : T(val) + { + T::operator=(val); + } +}; #endif // LL_LLSDPARAM_H diff --git a/indra/llui/tests/llurlentry_stub.cpp b/indra/llui/tests/llurlentry_stub.cpp index d5221232601..c8303bfc894 100644 --- a/indra/llui/tests/llurlentry_stub.cpp +++ b/indra/llui/tests/llurlentry_stub.cpp @@ -124,7 +124,7 @@ namespace LLInitParam { descriptor.mCurrentBlockPtr = this; } - bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, S32 generation){ return true; } + bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, bool new_name){ return true; } void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t name_stack, const LLInitParam::BaseBlock* diff_block) const {} bool BaseBlock::inspectBlock(Parser& parser, Parser::name_stack_t name_stack, S32 min_value, S32 max_value) const { return true; } bool BaseBlock::mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) { return true; } diff --git a/indra/llui/tests/llurlentry_test.cpp b/indra/llui/tests/llurlentry_test.cpp index 2f814f4200c..c1fb050206a 100644 --- a/indra/llui/tests/llurlentry_test.cpp +++ b/indra/llui/tests/llurlentry_test.cpp @@ -72,7 +72,6 @@ S32 LLUIImage::getHeight() const namespace LLInitParam { - S32 Parser::sNextParseGeneration = 0; BlockDescriptor::BlockDescriptor() {} ParamDescriptor::ParamDescriptor(param_handle_t p, merge_func_t merge_func, diff --git a/indra/llui/tests/llurlmatch_test.cpp b/indra/llui/tests/llurlmatch_test.cpp index fb6a2eabf10..9dbccf125a3 100644 --- a/indra/llui/tests/llurlmatch_test.cpp +++ b/indra/llui/tests/llurlmatch_test.cpp @@ -66,8 +66,6 @@ namespace LLInitParam BaseBlock::BaseBlock() {} BaseBlock::~BaseBlock() {} - S32 Parser::sNextParseGeneration = 0; - BlockDescriptor::BlockDescriptor() {} ParamDescriptor::ParamDescriptor(param_handle_t p, merge_func_t merge_func, @@ -98,7 +96,7 @@ namespace LLInitParam mEnclosingBlockOffset = 0x7FFFffff & ((U32)(my_addr - block_addr)); } - bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, S32 generation){ return true; } + bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, bool new_name){ return true; } void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t name_stack, const LLInitParam::BaseBlock* diff_block) const {} bool BaseBlock::inspectBlock(Parser& parser, Parser::name_stack_t name_stack, S32 min_count, S32 max_count) const { return true; } bool BaseBlock::mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) { return true; } diff --git a/indra/llxuixml/llinitparam.cpp b/indra/llxuixml/llinitparam.cpp index 99016205c85..2520502cf1f 100644 --- a/indra/llxuixml/llinitparam.cpp +++ b/indra/llxuixml/llinitparam.cpp @@ -62,7 +62,6 @@ namespace LLInitParam mInspectFunc(inspect_func), mMinCount(min_count), mMaxCount(max_count), - mGeneration(0), mUserData(NULL) {} @@ -75,7 +74,6 @@ namespace LLInitParam mInspectFunc(NULL), mMinCount(0), mMaxCount(0), - mGeneration(0), mUserData(NULL) {} @@ -87,8 +85,6 @@ namespace LLInitParam // // Parser // - S32 Parser::sNextParseGeneration = 0; - Parser::~Parser() {} @@ -162,9 +158,9 @@ namespace LLInitParam return (param_address - baseblock_address); } - bool BaseBlock::submitValue(const Parser::name_stack_t& name_stack, Parser& p, bool silent) + bool BaseBlock::submitValue(Parser::name_stack_t& name_stack, Parser& p, bool silent) { - if (!deserializeBlock(p, std::make_pair(name_stack.begin(), name_stack.end()), -1)) + if (!deserializeBlock(p, std::make_pair(name_stack.begin(), name_stack.end()), true)) { if (!silent) { @@ -213,8 +209,7 @@ namespace LLInitParam // each param descriptor remembers its serial number // so we can inspect the same param under different names // and see that it has the same number - (*it)->mGeneration = parser.newParseGeneration(); - name_stack.push_back(std::make_pair("", (*it)->mGeneration)); + name_stack.push_back(std::make_pair("", true)); serialize_func(*param, parser, name_stack, diff_param); name_stack.pop_back(); } @@ -250,12 +245,7 @@ namespace LLInitParam continue; } - if (!duplicate) - { - it->second->mGeneration = parser.newParseGeneration(); - } - - name_stack.push_back(std::make_pair(it->first, it->second->mGeneration)); + name_stack.push_back(std::make_pair(it->first, !duplicate)); const Param* diff_param = diff_block ? diff_block->getParamFromHandle(param_handle) : NULL; serialize_func(*param, parser, name_stack, diff_param); name_stack.pop_back(); @@ -278,8 +268,7 @@ namespace LLInitParam ParamDescriptor::inspect_func_t inspect_func = (*it)->mInspectFunc; if (inspect_func) { - (*it)->mGeneration = parser.newParseGeneration(); - name_stack.push_back(std::make_pair("", (*it)->mGeneration)); + name_stack.push_back(std::make_pair("", true)); inspect_func(*param, parser, name_stack, (*it)->mMinCount, (*it)->mMaxCount); name_stack.pop_back(); } @@ -307,11 +296,7 @@ namespace LLInitParam } } - if (!duplicate) - { - it->second->mGeneration = parser.newParseGeneration(); - } - name_stack.push_back(std::make_pair(it->first, it->second->mGeneration)); + name_stack.push_back(std::make_pair(it->first, !duplicate)); inspect_func(*param, parser, name_stack, it->second->mMinCount, it->second->mMaxCount); name_stack.pop_back(); } @@ -320,16 +305,18 @@ namespace LLInitParam return true; } - bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, S32 parent_generation) + bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack_range, bool ignored) { BlockDescriptor& block_data = mostDerivedBlockDescriptor(); - bool names_left = name_stack.first != name_stack.second; + bool names_left = name_stack_range.first != name_stack_range.second; - S32 parse_generation = name_stack.first == name_stack.second ? -1 : name_stack.first->second; + bool new_name = names_left + ? name_stack_range.first->second + : true; if (names_left) { - const std::string& top_name = name_stack.first->first; + const std::string& top_name = name_stack_range.first->first; ParamDescriptor::deserialize_func_t deserialize_func = NULL; Param* paramp = NULL; @@ -341,9 +328,18 @@ namespace LLInitParam paramp = getParamFromHandle(found_it->second->mParamHandle); deserialize_func = found_it->second->mDeserializeFunc; - Parser::name_stack_range_t new_name_stack(name_stack.first, name_stack.second); + Parser::name_stack_range_t new_name_stack(name_stack_range.first, name_stack_range.second); ++new_name_stack.first; - return deserialize_func(*paramp, p, new_name_stack, parse_generation); + if (deserialize_func(*paramp, p, new_name_stack, new_name)) + { + // value is no longer new, we know about it now + name_stack_range.first->second = false; + return true; + } + else + { + return false; + } } } @@ -355,7 +351,7 @@ namespace LLInitParam Param* paramp = getParamFromHandle((*it)->mParamHandle); ParamDescriptor::deserialize_func_t deserialize_func = (*it)->mDeserializeFunc; - if (deserialize_func && deserialize_func(*paramp, p, name_stack, parse_generation)) + if (deserialize_func && deserialize_func(*paramp, p, name_stack_range, new_name)) { return true; } diff --git a/indra/llxuixml/llinitparam.h b/indra/llxuixml/llinitparam.h index 1a131d15a3f..9245f588d95 100644 --- a/indra/llxuixml/llinitparam.h +++ b/indra/llxuixml/llinitparam.h @@ -214,13 +214,13 @@ namespace LLInitParam } }; - typedef std::vector<std::pair<std::string, S32> > name_stack_t; - typedef std::pair<name_stack_t::const_iterator, name_stack_t::const_iterator> name_stack_range_t; - typedef std::vector<std::string> possible_values_t; + typedef std::vector<std::pair<std::string, bool> > name_stack_t; + typedef std::pair<name_stack_t::iterator, name_stack_t::iterator> name_stack_range_t; + typedef std::vector<std::string> possible_values_t; typedef bool (*parser_read_func_t)(Parser& parser, void* output); - typedef bool (*parser_write_func_t)(Parser& parser, const void*, const name_stack_t&); - typedef boost::function<void (const name_stack_t&, S32, S32, const possible_values_t*)> parser_inspect_func_t; + typedef bool (*parser_write_func_t)(Parser& parser, const void*, name_stack_t&); + typedef boost::function<void (name_stack_t&, S32, S32, const possible_values_t*)> parser_inspect_func_t; typedef std::map<const std::type_info*, parser_read_func_t, CompareTypeID> parser_read_func_map_t; typedef std::map<const std::type_info*, parser_write_func_t, CompareTypeID> parser_write_func_map_t; @@ -228,7 +228,6 @@ namespace LLInitParam Parser(parser_read_func_map_t& read_map, parser_write_func_map_t& write_map, parser_inspect_func_map_t& inspect_map) : mParseSilently(false), - mParseGeneration(sNextParseGeneration), mParserReadFuncs(&read_map), mParserWriteFuncs(&write_map), mParserInspectFuncs(&inspect_map) @@ -245,7 +244,7 @@ namespace LLInitParam return false; } - template <typename T> bool writeValue(const T& param, const name_stack_t& name_stack) + template <typename T> bool writeValue(const T& param, name_stack_t& name_stack) { parser_write_func_map_t::iterator found_it = mParserWriteFuncs->find(&typeid(T)); if (found_it != mParserWriteFuncs->end()) @@ -256,7 +255,7 @@ namespace LLInitParam } // dispatch inspection to registered inspection functions, for each parameter in a param block - template <typename T> bool inspectValue(const name_stack_t& name_stack, S32 min_count, S32 max_count, const possible_values_t* possible_values) + template <typename T> bool inspectValue(name_stack_t& name_stack, S32 min_count, S32 max_count, const possible_values_t* possible_values) { parser_inspect_func_map_t::iterator found_it = mParserInspectFuncs->find(&typeid(T)); if (found_it != mParserInspectFuncs->end()) @@ -272,10 +271,6 @@ namespace LLInitParam virtual void parserError(const std::string& message); void setParseSilently(bool silent) { mParseSilently = silent; } - S32 getParseGeneration() { return mParseGeneration; } - S32 newParseGeneration() { return mParseGeneration = ++sNextParseGeneration; } - - protected: template <typename T> void registerParserFuncs(parser_read_func_t read_func, parser_write_func_t write_func = NULL) @@ -296,9 +291,6 @@ namespace LLInitParam parser_read_func_map_t* mParserReadFuncs; parser_write_func_map_t* mParserWriteFuncs; parser_inspect_func_map_t* mParserInspectFuncs; - S32 mParseGeneration; - - static S32 sNextParseGeneration; }; class BaseBlock; @@ -341,7 +333,7 @@ namespace LLInitParam }; typedef bool(*merge_func_t)(Param&, const Param&, bool); - typedef bool(*deserialize_func_t)(Param&, Parser&, const Parser::name_stack_range_t&, S32); + typedef bool(*deserialize_func_t)(Param&, Parser&, const Parser::name_stack_range_t&, bool); typedef void(*serialize_func_t)(const Param&, Parser&, Parser::name_stack_t&, const Param* diff_param); typedef void(*inspect_func_t)(const Param&, Parser&, Parser::name_stack_t&, S32 min_count, S32 max_count); typedef bool(*validation_func_t)(const Param*); @@ -366,7 +358,6 @@ namespace LLInitParam validation_func_t mValidationFunc; S32 mMinCount; S32 mMaxCount; - S32 mGeneration; S32 mNumRefs; UserData* mUserData; }; @@ -447,7 +438,7 @@ namespace LLInitParam BaseBlock(); virtual ~BaseBlock(); - bool submitValue(const Parser::name_stack_t& name_stack, Parser& p, bool silent=false); + bool submitValue(Parser::name_stack_t& name_stack, Parser& p, bool silent=false); param_handle_t getHandleFromParam(const Param* param) const; bool validateBlock(bool emit_errors = true) const; @@ -473,7 +464,7 @@ namespace LLInitParam S32 getLastChangeVersion() const { return mChangeVersion; } - bool deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, S32 generation); + bool deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack_range, bool new_name); void serializeBlock(Parser& p, Parser::name_stack_t name_stack = Parser::name_stack_t(), const BaseBlock* diff_block = NULL) const; bool inspectBlock(Parser& p, Parser::name_stack_t name_stack = Parser::name_stack_t(), S32 min_count = 0, S32 max_count = S32_MAX) const; @@ -593,8 +584,7 @@ namespace LLInitParam mKeyVersion(0), mValidatedVersion(-1), mValidated(false) - { - } + {} void setValue(value_assignment_t val) { @@ -672,11 +662,11 @@ namespace LLInitParam bool isProvided() const { return Param::anyProvided(); } - static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack, S32 generation) + static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack_range, bool new_name) { self_t& typed_param = static_cast<self_t&>(param); // no further names in stack, attempt to parse value now - if (name_stack.first == name_stack.second) + if (name_stack_range.first == name_stack_range.second) { if (parser.readValue(typed_param.getValue())) { @@ -715,7 +705,7 @@ namespace LLInitParam if (!name_stack.empty()) { - name_stack.back().second = parser.newParseGeneration(); + name_stack.back().second = true; } std::string key = typed_param.getValueName(); @@ -811,11 +801,11 @@ namespace LLInitParam } } - static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack, S32 generation) + static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack_range, bool new_name) { self_t& typed_param = static_cast<self_t&>(param); // attempt to parse block... - if(typed_param.deserializeBlock(parser, name_stack, generation)) + if(typed_param.deserializeBlock(parser, name_stack_range, new_name)) { typed_param.clearValueName(); typed_param.enclosingBlock().paramChanged(param, true); @@ -851,7 +841,7 @@ namespace LLInitParam if (!name_stack.empty()) { - name_stack.back().second = parser.newParseGeneration(); + name_stack.back().second = true; } std::string key = typed_param.getValueName(); @@ -943,7 +933,7 @@ namespace LLInitParam public: typedef TypedParam<VALUE_TYPE, NAME_VALUE_LOOKUP, true, false> self_t; typedef ParamValue<VALUE_TYPE, NAME_VALUE_LOOKUP> param_value_t; - typedef typename std::vector<param_value_t> container_t; + typedef typename std::vector<param_value_t> container_t; typedef const container_t& value_assignment_t; typedef VALUE_TYPE value_t; @@ -970,12 +960,12 @@ namespace LLInitParam bool isProvided() const { return Param::anyProvided(); } - static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack, S32 generation) + static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack, bool new_name) { self_t& typed_param = static_cast<self_t&>(param); value_t value; // no further names in stack, attempt to parse value now - if (name_stack.first == name_stack.second) + if (name_stack_range.first == name_stack_range.second) { // attempt to read value directly if (parser.readValue(value)) @@ -1015,7 +1005,7 @@ namespace LLInitParam ++it) { std::string key = it->getValue(); - name_stack.back().second = parser.newParseGeneration(); + name_stack.back().second = true; if(key.empty()) // not parsed via name values, write out value directly @@ -1132,8 +1122,7 @@ namespace LLInitParam typedef NAME_VALUE_LOOKUP name_value_lookup_t; TypedParam(BlockDescriptor& block_descriptor, const char* name, value_assignment_t value, ParamDescriptor::validation_func_t validate_func, S32 min_count, S32 max_count) - : Param(block_descriptor.mCurrentBlockPtr), - mLastParseGeneration(0) + : Param(block_descriptor.mCurrentBlockPtr) { std::copy(value.begin(), value.end(), back_inserter(mValues)); @@ -1153,13 +1142,12 @@ namespace LLInitParam bool isProvided() const { return Param::anyProvided(); } - static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack, S32 generation) + static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack_range, bool new_name) { self_t& typed_param = static_cast<self_t&>(param); bool new_value = false; - if (generation != typed_param.mLastParseGeneration - || typed_param.mValues.empty()) + if (new_name || typed_param.mValues.empty()) { new_value = true; typed_param.mValues.push_back(value_t()); @@ -1168,12 +1156,8 @@ namespace LLInitParam param_value_t& value = typed_param.mValues.back(); // attempt to parse block... - if(value.deserializeBlock(parser, name_stack, generation)) + if(value.deserializeBlock(parser, name_stack_range, new_name)) { - if (new_value) - { // successfully parsed new value, let's keep it - typed_param.mLastParseGeneration = generation; - } typed_param.enclosingBlock().paramChanged(param, true); typed_param.setProvided(true); return true; @@ -1187,11 +1171,6 @@ namespace LLInitParam // try to parse a per type named value if (name_value_lookup_t::getValueFromName(name, value.getValue())) { - if (new_value) - { // successfully parsed new value, let's keep it - typed_param.mLastParseGeneration = generation; - } - typed_param.mValues.back().setValueName(name); typed_param.mValues.back().mKeyVersion = value.getLastChangeVersion(); typed_param.enclosingBlock().paramChanged(param, true); @@ -1219,7 +1198,7 @@ namespace LLInitParam it != end_it; ++it) { - name_stack.back().second = parser.newParseGeneration(); + name_stack.back().second = true; std::string key = it->getValueName(); if (!key.empty() && it->mKeyVersion == it->getLastChangeVersion()) @@ -1317,8 +1296,6 @@ namespace LLInitParam } container_t mValues; - - S32 mLastParseGeneration; }; template <typename DERIVED_BLOCK> @@ -1625,9 +1602,9 @@ namespace LLInitParam } } - static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack, S32 generation) + static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack_range, bool new_name) { - if (name_stack.first == name_stack.second) + if (name_stack_range.first == name_stack_range.second) { //std::string message = llformat("Deprecated value %s ignored", getName().c_str()); //parser.parserWarning(message); @@ -1669,18 +1646,16 @@ namespace LLInitParam typedef Block<DERIVED_BLOCK, BASE_BLOCK> super_t; BatchBlock() - : mLastParseGeneration(-1) {} - bool deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, S32 generation) + bool deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack_range, bool new_name) { - if (generation != mLastParseGeneration) + if (new_name) { // reset block *static_cast<DERIVED_BLOCK*>(this) = defaultBatchValue(); - mLastParseGeneration = generation; } - return super_t::deserializeBlock(p, name_stack, generation); + return super_t::deserializeBlock(p, name_stack_range, new_name); } bool mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) @@ -1688,7 +1663,6 @@ namespace LLInitParam if (overwrite) { *static_cast<DERIVED_BLOCK*>(this) = defaultBatchValue(); - mLastParseGeneration = -1; // merge individual parameters into destination return super_t::mergeBlock(super_t::selfBlockDescriptor(), other, overwrite); } @@ -1700,19 +1674,20 @@ namespace LLInitParam static DERIVED_BLOCK default_value; return default_value; } - - S32 mLastParseGeneration; }; + // FIXME: this specialization is not currently used, as it only matches against the BatchBlock base class + // and not the derived class with the actual params template<typename DERIVED_BLOCK, typename BASE_BLOCK, typename NAME_VALUE_LOOKUP> class ParamValue <BatchBlock<DERIVED_BLOCK, BASE_BLOCK>, NAME_VALUE_LOOKUP, true> - : public Param, + : public NAME_VALUE_LOOKUP, protected BatchBlock<DERIVED_BLOCK, BASE_BLOCK> { + public: typedef BatchBlock<DERIVED_BLOCK, BASE_BLOCK> block_t; typedef const BatchBlock<DERIVED_BLOCK, BASE_BLOCK>& value_assignment_t; @@ -1734,7 +1709,6 @@ namespace LLInitParam void setValue(value_assignment_t val) { *this = val; - block_t::mLastParseGeneration = -1; } value_assignment_t getValue() const @@ -1764,6 +1738,59 @@ namespace LLInitParam mutable bool mValidated; // lazy validation flag }; + template <> + class ParamValue <LLSD, + TypeValues<LLSD>, + false> + : public TypeValues<LLSD>, + public BaseBlock + { + public: + typedef ParamValue<LLSD, TypeValues<LLSD>, false> self_t; + typedef const LLSD& value_assignment_t; + + ParamValue() + : mKeyVersion(0), + mValidatedVersion(-1), + mValidated(false) + {} + + ParamValue(value_assignment_t other) + : mValue(other), + mKeyVersion(0), + mValidatedVersion(-1), + mValidated(false) + {} + + void setValue(value_assignment_t val) { mValue = val; } + + value_assignment_t getValue() const { return mValue; } + LLSD& getValue() { return mValue; } + + operator value_assignment_t() const { return mValue; } + value_assignment_t operator()() const { return mValue; } + + S32 mKeyVersion; + + // block param interface + bool deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack_range, bool new_name); + void serializeBlock(Parser& p, Parser::name_stack_t name_stack = Parser::name_stack_t(), const BaseBlock* diff_block = NULL) const; + bool inspectBlock(Parser& p, Parser::name_stack_t name_stack = Parser::name_stack_t(), S32 min_count = 0, S32 max_count = S32_MAX) const + { + //TODO: implement LLSD params as schema type Any + return true; + } + + protected: + mutable S32 mValidatedVersion; + mutable bool mValidated; // lazy validation flag + + private: + static void serializeElement(Parser& p, const LLSD& sd, Parser::name_stack_t& name_stack); + + LLSD mValue; + }; + template<typename T> class CustomParamValue : public Block<ParamValue<T, TypeValues<T> > >, @@ -1790,11 +1817,11 @@ namespace LLInitParam mValidated(false) {} - bool deserializeBlock(Parser& parser, Parser::name_stack_range_t name_stack, S32 generation) + bool deserializeBlock(Parser& parser, Parser::name_stack_range_t name_stack_range, bool new_name) { derived_t& typed_param = static_cast<derived_t&>(*this); // try to parse direct value T - if (name_stack.first == name_stack.second) + if (name_stack_range.first == name_stack_range.second) { if(parser.readValue(typed_param.mValue)) { @@ -1808,7 +1835,7 @@ namespace LLInitParam } // fall back on parsing block components for T - return typed_param.BaseBlock::deserializeBlock(parser, name_stack, generation); + return typed_param.BaseBlock::deserializeBlock(parser, name_stack_range, new_name); } void serializeBlock(Parser& parser, Parser::name_stack_t name_stack = Parser::name_stack_t(), const BaseBlock* diff_block = NULL) const diff --git a/indra/llxuixml/llxuiparser.cpp b/indra/llxuixml/llxuiparser.cpp index c60f656c2ca..1bb550d98fa 100644 --- a/indra/llxuixml/llxuiparser.cpp +++ b/indra/llxuixml/llxuiparser.cpp @@ -513,7 +513,6 @@ static LLInitParam::Parser::parser_inspect_func_map_t sXUIInspectFuncs; // LLXUIParser::LLXUIParser() : Parser(sXUIReadFuncs, sXUIWriteFuncs, sXUIInspectFuncs), - mLastWriteGeneration(-1), mCurReadDepth(0) { if (sXUIReadFuncs.empty()) @@ -583,7 +582,7 @@ bool LLXUIParser::readXUIImpl(LLXMLNodePtr nodep, LLInitParam::BaseBlock& block) if (!text_contents.empty()) { mCurReadNode = nodep; - mNameStack.push_back(std::make_pair(std::string("value"), newParseGeneration())); + mNameStack.push_back(std::make_pair(std::string("value"), true)); // child nodes are not necessarily valid parameters (could be a child widget) // so don't complain once we've recursed if (!block.submitValue(mNameStack, *this, true)) @@ -618,7 +617,7 @@ bool LLXUIParser::readXUIImpl(LLXMLNodePtr nodep, LLInitParam::BaseBlock& block) // since there is no widget named "rect" if (child_name.find(".") == std::string::npos) { - mNameStack.push_back(std::make_pair(child_name, newParseGeneration())); + mNameStack.push_back(std::make_pair(child_name, true)); num_tokens_pushed++; } else @@ -654,7 +653,7 @@ bool LLXUIParser::readXUIImpl(LLXMLNodePtr nodep, LLInitParam::BaseBlock& block) // copy remaining tokens on to our running token list for(tokenizer::iterator token_to_push = name_token_it; token_to_push != name_tokens.end(); ++token_to_push) { - mNameStack.push_back(std::make_pair(*token_to_push, newParseGeneration())); + mNameStack.push_back(std::make_pair(*token_to_push, true)); num_tokens_pushed++; } } @@ -704,7 +703,7 @@ bool LLXUIParser::readAttributes(LLXMLNodePtr nodep, LLInitParam::BaseBlock& blo // copy remaining tokens on to our running token list for(tokenizer::iterator token_to_push = name_tokens.begin(); token_to_push != name_tokens.end(); ++token_to_push) { - mNameStack.push_back(std::make_pair(*token_to_push, newParseGeneration())); + mNameStack.push_back(std::make_pair(*token_to_push, true)); num_tokens_pushed++; } @@ -728,7 +727,7 @@ void LLXUIParser::writeXUI(LLXMLNodePtr node, const LLInitParam::BaseBlock &bloc } // go from a stack of names to a specific XML node -LLXMLNodePtr LLXUIParser::getNode(const name_stack_t& stack) +LLXMLNodePtr LLXUIParser::getNode(name_stack_t& stack) { name_stack_t name_stack; for (name_stack_t::const_iterator it = stack.begin(); @@ -781,7 +780,7 @@ bool LLXUIParser::readFlag(Parser& parser, void* val_ptr) return self.mCurReadNode == DUMMY_NODE; } -bool LLXUIParser::writeFlag(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeFlag(Parser& parser, const void* val_ptr, name_stack_t& stack) { // just create node LLXUIParser& self = static_cast<LLXUIParser&>(parser); @@ -798,7 +797,7 @@ bool LLXUIParser::readBoolValue(Parser& parser, void* val_ptr) return success; } -bool LLXUIParser::writeBoolValue(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeBoolValue(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -817,7 +816,7 @@ bool LLXUIParser::readStringValue(Parser& parser, void* val_ptr) return true; } -bool LLXUIParser::writeStringValue(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeStringValue(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -855,7 +854,7 @@ bool LLXUIParser::readU8Value(Parser& parser, void* val_ptr) return self.mCurReadNode->getByteValue(1, (U8*)val_ptr); } -bool LLXUIParser::writeU8Value(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeU8Value(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -879,7 +878,7 @@ bool LLXUIParser::readS8Value(Parser& parser, void* val_ptr) return false; } -bool LLXUIParser::writeS8Value(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeS8Value(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -903,7 +902,7 @@ bool LLXUIParser::readU16Value(Parser& parser, void* val_ptr) return false; } -bool LLXUIParser::writeU16Value(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeU16Value(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -927,7 +926,7 @@ bool LLXUIParser::readS16Value(Parser& parser, void* val_ptr) return false; } -bool LLXUIParser::writeS16Value(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeS16Value(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -945,7 +944,7 @@ bool LLXUIParser::readU32Value(Parser& parser, void* val_ptr) return self.mCurReadNode->getUnsignedValue(1, (U32*)val_ptr); } -bool LLXUIParser::writeU32Value(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeU32Value(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -963,7 +962,7 @@ bool LLXUIParser::readS32Value(Parser& parser, void* val_ptr) return self.mCurReadNode->getIntValue(1, (S32*)val_ptr); } -bool LLXUIParser::writeS32Value(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeS32Value(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -981,7 +980,7 @@ bool LLXUIParser::readF32Value(Parser& parser, void* val_ptr) return self.mCurReadNode->getFloatValue(1, (F32*)val_ptr); } -bool LLXUIParser::writeF32Value(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeF32Value(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -999,7 +998,7 @@ bool LLXUIParser::readF64Value(Parser& parser, void* val_ptr) return self.mCurReadNode->getDoubleValue(1, (F64*)val_ptr); } -bool LLXUIParser::writeF64Value(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeF64Value(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -1023,7 +1022,7 @@ bool LLXUIParser::readColor4Value(Parser& parser, void* val_ptr) return false; } -bool LLXUIParser::writeColor4Value(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeColor4Value(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -1050,7 +1049,7 @@ bool LLXUIParser::readUIColorValue(Parser& parser, void* val_ptr) return false; } -bool LLXUIParser::writeUIColorValue(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeUIColorValue(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -1079,7 +1078,7 @@ bool LLXUIParser::readUUIDValue(Parser& parser, void* val_ptr) return false; } -bool LLXUIParser::writeUUIDValue(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeUUIDValue(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -1098,7 +1097,7 @@ bool LLXUIParser::readSDValue(Parser& parser, void* val_ptr) return true; } -bool LLXUIParser::writeSDValue(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeSDValue(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); @@ -1207,7 +1206,6 @@ const char* NO_VALUE_MARKER = "no_value"; LLSimpleXUIParser::LLSimpleXUIParser(LLSimpleXUIParser::element_start_callback_t element_cb) : Parser(sSimpleXUIReadFuncs, sSimpleXUIWriteFuncs, sSimpleXUIInspectFuncs), - mLastWriteGeneration(-1), mCurReadDepth(0), mElementCB(element_cb) { @@ -1338,7 +1336,7 @@ void LLSimpleXUIParser::startElement(const char *name, const char **atts) { // compound attribute if (child_name.find(".") == std::string::npos) { - mNameStack.push_back(std::make_pair(child_name, newParseGeneration())); + mNameStack.push_back(std::make_pair(child_name, true)); num_tokens_pushed++; mScope.push_back(child_name); } @@ -1365,7 +1363,7 @@ void LLSimpleXUIParser::startElement(const char *name, const char **atts) // copy remaining tokens on to our running token list for(tokenizer::iterator token_to_push = name_token_it; token_to_push != name_tokens.end(); ++token_to_push) { - mNameStack.push_back(std::make_pair(*token_to_push, newParseGeneration())); + mNameStack.push_back(std::make_pair(*token_to_push, true)); num_tokens_pushed++; } mScope.push_back(mNameStack.back().first); @@ -1398,7 +1396,7 @@ bool LLSimpleXUIParser::readAttributes(const char **atts) // copy remaining tokens on to our running token list for(tokenizer::iterator token_to_push = name_tokens.begin(); token_to_push != name_tokens.end(); ++token_to_push) { - mNameStack.push_back(std::make_pair(*token_to_push, newParseGeneration())); + mNameStack.push_back(std::make_pair(*token_to_push, true)); num_tokens_pushed++; } @@ -1420,7 +1418,7 @@ bool LLSimpleXUIParser::processText() LLStringUtil::trim(mTextContents); if (!mTextContents.empty()) { - mNameStack.push_back(std::make_pair(std::string("value"), newParseGeneration())); + mNameStack.push_back(std::make_pair(std::string("value"), true)); mCurAttributeValueBegin = mTextContents.c_str(); mOutputStack.back().first->submitValue(mNameStack, *this, mParseSilently); mNameStack.pop_back(); diff --git a/indra/llxuixml/llxuiparser.h b/indra/llxuixml/llxuiparser.h index 42a79b4100b..e0402523dae 100644 --- a/indra/llxuixml/llxuiparser.h +++ b/indra/llxuixml/llxuiparser.h @@ -133,23 +133,23 @@ LOG_CLASS(LLXUIParser); static bool readSDValue(Parser& parser, void* val_ptr); //writer helper functions - static bool writeFlag(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeBoolValue(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeStringValue(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeU8Value(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeS8Value(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeU16Value(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeS16Value(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeU32Value(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeS32Value(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeF32Value(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeF64Value(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeColor4Value(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeUIColorValue(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeUUIDValue(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeSDValue(Parser& parser, const void* val_ptr, const name_stack_t&); - - LLXMLNodePtr getNode(const name_stack_t& stack); + static bool writeFlag(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeBoolValue(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeStringValue(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeU8Value(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeS8Value(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeU16Value(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeS16Value(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeU32Value(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeS32Value(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeF32Value(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeF64Value(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeColor4Value(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeUIColorValue(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeUUIDValue(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeSDValue(Parser& parser, const void* val_ptr, name_stack_t&); + + LLXMLNodePtr getNode(name_stack_t& stack); private: Parser::name_stack_t mNameStack; @@ -159,7 +159,6 @@ LOG_CLASS(LLXUIParser); typedef std::map<S32, LLXMLNodePtr> out_nodes_t; out_nodes_t mOutNodes; - S32 mLastWriteGeneration; LLXMLNodePtr mLastWrittenChild; S32 mCurReadDepth; std::string mCurFileName; @@ -226,7 +225,6 @@ LOG_CLASS(LLSimpleXUIParser); Parser::name_stack_t mNameStack; struct XML_ParserStruct* mParser; - S32 mLastWriteGeneration; LLXMLNodePtr mLastWrittenChild; S32 mCurReadDepth; std::string mCurFileName; diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index fa0b392f1b6..5077a0a596b 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -109,6 +109,7 @@ // Third party library includes #include <boost/bind.hpp> +#include <boost/foreach.hpp> #if LL_WINDOWS @@ -2041,42 +2042,37 @@ bool LLAppViewer::loadSettingsFromDirectory(const std::string& location_key, llerrs << "Invalid settings location list" << llendl; } - for(LLInitParam::ParamIterator<SettingsGroup>::const_iterator it = mSettingsLocationList->groups.begin(), end_it = mSettingsLocationList->groups.end(); - it != end_it; - ++it) + BOOST_FOREACH(const SettingsGroup& group, mSettingsLocationList->groups) { // skip settings groups that aren't the one we requested - if (it->name() != location_key) continue; + if (group.name() != location_key) continue; - ELLPath path_index = (ELLPath)it->path_index(); + ELLPath path_index = (ELLPath)group.path_index(); if(path_index <= LL_PATH_NONE || path_index >= LL_PATH_LAST) { llerrs << "Out of range path index in app_settings/settings_files.xml" << llendl; return false; } - LLInitParam::ParamIterator<SettingsFile>::const_iterator file_it, end_file_it; - for (file_it = it->files.begin(), end_file_it = it->files.end(); - file_it != end_file_it; - ++file_it) + BOOST_FOREACH(const SettingsFile& file, group.files) { - llinfos << "Attempting to load settings for the group " << file_it->name() + llinfos << "Attempting to load settings for the group " << file.name() << " - from location " << location_key << llendl; - LLControlGroup* settings_group = LLControlGroup::getInstance(file_it->name); + LLControlGroup* settings_group = LLControlGroup::getInstance(file.name); if(!settings_group) { - llwarns << "No matching settings group for name " << file_it->name() << llendl; + llwarns << "No matching settings group for name " << file.name() << llendl; continue; } std::string full_settings_path; - if (file_it->file_name_setting.isProvided() - && gSavedSettings.controlExists(file_it->file_name_setting)) + if (file.file_name_setting.isProvided() + && gSavedSettings.controlExists(file.file_name_setting)) { // try to find filename stored in file_name_setting control - full_settings_path = gSavedSettings.getString(file_it->file_name_setting); + full_settings_path = gSavedSettings.getString(file.file_name_setting); if (full_settings_path.empty()) { continue; @@ -2090,16 +2086,16 @@ bool LLAppViewer::loadSettingsFromDirectory(const std::string& location_key, else { // by default, use specified file name - full_settings_path = gDirUtilp->getExpandedFilename((ELLPath)path_index, file_it->file_name()); + full_settings_path = gDirUtilp->getExpandedFilename((ELLPath)path_index, file.file_name()); } - if(settings_group->loadFromFile(full_settings_path, set_defaults, file_it->persistent)) + if(settings_group->loadFromFile(full_settings_path, set_defaults, file.persistent)) { // success! llinfos << "Loaded settings file " << full_settings_path << llendl; } else { // failed to load - if(file_it->required) + if(file.required) { llerrs << "Error: Cannot load required settings file from: " << full_settings_path << llendl; return false; @@ -2122,20 +2118,15 @@ bool LLAppViewer::loadSettingsFromDirectory(const std::string& location_key, std::string LLAppViewer::getSettingsFilename(const std::string& location_key, const std::string& file) { - for(LLInitParam::ParamIterator<SettingsGroup>::const_iterator it = mSettingsLocationList->groups.begin(), end_it = mSettingsLocationList->groups.end(); - it != end_it; - ++it) + BOOST_FOREACH(const SettingsGroup& group, mSettingsLocationList->groups) { - if (it->name() == location_key) + if (group.name() == location_key) { - LLInitParam::ParamIterator<SettingsFile>::const_iterator file_it, end_file_it; - for (file_it = it->files.begin(), end_file_it = it->files.end(); - file_it != end_file_it; - ++file_it) + BOOST_FOREACH(const SettingsFile& settings_file, group.files) { - if (file_it->name() == file) + if (settings_file.name() == file) { - return file_it->file_name; + return settings_file.file_name; } } } -- GitLab From da3c7da7a585ea14a5a494ac7f36e7714bc86ab8 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 10 Oct 2011 15:04:00 -0700 Subject: [PATCH 139/256] side toolbar buttons are now squares again --- indra/llui/lltoolbar.h | 4 ++-- indra/newview/skins/default/xui/en/widgets/toolbar.xml | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 9e48dee608e..84fa7ec0df5 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -47,8 +47,8 @@ class LLToolBarButton : public LLButton public: struct Params : public LLInitParam::Block<Params, LLButton::Params> { - Optional<LLUI::RangeS32> button_width; - Optional<S32> desired_height; + Optional<LLUI::RangeS32::Params> button_width; + Optional<S32> desired_height; Params() : button_width("button_width"), diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index d36b0150059..60e7c34d84c 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -33,9 +33,9 @@ image_pressed="PushButton_Press" image_pressed_selected="PushButton_Selected_Press" image_selected="PushButton_Selected_Press" - desired_height="35" - button_width.min="35" - button_width.max="35" + desired_height="38" + button_width.min="38" + button_width.max="38" follows="left|top" label="" chrome="true" -- GitLab From 0526d673093b2279777dc8be5aae9cc33cb1c822 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 10 Oct 2011 15:31:25 -0700 Subject: [PATCH 140/256] EXP-1312 FIX Floaters should appear in region not covered by toolbars moved floater snap region to middle of toolbars and constrained floaters to that snap region also made toybox floater pass all drag and drop events along to toolbar --- indra/llui/llfloater.cpp | 2 +- indra/newview/llfloatertoybox.cpp | 11 +++++++++++ indra/newview/llfloatertoybox.h | 5 +++++ indra/newview/skins/default/xui/en/main_view.xml | 7 ------- .../skins/default/xui/en/panel_toolbar_view.xml | 7 +++++++ 5 files changed, 24 insertions(+), 8 deletions(-) diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index cc49238a0b4..cba14e21c30 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -2549,7 +2549,7 @@ void LLFloaterView::adjustToFitScreen(LLFloater* floater, BOOL allow_partial_out } // move window fully onscreen - if (floater->translateIntoRect( getLocalRect(), allow_partial_outside )) + if (floater->translateIntoRect( getSnapRect(), allow_partial_outside )) { floater->clearSnapTarget(); } diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp index 609041803a4..fa600229110 100644 --- a/indra/newview/llfloatertoybox.cpp +++ b/indra/newview/llfloatertoybox.cpp @@ -120,5 +120,16 @@ void LLFloaterToybox::onBtnRestoreDefaults() LLToolBarView::loadDefaultToolbars(); } +BOOL LLFloaterToybox::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, + EDragAndDropType cargo_type, + void* cargo_data, + EAcceptance* accept, + std::string& tooltip_msg) +{ + S32 local_x = x - mToolBar->getRect().mLeft; + S32 local_y = y - mToolBar->getRect().mBottom; + return mToolBar->handleDragAndDrop(local_x, local_y, mask, drop, cargo_type, cargo_data, accept, tooltip_msg); +} + // eof diff --git a/indra/newview/llfloatertoybox.h b/indra/newview/llfloatertoybox.h index f7245506c59..f0a6cf1a8be 100644 --- a/indra/newview/llfloatertoybox.h +++ b/indra/newview/llfloatertoybox.h @@ -43,6 +43,11 @@ class LLFloaterToybox : public LLFloater // virtuals BOOL postBuild(); void draw(); + /*virtual*/ BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, + EDragAndDropType cargo_type, + void* cargo_data, + EAcceptance* accept, + std::string& tooltip_msg); protected: void onBtnRestoreDefaults(); diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index 57baa7cdd39..96d070ae509 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -74,13 +74,6 @@ user_resize="false" name="hud container" width="500"> - <view top="0" - follows="all" - height="500" - left="0" - mouse_opaque="false" - name="floater_snap_region" - width="500"/> <panel follows="left|top" height="19" left="0" diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 03d45887d42..bc96bfbab58 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -55,6 +55,13 @@ mouse_opaque="false" height="100" width="100"> + <view top="0" + follows="all" + height="100" + left="0" + mouse_opaque="false" + name="floater_snap_region" + width="100"/> <panel bottom="100" follows="left|right|bottom" height="25" -- GitLab From 897972636d0fdd0c6dc76e1a337bb43e1aa9bc0c Mon Sep 17 00:00:00 2001 From: Xiaohong Bao <bao@lindenlab.com> Date: Mon, 10 Oct 2011 16:31:56 -0600 Subject: [PATCH 141/256] fix for SH-2464: Crash on exit in LLPrivateMemoryPoolManager::freeMem --- indra/llcommon/llmemory.cpp | 41 +++++++++++++++++++++++++++++++++++-- indra/llcommon/llmemory.h | 1 + 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/indra/llcommon/llmemory.cpp b/indra/llcommon/llmemory.cpp index 8c02ad82908..7d340483b7c 100644 --- a/indra/llcommon/llmemory.cpp +++ b/indra/llcommon/llmemory.cpp @@ -1773,6 +1773,7 @@ void LLPrivateMemoryPool::LLChunkHashElement::remove(LLPrivateMemoryPool::LLMemo //class LLPrivateMemoryPoolManager //-------------------------------------------------------------------- LLPrivateMemoryPoolManager* LLPrivateMemoryPoolManager::sInstance = NULL ; +std::vector<LLPrivateMemoryPool*> LLPrivateMemoryPoolManager::sDanglingPoolList ; LLPrivateMemoryPoolManager::LLPrivateMemoryPoolManager(BOOL enabled) { @@ -1797,7 +1798,7 @@ LLPrivateMemoryPoolManager::~LLPrivateMemoryPoolManager() S32 k = 0 ; for(mem_allocation_info_t::iterator iter = sMemAllocationTracker.begin() ; iter != sMemAllocationTracker.end() ; ++iter) { - llinfos << k++ << ", " << iter->second << llendl ; + llinfos << k++ << ", " << (U32)iter->first << " : " << iter->second << llendl ; } sMemAllocationTracker.clear() ; } @@ -1817,7 +1818,17 @@ LLPrivateMemoryPoolManager::~LLPrivateMemoryPoolManager() { if(mPoolList[i]) { - delete mPoolList[i] ; + if(mPoolList[i]->isEmpty()) + { + delete mPoolList[i] ; + } + else + { + //can not delete this pool because it has alloacted memory to be freed. + //move it to the dangling list. + sDanglingPoolList.push_back(mPoolList[i]) ; + } + mPoolList[i] = NULL ; } } @@ -1953,6 +1964,32 @@ void LLPrivateMemoryPoolManager::freeMem(LLPrivateMemoryPool* poolp, void* addr } else { + if(!sInstance) //the private memory manager is destroyed, try the dangling list + { + for(S32 i = 0 ; i < sDanglingPoolList.size(); i++) + { + if(sDanglingPoolList[i]->findChunk((char*)addr)) + { + sDanglingPoolList[i]->freeMem(addr) ; + if(sDanglingPoolList[i]->isEmpty()) + { + delete sDanglingPoolList[i] ; + + if(i < sDanglingPoolList.size() - 1) + { + sDanglingPoolList[i] = sDanglingPoolList[sDanglingPoolList.size() - 1] ; + } + sDanglingPoolList.pop_back() ; + } + + addr = NULL ; + break ; + } + } + } + + llassert_always(!addr) ; //addr should be release before hitting here! + free(addr) ; } } diff --git a/indra/llcommon/llmemory.h b/indra/llcommon/llmemory.h index db753f0d8ba..25e6c68e88f 100644 --- a/indra/llcommon/llmemory.h +++ b/indra/llcommon/llmemory.h @@ -399,6 +399,7 @@ class LL_COMMON_API LLPrivateMemoryPoolManager std::vector<LLPrivateMemoryPool*> mPoolList ; BOOL mPrivatePoolEnabled; + static std::vector<LLPrivateMemoryPool*> sDanglingPoolList ; public: //debug and statistics info. void updateStatistics() ; -- GitLab From fba3f5dfd6ab51debd97c2c0e635ddcad388bcfe Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Mon, 10 Oct 2011 15:44:31 -0700 Subject: [PATCH 142/256] Added picks command and icon. Changed toolbar button text layout to halign left. --- indra/newview/app_settings/commands.xml | 10 ++++ .../skins/default/textures/textures.xml | 45 +++++++++--------- .../default/textures/toolbar_icons/picks.png | Bin 0 -> 1368 bytes .../skins/default/xui/en/floater_toybox.xml | 1 + .../newview/skins/default/xui/en/strings.xml | 2 + .../skins/default/xui/en/widgets/toolbar.xml | 2 + 6 files changed, 38 insertions(+), 22 deletions(-) create mode 100644 indra/newview/skins/default/textures/toolbar_icons/picks.png diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index dab57d44bd3..f5581baa193 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -152,6 +152,16 @@ is_running_function="Floater.IsOpen" is_running_parameters="people" /> + <command name="picks" + available_in_toybox="true" + icon="Command_Picks_Icon" + label_ref="Command_Picks_Label" + tooltip_ref="Command_Picks_Tooltip" + execute_function="Floater.ToolbarToggle" + execute_parameters="picks" + is_running_function="Floater.IsOpen" + is_running_parameters="picks" + /> <command name="places" available_in_toybox="true" icon="Command_Places_Icon" diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 0e4b354e0d6..e7fb836f451 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -125,29 +125,30 @@ with the same filename but different name <texture name="Checkbox_Press" file_name="widgets/Checkbox_Press.png" preload="true" /> <texture name="Check_Mark" file_name="icons/check_mark" preload="true" /> - <texture name="Command_AboutLand_Icon" file_name="toolbar_icons/land.png" preload="true" /> - <texture name="Command_Appearance_Icon" file_name="toolbar_icons/appearance.png" preload="true" /> - <texture name="Command_Avatar_Icon" file_name="toolbar_icons/avatars.png" preload="true" /> - <texture name="Command_Build_Icon" file_name="toolbar_icons/build.png" preload="true" /> - <texture name="Command_Chat_Icon" file_name="toolbar_icons/chat.png" preload="true" /> - <texture name="Command_Compass_Icon" file_name="toolbar_icons/land.png" preload="true" /> + <texture name="Command_AboutLand_Icon" file_name="toolbar_icons/land.png" preload="true" /> + <texture name="Command_Appearance_Icon" file_name="toolbar_icons/appearance.png" preload="true" /> + <texture name="Command_Avatar_Icon" file_name="toolbar_icons/avatars.png" preload="true" /> + <texture name="Command_Build_Icon" file_name="toolbar_icons/build.png" preload="true" /> + <texture name="Command_Chat_Icon" file_name="toolbar_icons/chat.png" preload="true" /> + <texture name="Command_Compass_Icon" file_name="toolbar_icons/land.png" preload="true" /> <texture name="Command_Destinations_Icon" file_name="toolbar_icons/destinations.png" preload="true" /> - <texture name="Command_Gestures_Icon" file_name="toolbar_icons/gestures.png" preload="true" /> - <texture name="Command_HowTo_Icon" file_name="toolbar_icons/howto.png" preload="true" /> - <texture name="Command_Inventory_Icon" file_name="toolbar_icons/inventory.png" preload="true" /> - <texture name="Command_Map_Icon" file_name="toolbar_icons/map.png" preload="true" /> - <texture name="Command_Marketplace_Icon" file_name="toolbar_icons/marketplace.png" preload="true" /> - <texture name="Command_MiniMap_Icon" file_name="toolbar_icons/mini_map.png" preload="true" /> - <texture name="Command_Move_Icon" file_name="toolbar_icons/move.png" preload="true" /> - <texture name="Command_People_Icon" file_name="toolbar_icons/people.png" preload="true" /> - <texture name="Command_Places_Icon" file_name="toolbar_icons/places.png" preload="true" /> - <texture name="Command_Preferences_Icon" file_name="toolbar_icons/preferences.png" preload="true" /> - <texture name="Command_Profile_Icon" file_name="toolbar_icons/profile.png" preload="true" /> - <texture name="Command_Search_Icon" file_name="toolbar_icons/search.png" preload="true" /> - <texture name="Command_Snapshot_Icon" file_name="toolbar_icons/snapshot.png" preload="true" /> - <texture name="Command_Speak_Icon" file_name="toolbar_icons/speak.png" preload="true" /> - <texture name="Command_View_Icon" file_name="toolbar_icons/view.png" preload="true" /> - <texture name="Command_Voice_Icon" file_name="toolbar_icons/nearbyvoice.png" preload="true" /> + <texture name="Command_Gestures_Icon" file_name="toolbar_icons/gestures.png" preload="true" /> + <texture name="Command_HowTo_Icon" file_name="toolbar_icons/howto.png" preload="true" /> + <texture name="Command_Inventory_Icon" file_name="toolbar_icons/inventory.png" preload="true" /> + <texture name="Command_Map_Icon" file_name="toolbar_icons/map.png" preload="true" /> + <texture name="Command_Marketplace_Icon" file_name="toolbar_icons/marketplace.png" preload="true" /> + <texture name="Command_MiniMap_Icon" file_name="toolbar_icons/mini_map.png" preload="true" /> + <texture name="Command_Move_Icon" file_name="toolbar_icons/move.png" preload="true" /> + <texture name="Command_People_Icon" file_name="toolbar_icons/people.png" preload="true" /> + <texture name="Command_Picks_Icon" file_name="toolbar_icons/picks.png" preload="true" /> + <texture name="Command_Places_Icon" file_name="toolbar_icons/places.png" preload="true" /> + <texture name="Command_Preferences_Icon" file_name="toolbar_icons/preferences.png" preload="true" /> + <texture name="Command_Profile_Icon" file_name="toolbar_icons/profile.png" preload="true" /> + <texture name="Command_Search_Icon" file_name="toolbar_icons/search.png" preload="true" /> + <texture name="Command_Snapshot_Icon" file_name="toolbar_icons/snapshot.png" preload="true" /> + <texture name="Command_Speak_Icon" file_name="toolbar_icons/speak.png" preload="true" /> + <texture name="Command_View_Icon" file_name="toolbar_icons/view.png" preload="true" /> + <texture name="Command_Voice_Icon" file_name="toolbar_icons/nearbyvoice.png" preload="true" /> <texture name="ComboButton_Disabled" file_name="widgets/ComboButton_Disabled.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> <texture name="ComboButton_Selected" file_name="widgets/ComboButton_Selected.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> diff --git a/indra/newview/skins/default/textures/toolbar_icons/picks.png b/indra/newview/skins/default/textures/toolbar_icons/picks.png new file mode 100644 index 0000000000000000000000000000000000000000..4499bf562b5ce3fc093f253cad9e0ce09ff5cd11 GIT binary patch literal 1368 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%xRe+5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40$*Ra!Fk2dfC2`Yennz|zM-Cher_(vUtrb6B|)hOXJA!b98y`3svneE zoL^d$42+L7Wte7Q*x|Pbq!8#DEB~TQV5B7Gxa237=BDPAc)Hjs0cG@3GE=OaOe{>? z+)SLEoQzD(EDQ~uoL$T;oSiM)T+K}_%q`4eW?<6`RPX9!>g?j`<Y;7Q=xX3-X71?X zXl!O?Y3XEQU}Or@>zP+vl9-pA3bQv8XfIT+GhV$`&PAz-CHX}m`T04p6cCV+Uy@&( zkzb(T9BiuKo0y!L2jYXG2jW|o)S}F?)D*X({9FZa_*!LRvESLv)Wpfi!o<+r$N=PT z3v)v^X9H7n0~Z$qS0@*szae^4$O$ujpkwqwi32IIz=VJ)5X6KheIN&(c~bL$Ii?7h zHP$CBabRFz?C^AP45_%4^ymM7duF4Al#~|3*2Wtm9ZMT#aCXdR`WUHD$2!U7I=h&| zafby`^78j9et&!Gy}$ndzpvll-@jk}?#|9h6DMBensWKjD)w&08sqeHb9gWPk>_nV zBBmd=hh<6I0!K|vO~d_le}6Gv{`2+q^~Lx1*Y9u3iC_{CFnMums&@NDnMaIA9-d&@ zo_E*E`ND$p^X>PuYsT#;c&M~MTxG%@o!w<`Z<#9WoNr%Wr<@_6ljHEEjaT|m;-lN! za=rfo9TBh6zVJnIk^}RBh$_xSGiS_*P-$S8A;Z*g!{5t`>j>Lw_FXSbciHhYH!M5f zw(<O2>*fF7+}!-{c)$Gjc{Y_nl4^V<H-p%8q%Ll}0JP)YzvGMzasODBEa7Yu6lwo+ zoOe>E*8~F|o_5n0YJYxwOy<}7YQf87DgUB(y@B%r!)4vxwr&Z^jmr;6%;^!CeY)XF z>YP;{cW|`0Hm>`{=o@|M$CXV657^f?R_3Zs5PR_SX>FIkqO#l0CQhD)8S)+cL0JNU d3<?JrwjEh*zU#}bU|><l;OXk;vd$@?2>|@G=$!xn literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index 653788bd3c5..90b7e906a5d 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -74,6 +74,7 @@ image_color="ButtonImageColor" image_color_disabled="ButtonImageColor" flash_color="ButtonUnselectedFgColor" + halign="left" hover_glow_amount="0.15" display_pressed_state="false" /> </toolbar> diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index f021fdd6a16..d12dda88be4 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -3668,6 +3668,7 @@ Try enclosing path to the editor with double quotes. <string name="Command_MiniMap_Label">Mini-map</string> <string name="Command_Move_Label">Move</string> <string name="Command_People_Label">People</string> + <string name="Command_Picks_Label">Picks</string> <string name="Command_Places_Label">Places</string> <string name="Command_Preferences_Label">Preferences</string> <string name="Command_Profile_Label">Profile</string> @@ -3692,6 +3693,7 @@ Try enclosing path to the editor with double quotes. <string name="Command_MiniMap_Tooltip">Show nearby people</string> <string name="Command_Move_Tooltip">Moving your avatar</string> <string name="Command_People_Tooltip">Friends, groups, and nearby people</string> + <string name="Command_Picks_Tooltip">Favorite places</string> <string name="Command_Places_Tooltip">Places you've saved</string> <string name="Command_Preferences_Tooltip">Preferences</string> <string name="Command_Profile_Tooltip">Edit or view your profile</string> diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 60e7c34d84c..09967de7cc2 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -14,6 +14,7 @@ background_opaque="true"/> <button_icon_and_text imgoverlay_label_space="7" label_color_selected="White" + halign="left" image_pressed="PushButton_Press" image_pressed_selected="PushButton_Selected_Press" image_selected="PushButton_Selected_Press" @@ -38,6 +39,7 @@ button_width.max="38" follows="left|top" label="" + halign="left" chrome="true" use_ellipses="true" auto_resize="true" -- GitLab From a07c3559b6d22ef62e8deab56780d74ac72501e1 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Mon, 10 Oct 2011 15:53:44 -0700 Subject: [PATCH 143/256] Mac build fix --- indra/llui/llsdparam.cpp | 9 ++++++--- indra/llui/llsdparam.h | 3 ++- indra/llxuixml/llinitparam.h | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/indra/llui/llsdparam.cpp b/indra/llui/llsdparam.cpp index 83bed3e7456..da50c0ff399 100644 --- a/indra/llui/llsdparam.cpp +++ b/indra/llui/llsdparam.cpp @@ -66,7 +66,8 @@ bool LLParamSDParser::writeU32Param(LLParamSDParser::parser_t& parser, const voi LLParamSDParser& sdparser = static_cast<LLParamSDParser&>(parser); if (!sdparser.mWriteRootSD) return false; - LLSD& sd_to_write = LLParamSDParserUtilities::getSDWriteNode(*sdparser.mWriteRootSD, std::make_pair(name_stack.begin(), name_stack.end())); + parser_t::name_stack_range_t range(name_stack.begin(), name_stack.end()); + LLSD& sd_to_write = LLParamSDParserUtilities::getSDWriteNode(*sdparser.mWriteRootSD, range); sd_to_write.assign((S32)*((const U32*)val_ptr)); return true; @@ -77,7 +78,8 @@ bool LLParamSDParser::writeFlag(LLParamSDParser::parser_t& parser, const void* v LLParamSDParser& sdparser = static_cast<LLParamSDParser&>(parser); if (!sdparser.mWriteRootSD) return false; - LLParamSDParserUtilities::getSDWriteNode(*sdparser.mWriteRootSD, std::make_pair(name_stack.begin(), name_stack.end())); + parser_t::name_stack_range_t range(name_stack.begin(), name_stack.end()); + LLParamSDParserUtilities::getSDWriteNode(*sdparser.mWriteRootSD, range); return true; } @@ -324,6 +326,7 @@ namespace LLInitParam void ParamValue<LLSD, TypeValues<LLSD>, false>::serializeBlock(Parser& p, Parser::name_stack_t name_stack, const BaseBlock* diff_block) const { // read from LLSD value and serialize out to parser (which could be LLSD, XUI, etc) - LLParamSDParserUtilities::readSDValues(boost::bind(&serializeElement, boost::ref(p), _1, _2), mValue); + Parser::name_stack_t stack; + LLParamSDParserUtilities::readSDValues(boost::bind(&serializeElement, boost::ref(p), _1, _2), mValue, stack); } } diff --git a/indra/llui/llsdparam.h b/indra/llui/llsdparam.h index 265993ffb5b..784358d0389 100644 --- a/indra/llui/llsdparam.h +++ b/indra/llui/llsdparam.h @@ -62,7 +62,8 @@ typedef LLInitParam::Parser parser_t; LLParamSDParser& sdparser = static_cast<LLParamSDParser&>(parser); if (!sdparser.mWriteRootSD) return false; - LLSD& sd_to_write = LLParamSDParserUtilities::getSDWriteNode(*sdparser.mWriteRootSD, std::make_pair(name_stack.begin(), name_stack.end())); + LLInitParam::Parser::name_stack_range_t range(name_stack.begin(), name_stack.end()); + LLSD& sd_to_write = LLParamSDParserUtilities::getSDWriteNode(*sdparser.mWriteRootSD, range); sd_to_write.assign(*((const T*)val_ptr)); return true; diff --git a/indra/llxuixml/llinitparam.h b/indra/llxuixml/llinitparam.h index 9245f588d95..06140d09319 100644 --- a/indra/llxuixml/llinitparam.h +++ b/indra/llxuixml/llinitparam.h @@ -960,7 +960,7 @@ namespace LLInitParam bool isProvided() const { return Param::anyProvided(); } - static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack, bool new_name) + static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack_range, bool new_name) { self_t& typed_param = static_cast<self_t&>(param); value_t value; -- GitLab From 2d34dab6a3d3f4b8ad78aee941800fe8f5f27bd1 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 10 Oct 2011 16:54:55 -0700 Subject: [PATCH 144/256] fixed toolbar serialization --- indra/llxuixml/llxuiparser.cpp | 26 ++++++++------------------ indra/llxuixml/llxuiparser.h | 2 +- 2 files changed, 9 insertions(+), 19 deletions(-) diff --git a/indra/llxuixml/llxuiparser.cpp b/indra/llxuixml/llxuiparser.cpp index 1bb550d98fa..aee8fa8d8f8 100644 --- a/indra/llxuixml/llxuiparser.cpp +++ b/indra/llxuixml/llxuiparser.cpp @@ -729,22 +729,11 @@ void LLXUIParser::writeXUI(LLXMLNodePtr node, const LLInitParam::BaseBlock &bloc // go from a stack of names to a specific XML node LLXMLNodePtr LLXUIParser::getNode(name_stack_t& stack) { - name_stack_t name_stack; - for (name_stack_t::const_iterator it = stack.begin(); - it != stack.end(); - ++it) - { - if (!it->first.empty()) - { - name_stack.push_back(*it); - } - } - LLXMLNodePtr out_node = mWriteRootNode; - name_stack_t::const_iterator next_it = name_stack.begin(); - for (name_stack_t::const_iterator it = name_stack.begin(); - it != name_stack.end(); + name_stack_t::iterator next_it = stack.begin(); + for (name_stack_t::iterator it = stack.begin(); + it != stack.end(); it = next_it) { ++next_it; @@ -753,17 +742,18 @@ LLXMLNodePtr LLXUIParser::getNode(name_stack_t& stack) continue; } - out_nodes_t::iterator found_it = mOutNodes.lower_bound(it->second); + out_nodes_t::iterator found_it = mOutNodes.find(it->first); // node with this name not yet written - if (found_it == mOutNodes.end() || mOutNodes.key_comp()(found_it->first, it->second)) + if (found_it == mOutNodes.end() || it->second) { // make an attribute if we are the last element on the name stack - bool is_attribute = next_it == name_stack.end(); + bool is_attribute = next_it == stack.end(); LLXMLNodePtr new_node = new LLXMLNode(it->first.c_str(), is_attribute); out_node->addChild(new_node); - mOutNodes.insert(found_it, std::make_pair(it->second, new_node)); + mOutNodes[it->first] = new_node; out_node = new_node; + it->second = false; } else { diff --git a/indra/llxuixml/llxuiparser.h b/indra/llxuixml/llxuiparser.h index e0402523dae..d7cd2569672 100644 --- a/indra/llxuixml/llxuiparser.h +++ b/indra/llxuixml/llxuiparser.h @@ -157,7 +157,7 @@ LOG_CLASS(LLXUIParser); // Root of the widget XML sub-tree, for example, "line_editor" LLXMLNodePtr mWriteRootNode; - typedef std::map<S32, LLXMLNodePtr> out_nodes_t; + typedef std::map<std::string, LLXMLNodePtr> out_nodes_t; out_nodes_t mOutNodes; LLXMLNodePtr mLastWrittenChild; S32 mCurReadDepth; -- GitLab From 068035959804d6a16a41ddb2ef62da00dceb2689 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 10 Oct 2011 17:03:12 -0700 Subject: [PATCH 145/256] converted bad toolbars.xml file from error to warning --- indra/newview/lltoolbarview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 44b244f1636..a0e080b783a 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -152,7 +152,7 @@ bool LLToolBarView::loadToolbars(bool force_default) LLXMLNodePtr root; if(!LLXMLNode::parseFile(toolbar_file, root, NULL)) { - llerrs << "Unable to load toolbars from file: " << toolbar_file << llendl; + llwarns << "Unable to load toolbars from file: " << toolbar_file << llendl; return false; } if(!root->hasName("toolbars")) -- GitLab From fd03ae299bfaf83789e511912d99d204c0833e7f Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Mon, 10 Oct 2011 17:08:51 -0700 Subject: [PATCH 146/256] EXP-1274 Create floater for "Avatar Picker" content EXP-1299 Nearby Voice floater can't be closed by clicking the sidebar button again. EXP-1306 Prompt text to "Change your avatar" and "Destinations" floaters get pushed down one line when the floater dialog gets resized to minimum width --- indra/llui/llfloater.cpp | 21 +++++--- indra/llui/llfloater.h | 2 +- indra/llui/llresizehandle.cpp | 12 ----- indra/llui/llresizehandle.h | 7 +-- indra/newview/CMakeLists.txt | 2 + indra/newview/llcallfloater.cpp | 19 ++----- indra/newview/llcallfloater.h | 2 +- indra/newview/llfloateravatar.cpp | 54 +++++++++++++++++++ indra/newview/llfloateravatar.h | 43 +++++++++++++++ indra/newview/llfloaterdestinations.cpp | 1 + indra/newview/llnearbychatbar.cpp | 7 ++- indra/newview/llviewerfloaterreg.cpp | 3 +- .../skins/default/xui/en/floater_avatar.xml | 6 +-- .../default/xui/en/floater_destinations.xml | 5 +- 14 files changed, 132 insertions(+), 52 deletions(-) create mode 100644 indra/newview/llfloateravatar.cpp create mode 100644 indra/newview/llfloateravatar.h diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index c28bcc2ec9f..f85e46e28d8 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -459,15 +459,24 @@ void LLFloater::layoutResizeCtrls() mResizeHandle[3]->setRect(rect); } -void LLFloater::enableResizeCtrls(bool enable) +void LLFloater::enableResizeCtrls(bool enable, bool width, bool height) { + mResizeBar[LLResizeBar::LEFT]->setVisible(enable && width); + mResizeBar[LLResizeBar::LEFT]->setEnabled(enable && width); + + mResizeBar[LLResizeBar::TOP]->setVisible(enable && height); + mResizeBar[LLResizeBar::TOP]->setEnabled(enable && height); + + mResizeBar[LLResizeBar::RIGHT]->setVisible(enable && width); + mResizeBar[LLResizeBar::RIGHT]->setEnabled(enable && width); + + mResizeBar[LLResizeBar::BOTTOM]->setVisible(enable && height); + mResizeBar[LLResizeBar::BOTTOM]->setEnabled(enable && height); + for (S32 i = 0; i < 4; ++i) { - mResizeBar[i]->setVisible(enable); - mResizeBar[i]->setEnabled(enable); - - mResizeHandle[i]->setVisible(enable); - mResizeHandle[i]->setEnabled(enable); + mResizeHandle[i]->setVisible(enable && width && height); + mResizeHandle[i]->setEnabled(enable && width && height); } } diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index 5aff542049c..af9665e599b 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -291,6 +291,7 @@ friend class LLMultiFloater; void updateTransparency(ETypeTransparency transparency_type); + void enableResizeCtrls(bool enable, bool width = true, bool height = true); protected: virtual void applySavedVariables(); @@ -340,7 +341,6 @@ friend class LLMultiFloater; BOOL offerClickToButton(S32 x, S32 y, MASK mask, EFloaterButton index); void addResizeCtrls(); void layoutResizeCtrls(); - void enableResizeCtrls(bool enable); void addDragHandle(); void layoutDragHandle(); // repair layout diff --git a/indra/llui/llresizehandle.cpp b/indra/llui/llresizehandle.cpp index 942e84eeb65..c3a51c36c94 100644 --- a/indra/llui/llresizehandle.cpp +++ b/indra/llui/llresizehandle.cpp @@ -55,8 +55,6 @@ LLResizeHandle::LLResizeHandle(const LLResizeHandle::Params& p) mImage( NULL ), mMinWidth( p.min_width ), mMinHeight( p.min_height ), - mMaxWidth(S32_MAX), - mMaxHeight(S32_MAX), mCorner( p.corner ) { if( RIGHT_BOTTOM == mCorner) @@ -179,11 +177,6 @@ BOOL LLResizeHandle::handleHover(S32 x, S32 y, MASK mask) new_width = mMinWidth; delta_x = x_multiple * (mMinWidth - orig_rect.getWidth()); } - else if (new_width > mMaxWidth) - { - new_width = mMaxWidth; - delta_x = x_multiple * (mMaxWidth - orig_rect.getWidth()); - } S32 new_height = orig_rect.getHeight() + y_multiple * delta_y; if( new_height < mMinHeight ) @@ -191,11 +184,6 @@ BOOL LLResizeHandle::handleHover(S32 x, S32 y, MASK mask) new_height = mMinHeight; delta_y = y_multiple * (mMinHeight - orig_rect.getHeight()); } - else if (new_height > mMaxHeight) - { - new_height = mMaxHeight; - delta_y = y_multiple * (mMaxHeight - orig_rect.getHeight()); - } switch( mCorner ) { diff --git a/indra/llui/llresizehandle.h b/indra/llui/llresizehandle.h index 5cfe3fb63c9..7541b9e6c06 100644 --- a/indra/llui/llresizehandle.h +++ b/indra/llui/llresizehandle.h @@ -55,10 +55,7 @@ class LLResizeHandle : public LLView virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask); void setResizeLimits( S32 min_width, S32 min_height ) { mMinWidth = min_width; mMinHeight = min_height; } - - void setMaxWidth(S32 width) { mMaxWidth = width;} - void setMaxHeight(S32 height) { mMaxHeight = height;} - + private: BOOL pointInHandle( S32 x, S32 y ); @@ -69,9 +66,7 @@ class LLResizeHandle : public LLView LLCoordGL mLastMouseDir; LLPointer<LLUIImage> mImage; S32 mMinWidth; - S32 mMaxWidth; S32 mMinHeight; - S32 mMaxHeight; const ECorner mCorner; }; diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 941cb6b9f9b..97ccfeac29e 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -168,6 +168,7 @@ set(viewer_SOURCE_FILES llfloaterabout.cpp llfloateranimpreview.cpp llfloaterauction.cpp + llfloateravatar.cpp llfloateravatarpicker.cpp llfloateravatartextures.cpp llfloaterbeacons.cpp @@ -733,6 +734,7 @@ set(viewer_HEADER_FILES llfloaterabout.h llfloateranimpreview.h llfloaterauction.h + llfloateravatar.h llfloateravatarpicker.h llfloateravatartextures.h llfloaterbeacons.h diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp index 945a760d059..4c6ddc8be77 100644 --- a/indra/newview/llcallfloater.cpp +++ b/indra/newview/llcallfloater.cpp @@ -44,7 +44,6 @@ #include "llparticipantlist.h" #include "llspeakers.h" #include "lltextutil.h" -#include "lltransientfloatermgr.h" #include "llviewercontrol.h" #include "llviewerdisplayname.h" #include "llviewerwindow.h" @@ -97,7 +96,7 @@ static void* create_non_avatar_caller(void*) LLVoiceChannel* LLCallFloater::sCurrentVoiceChannel = NULL; LLCallFloater::LLCallFloater(const LLSD& key) -: LLTransientDockableFloater(NULL, false, key) +: LLFloater(key) , mSpeakerManager(NULL) , mParticipants(NULL) , mAvatarList(NULL) @@ -113,10 +112,6 @@ LLCallFloater::LLCallFloater(const LLSD& key) mFactoryMap["non_avatar_caller"] = LLCallbackMap(create_non_avatar_caller, NULL); LLVoiceClient::instance().addObserver(this); - LLTransientFloaterMgr::getInstance()->addControlView(this); - - // force docked state since this floater doesn't save it between recreations - setDocked(true); // update the agent's name if display name setting change LLAvatarNameCache::addUseDisplayNamesCallback(boost::bind(&LLCallFloater::updateAgentModeratorState, this)); @@ -139,13 +134,11 @@ LLCallFloater::~LLCallFloater() { LLVoiceClient::getInstance()->removeObserver(this); } - LLTransientFloaterMgr::getInstance()->removeControlView(this); } // virtual BOOL LLCallFloater::postBuild() { - LLTransientDockableFloater::postBuild(); mAvatarList = getChild<LLAvatarList>("speakers_list"); mAvatarListRefreshConnection = mAvatarList->setRefreshCompleteCallback(boost::bind(&LLCallFloater::onAvatarListRefreshed, this)); @@ -154,12 +147,6 @@ BOOL LLCallFloater::postBuild() mNonAvatarCaller = findChild<LLNonAvatarCaller>("non_avatar_caller"); mNonAvatarCaller->setVisible(FALSE); - LLView *anchor_panel = LLBottomTray::getInstance()->getChild<LLView>("speak_flyout_btn"); - - setDockControl(new LLDockControl( - anchor_panel, this, - getDockTongue(), LLDockControl::TOP)); - initAgentData(); connectToChannel(LLVoiceChannel::getCurrentVoiceChannel()); @@ -204,13 +191,13 @@ void LLCallFloater::draw() if (mParticipants) mParticipants->updateRecentSpeakersOrder(); - LLTransientDockableFloater::draw(); + LLFloater::draw(); } // virtual void LLCallFloater::setFocus( BOOL b ) { - LLTransientDockableFloater::setFocus(b); + LLFloater::setFocus(b); // Force using active floater transparency (STORM-730). // We have to override setFocus() for LLCallFloater because selecting an item diff --git a/indra/newview/llcallfloater.h b/indra/newview/llcallfloater.h index 00a3f76e567..ea78cd53b70 100644 --- a/indra/newview/llcallfloater.h +++ b/indra/newview/llcallfloater.h @@ -52,7 +52,7 @@ class LLSpeakersDelayActionsStorage; * When the Resident is engaged in any chat except Nearby Chat, the Voice Control Panel * also provides a 'Leave Call' button to allow the Resident to leave that voice channel. */ -class LLCallFloater : public LLTransientDockableFloater, LLVoiceClientParticipantObserver +class LLCallFloater : public LLFloater, LLVoiceClientParticipantObserver { public: diff --git a/indra/newview/llfloateravatar.cpp b/indra/newview/llfloateravatar.cpp new file mode 100644 index 00000000000..bdc5b581a9f --- /dev/null +++ b/indra/newview/llfloateravatar.cpp @@ -0,0 +1,54 @@ +/** + * @file llfloateravatar.h + * @author Leyla Farazha + * @brief floater for the avatar changer + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +/** + * Floater that appears when buying an object, giving a preview + * of its contents and their permissions. + */ + +#include "llviewerprecompiledheaders.h" + +#include "llfloateravatar.h" +#include "lluictrlfactory.h" + + +LLFloaterAvatar::LLFloaterAvatar(const LLSD& key) + : LLFloater(key) +{ +} + +LLFloaterAvatar::~LLFloaterAvatar() +{ +} + +BOOL LLFloaterAvatar::postBuild() +{ + enableResizeCtrls(true, true, false); + return TRUE; +} + + diff --git a/indra/newview/llfloateravatar.h b/indra/newview/llfloateravatar.h new file mode 100644 index 00000000000..cadc5e4028b --- /dev/null +++ b/indra/newview/llfloateravatar.h @@ -0,0 +1,43 @@ +/** + * @file llfloateravatar.h + * @author Leyla Farazha + * @brief floater for the avatar changer + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#ifndef LL_FLOATER_AVATAR_H +#define LL_FLOATER_AVATAR_H + +#include "llfloater.h" + +class LLFloaterAvatar: + public LLFloater +{ + friend class LLFloaterReg; +private: + LLFloaterAvatar(const LLSD& key); + /*virtual*/ ~LLFloaterAvatar(); + /*virtual*/ BOOL postBuild(); +}; + +#endif diff --git a/indra/newview/llfloaterdestinations.cpp b/indra/newview/llfloaterdestinations.cpp index 52d1f67c369..af21cb593ff 100644 --- a/indra/newview/llfloaterdestinations.cpp +++ b/indra/newview/llfloaterdestinations.cpp @@ -47,6 +47,7 @@ LLFloaterDestinations::~LLFloaterDestinations() BOOL LLFloaterDestinations::postBuild() { + enableResizeCtrls(true, true, false); return TRUE; } diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp index cba4fafe42d..caa20b767c7 100644 --- a/indra/newview/llnearbychatbar.cpp +++ b/indra/newview/llnearbychatbar.cpp @@ -452,6 +452,8 @@ BOOL LLNearbyChatBar::postBuild() mExpandedHeight = getMinHeight() + EXPANDED_HEIGHT; + enableResizeCtrls(true, true, false); + return TRUE; } @@ -462,6 +464,7 @@ void LLNearbyChatBar::applyRectControl() { getChildView("nearby_chat")->setVisible(true); mExpandedHeight = getRect().getHeight(); + enableResizeCtrls(true); } } @@ -707,13 +710,13 @@ void LLNearbyChatBar::onToggleNearbyChatPanel() mExpandedHeight = getRect().getHeight(); nearby_chat->setVisible(FALSE); reshape(getRect().getWidth(), getMinHeight()); - mResizeHandle[0]->setMaxHeight(getMinHeight()); + enableResizeCtrls(true, true, false); } else { nearby_chat->setVisible(TRUE); reshape(getRect().getWidth(), mExpandedHeight); - mResizeHandle[0]->setMaxHeight(S32_MAX); + enableResizeCtrls(true); } } diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index b0daf9f3c26..619d74e7acc 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -37,6 +37,7 @@ #include "llfloaterabout.h" #include "llfloateranimpreview.h" #include "llfloaterauction.h" +#include "llfloateravatar.h" #include "llfloateravatarpicker.h" #include "llfloateravatartextures.h" #include "llfloaterbeacons.h" @@ -168,7 +169,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("about_land", "floater_about_land.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterLand>); LLFloaterReg::add("appearance", "floater_my_appearance.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("auction", "floater_auction.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAuction>); - LLFloaterReg::add("avatar", "floater_avatar.xml", &LLFloaterReg::build<LLFloater>); + LLFloaterReg::add("avatar", "floater_avatar.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAvatar>); LLFloaterReg::add("avatar_picker", "floater_avatar_picker.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAvatarPicker>); LLFloaterReg::add("avatar_textures", "floater_avatar_textures.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAvatarTextures>); diff --git a/indra/newview/skins/default/xui/en/floater_avatar.xml b/indra/newview/skins/default/xui/en/floater_avatar.xml index a0c1f4c0212..666aa2d1641 100644 --- a/indra/newview/skins/default/xui/en/floater_avatar.xml +++ b/indra/newview/skins/default/xui/en/floater_avatar.xml @@ -3,11 +3,9 @@ legacy_header_height="225" can_minimize="true" can_close="true" - user_resize="true" can_resize="true" min_height="230" - min_width="455" - max_height="230" + min_width="445" height="230" layout="topleft" name="Avatar" @@ -19,7 +17,7 @@ <web_browser top="25" height="200" - width="435" + width="445" follows="all" name="avatar_picker_contents" trusted_content="true"/> diff --git a/indra/newview/skins/default/xui/en/floater_destinations.xml b/indra/newview/skins/default/xui/en/floater_destinations.xml index 9dd9338f37d..669b7eb15ac 100644 --- a/indra/newview/skins/default/xui/en/floater_destinations.xml +++ b/indra/newview/skins/default/xui/en/floater_destinations.xml @@ -7,7 +7,6 @@ can_resize="true" min_height="230" min_width="525" - max_height="230" height="230" layout="topleft" name="Destinations" @@ -15,11 +14,11 @@ help_topic="destinations" save_rect="true" title="Destinations" - width="445"> + width="525"> <web_browser top="25" height="200" - width="435" + width="525" follows="all" name="destination_guide_contents" start_url="http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/guide.html" -- GitLab From 213985ca0d045252ad49d9d45f77d0727fa9008f Mon Sep 17 00:00:00 2001 From: callum <none@none> Date: Mon, 10 Oct 2011 17:29:04 -0700 Subject: [PATCH 147/256] EXP-1302 PARTIAL Make the Speak button work as a toolbar button First pass - no Push-To-Talk functionality. --- indra/newview/app_settings/commands.xml | 4 +-- indra/newview/llagent.cpp | 38 ++++++++++++++++++++++++- indra/newview/llagent.h | 16 ++++++++++- indra/newview/llbottomtray.cpp | 3 ++ 4 files changed, 57 insertions(+), 4 deletions(-) diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index dab57d44bd3..139eabcae4d 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -207,11 +207,11 @@ icon="Command_Speak_Icon" label_ref="Command_Speak_Label" tooltip_ref="Command_Speak_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Agent.ToggleMicrophone" execute_parameters="speak" is_enabled_function="Agent.IsActionAllowed" is_enabled_parameters="speak" - is_running_function="Floater.IsOpen" + is_running_function="Agent.IsMicrophoneOn" is_running_parameters="speak" /> <command name="view" diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index ed29ac79609..8303a5942da 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -174,12 +174,43 @@ bool LLAgent::isActionAllowed(const LLSD& sdname) } else if (param == "speak") { - retval = true; + if ( gAgent.isVoiceConnected() ) + { + retval = true; + } + else + { + retval = false; + } } return retval; } +// static +void LLAgent::toggleMicrophone(const LLSD& name) +{ + gAgent.mMicrophoneOn = ! gAgent.mMicrophoneOn; + + if ( gAgent.mMicrophoneOn ) + { + LLFirstUse::speak(false); + + LLVoiceClient::getInstance()->inputUserControlState(true); + LLVoiceClient::getInstance()->inputUserControlState(false); + } + else + { + LLVoiceClient::getInstance()->inputUserControlState(false); + LLVoiceClient::getInstance()->inputUserControlState(true); + } +} + +// static +bool LLAgent::isMicrophoneOn(const LLSD& sdname) +{ + return gAgent.mMicrophoneOn; +} // ************************************************************ // Enabled this definition to compile a 'hacked' viewer that @@ -261,6 +292,9 @@ LLAgent::LLAgent() : mCurrentFidget(0), mFirstLogin(FALSE), mGenderChosen(FALSE), + + mVoiceConnected(false), + mMicrophoneOn(false), mAppearanceSerialNum(0), @@ -280,6 +314,8 @@ LLAgent::LLAgent() : LLViewerParcelMgr::getInstance()->addAgentParcelChangedCallback(boost::bind(&LLAgent::parcelChangedCallback)); LLUICtrl::EnableCallbackRegistry::currentRegistrar().add("Agent.IsActionAllowed", boost::bind(&LLAgent::isActionAllowed, _2)); + LLUICtrl::CommitCallbackRegistry::currentRegistrar().add("Agent.ToggleMicrophone", boost::bind(&LLAgent::toggleMicrophone, _2)); + LLUICtrl::EnableCallbackRegistry::currentRegistrar().add("Agent.IsMicrophoneOn", boost::bind(&LLAgent::isMicrophoneOn, _2)); } // Requires gSavedSettings to be initialized. diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h index 1775a0235cc..0355e68b6e5 100644 --- a/indra/newview/llagent.h +++ b/indra/newview/llagent.h @@ -282,7 +282,21 @@ class LLAgent : public LLOldEvents::LLObservable static void toggleFlying(); static bool enableFlying(); BOOL canFly(); // Does this parcel allow you to fly? - + + //-------------------------------------------------------------------- + // Voice + //-------------------------------------------------------------------- +public: + bool isVoiceConnected() const { return mVoiceConnected; } + void setVoiceConnected(const bool b) { mVoiceConnected = b; } + + static void toggleMicrophone(const LLSD& name); + static bool isMicrophoneOn(const LLSD& sdname); + +private: + bool mVoiceConnected; + bool mMicrophoneOn; + //-------------------------------------------------------------------- // Chat //-------------------------------------------------------------------- diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp index 98712f13348..af91702f9b8 100644 --- a/indra/newview/llbottomtray.cpp +++ b/indra/newview/llbottomtray.cpp @@ -387,6 +387,9 @@ void LLBottomTray::onChange(EStatusType status, const std::string &channelURI, b if (status != STATUS_JOINING && status!= STATUS_LEFT_CHANNEL) { bool voice_status = LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking(); + + gAgent.setVoiceConnected(voice_status); + getChild<LLButton>("speak_flyout_btn")->setEnabled(voice_status); gMenuBarView->getChild<LLView>("Nearby Voice")->setEnabled(voice_status); if (voice_status) -- GitLab From 6a570a9bdc2660e4db87e8e7a65b724e1ad8d1b2 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 10 Oct 2011 17:52:37 -0700 Subject: [PATCH 148/256] fixed icons moving when clicking on icon-only toolbars --- indra/llui/llbutton.cpp | 2 +- indra/llui/lltoolbar.cpp | 5 +++++ indra/llui/lltoolbar.h | 2 ++ indra/newview/skins/default/xui/en/widgets/toolbar.xml | 2 ++ 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 68cb5164b61..ba3748a5736 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -1002,7 +1002,7 @@ void LLButton::resize(LLUIString label) if (mImageOverlay) { S32 overlay_width = mImageOverlay->getWidth(); - F32 scale_factor = getRect().getHeight() / (F32)mImageOverlay->getHeight(); + F32 scale_factor = (getRect().getHeight() - (mImageOverlayBottomPad + mImageOverlayTopPad)) / (F32)mImageOverlay->getHeight(); overlay_width = llround((F32)overlay_width * scale_factor); switch(mImageOverlayAlignment) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 6332b2674ad..5ba54edf1c7 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -852,3 +852,8 @@ void LLToolBarButton::onMouseCaptureLost() { mIsDragged = false; } + +void LLToolBarButton::reshape(S32 width, S32 height, BOOL called_from_parent) +{ + LLButton::reshape(mWidthRange.clamp(width), height, called_from_parent); +} diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 84fa7ec0df5..a81a5fdb39e 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -62,6 +62,8 @@ class LLToolBarButton : public LLButton BOOL handleMouseDown(S32 x, S32 y, MASK mask); BOOL handleHover(S32 x, S32 y, MASK mask); + void reshape(S32 width, S32 height, BOOL called_from_parent = true); + void setCommandId(const LLCommandId& id) { mId = id; } void setStartDragCallback(tool_startdrag_callback_t cb) { mStartDragItemCallback = cb; } diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 09967de7cc2..be5dfaf18c8 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -31,6 +31,8 @@ flash_color="EmphasisColor"/> <button_icon pad_left="10" pad_right="10" + image_bottom_pad="10" + image_top_pad="10" image_pressed="PushButton_Press" image_pressed_selected="PushButton_Selected_Press" image_selected="PushButton_Selected_Press" -- GitLab From 1478f22857c24f4f3ecfcf7a08fdd4d5392ee3e6 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Mon, 10 Oct 2011 18:00:24 -0700 Subject: [PATCH 149/256] EXP-1300 : Simplify and clean up of the DaD which now doesn't duplicate the dragged tool. --- indra/llui/llcommandmanager.h | 4 +- indra/llui/lltoolbar.cpp | 83 +++++++++++---------------------- indra/llui/lltoolbar.h | 12 ++--- indra/newview/lltoolbarview.cpp | 64 +++++++++++++++++++++---- indra/newview/lltoolbarview.h | 10 ++-- 5 files changed, 95 insertions(+), 78 deletions(-) diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index fdad7cd1b5a..46e0fe6e69e 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -68,8 +68,8 @@ class LLCommandId mUUID = LLUUID::generateNewID(p.name); } - LLCommandId(const std::string& name, const LLUUID& uuid) - : mName(name), + LLCommandId(const LLUUID& uuid) + : mName(""), mUUID(uuid) { } diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 6332b2674ad..776e91b7e5b 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -114,8 +114,6 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p) { mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_WITH_TEXT] = p.button_icon_and_text; mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_ONLY] = p.button_icon; - mDraggedCommand = LLCommandId::null; - mRank = 0; } LLToolBar::~LLToolBar() @@ -211,19 +209,14 @@ bool LLToolBar::addCommand(const LLCommandId& commandId, int rank) // Create the button and do the things that don't need ordering LLToolBarButton* button = createButton(commandId); mButtonPanel->addChild(button); - LLCommandId temp_command = commandId; - if (commandId.name() == "Drag Tool") - { - temp_command = LLCommandId("Drag Tool"); - } - mButtonMap.insert(std::make_pair(temp_command.uuid(), button)); + mButtonMap.insert(std::make_pair(commandId.uuid(), button)); // Insert the command and button in the right place in their respective lists - if ((rank >= mButtonCommands.size()) || (rank < 0)) + if ((rank >= mButtonCommands.size()) || (rank == RANK_NONE)) { // In that case, back load - mButtonCommands.push_back(temp_command); + mButtonCommands.push_back(commandId); mButtons.push_back(button); } else @@ -238,7 +231,7 @@ bool LLToolBar::addCommand(const LLCommandId& commandId, int rank) rank--; } // ...then insert - mButtonCommands.insert(it_command,temp_command); + mButtonCommands.insert(it_command,commandId); mButtons.insert(it_button,button); } @@ -247,27 +240,28 @@ bool LLToolBar::addCommand(const LLCommandId& commandId, int rank) return true; } -bool LLToolBar::removeCommand(const LLCommandId& commandId) +// Remove a command from the list +// Returns the rank of the command in the original list so that doing addCommand(id,rank) right after +// a removeCommand(id) would leave the list unchanged. +// Returns RANK_NONE if the command is not found in the list +int LLToolBar::removeCommand(const LLCommandId& commandId) { - if (!hasCommand(commandId)) return false; + if (!hasCommand(commandId)) return RANK_NONE; llinfos << "Merov debug : removeCommand, " << commandId.name() << ", " << commandId.uuid() << llendl; // First erase the map record - LLCommandId temp_command = commandId; - if (commandId.name() == "Drag Tool") - { - temp_command = LLCommandId("Drag Tool"); - } - command_id_map::iterator it = mButtonMap.find(temp_command.uuid()); + command_id_map::iterator it = mButtonMap.find(commandId.uuid()); mButtonMap.erase(it); // Now iterate on the commands and buttons to identify the relevant records + int rank = 0; std::list<LLToolBarButton*>::iterator it_button = mButtons.begin(); command_id_list_t::iterator it_command = mButtonCommands.begin(); - while (*it_command != temp_command) + while (*it_command != commandId) { ++it_button; ++it_command; + ++rank; } // Delete the button and erase the command and button records @@ -277,7 +271,7 @@ bool LLToolBar::removeCommand(const LLCommandId& commandId) mNeedsLayout = true; - return true; + return rank; } void LLToolBar::clearCommandsList() @@ -292,12 +286,7 @@ bool LLToolBar::hasCommand(const LLCommandId& commandId) const { if (commandId != LLCommandId::null) { - LLCommandId temp_command = commandId; - if (commandId.name() == "Drag Tool") - { - temp_command = LLCommandId("Drag Tool"); - } - command_id_map::const_iterator it = mButtonMap.find(temp_command.uuid()); + command_id_map::const_iterator it = mButtonMap.find(commandId.uuid()); return (it != mButtonMap.end()); } @@ -310,12 +299,7 @@ bool LLToolBar::enableCommand(const LLCommandId& commandId, bool enabled) if (commandId != LLCommandId::null) { - LLCommandId temp_command = commandId; - if (commandId.name() == "Drag Tool") - { - temp_command = LLCommandId("Drag Tool"); - } - command_id_map::iterator it = mButtonMap.find(temp_command.uuid()); + command_id_map::iterator it = mButtonMap.find(commandId.uuid()); if (it != mButtonMap.end()) { it->second->setEnabled(enabled); @@ -410,6 +394,10 @@ void LLToolBar::resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row } } +// Returns the position of the coordinates as a rank in the button list. +// The rank is the position a tool dropped in (x,y) would assume in the button list. +// The value returned is between 0 and mButtons.size(), 0 being the first element to the left +// (or top) and mButtons.size() the last one to the right (or bottom). int LLToolBar::getRankFromPosition(S32 x, S32 y) { int rank = 0; @@ -618,12 +606,6 @@ void LLToolBar::draw() } } } - // HACK!!! - if (!mDragAndDropTarget) - { - removeCommand(mDraggedCommand); - mDraggedCommand = LLCommandId::null; - } updateLayoutAsNeeded(); // rect may have shifted during layout @@ -654,12 +636,7 @@ void LLToolBar::createButtons() LLToolBarButton* button = createButton(command_id); mButtons.push_back(button); mButtonPanel->addChild(button); - LLCommandId temp_command = command_id; - if (command_id.name() == "Drag Tool") - { - temp_command = LLCommandId("Drag Tool"); - } - mButtonMap.insert(std::make_pair(temp_command.uuid(), button)); + mButtonMap.insert(std::make_pair(command_id.uuid(), button)); } mNeedsLayout = true; } @@ -736,7 +713,7 @@ BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EAcceptance* accept, std::string& tooltip_msg) { - //llinfos << "Merov debug : handleDragAndDrop. drop = " << drop << ", x = " << x << ", y = " << y << llendl; + llinfos << "Merov debug : handleDragAndDrop. drop = " << drop << ", x = " << x << ", y = " << y << llendl; // If we have a drop callback, that means that we can handle the drop BOOL handled = (mHandleDropCallback ? TRUE : FALSE); @@ -761,19 +738,13 @@ BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, LLAssetType::EType type = inv_item->getType(); if (type == LLAssetType::AT_WIDGET) { - mRank = getRankFromPosition(x, y); - mDraggedCommand = LLCommandId("Drag Tool",inv_item->getUUID()); - removeCommand(mDraggedCommand); - addCommand(mDraggedCommand,mRank); + LLCommandId dragged_command(inv_item->getUUID()); + int rank = getRankFromPosition(x, y); + removeCommand(dragged_command); + addCommand(dragged_command,rank); mDragAndDropTarget = true; } } - else - { - removeCommand(mDraggedCommand); - mDraggedCommand = LLCommandId::null; - } - } return handled; diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 84fa7ec0df5..56bc8b9bb3c 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -47,8 +47,8 @@ class LLToolBarButton : public LLButton public: struct Params : public LLInitParam::Block<Params, LLButton::Params> { - Optional<LLUI::RangeS32::Params> button_width; - Optional<S32> desired_height; + Optional<LLUI::RangeS32> button_width; + Optional<S32> desired_height; Params() : button_width("button_width"), @@ -161,9 +161,11 @@ class LLToolBar void* cargo_data, EAcceptance* accept, std::string& tooltip_msg); + + static const int RANK_NONE = -1; - bool addCommand(const LLCommandId& commandId, int rank = -1); - bool removeCommand(const LLCommandId& commandId); + bool addCommand(const LLCommandId& commandId, int rank = RANK_NONE); + int removeCommand(const LLCommandId& commandId); // Returns the rank the removed command was at, RANK_NONE if not found bool hasCommand(const LLCommandId& commandId) const; bool enableCommand(const LLCommandId& commandId, bool enabled); @@ -184,8 +186,6 @@ class LLToolBar tool_handledrag_callback_t mHandleDragItemCallback; tool_handledrop_callback_t mHandleDropCallback; bool mDragAndDropTarget; - int mRank; - LLCommandId mDraggedCommand; public: // Methods used in loading and saving toolbar settings diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 44b244f1636..8273d1491da 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -41,7 +41,6 @@ LLToolBarView* gToolBarView = NULL; static LLDefaultChildRegistry::Register<LLToolBarView> r("toolbar_view"); -bool LLToolBarView::sDragStarted = false; bool isToolDragged() { @@ -331,18 +330,25 @@ void LLToolBarView::draw() void LLToolBarView::startDragTool( S32 x, S32 y, const LLUUID& uuid) { - //llinfos << "Merov debug: startDragTool() : x = " << x << ", y = " << y << llendl; + llinfos << "Merov debug: startDragTool() : x = " << x << ", y = " << y << ", uuid = " << uuid << llendl; + // Flag the tool dragging but don't start it yet + gToolBarView->mDragStarted = false; + gToolBarView->mDragCommand = LLCommandId::null; + gToolBarView->mDragRank = LLToolBar::RANK_NONE; + gToolBarView->mDragToolbar = NULL; LLToolDragAndDrop::getInstance()->setDragStart( x, y ); - sDragStarted = false; } BOOL LLToolBarView::handleDragTool( S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type) { -// llinfos << "Merov debug: handleDragTool() : x = " << x << ", y = " << y << ", uuid = " << uuid << llendl; if (LLToolDragAndDrop::getInstance()->isOverThreshold( x, y )) { - if (!sDragStarted) + if (!gToolBarView->mDragStarted) { + llinfos << "Merov debug: handleDragTool() : x = " << x << ", y = " << y << ", uuid = " << uuid << llendl; + // Start the tool dragging: + + // First, create the global drag and drop object std::vector<EDragAndDropType> types; uuid_vec_t cargo_ids; types.push_back(DAD_WIDGET); @@ -350,9 +356,35 @@ BOOL LLToolBarView::handleDragTool( S32 x, S32 y, const LLUUID& uuid, LLAssetTyp gClipboard.setSourceObject(uuid,LLAssetType::AT_WIDGET); LLToolDragAndDrop::ESource src = LLToolDragAndDrop::SOURCE_VIEWER; LLUUID srcID; - //llinfos << "Merov debug: handleDragTool() : beginMultiDrag()" << llendl; LLToolDragAndDrop::getInstance()->beginMultiDrag(types, cargo_ids, src, srcID); - sDragStarted = true; + llinfos << "Merov debug: beginMultiDrag() launched" << llendl; + + // Second, check if the command is present in one of the 3 toolbars + // If it is, store the command, the toolbar and the rank in the toolbar and + // set a callback on end drag so that we reinsert the command if no drop happened + /* + gToolBarView->mDragCommand = LLCommandId(uuid); + if ((gToolBarView->mDragRank = gToolBarView->mToolbarLeft->removeCommand(gToolBarView->mDragCommand)) != LLToolBar::RANK_NONE) + { + gToolBarView->mDragToolbar = gToolBarView->mToolbarLeft; + } + else if ((gToolBarView->mDragRank = gToolBarView->mToolbarRight->removeCommand(gToolBarView->mDragCommand)) != LLToolBar::RANK_NONE) + { + gToolBarView->mDragToolbar = gToolBarView->mToolbarRight; + } + else if ((gToolBarView->mDragRank = gToolBarView->mToolbarBottom->removeCommand(gToolBarView->mDragCommand)) != LLToolBar::RANK_NONE) + { + gToolBarView->mDragToolbar = gToolBarView->mToolbarBottom; + } + if (gToolBarView->mDragRank != LLToolBar::RANK_NONE) + { + llinfos << "Merov debug: rank of dragged tool = " << gToolBarView->mDragRank << llendl; + LLToolDragAndDrop::getInstance()->setEndDragCallback(boost::bind(&LLToolBarView::onEndDrag, gToolBarView)); + } + */ + + llinfos << "Merov debug: Drag started cleanly" << llendl; + gToolBarView->mDragStarted = true; return TRUE; } else @@ -375,7 +407,7 @@ BOOL LLToolBarView::handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* t //llinfos << "Merov debug : handleDropTool. Drop source is a widget -> drop it in place..." << llendl; // Get the command from its uuid LLCommandManager& mgr = LLCommandManager::instance(); - LLCommandId command_id("",inv_item->getUUID()); + LLCommandId command_id(inv_item->getUUID()); LLCommand* command = mgr.getCommand(command_id); if (command) { @@ -408,5 +440,19 @@ BOOL LLToolBarView::handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* t void LLToolBarView::stopDragTool() { - sDragStarted = false; + // Clear the saved command, toolbar and rank + gToolBarView->mDragStarted = false; + gToolBarView->mDragCommand = LLCommandId::null; + gToolBarView->mDragRank = LLToolBar::RANK_NONE; + gToolBarView->mDragToolbar = NULL; } + +void LLToolBarView::onEndDrag() +{ + // If there's a saved command, reinsert it in the saved toolbar + if (gToolBarView->mDragRank != LLToolBar::RANK_NONE) + { + gToolBarView->mDragToolbar->addCommand(gToolBarView->mDragCommand,gToolBarView->mDragRank); + } + stopDragTool(); +} \ No newline at end of file diff --git a/indra/newview/lltoolbarview.h b/indra/newview/lltoolbarview.h index a0c526ac541..6623e63f8a9 100644 --- a/indra/newview/lltoolbarview.h +++ b/indra/newview/lltoolbarview.h @@ -78,6 +78,7 @@ class LLToolBarView : public LLUICtrl static BOOL handleDragTool( S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type); static BOOL handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* toolbar); static void stopDragTool(); + void onEndDrag(); protected: friend class LLUICtrlFactory; @@ -94,12 +95,11 @@ class LLToolBarView : public LLUICtrl LLToolBar* mToolbarLeft; LLToolBar* mToolbarRight; LLToolBar* mToolbarBottom; - bool mDragging; - LLToolBarButton* mDragButton; - S32 mMouseX; - S32 mMouseY; - static bool sDragStarted; + LLCommandId mDragCommand; + int mDragRank; + LLToolBar* mDragToolbar; + bool mDragStarted; }; extern LLToolBarView* gToolBarView; -- GitLab From 71879916428e9e15081d73696f46bb4a32877265 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Mon, 10 Oct 2011 19:03:40 -0700 Subject: [PATCH 150/256] EXP-1300 : Add the caret images and xml (no code yet) --- .../skins/default/textures/textures.xml | 3 ++ .../textures/toolbar_icons/caret_bottom.png | Bin 0 -> 139 bytes .../textures/toolbar_icons/caret_left.png | Bin 0 -> 893 bytes .../textures/toolbar_icons/caret_right.png | Bin 0 -> 892 bytes .../default/xui/en/panel_toolbar_view.xml | 30 ++++++++++++++++++ 5 files changed, 33 insertions(+) create mode 100644 indra/newview/skins/default/textures/toolbar_icons/caret_bottom.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/caret_left.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/caret_right.png diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index e7fb836f451..27577d42ea2 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -149,6 +149,9 @@ with the same filename but different name <texture name="Command_Speak_Icon" file_name="toolbar_icons/speak.png" preload="true" /> <texture name="Command_View_Icon" file_name="toolbar_icons/view.png" preload="true" /> <texture name="Command_Voice_Icon" file_name="toolbar_icons/nearbyvoice.png" preload="true" /> + <texture name="Caret_Bottom_Icon" file_name="toolbar_icons/caret_bottom.png" preload="true" /> + <texture name="Caret_Right_Icon" file_name="toolbar_icons/caret_right.png" preload="true" /> + <texture name="Caret_Left_Icon" file_name="toolbar_icons/caret_left.png" preload="true" /> <texture name="ComboButton_Disabled" file_name="widgets/ComboButton_Disabled.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> <texture name="ComboButton_Selected" file_name="widgets/ComboButton_Selected.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> diff --git a/indra/newview/skins/default/textures/toolbar_icons/caret_bottom.png b/indra/newview/skins/default/textures/toolbar_icons/caret_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..82f58b22b916f6506333a7a3d735e6601ebc29ba GIT binary patch literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)Q!3HEdXMMW?q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~-c73q4qIEGZ*N=ivc;7B~cDDnUQ|NZjIRXPqVYnV9k;zYq? lj$sUw4j8cAWockwW?*~He=+BAp&d{ogQu&X%Q~loCIF_>ESLZQ literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/caret_left.png b/indra/newview/skins/default/textures/toolbar_icons/caret_left.png new file mode 100644 index 0000000000000000000000000000000000000000..75eecc84ed59f09d2e3fc8ba42ac9d38f4a071ec GIT binary patch literal 893 zcmV-@1A_dCP)<h;3K|Lk000e1NJLTq000F5000LF1^@s6z^8}q0008+X+uL$Nkc;* zP;zf(X>4Tx0C)j~RL^S@K@|QrZmG~B2wH0nvUrdpNm;9CMbtL^5n^i$+aI<?kYqDS z)^0ZI?k2URh~(nYD&9ryp$Gqf9(wR(FG_`4MJV2@C}N=(E%D86Otz)!z|Ma2-Z$@k zZ+71R4RX>n^?(HA4aZWV5ov6ELTdbo0FI&wK{O>*+w4vx20?>!`FrQsdJlnHR>OPy zcd~b_n$otK2Za4V;76L-DzNVtaSB-y0*E}{p()372;bw_^6ZZ}PI-92wGS&j#91PI zKs7DSe@(bk%_Y-7gGe}(^>I=@oY#w#*Bu9GZf3^F5WP>3rn}7Ut74&?PWBFvy`A)a zPP5)V!Xd&78LdA?xQ(9mjMYElVd13a#D+Z_7&Y|xU=_C-srWU*6kiZcC!$nw*)9$7 zn6CX+@=AhmkT}X@VSsa5NKe;HZuq)~1$`#h6R+ZTR#D-3j}vF!)ZOnz+5)dI4jl{{ z44Mr{P!L4~VVJN`K!!XTF*LGrKO?IK8<Tr7btG!LbYeuYL3=jbJ-1P$-8}v%B5{;M zwFr{@LH;VQ$xr2Z`O93e*jD$Ht(%&<^58qg<(at}9@o>z<8w`3e3jI8lUGNUta*C8 zn(P`s>{pjD=7Kek#B;Fw@hxAK%$F&Q6vg9J^Xf~4by_hu-=A!MJ3Znq&n~srbFGPs zH&&aMXZ>nO`|hf|ljc?VPhR!${AbO?W8x_>CU%PFA&Hm8F7cAsOREdwU~R_;ot1_u z(ruCYB-LPGn!NQdT|ZlRy+(fw^-+`=%+gee_kY4FWHg<*4sZI8+sFJD<oAl_pC|$^ zY~aY5x@}W&?+~G7rEYVs0vEs0eekw!YomTR`~+A$s}`+NHJ>270UUORdLHO0nA4V) z%{fwsET5CQ>B?eK%uw4yQc~9?*JVo<vzb+5>2}ze(;aRcp*ceL#HUJSllrgm5wQKR zQu+C;QrUh^8rFfA`ftFz{YAidi-`aL010qNS#tmY3ljhU3ljkVnw%H_001>fL_t&t z9b@?a|33o~-p|0m5W)l`U;rcl1~5Um07w)hh#~+JbObSw0ZcoJ1WXX55H0}#0A&yq TowZe$00000NkvXXu0mjfK?R%x literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/caret_right.png b/indra/newview/skins/default/textures/toolbar_icons/caret_right.png new file mode 100644 index 0000000000000000000000000000000000000000..677459ae1c4d6f6543f094ac0b109ffcbcb95b92 GIT binary patch literal 892 zcmV-?1B3jDP)<h;3K|Lk000e1NJLTq000F5000LF1^@s6z^8}q0008+X+uL$Nkc;* zP;zf(X>4Tx0C)j~RL^S@K@|QrZmG~B2wH0nvUrdpNm;9CMbtL^5n^i$+aI<?kYqDS z)^0ZI?k2URh~(nYD&9ryp$Gqf9(wR(FG_`4MJV2@C}N=(E%D86Otz)!z|Ma2-Z$@k zZ+71R4RX>n^?(HA4aZWV5ov6ELTdbo0FI&wK{O>*+w4vx20?>!`FrQsdJlnHR>OPy zcd~b_n$otK2Za4V;76L-DzNVtaSB-y0*E}{p()372;bw_^6ZZ}PI-92wGS&j#91PI zKs7DSe@(bk%_Y-7gGe}(^>I=@oY#w#*Bu9GZf3^F5WP>3rn}7Ut74&?PWBFvy`A)a zPP5)V!Xd&78LdA?xQ(9mjMYElVd13a#D+Z_7&Y|xU=_C-srWU*6kiZcC!$nw*)9$7 zn6CX+@=AhmkT}X@VSsa5NKe;HZuq)~1$`#h6R+ZTR#D-3j}vF!)ZOnz+5)dI4jl{{ z44Mr{P!L4~VVJN`K!!XTF*LGrKO?IK8<Tr7btG!LbYeuYL3=jbJ-1P$-8}v%B5{;M zwFr{@LH;VQ$xr2Z`O93e*jD$Ht(%&<^58qg<(at}9@o>z<8w`3e3jI8lUGNUta*C8 zn(P`s>{pjD=7Kek#B;Fw@hxAK%$F&Q6vg9J^Xf~4by_hu-=A!MJ3Znq&n~srbFGPs zH&&aMXZ>nO`|hf|ljc?VPhR!${AbO?W8x_>CU%PFA&Hm8F7cAsOREdwU~R_;ot1_u z(ruCYB-LPGn!NQdT|ZlRy+(fw^-+`=%+gee_kY4FWHg<*4sZI8+sFJD<oAl_pC|$^ zY~aY5x@}W&?+~G7rEYVs0vEs0eekw!YomTR`~+A$s}`+NHJ>270UUORdLHO0nA4V) z%{fwsET5CQ>B?eK%uw4yQc~9?*JVo<vzb+5>2}ze(;aRcp*ceL#HUJSllrgm5wQKR zQu+C;QrUh^8rFfA`ftFz{YAidi-`aL010qNS#tmY3ljhU3ljkVnw%H_001;eL_t&t z9b;f%U<mpD|Nnj<W`JQPpdbwFhcS=^L1JJDbV0BLHbF;pK}V2MWI?b1NDu(Sz7P~J SXa6|>0000<MNUMnLSTX@x1X#4 literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index bc96bfbab58..5d6967ed32a 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -47,6 +47,16 @@ bottom="-10" side="left" button_display_mode="icons_only"> + <icon layout="topleft" + height="7" + width="5" + follows="left|top" + top="20" + left="10" + tab_stop="false" + visible="false" + image_name="Caret_Left_Icon" + name="caret" /> </toolbar> </layout_panel> <layout_panel name="non_toolbar_panel" @@ -88,6 +98,16 @@ bottom="-10" side="right" button_display_mode="icons_only"> + <icon layout="topleft" + height="7" + width="5" + follows="left|top" + top="20" + left="10" + tab_stop="false" + visible="false" + image_name="Caret_Right_Icon" + name="caret" /> </toolbar> </layout_panel> </layout_stack> @@ -109,6 +129,16 @@ follows="left|right|bottom" button_display_mode="icons_with_text" visible="true"> + <icon layout="topleft" + height="5" + width="7" + follows="left|top" + top="20" + left="10" + tab_stop="false" + visible="false" + image_name="Caret_Bottom_Icon" + name="caret" /> </toolbar> </layout_panel> </layout_stack> -- GitLab From ec23ec68ea8835e4155e083ec5570245b0aef1ec Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 10 Oct 2011 19:17:38 -0700 Subject: [PATCH 151/256] EXP-1310 FIX Profile button should open Web Profile floater removed unused LLWeb functions for opening non-web media moved logic inside floaters and away from auxiliary functions --- indra/llui/llfloaterreg.cpp | 6 +++- indra/llui/llhelp.h | 1 + indra/newview/app_settings/commands.xml | 6 ++-- indra/newview/llavataractions.cpp | 19 ++++++++---- indra/newview/llavataractions.h | 3 +- indra/newview/llfloaterhelpbrowser.cpp | 17 +++++++---- indra/newview/llfloaterhelpbrowser.h | 2 -- indra/newview/llfloaterwebcontent.cpp | 39 ++++++++++--------------- indra/newview/llmediactrl.cpp | 11 +------ indra/newview/llpanelprofile.cpp | 2 +- indra/newview/llviewerfloaterreg.cpp | 4 +-- indra/newview/llviewerhelp.cpp | 37 +++++------------------ indra/newview/llviewerhelp.h | 6 ++-- indra/newview/llviewermenu.cpp | 32 +++++++++++++++++++- indra/newview/llweb.cpp | 4 ++- indra/newview/llweb.h | 10 +++---- 16 files changed, 103 insertions(+), 96 deletions(-) diff --git a/indra/llui/llfloaterreg.cpp b/indra/llui/llfloaterreg.cpp index d0ae9413a33..ae06eb74ac5 100644 --- a/indra/llui/llfloaterreg.cpp +++ b/indra/llui/llfloaterreg.cpp @@ -110,7 +110,11 @@ LLFloater* LLFloaterReg::getInstance(const std::string& name, const LLSD& key) int index = list.size(); res = build_func(key); - + if (!res) + { + llwarns << "Failed to build floater type: '" << name << "'." << llendl; + return NULL; + } bool success = res->buildFromFile(xui_file, NULL); if (!success) { diff --git a/indra/llui/llhelp.h b/indra/llui/llhelp.h index 83317bd03c8..1726347a783 100644 --- a/indra/llui/llhelp.h +++ b/indra/llui/llhelp.h @@ -32,6 +32,7 @@ class LLHelp { public: virtual void showTopic(const std::string &topic) = 0; + virtual std::string getURL(const std::string &topic) = 0; // return default (fallback) topic name suitable for showTopic() virtual std::string defaultTopic() = 0; // return topic to use before the user logs in diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 881bc221448..d758647d3a7 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -187,10 +187,8 @@ icon="Command_Profile_Icon" label_ref="Command_Profile_Label" tooltip_ref="Command_Profile_Tooltip" - execute_function="Floater.ToolbarToggle" - execute_parameters="my_profile" - is_running_function="Floater.IsOpen" - is_running_parameters="my_profile" + execute_function="Avatar.ToggleMyProfile" + is_running_function="Avatar.IsMyProfileOpen" /> <command name="search" available_in_toybox="true" diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index b14c02a5d6d..b54f6229864 100755 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -316,12 +316,13 @@ static void on_avatar_name_show_profile(const LLUUID& agent_id, const LLAvatarNa // PROFILES: open in webkit window const bool show_chrome = false; static LLCachedControl<LLRect> profile_rect(gSavedSettings, "WebProfileRect"); - LLFloaterWebContent::create(LLFloaterWebContent::Params(). - url(url). - id(agent_id.asString()). - show_chrome(show_chrome). - window_class("profile"). - preferred_media_size(profile_rect)); + LLFloaterWebContent::Params p; + p.url(url). + id(agent_id.asString()). + show_chrome(show_chrome). + window_class("profile"). + preferred_media_size(profile_rect); + LLFloaterReg::showInstance("profile", p); } // static @@ -342,6 +343,12 @@ bool LLAvatarActions::profileVisible(const LLUUID& id) return browser && browser->isShown(); } +//static +LLFloater* LLAvatarActions::getProfileFloater(const LLUUID& id) +{ + LLFloaterWebContent *browser = dynamic_cast<LLFloaterWebContent*> (LLFloaterReg::findInstance("profile", LLSD().with("id", id))); + return browser; +} //static void LLAvatarActions::hideProfile(const LLUUID& id) diff --git a/indra/newview/llavataractions.h b/indra/newview/llavataractions.h index fbfd815f411..748b7cb3d19 100644 --- a/indra/newview/llavataractions.h +++ b/indra/newview/llavataractions.h @@ -35,7 +35,7 @@ #include <vector> class LLInventoryPanel; - +class LLFloater; /** * Friend-related actions (add, remove, offer teleport, etc) @@ -96,6 +96,7 @@ class LLAvatarActions static void showProfile(const LLUUID& id); static void hideProfile(const LLUUID& id); static bool profileVisible(const LLUUID& id); + static LLFloater* getProfileFloater(const LLUUID& id); /** * Show avatar on world map. diff --git a/indra/newview/llfloaterhelpbrowser.cpp b/indra/newview/llfloaterhelpbrowser.cpp index 3012638d44e..fd9c37ae732 100644 --- a/indra/newview/llfloaterhelpbrowser.cpp +++ b/indra/newview/llfloaterhelpbrowser.cpp @@ -39,6 +39,7 @@ #include "llurlhistory.h" #include "llmediactrl.h" #include "llviewermedia.h" +#include "llviewerhelp.h" LLFloaterHelpBrowser::LLFloaterHelpBrowser(const LLSD& key) @@ -74,6 +75,17 @@ void LLFloaterHelpBrowser::buildURLHistory() void LLFloaterHelpBrowser::onOpen(const LLSD& key) { gSavedSettings.setBOOL("HelpFloaterOpen", TRUE); + + std::string topic = key.asString(); + + if (topic == "__local") + { + mBrowser->navigateToLocalPage( "help-offline" , "index.html" ); + } + else + { + mBrowser->navigateTo(LLViewerHelp::instance().getURL(topic)); + } } //virtual @@ -148,8 +160,3 @@ void LLFloaterHelpBrowser::openMedia(const std::string& media_url) mBrowser->navigateTo(media_url, "text/html"); setCurrentURL(media_url); } - -void LLFloaterHelpBrowser::navigateToLocalPage( const std::string& subdir, const std::string& filename_in ) -{ - mBrowser->navigateToLocalPage(subdir, filename_in); -} diff --git a/indra/newview/llfloaterhelpbrowser.h b/indra/newview/llfloaterhelpbrowser.h index afe0f4df690..80b0ecc06b3 100644 --- a/indra/newview/llfloaterhelpbrowser.h +++ b/indra/newview/llfloaterhelpbrowser.h @@ -48,8 +48,6 @@ class LLFloaterHelpBrowser : /*virtual*/ void handleMediaEvent(LLPluginClassMedia* self, EMediaEvent event); void openMedia(const std::string& media_url); - - void navigateToLocalPage( const std::string& subdir, const std::string& filename_in ); private: void buildURLHistory(); diff --git a/indra/newview/llfloaterwebcontent.cpp b/indra/newview/llfloaterwebcontent.cpp index 2c9a736aff2..c76aeb0498a 100644 --- a/indra/newview/llfloaterwebcontent.cpp +++ b/indra/newview/llfloaterwebcontent.cpp @@ -88,20 +88,6 @@ BOOL LLFloaterWebContent::postBuild() return TRUE; } -bool LLFloaterWebContent::matchesKey(const LLSD& key) -{ - LLUUID id = key["id"]; - if (id.notNull()) - { - return id == mKey["id"].asUUID(); - } - else - { - return key["target"].asString() == mKey["target"].asString(); - } -} - - void LLFloaterWebContent::initializeURLHistory() { // start with an empty list @@ -123,6 +109,20 @@ void LLFloaterWebContent::initializeURLHistory() } } +bool LLFloaterWebContent::matchesKey(const LLSD& key) +{ + Params p(mKey); + Params other_p(key); + if (!other_p.target().empty() && other_p.target() != "_blank") + { + return other_p.target() == p.target(); + } + else + { + return other_p.id() == p.id(); + } +} + //static LLFloater* LLFloaterWebContent::create( Params p) { @@ -139,14 +139,7 @@ LLFloater* LLFloaterWebContent::create( Params p) } S32 browser_window_limit = gSavedSettings.getS32("WebContentWindowLimit"); - - LLSD sd; - sd["target"] = p.target; - if(LLFloaterReg::findInstance(p.window_class, sd) != NULL) - { - // There's already a web browser for this tag, so we won't be opening a new window. - } - else if(browser_window_limit != 0) + if(browser_window_limit != 0) { // showInstance will open a new window. Figure out how many web browsers are already open, // and close the least recently opened one if this will put us over the limit. @@ -166,7 +159,7 @@ LLFloater* LLFloaterWebContent::create( Params p) } } - return LLFloaterReg::showInstance(p.window_class, p); + return new LLFloaterWebContent(p); } //static diff --git a/indra/newview/llmediactrl.cpp b/indra/newview/llmediactrl.cpp index 0bdeb114f54..1f1e49726d0 100644 --- a/indra/newview/llmediactrl.cpp +++ b/indra/newview/llmediactrl.cpp @@ -1122,16 +1122,7 @@ void LLMediaCtrl::onPopup(const LLSD& notification, const LLSD& response) lldebugs << "No gFloaterView for onPopuup()" << llendl; }; - // (for now) open web content floater if that's our parent, otherwise, open the current media floater - // (this will change soon) - if ( floater_name == "web_content" ) - { - LLWeb::loadWebURL(notification["payload"]["url"], notification["payload"]["target"], notification["payload"]["uuid"]); - } - else - { - LLWeb::loadURL(notification["payload"]["url"], notification["payload"]["target"], notification["payload"]["uuid"]); - } + LLWeb::loadURL(notification["payload"]["url"], notification["payload"]["target"], notification["payload"]["uuid"]); } else { diff --git a/indra/newview/llpanelprofile.cpp b/indra/newview/llpanelprofile.cpp index fd5c3362bb7..27390fca784 100755 --- a/indra/newview/llpanelprofile.cpp +++ b/indra/newview/llpanelprofile.cpp @@ -72,7 +72,7 @@ class LLProfileHandler : public LLCommandHandler std::string agent_name = params[0]; llinfos << "Profile, agent_name " << agent_name << llendl; std::string url = getProfileURL(agent_name); - LLWeb::loadWebURLInternal(url); + LLWeb::loadURLInternal(url); return true; } diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 619d74e7acc..3463eec5d8b 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -288,7 +288,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("stop_queue", "floater_script_queue.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterNotRunQueue>); LLFloaterReg::add("snapshot", "floater_snapshot.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSnapshot>); LLFloaterReg::add("search", "floater_search.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSearch>); - LLFloaterReg::add("profile", "floater_web_content.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterWebContent>); + LLFloaterReg::add("profile", "floater_web_content.xml", (LLFloaterBuildFunc)&LLFloaterWebContent::create); LLFloaterUIPreviewUtil::registerFloater(); @@ -301,7 +301,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("voice_controls", "floater_voice_controls.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLCallFloater>); LLFloaterReg::add("voice_effect", "floater_voice_effect.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterVoiceEffect>); - LLFloaterReg::add("web_content", "floater_web_content.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterWebContent>); + LLFloaterReg::add("web_content", "floater_web_content.xml", (LLFloaterBuildFunc)&LLFloaterWebContent::create); LLFloaterReg::add("whitelist_entry", "floater_whitelist_entry.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterWhiteListEntry>); LLFloaterWindowSizeUtil::registerFloater(); LLFloaterReg::add("world_map", "floater_world_map.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterWorldMap>); diff --git a/indra/newview/llviewerhelp.cpp b/indra/newview/llviewerhelp.cpp index 3a3d4f3881a..d1120b6269f 100644 --- a/indra/newview/llviewerhelp.cpp +++ b/indra/newview/llviewerhelp.cpp @@ -69,15 +69,12 @@ LLHelpHandler gHelpHandler; ////////////////////////////// // implement LLHelp interface -void LLViewerHelp::showTopic(const std::string &topic) +std::string LLViewerHelp::getURL(const std::string &topic) { // allow overriding the help server with a local help file if( gSavedSettings.getBOOL("HelpUseLocal") ) { - showHelp(); - LLFloaterHelpBrowser* helpbrowser = dynamic_cast<LLFloaterHelpBrowser*>(LLFloaterReg::getInstance("help_browser")); - helpbrowser->navigateToLocalPage( "help-offline" , "index.html" ); - return; + return "__local"; } // if the help topic is empty, use the default topic @@ -99,11 +96,12 @@ void LLViewerHelp::showTopic(const std::string &topic) } } - // work out the URL for this topic and display it - showHelp(); - - std::string helpURL = LLViewerHelpUtil::buildHelpURL( help_topic ); - setRawURL(helpURL); + return LLViewerHelpUtil::buildHelpURL( help_topic ); +} + +void LLViewerHelp::showTopic(const std::string& topic) +{ + LLFloaterReg::showInstance("help_browser", topic); } std::string LLViewerHelp::defaultTopic() @@ -146,23 +144,4 @@ std::string LLViewerHelp::getTopicFromFocus() return defaultTopic(); } -// static -void LLViewerHelp::showHelp() -{ - LLFloaterReg::showInstance("help_browser"); -} - -// static -void LLViewerHelp::setRawURL(std::string url) -{ - LLFloaterHelpBrowser* helpbrowser = dynamic_cast<LLFloaterHelpBrowser*>(LLFloaterReg::getInstance("help_browser")); - if (helpbrowser) - { - helpbrowser->openMedia(url); - } - else - { - llwarns << "Eep, help_browser floater not found" << llendl; - } -} diff --git a/indra/newview/llviewerhelp.h b/indra/newview/llviewerhelp.h index 7612986227b..a983012e2ee 100644 --- a/indra/newview/llviewerhelp.h +++ b/indra/newview/llviewerhelp.h @@ -45,6 +45,8 @@ class LLViewerHelp : public LLHelp, public LLSingleton<LLViewerHelp> /// display the specified help topic in the help viewer /*virtual*/ void showTopic(const std::string &topic); + std::string getURL(const std::string& topic); + // return topic derived from viewer UI focus, else default topic std::string getTopicFromFocus(); @@ -56,10 +58,6 @@ class LLViewerHelp : public LLHelp, public LLSingleton<LLViewerHelp> // return topic to use for the top-level help, invoked by F1 /*virtual*/ std::string f1HelpTopic(); - - private: - static void showHelp(); // make sure help UI is visible & raised - static void setRawURL(std::string url); // send URL to help UI }; #endif // header guard diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index fbfde711a94..bc0f38dd779 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -5370,6 +5370,34 @@ class LLAvatarAddFriend : public view_listener_t } }; + +class LLAvatarToggleMyProfile : public view_listener_t +{ + bool handleEvent(const LLSD& userdata) + { + LLFloater* instance = LLAvatarActions::getProfileFloater(gAgent.getID()); + if (LLFloater::isMinimized(instance)) + { + instance->setMinimized(FALSE); + instance->setFocus(TRUE); + } + else if (!LLFloater::isShown(instance)) + { + LLAvatarActions::showProfile(gAgent.getID()); + } + else if (!instance->hasFocus() && !instance->getIsChrome()) + { + instance->setFocus(TRUE); + } + else + { + instance->closeFloater(); + } + return true; + } +}; + + class LLAvatarAddContact : public view_listener_t { bool handleEvent(const LLSD& userdata) @@ -7229,7 +7257,7 @@ void handle_web_browser_test(const LLSD& param) void handle_web_content_test(const LLSD& param) { std::string url = param.asString(); - LLWeb::loadWebURLInternal(url); + LLWeb::loadURLInternal(url); } void handle_buy_currency_test(void*) @@ -8165,6 +8193,8 @@ void initialize_menus() view_listener_t::addMenu(new LLAvatarCall(), "Avatar.Call"); enable.add("Avatar.EnableCall", boost::bind(&LLAvatarActions::canCall)); view_listener_t::addMenu(new LLAvatarReportAbuse(), "Avatar.ReportAbuse"); + view_listener_t::addMenu(new LLAvatarToggleMyProfile(), "Avatar.ToggleMyProfile"); + enable.add("Avatar.IsMyProfileOpen", boost::bind(&LLAvatarActions::profileVisible, gAgent.getID())); view_listener_t::addMenu(new LLAvatarEnableAddFriend(), "Avatar.EnableAddFriend"); enable.add("Avatar.EnableFreezeEject", boost::bind(&enable_freeze_eject, _2)); diff --git a/indra/newview/llweb.cpp b/indra/newview/llweb.cpp index 6f7115ff6db..7bc54536883 100644 --- a/indra/newview/llweb.cpp +++ b/indra/newview/llweb.cpp @@ -125,7 +125,9 @@ void LLWeb::loadURLInternal(const std::string &url, const std::string& target, c // Explicitly open a Web URL using the Web content floater void LLWeb::loadWebURLInternal(const std::string &url, const std::string& target, const std::string& uuid) { - LLFloaterWebContent::create(LLFloaterWebContent::Params().url(url).target(target).id(uuid)); + LLFloaterWebContent::Params p; + p.url(url).target(target).id(uuid); + LLFloaterReg::showInstance("web_content", p); } // static diff --git a/indra/newview/llweb.h b/indra/newview/llweb.h index dc5958e57fb..376abc0ecea 100644 --- a/indra/newview/llweb.h +++ b/indra/newview/llweb.h @@ -46,21 +46,19 @@ class LLWeb static void loadURL(const std::string& url, const std::string& target, const std::string& uuid = LLStringUtil::null); static void loadURL(const std::string& url) { loadURL(url, LLStringUtil::null); } /// Load the given url in the user's preferred web browser - static void loadURL(const char* url, const std::string& target) { loadURL( ll_safe_string(url), target); } - static void loadURL(const char* url) { loadURL( ll_safe_string(url), LLStringUtil::null ); } + static void loadURL(const char* url, const std::string& target = LLStringUtil::null) { loadURL( ll_safe_string(url), target); } /// Load the given url in the Second Life internal web browser static void loadURLInternal(const std::string &url, const std::string& target, const std::string& uuid = LLStringUtil::null); - static void loadURLInternal(const std::string &url) { loadURLInternal(url, LLStringUtil::null); } + static void loadURLInternal(const std::string &url) { loadURLInternal(url, LLStringUtil::null, LLStringUtil::null);} /// Load the given url in the operating system's web browser, async if we want to return immediately /// before browser has spawned - static void loadURLExternal(const std::string& url) { loadURLExternal(url, LLStringUtil::null); }; + static void loadURLExternal(const std::string& url) {loadURLExternal(url, LLStringUtil::null);} static void loadURLExternal(const std::string& url, const std::string& uuid); static void loadURLExternal(const std::string& url, bool async, const std::string& uuid = LLStringUtil::null); // Explicitly open a Web URL using the Web content floater vs. the more general media browser static void loadWebURL(const std::string& url, const std::string& target, const std::string& uuid); - static void loadWebURLInternal(const std::string &url, const std::string& target, const std::string& uuid); - static void loadWebURLInternal(const std::string &url) { loadWebURLInternal(url, LLStringUtil::null, LLStringUtil::null); } + static void loadWebURLInternal(const std::string &url, const std::string& target = LLStringUtil::null, const std::string& uuid = LLStringUtil::null); /// Returns escaped url (eg, " " to "%20") - used by all loadURL methods static std::string escapeURL(const std::string& url); -- GitLab From a530382c257809c6ee4371156f332efaaa0e23d9 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 10 Oct 2011 19:19:16 -0700 Subject: [PATCH 152/256] added newline --- indra/newview/lltoolbarview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 318bede6f05..7977faeab7f 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -455,4 +455,4 @@ void LLToolBarView::onEndDrag() gToolBarView->mDragToolbar->addCommand(gToolBarView->mDragCommand,gToolBarView->mDragRank); } stopDragTool(); -} \ No newline at end of file +} -- GitLab From fd1a688f463703ec78a399b35fed19b3d907c91b Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 10 Oct 2011 19:21:01 -0700 Subject: [PATCH 153/256] fixed bad merge --- indra/llui/lltoolbar.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index ca04a0e5d5c..321064a0fd0 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -47,8 +47,8 @@ class LLToolBarButton : public LLButton public: struct Params : public LLInitParam::Block<Params, LLButton::Params> { - Optional<LLUI::RangeS32> button_width; - Optional<S32> desired_height; + Optional<LLUI::RangeS32::Params> button_width; + Optional<S32> desired_height; Params() : button_width("button_width"), -- GitLab From c841337d2b8fcf50df3f9626f9ecb188243ab43a Mon Sep 17 00:00:00 2001 From: Jonathan Yap <none@none> Date: Tue, 11 Oct 2011 06:11:38 -0400 Subject: [PATCH 154/256] STORM-1579 xml formatting issues in Region/Estate floater Changed covenant and debug panes per Oz's request. Covenant is taller; Restart buttons are moved to the right. --- .../default/xui/en/panel_region_covenant.xml | 2 +- .../default/xui/en/panel_region_debug.xml | 20 +++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/indra/newview/skins/default/xui/en/panel_region_covenant.xml b/indra/newview/skins/default/xui/en/panel_region_covenant.xml index 3ec6a1959a5..df16f6fd373 100644 --- a/indra/newview/skins/default/xui/en/panel_region_covenant.xml +++ b/indra/newview/skins/default/xui/en/panel_region_covenant.xml @@ -107,7 +107,7 @@ <text_editor enabled="false" follows="left|top" - height="110" + height="180" layout="topleft" left="10" max_length="65535" diff --git a/indra/newview/skins/default/xui/en/panel_region_debug.xml b/indra/newview/skins/default/xui/en/panel_region_debug.xml index 59710651e7a..45506031349 100644 --- a/indra/newview/skins/default/xui/en/panel_region_debug.xml +++ b/indra/newview/skins/default/xui/en/panel_region_debug.xml @@ -174,21 +174,21 @@ <button follows="left|top" height="20" - label="Get Top Scripts..." + label="Restart Region" layout="topleft" - left="10" - name="top_scripts_btn" - tool_tip="List of objects spending the most time running scripts" - top_pad="5" + left_pad="155" + name="restart_btn" + tool_tip="Give 2 minute countdown and restart region" + top_delta="0" width="150" /> <button follows="left|top" height="20" - label="Restart Region" + label="Get Top Scripts..." layout="topleft" left="10" - name="restart_btn" - tool_tip="Give 2 minute countdown and restart region" + name="top_scripts_btn" + tool_tip="List of objects spending the most time running scripts" top_pad="5" width="150" /> <button @@ -196,9 +196,9 @@ height="20" label="Delay Restart" layout="topleft" - left="10" + left_pad="155" name="cancel_restart_btn" tool_tip="Delay region restart by one hour" - top_pad="5" + top_delta="0" width="150" /> </panel> -- GitLab From 767cb5df09cc5053c67fd4b9e2e6e5e276bacb7c Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine <vsavchuk@productengine.com> Date: Tue, 11 Oct 2011 14:13:26 +0200 Subject: [PATCH 155/256] STORM-1615 WIP Added Russian and Turkish to the list of languages supported by viewer. Changes: * Added the new languages to the list in Preferences / General. * Added a couple of "translated" XUI files for each language. --- .../skins/default/xui/en/panel_preferences_general.xml | 10 ++++++++++ .../skins/default/xui/ru/floater_buy_currency_html.xml | 2 ++ .../skins/default/xui/tr/floater_buy_currency_html.xml | 2 ++ .../skins/minimal/xui/ru/menu_script_chiclet.xml | 4 ++++ .../skins/minimal/xui/tr/menu_script_chiclet.xml | 4 ++++ 5 files changed, 22 insertions(+) create mode 100644 indra/newview/skins/default/xui/ru/floater_buy_currency_html.xml create mode 100644 indra/newview/skins/default/xui/tr/floater_buy_currency_html.xml create mode 100644 indra/newview/skins/minimal/xui/ru/menu_script_chiclet.xml create mode 100644 indra/newview/skins/minimal/xui/tr/menu_script_chiclet.xml diff --git a/indra/newview/skins/default/xui/en/panel_preferences_general.xml b/indra/newview/skins/default/xui/en/panel_preferences_general.xml index 9c718fdb873..ab7e1e7cd90 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_general.xml @@ -80,6 +80,16 @@ label="Português (Portuguese) - Beta" name="Portugese" value="pt" /> + <combo_box.item + enabled="true" + label="РуÑÑкий (Russian) - Beta" + name="Russian" + value="ru" /> + <combo_box.item + enabled="true" + label="Türkçe (Turkish) - Beta" + name="Turkish" + value="tr" /> <combo_box.item enabled="true" label="日本語 (Japanese) - Beta" diff --git a/indra/newview/skins/default/xui/ru/floater_buy_currency_html.xml b/indra/newview/skins/default/xui/ru/floater_buy_currency_html.xml new file mode 100644 index 00000000000..e4a81aeb284 --- /dev/null +++ b/indra/newview/skins/default/xui/ru/floater_buy_currency_html.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="floater_buy_currency_html" title="BUY CURRENCY (TODO: Translate to Russian)"/> diff --git a/indra/newview/skins/default/xui/tr/floater_buy_currency_html.xml b/indra/newview/skins/default/xui/tr/floater_buy_currency_html.xml new file mode 100644 index 00000000000..77d69aa81da --- /dev/null +++ b/indra/newview/skins/default/xui/tr/floater_buy_currency_html.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="floater_buy_currency_html" title="BUY CURRENCY (TODO: Translate to Turkish)"/> diff --git a/indra/newview/skins/minimal/xui/ru/menu_script_chiclet.xml b/indra/newview/skins/minimal/xui/ru/menu_script_chiclet.xml new file mode 100644 index 00000000000..f95913ef2b9 --- /dev/null +++ b/indra/newview/skins/minimal/xui/ru/menu_script_chiclet.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<menu name="ScriptChiclet Menu"> + <menu_item_call label="Close (TODO: translate to Russian)" name="Close"/> +</menu> diff --git a/indra/newview/skins/minimal/xui/tr/menu_script_chiclet.xml b/indra/newview/skins/minimal/xui/tr/menu_script_chiclet.xml new file mode 100644 index 00000000000..2efe6d7e71b --- /dev/null +++ b/indra/newview/skins/minimal/xui/tr/menu_script_chiclet.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<menu name="ScriptChiclet Menu"> + <menu_item_call label="Close (TODO: translate to Turkish)" name="Close"/> +</menu> -- GitLab From 70a4936736187bc00fb134e135de4fee75cff664 Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine <vsavchuk@productengine.com> Date: Tue, 11 Oct 2011 14:45:44 +0200 Subject: [PATCH 156/256] STORM-1615 WIP Removed Dutch from the available languages list. --- .../skins/default/xui/de/panel_preferences_general.xml | 1 - .../skins/default/xui/en/panel_preferences_general.xml | 5 ----- .../skins/default/xui/es/panel_preferences_general.xml | 1 - .../skins/default/xui/fr/panel_preferences_general.xml | 1 - .../skins/default/xui/it/panel_preferences_general.xml | 1 - .../skins/default/xui/ja/panel_preferences_general.xml | 1 - .../skins/default/xui/nl/panel_preferences_general.xml | 1 - .../skins/default/xui/pl/panel_preferences_general.xml | 1 - .../skins/default/xui/pt/panel_preferences_general.xml | 1 - .../skins/default/xui/zh/panel_preferences_general.xml | 1 - 10 files changed, 14 deletions(-) diff --git a/indra/newview/skins/default/xui/de/panel_preferences_general.xml b/indra/newview/skins/default/xui/de/panel_preferences_general.xml index 79b2a544f95..ed22e05a7c2 100644 --- a/indra/newview/skins/default/xui/de/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/de/panel_preferences_general.xml @@ -11,7 +11,6 @@ <combo_box.item label="Español (Spanisch) - Beta" name="Spanish"/> <combo_box.item label="Français (Französisch) - Beta" name="French"/> <combo_box.item label="Italiano (Italienisch) - Beta" name="Italian"/> - <combo_box.item label="Nederlands (Niederländisch) - Beta" name="Dutch"/> <combo_box.item label="Polski (Polnisch) - Beta" name="Polish"/> <combo_box.item label="Português (Portugiesisch) - Beta" name="Portugese"/> <combo_box.item label="日本語 (Japanisch) - Beta" name="(Japanese)"/> diff --git a/indra/newview/skins/default/xui/en/panel_preferences_general.xml b/indra/newview/skins/default/xui/en/panel_preferences_general.xml index ab7e1e7cd90..ddef9a853b6 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_general.xml @@ -65,11 +65,6 @@ label="Italiano (Italian) - Beta" name="Italian" value="it" /> - <combo_box.item - enabled="true" - label="Nederlands (Dutch) - Beta" - name="Dutch" - value="nl" /> <combo_box.item enabled="true" label="Polski (Polish) - Beta" diff --git a/indra/newview/skins/default/xui/es/panel_preferences_general.xml b/indra/newview/skins/default/xui/es/panel_preferences_general.xml index e725e4a05ae..c762e6b7fef 100644 --- a/indra/newview/skins/default/xui/es/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/es/panel_preferences_general.xml @@ -11,7 +11,6 @@ <combo_box.item label="Español - Beta" name="Spanish"/> <combo_box.item label="Français (Francés) - Beta" name="French"/> <combo_box.item label="Italiano - Beta" name="Italian"/> - <combo_box.item label="Nederlands (Neerlandés) - Beta" name="Dutch"/> <combo_box.item label="Polski (Polaco) - Beta" name="Polish"/> <combo_box.item label="Português (portugués) - Beta" name="Portugese"/> <combo_box.item label="日本語 (Japonés) - Beta" name="(Japanese)"/> diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_general.xml b/indra/newview/skins/default/xui/fr/panel_preferences_general.xml index 27867981731..5ccf07f7b4c 100644 --- a/indra/newview/skins/default/xui/fr/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/fr/panel_preferences_general.xml @@ -11,7 +11,6 @@ <combo_box.item label="Español (Espagnol) - Bêta" name="Spanish"/> <combo_box.item label="Français - Bêta" name="French"/> <combo_box.item label="Italiano (Italien) - Bêta" name="Italian"/> - <combo_box.item label="Nederlands (Néerlandais) - Bêta" name="Dutch"/> <combo_box.item label="Polski (Polonais) - Bêta" name="Polish"/> <combo_box.item label="Português (Portugais) - Bêta" name="Portugese"/> <combo_box.item label="日本語 (Japonais) - Bêta" name="(Japanese)"/> diff --git a/indra/newview/skins/default/xui/it/panel_preferences_general.xml b/indra/newview/skins/default/xui/it/panel_preferences_general.xml index c576b5f9d8b..ee52ee7cb1a 100644 --- a/indra/newview/skins/default/xui/it/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/it/panel_preferences_general.xml @@ -11,7 +11,6 @@ <combo_box.item label="Español (Spagnolo) - Beta" name="Spanish"/> <combo_box.item label="Français (Francese) - Beta" name="French"/> <combo_box.item label="Italiano - Beta" name="Italian"/> - <combo_box.item label="Nederlands (Olandese) - Beta" name="Dutch"/> <combo_box.item label="Polski (Polacco) - Beta" name="Polish"/> <combo_box.item label="Português (Portoghese) - Beta" name="Portugese"/> <combo_box.item label="日本語 (Giapponese) - Beta" name="(Japanese)"/> diff --git a/indra/newview/skins/default/xui/ja/panel_preferences_general.xml b/indra/newview/skins/default/xui/ja/panel_preferences_general.xml index e4091972d67..4356f3d47f7 100644 --- a/indra/newview/skins/default/xui/ja/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/ja/panel_preferences_general.xml @@ -11,7 +11,6 @@ <combo_box.item label="Español (スペイン語) – ベータ" name="Spanish"/> <combo_box.item label="Français (フランス語) – ベータ" name="French"/> <combo_box.item label="Italiano (イタリア語) - ベータ" name="Italian"/> - <combo_box.item label="Nederlands (オランダ語) - ベータ" name="Dutch"/> <combo_box.item label="Polski (ãƒãƒ¼ãƒ©ãƒ³ãƒ‰èªžï¼‰ - ベータ" name="Polish"/> <combo_box.item label="Português(ãƒãƒ«ãƒˆã‚¬ãƒ«èªžï¼‰ - ベータ" name="Portugese"/> <combo_box.item label="日本語 – ベータ" name="(Japanese)"/> diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_general.xml b/indra/newview/skins/default/xui/nl/panel_preferences_general.xml index 7be570b27f3..d193fb8724e 100644 --- a/indra/newview/skins/default/xui/nl/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/nl/panel_preferences_general.xml @@ -76,7 +76,6 @@ <combo_box.item name="French" label="Français (Frans) - Bèta"/> <combo_box.item name="Italian" label="Italiano (Italiaans) - Bèta"/> <combo_box.item name="Hungarian" label="Magyar (Hongaars) - Bèta"/> - <combo_box.item name="Dutch" label="Nederlands - Bèta"/> <combo_box.item name="Polish" label="Polski (Pools) - Bèta"/> <combo_box.item name="Portugese" label="Português (Portugees) - Bèta"/> <combo_box.item name="Russian" label="РуÑÑкий (Russisch) - Bèta"/> diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_general.xml b/indra/newview/skins/default/xui/pl/panel_preferences_general.xml index 44dcb2112c8..fff56eab6e1 100644 --- a/indra/newview/skins/default/xui/pl/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/pl/panel_preferences_general.xml @@ -11,7 +11,6 @@ <combo_box.item label="Español (HiszpaÅ„ski) - Beta" name="Spanish"/> <combo_box.item label="Français (Francuski) - Beta" name="French"/> <combo_box.item label="Italiano (WÅ‚oski) - Beta" name="Italian"/> - <combo_box.item label="Nederlands (Niderlandzki) - Beta" name="Dutch"/> <combo_box.item label="Polski - Beta" name="Polish"/> <combo_box.item label="Português (Portugalski) - Beta" name="Portugese"/> <combo_box.item label="日本語 (JapoÅ„ski) - Beta" name="(Japanese)"/> diff --git a/indra/newview/skins/default/xui/pt/panel_preferences_general.xml b/indra/newview/skins/default/xui/pt/panel_preferences_general.xml index deeb917e82d..e42a8af9625 100644 --- a/indra/newview/skins/default/xui/pt/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/pt/panel_preferences_general.xml @@ -11,7 +11,6 @@ <combo_box.item label="Español (Espanhol) - Beta" name="Spanish"/> <combo_box.item label="Français (Francês) - Beta" name="French"/> <combo_box.item label="Italiano - Beta" name="Italian"/> - <combo_box.item label="Nederlands (Holandês) - Beta" name="Dutch"/> <combo_box.item label="Polski (Polonês) - Beta" name="Polish"/> <combo_box.item label="Português (Português) - Beta" name="Portugese"/> <combo_box.item label="日本語 (Japonês) - Beta" name="(Japanese)"/> diff --git a/indra/newview/skins/default/xui/zh/panel_preferences_general.xml b/indra/newview/skins/default/xui/zh/panel_preferences_general.xml index cabe13adb80..29f9599c974 100644 --- a/indra/newview/skins/default/xui/zh/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/zh/panel_preferences_general.xml @@ -11,7 +11,6 @@ <combo_box.item label="Español (Spanish) - Beta" name="Spanish"/> <combo_box.item label="Français (French) - Beta" name="French"/> <combo_box.item label="Italiano (Italian) - Beta" name="Italian"/> - <combo_box.item label="Nederlands (Dutch) - Beta" name="Dutch"/> <combo_box.item label="Polski (Polish) - Beta" name="Polish"/> <combo_box.item label="Português (Portuguese) - Beta" name="Portugese"/> <combo_box.item label="日本語 (Japanese) - Beta" name="(Japanese)"/> -- GitLab From fce6c0924117a39a4683bccdc127680739abb16f Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine <vsavchuk@productengine.com> Date: Tue, 11 Oct 2011 16:51:20 +0200 Subject: [PATCH 157/256] STORM-1615 WIP Added Simplified Chinese and Traditional Chinese to the list of languages supported by viewer. Language codes: zh (Traditional Chinese), zh_CN (Simplified Chinese). Changes: * Added both languages to the dropdown menu in Preferences / General. * Added a couple of "translated" XUI files for zh_CN to create the necessary folders. --- .../skins/default/xui/en/panel_preferences_general.xml | 10 ++++++++++ .../default/xui/zh_CN/floater_buy_currency_html.xml | 2 ++ .../skins/minimal/xui/zh/menu_script_chiclet.xml | 4 ++++ .../skins/minimal/xui/zh_CN/menu_script_chiclet.xml | 4 ++++ 4 files changed, 20 insertions(+) create mode 100644 indra/newview/skins/default/xui/zh_CN/floater_buy_currency_html.xml create mode 100644 indra/newview/skins/minimal/xui/zh/menu_script_chiclet.xml create mode 100644 indra/newview/skins/minimal/xui/zh_CN/menu_script_chiclet.xml diff --git a/indra/newview/skins/default/xui/en/panel_preferences_general.xml b/indra/newview/skins/default/xui/en/panel_preferences_general.xml index ddef9a853b6..34c4fdf97c3 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_general.xml @@ -90,6 +90,16 @@ label="日本語 (Japanese) - Beta" name="(Japanese)" value="ja" /> + <combo_box.item + enabled="true" + label="简体 (Simplified Chinese) - Beta" + name="Simplified Chinese" + value="zh_CN" /> + <combo_box.item + enabled="true" + label="æ£é«” (Traditional Chinese) - Beta" + name="Traditional Chinese" + value="zh" /> </combo_box> <text font="SansSerifSmall" diff --git a/indra/newview/skins/default/xui/zh_CN/floater_buy_currency_html.xml b/indra/newview/skins/default/xui/zh_CN/floater_buy_currency_html.xml new file mode 100644 index 00000000000..21953aec08a --- /dev/null +++ b/indra/newview/skins/default/xui/zh_CN/floater_buy_currency_html.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="floater_buy_currency_html" title="BUY CURRENCY (TODO: Translate to Simplified Chinese)"/> diff --git a/indra/newview/skins/minimal/xui/zh/menu_script_chiclet.xml b/indra/newview/skins/minimal/xui/zh/menu_script_chiclet.xml new file mode 100644 index 00000000000..a0a8520650e --- /dev/null +++ b/indra/newview/skins/minimal/xui/zh/menu_script_chiclet.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<menu name="ScriptChiclet Menu"> + <menu_item_call label="Close (TODO: translate to Traditional Chinese)" name="Close"/> +</menu> diff --git a/indra/newview/skins/minimal/xui/zh_CN/menu_script_chiclet.xml b/indra/newview/skins/minimal/xui/zh_CN/menu_script_chiclet.xml new file mode 100644 index 00000000000..371086c3740 --- /dev/null +++ b/indra/newview/skins/minimal/xui/zh_CN/menu_script_chiclet.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<menu name="ScriptChiclet Menu"> + <menu_item_call label="Close (TODO: translate to Simplified Chinese)" name="Close"/> +</menu> -- GitLab From c845925eebb5cad3049ee0f3b1d0adea3e3a46b5 Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Tue, 11 Oct 2011 17:50:28 +0200 Subject: [PATCH 158/256] Fixed Linux build --- indra/llui/llsdparam.cpp | 6 ++++++ indra/llui/llsdparam.h | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/indra/llui/llsdparam.cpp b/indra/llui/llsdparam.cpp index da50c0ff399..242b1fca7f7 100644 --- a/indra/llui/llsdparam.cpp +++ b/indra/llui/llsdparam.cpp @@ -299,6 +299,12 @@ void LLParamSDParserUtilities::readSDValues(read_sd_cb_t cb, const LLSD& sd, LLI } } +//static +void LLParamSDParserUtilities::readSDValues(read_sd_cb_t cb, const LLSD& sd) +{ + LLInitParam::Parser::name_stack_t stack = LLInitParam::Parser::name_stack_t(); + readSDValues(cb, sd, stack); +} namespace LLInitParam { // LLSD specialization diff --git a/indra/llui/llsdparam.h b/indra/llui/llsdparam.h index 784358d0389..c1cfa98399f 100644 --- a/indra/llui/llsdparam.h +++ b/indra/llui/llsdparam.h @@ -36,7 +36,8 @@ struct LLParamSDParserUtilities static LLSD& getSDWriteNode(LLSD& input, LLInitParam::Parser::name_stack_range_t& name_stack_range); typedef boost::function<void (const LLSD&, LLInitParam::Parser::name_stack_t&)> read_sd_cb_t; - static void readSDValues(read_sd_cb_t cb, const LLSD& sd, LLInitParam::Parser::name_stack_t& stack = LLInitParam::Parser::name_stack_t()); + static void readSDValues(read_sd_cb_t cb, const LLSD& sd, LLInitParam::Parser::name_stack_t& stack); + static void readSDValues(read_sd_cb_t cb, const LLSD& sd); }; class LLParamSDParser -- GitLab From 0620e6a79149e455744131703e8bdb74864b69be Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 11 Oct 2011 09:10:08 -0700 Subject: [PATCH 159/256] New picks icon --- .../default/textures/toolbar_icons/picks.png | Bin 1368 -> 1396 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/indra/newview/skins/default/textures/toolbar_icons/picks.png b/indra/newview/skins/default/textures/toolbar_icons/picks.png index 4499bf562b5ce3fc093f253cad9e0ce09ff5cd11..befda04b42523584c0ec89f9148496ef1ca17502 100644 GIT binary patch delta 484 zcmV<A0UQ3<3iJxFS^^A4IWsjxK}I-5LPA25W&$<>L@=|S0u}*($6kgc0004`Nkl<Z zc-mt4|NlP&F&GF~fjAO~<*>>VYfx@(uFS`eA73{&H%|f@rbL!OAlJ0Cv;+d#|Ns8| z`@65NZ#qy+0a*<T10KN0$jA$%3}t0ybu~3L9YJDDOiV2K`S~e81OEZ#yMTr~1S`hl z3K=&yx60F}Pagq)x#B+>0ExA?w@(JDlST0w5P)3g55%EBEHrD@tfGJa{{8)r2Y?Lg z?CfkqF{rq>Smeo*CwJexdGjnTF0ShN^XF^+69;af2evd2{{hK-|Ni~c^5x4H0B!t% zOZV^JzZ-y*9IjZ)gee3Wws!5>CD;suigDtN{;yxZW)U)f?Ay0*D+s0|V`Jl}ojZ3f zL^li=@ZUjvApHwSY2h^p2(%tQeti4Iix&^}?Afyz*|3ER7ta0i<;wyf*B);c0Rrx& zOP4N!X@33s_1#aOK2;zamXMH8fivB~7(PBe(Z7EELJo^dKr8{oX)pm`_`Stz5D=)` zzJ2==Gz>sPVF9w48A)LpG-=$xYtY=eb0<M9Jpjb&I222u8IIL!H=t>Vfn3Z8^%}(h aAix0dvxMgf7z|nf0000<MNUMnLSTZ|724qd delta 456 zcmV;(0XP2i3fKy;S^@|*I59;+HA6&`o&p_{e*zr>LqoHk0u}*(uVSP?0004qNkl<Z zc-mt8|NlP&GGJt6gfWGI*c6DRfS3u0p91k&AbtgsMAruvK*vC!8Xq6uc>DJ4OTT~r z{`L3o-`{uc+_{pGk<kj2)559;iy?e7XU?1r()=F{fW#IrUc3aPhM++yDJe0(e*O9Z z)BN@8*Q4LRf4_!*Y*+#i5H#q@l`DtQ9O41Q;m88FZrwUV(4fzsKfeblUbt}KBA^!} zki0CrcJ10VAi1AEe|{rq5G-s!^o9)^!eQduwrxxO_wV0dB!{8sV`4x9z*u?-qM4YO zSR{Y|m>dFt*iTAI3d9Dh2fFArx;_kpfTquevCo}5r~mAK*|Yw~k01A*Jb6+XCJuDj zQU)v<(Xr5<KY!l-#{qy|{sg3?35F3Ahy2G4l8H)?FboWbHRvY%`0-;8F7-GK0y!V( zjju36pfRS4OFc$lBY~&D7@Uk0o6CUIWt^(<xCn$rfv)-iO<U6V)Uq((2d{y7Z6%Nv y;N|6giccXYBSyJ`2@HUkABYc9Y7kKXAiw~&#H%;D^tw|30000<MNUMnLSTYWYSPdE -- GitLab From 8154c245dd2f7aaee390e0206f460b9dd5b9f693 Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Tue, 11 Oct 2011 18:14:37 +0200 Subject: [PATCH 160/256] EXP-1281 FIXED (As a FUI user, I want all bottom bar floaters to become independent) Made bottom bar dependent floaters independent from it. Also some LLTransientDockableFloaters are just LLFLoaters now. Note: IM Floater and SysWellWindow will be made independent within EXP-1276 --- indra/newview/llcallfloater.cpp | 2 +- indra/newview/llcallfloater.h | 5 +- indra/newview/llfloatercamera.cpp | 14 +- indra/newview/llfloatercamera.h | 5 +- indra/newview/llmoveview.cpp | 76 +--- indra/newview/llmoveview.h | 6 +- indra/newview/llnearbychat.cpp | 2 +- indra/newview/llnearbychatbar.cpp | 353 ------------------ indra/newview/llnearbychatbar.h | 62 +-- .../skins/default/xui/en/floater_camera.xml | 4 +- 10 files changed, 32 insertions(+), 497 deletions(-) diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp index 4c6ddc8be77..cc2a189b762 100644 --- a/indra/newview/llcallfloater.cpp +++ b/indra/newview/llcallfloater.cpp @@ -37,9 +37,9 @@ #include "llavatarnamecache.h" #include "llavatariconctrl.h" #include "llavatarlist.h" -#include "llbottomtray.h" #include "lldraghandle.h" #include "llimfloater.h" +#include "llimview.h" #include "llfloaterreg.h" #include "llparticipantlist.h" #include "llspeakers.h" diff --git a/indra/newview/llcallfloater.h b/indra/newview/llcallfloater.h index ea78cd53b70..7282f7a8be9 100644 --- a/indra/newview/llcallfloater.h +++ b/indra/newview/llcallfloater.h @@ -28,7 +28,7 @@ #ifndef LL_LLCALLFLOATER_H #define LL_LLCALLFLOATER_H -#include "lltransientdockablefloater.h" +#include "llfloater.h" #include "llvoicechannel.h" #include "llvoiceclient.h" @@ -262,9 +262,6 @@ class LLCallFloater : public LLFloater, LLVoiceClientParticipantObserver */ static LLVoiceChannel* sCurrentVoiceChannel; - /* virtual */ - LLTransientFloaterMgr::ETransientGroup getGroup() { return LLTransientFloaterMgr::IM; } - boost::signals2::connection mVoiceChannelStateChangeConnection; }; diff --git a/indra/newview/llfloatercamera.cpp b/indra/newview/llfloatercamera.cpp index 1dfa904a191..b4658b1edbf 100644 --- a/indra/newview/llfloatercamera.cpp +++ b/indra/newview/llfloatercamera.cpp @@ -36,7 +36,6 @@ #include "lljoystickbutton.h" #include "llviewercontrol.h" #include "llviewercamera.h" -#include "llbottomtray.h" #include "lltoolmgr.h" #include "lltoolfocus.h" #include "llslider.h" @@ -314,12 +313,6 @@ void LLFloaterCamera::onOpen(const LLSD& key) { LLFirstUse::viewPopup(); - LLButton *anchor_panel = LLBottomTray::getInstance()->getChild<LLButton>("camera_btn"); - - setDockControl(new LLDockControl( - anchor_panel, this, - getDockTongue(), LLDockControl::TOP)); - mZoom->onOpen(key); // Returns to previous mode, see EXT-2727(View tool should remember state). @@ -343,15 +336,12 @@ void LLFloaterCamera::onClose(bool app_quitting) if (mCurrMode == CAMERA_CTRL_MODE_PAN) mPrevMode = CAMERA_CTRL_MODE_PAN; - // HACK: Should always close as docked to prevent toggleInstance without calling onOpen. - if ( !isDocked() ) - setDocked(true); switchMode(CAMERA_CTRL_MODE_PAN); mClosed = TRUE; } LLFloaterCamera::LLFloaterCamera(const LLSD& val) -: LLTransientDockableFloater(NULL, true, val), +: LLFloater(val), mClosed(FALSE), mCurrMode(CAMERA_CTRL_MODE_PAN), mPrevMode(CAMERA_CTRL_MODE_PAN) @@ -379,7 +369,7 @@ BOOL LLFloaterCamera::postBuild() // ensure that appearance mode is handled while building. See EXT-7796. handleAvatarEditingAppearance(sAppearanceEditing); - return LLDockableFloater::postBuild(); + return TRUE; } void LLFloaterCamera::fillFlatlistFromPanel (LLFlatListView* list, LLPanel* panel) diff --git a/indra/newview/llfloatercamera.h b/indra/newview/llfloatercamera.h index 424191ef263..4572932853c 100644 --- a/indra/newview/llfloatercamera.h +++ b/indra/newview/llfloatercamera.h @@ -27,7 +27,7 @@ #ifndef LLFLOATERCAMERA_H #define LLFLOATERCAMERA_H -#include "lltransientdockablefloater.h" +#include "llfloater.h" #include "lliconctrl.h" #include "lltextbox.h" #include "llflatlistview.h" @@ -45,8 +45,7 @@ enum ECameraControlMode CAMERA_CTRL_MODE_PRESETS }; -class LLFloaterCamera - : public LLTransientDockableFloater +class LLFloaterCamera : public LLFloater { friend class LLFloaterReg; diff --git a/indra/newview/llmoveview.cpp b/indra/newview/llmoveview.cpp index a29526777a4..2af01d06c18 100644 --- a/indra/newview/llmoveview.cpp +++ b/indra/newview/llmoveview.cpp @@ -37,7 +37,6 @@ #include "llagent.h" #include "llagentcamera.h" #include "llvoavatarself.h" // to check gAgentAvatarp->isSitting() -#include "llbottomtray.h" #include "llbutton.h" #include "llfirstuse.h" #include "llfloaterreg.h" @@ -46,7 +45,8 @@ #include "lluictrlfactory.h" #include "llviewerwindow.h" #include "llviewercontrol.h" -#include "llselectmgr.h" +#include "llselectmgr.h" +#include "lltoolbarview.h" #include "llviewerparcelmgr.h" #include "llviewerregion.h" #include "lltooltip.h" @@ -59,15 +59,13 @@ const F32 MOVE_BUTTON_DELAY = 0.0f; const F32 YAW_NUDGE_RATE = 0.05f; // fraction of normal speed const F32 NUDGE_TIME = 0.25f; // in seconds -const std::string BOTTOM_TRAY_BUTTON_NAME = "movement_btn"; - // // Member functions // // protected LLFloaterMove::LLFloaterMove(const LLSD& key) -: LLTransientDockableFloater(NULL, true, key), +: LLFloater(key), mForwardButton(NULL), mBackwardButton(NULL), mTurnLeftButton(NULL), @@ -94,8 +92,6 @@ BOOL LLFloaterMove::postBuild() { updateTransparency(TT_ACTIVE); // force using active floater transparency (STORM-730) - LLDockableFloater::postBuild(); - // Code that implements floater buttons toggling when user moves via keyboard is located in LLAgent::propagate() mForwardButton = getChild<LLJoystickAgentTurn>("forward btn"); @@ -153,10 +149,10 @@ BOOL LLFloaterMove::postBuild() // virtual void LLFloaterMove::setVisible(BOOL visible) { - // Do nothing with Stand/Stop Flying panel in excessive calls of this method (from LLTransientFloaterMgr?). + // Do nothing with Stand/Stop Flying panel in excessive calls of this method. if (getVisible() == visible) { - LLTransientDockableFloater::setVisible(visible); + LLFloater::setVisible(visible); return; } @@ -175,7 +171,7 @@ void LLFloaterMove::setVisible(BOOL visible) LLPanelStandStopFlying::getInstance()->reparent(NULL); } - LLTransientDockableFloater::setVisible(visible); + LLFloater::setVisible(visible); } // static @@ -439,30 +435,6 @@ void LLFloaterMove::setModeTitle(const EMovementMode mode) setTitle(title); } -/** - * Updates position of the floater to be center aligned with Move button. - */ -void LLFloaterMove::updatePosition() -{ - LLBottomTray* tray = LLBottomTray::getInstance(); - if (!tray) return; - - LLButton* movement_btn = tray->findChild<LLButton>(BOTTOM_TRAY_BUTTON_NAME); - - if (movement_btn) - { - //align centers of a button and a floater - S32 x = movement_btn->calcScreenRect().getCenterX() - getRect().getWidth()/2; - - S32 y = 0; - if (!mModeActionsPanel->getVisible()) - { - y = mModeActionsPanel->getRect().getHeight(); - } - setOrigin(x, y); - } -} - //static void LLFloaterMove::sUpdateFlyingStatus() { @@ -497,8 +469,6 @@ void LLFloaterMove::enableInstance(BOOL bEnable) void LLFloaterMove::onOpen(const LLSD& key) { - LLButton *anchor_panel = LLBottomTray::getInstance()->getChild<LLButton>("movement_btn"); - if (gAgent.getFlying()) { setFlyingMode(TRUE); @@ -511,19 +481,9 @@ void LLFloaterMove::onOpen(const LLSD& key) showModeButtons(FALSE); } - setDockControl(new LLDockControl( - anchor_panel, this, - getDockTongue(), LLDockControl::TOP)); - sUpdateFlyingStatus(); } -//virtual -void LLFloaterMove::setDocked(bool docked, bool pop_on_undock/* = true*/) -{ - LLTransientDockableFloater::setDocked(docked, pop_on_undock); -} - void LLFloaterMove::setModeButtonToggleState(const EMovementMode mode) { llassert_always(mModeControlButtonMap.end() != mModeControlButtonMap.find(mode)); @@ -734,23 +694,27 @@ void LLPanelStandStopFlying::onStopFlyingButtonClick() */ void LLPanelStandStopFlying::updatePosition() { - LLBottomTray* tray = LLBottomTray::getInstance(); - if (!tray || mAttached) return; - - LLButton* movement_btn = tray->findChild<LLButton>(BOTTOM_TRAY_BUTTON_NAME); + if (mAttached) return; S32 x = 0; - if (movement_btn) + S32 y = 0; + + if(LLView* root = getRootView()) { - // Align centers of the button and the panel. - x = movement_btn->calcScreenRect().getCenterX() - getRect().getWidth()/2; + x = root->calcScreenRect().getCenterX() - getRect().getWidth()/2; } - else + + if (LLToolBar* toolbar_bottom = gToolBarView->getChild<LLToolBar>("toolbar_bottom")) { - x = tray->calcScreenRect().getCenterX() - getRect().getWidth()/2; + y = toolbar_bottom->getRect().getHeight(); } + + if(LLPanel* panel_ssf_container = getRootView()->getChild<LLPanel>("stand_stop_flying_container")) + { + panel_ssf_container->setOrigin(0, y); + } + setOrigin(x, 0); } - // EOF diff --git a/indra/newview/llmoveview.h b/indra/newview/llmoveview.h index 1b87864651a..744dd866d44 100644 --- a/indra/newview/llmoveview.h +++ b/indra/newview/llmoveview.h @@ -28,7 +28,7 @@ #define LL_LLMOVEVIEW_H // Library includes -#include "lltransientdockablefloater.h" +#include "llfloater.h" class LLButton; class LLJoystickAgentTurn; @@ -38,7 +38,7 @@ class LLJoystickAgentSlide; // Classes // class LLFloaterMove -: public LLTransientDockableFloater +: public LLFloater { LOG_CLASS(LLFloaterMove); friend class LLFloaterReg; @@ -58,7 +58,6 @@ class LLFloaterMove static void setSittingMode(BOOL bSitting); static void enableInstance(BOOL bEnable); /*virtual*/ void onOpen(const LLSD& key); - /*virtual*/ void setDocked(bool docked, bool pop_on_undock = true); static void sUpdateFlyingStatus(); @@ -87,7 +86,6 @@ class LLFloaterMove void initModeButtonMap(); void setModeButtonToggleState(const EMovementMode mode); void updateButtonsWithMovementMode(const EMovementMode newMode); - void updatePosition(); void showModeButtons(BOOL bShow); public: diff --git a/indra/newview/llnearbychat.cpp b/indra/newview/llnearbychat.cpp index 9eaa64a124f..67d745248fe 100644 --- a/indra/newview/llnearbychat.cpp +++ b/indra/newview/llnearbychat.cpp @@ -34,6 +34,7 @@ #include "lliconctrl.h" #include "llfloatersidepanelcontainer.h" #include "llfocusmgr.h" +#include "lllogchat.h" #include "llresizebar.h" #include "llresizehandle.h" #include "llmenugl.h" @@ -50,7 +51,6 @@ #include "lldraghandle.h" -#include "llbottomtray.h" #include "llnearbychatbar.h" #include "llfloaterreg.h" #include "lltrans.h" diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp index caa20b767c7..3073a19d832 100644 --- a/indra/newview/llnearbychatbar.cpp +++ b/indra/newview/llnearbychatbar.cpp @@ -34,7 +34,6 @@ #include "llfirstuse.h" #include "llnearbychatbar.h" -#include "llbottomtray.h" #include "llagent.h" #include "llgesturemgr.h" #include "llmultigesture.h" @@ -58,8 +57,6 @@ const S32 EXPANDED_HEIGHT = 300; // legacy callback glue void send_chat_from_viewer(const std::string& utf8_out_text, EChatType type, S32 channel); -static LLDefaultChildRegistry::Register<LLGestureComboList> r("gesture_combo_list"); - struct LLChatTypeTrigger { std::string name; EChatType type; @@ -70,351 +67,6 @@ static LLChatTypeTrigger sChatTypeTriggers[] = { { "/shout" , CHAT_TYPE_SHOUT} }; -//ext-7367 -//Problem: gesture list control (actually LLScrollListCtrl) didn't actually process mouse wheel message. -// introduce new gesture list subclass to "eat" mouse wheel messages (and probably some other messages) -class LLGestureScrollListCtrl: public LLScrollListCtrl -{ -protected: - friend class LLUICtrlFactory; - LLGestureScrollListCtrl(const LLScrollListCtrl::Params& params) - :LLScrollListCtrl(params) - { - } -public: - BOOL handleScrollWheel(S32 x, S32 y, S32 clicks) - { - LLScrollListCtrl::handleScrollWheel( x, y, clicks ); - return TRUE; - } - //See EXT-6598 - //Mouse hover over separator will result in not processing tooltip message - //So eat this message - BOOL handleToolTip(S32 x, S32 y, MASK mask) - { - LLScrollListCtrl::handleToolTip( x, y, mask ); - return TRUE; - } -}; - -LLGestureComboList::Params::Params() -: combo_button("combo_button"), - combo_list("combo_list"), - get_more("get_more", true), - view_all("view_all", true) -{ -} - -LLGestureComboList::LLGestureComboList(const LLGestureComboList::Params& p) -: LLUICtrl(p), - mLabel(p.label), - mViewAllItemIndex(-1), - mGetMoreItemIndex(-1), - mShowViewAll(p.view_all), - mShowGetMore(p.get_more) -{ - LLBottomtrayButton::Params button_params = p.combo_button; - button_params.follows.flags(FOLLOWS_LEFT|FOLLOWS_BOTTOM|FOLLOWS_RIGHT); - - mButton = LLUICtrlFactory::create<LLBottomtrayButton>(button_params); - mButton->reshape(getRect().getWidth(),getRect().getHeight()); - mButton->setCommitCallback(boost::bind(&LLGestureComboList::onButtonCommit, this)); - - addChild(mButton); - - LLGestureScrollListCtrl::Params params(p.combo_list); - - params.name("GestureComboList"); - params.commit_callback.function(boost::bind(&LLGestureComboList::onItemSelected, this, _2)); - params.visible(false); - params.commit_on_keyboard_movement(false); - - mList = LLUICtrlFactory::create<LLGestureScrollListCtrl>(params); - addChild(mList); - - //****************************Gesture Part********************************/ - - setCommitCallback(boost::bind(&LLGestureComboList::onCommitGesture, this)); - - // now register us as observer since we have a place to put the results - LLGestureMgr::instance().addObserver(this); - - // refresh list from current active gestures - refreshGestures(); - - setFocusLostCallback(boost::bind(&LLGestureComboList::hideList, this)); -} - -BOOL LLGestureComboList::handleKeyHere(KEY key, MASK mask) -{ - BOOL handled = FALSE; - - if (key == KEY_ESCAPE && mask == MASK_NONE ) - { - hideList(); - handled = TRUE; - } - else - { - handled = mList->handleKeyHere(key, mask); - } - - return handled; -} - -void LLGestureComboList::draw() -{ - LLUICtrl::draw(); - - if(mButton->getToggleState()) - { - showList(); - } -} - -void LLGestureComboList::showList() -{ - LLRect rect = mList->getRect(); - LLRect button_rect = mButton->getRect(); - - // Calculating amount of space between the navigation bar and gestures combo - LLNavigationBar* nb = LLNavigationBar::getInstance(); - - S32 x, nb_bottom; - nb->localPointToOtherView(0, 0, &x, &nb_bottom, this); - - S32 max_height = nb_bottom - button_rect.mTop; - mList->calcColumnWidths(); - rect.setOriginAndSize(button_rect.mLeft, button_rect.mTop, llmax(mList->getMaxContentWidth(),mButton->getRect().getWidth()), max_height); - - mList->setRect(rect); - mList->fitContents( llmax(mList->getMaxContentWidth(),mButton->getRect().getWidth()), max_height); - - gFocusMgr.setKeyboardFocus(this); - - // Show the list and push the button down - mButton->setToggleState(TRUE); - mList->setVisible(TRUE); - sendChildToFront(mList); - LLUI::addPopup(mList); -} - -void LLGestureComboList::onButtonCommit() -{ - if (!mList->getVisible()) - { - // highlight the last selected item from the original selection before potentially selecting a new item - // as visual cue to original value of combo box - LLScrollListItem* last_selected_item = mList->getLastSelectedItem(); - if (last_selected_item) - { - mList->mouseOverHighlightNthItem(mList->getItemIndex(last_selected_item)); - } - - if (mList->getItemCount() != 0) - { - showList(); - } - } - else - { - hideList(); - } -} - -void LLGestureComboList::hideList() -{ - if (mList->getVisible()) - { - mButton->setToggleState(FALSE); - mList->setVisible(FALSE); - mList->mouseOverHighlightNthItem(-1); - LLUI::removePopup(mList); - gFocusMgr.setKeyboardFocus(NULL); - } -} - -S32 LLGestureComboList::getCurrentIndex() const -{ - LLScrollListItem* item = mList->getFirstSelected(); - if( item ) - { - return mList->getItemIndex( item ); - } - return -1; -} - -void LLGestureComboList::onItemSelected(const LLSD& data) -{ - const std::string name = mList->getSelectedItemLabel(); - - S32 cur_id = getCurrentIndex(); - mLastSelectedIndex = cur_id; - if (cur_id != mList->getItemCount()-1 && cur_id != -1) - { - mButton->setLabel(name); - } - - // hiding the list reasserts the old value stored in the text editor/dropdown button - hideList(); - - // commit does the reverse, asserting the value in the list - onCommit(); -} - -void LLGestureComboList::sortByName(bool ascending) -{ - mList->sortOnce(0, ascending); -} - -LLSD LLGestureComboList::getValue() const -{ - LLScrollListItem* item = mList->getFirstSelected(); - if( item ) - { - return item->getValue(); - } - else - { - return LLSD(); - } -} - -void LLGestureComboList::refreshGestures() -{ - //store current selection so we can maintain it - LLSD cur_gesture = getValue(); - - mList->selectFirstItem(); - mList->clearRows(); - mGestures.clear(); - - LLGestureMgr::item_map_t::const_iterator it; - const LLGestureMgr::item_map_t& active_gestures = LLGestureMgr::instance().getActiveGestures(); - LLSD::Integer idx(0); - for (it = active_gestures.begin(); it != active_gestures.end(); ++it) - { - LLMultiGesture* gesture = (*it).second; - if (gesture) - { - mList->addSimpleElement(gesture->mName, ADD_BOTTOM, LLSD(idx)); - mGestures.push_back(gesture); - idx++; - } - } - - sortByName(); - - // store indices for Get More and View All items (idx is the index followed by the last added Gesture) - if (mShowGetMore) - { - mGetMoreItemIndex = idx; - mList->addSimpleElement(LLTrans::getString("GetMoreGestures"), ADD_BOTTOM, LLSD(mGetMoreItemIndex)); - } - if (mShowViewAll) - { - mViewAllItemIndex = idx + 1; - mList->addSimpleElement(LLTrans::getString("ViewAllGestures"), ADD_BOTTOM, LLSD(mViewAllItemIndex)); - } - - // Insert label after sorting, at top, with separator below it - mList->addSeparator(ADD_TOP); - mList->addSimpleElement(mLabel, ADD_TOP); - - if (cur_gesture.isDefined()) - { - mList->selectByValue(cur_gesture); - - } - else - { - mList->selectFirstItem(); - } - - LLCtrlListInterface* gestures = getListInterface(); - LLMultiGesture* gesture = NULL; - - if (gestures) - { - S32 sel_index = gestures->getFirstSelectedIndex(); - if (sel_index != 0) - { - S32 index = gestures->getSelectedValue().asInteger(); - if (index<0 || index >= (S32)mGestures.size()) - { - llwarns << "out of range gesture access" << llendl; - } - else - { - gesture = mGestures.at(index); - } - } - } - - if(gesture && LLGestureMgr::instance().isGesturePlaying(gesture)) - { - return; - } - - mButton->setLabel(mLabel); -} - -void LLGestureComboList::onCommitGesture() -{ - LLCtrlListInterface* gestures = getListInterface(); - if (gestures) - { - S32 sel_index = gestures->getFirstSelectedIndex(); - if (sel_index == 0) - { - return; - } - - S32 index = gestures->getSelectedValue().asInteger(); - - if (mViewAllItemIndex == index) - { - // The same behavior as Ctrl+G. EXT-823 - LLFloaterReg::toggleInstance("gestures"); - gestures->selectFirstItem(); - return; - } - - if (mGetMoreItemIndex == index) - { - LLWeb::loadURLExternal(gSavedSettings.getString("GesturesMarketplaceURL")); - return; - } - - if (index<0 || index >= (S32)mGestures.size()) - { - llwarns << "out of range gesture index" << llendl; - } - else - { - LLMultiGesture* gesture = mGestures.at(index); - if(gesture) - { - LLGestureMgr::instance().playGesture(gesture); - if(!gesture->mReplaceText.empty()) - { - LLNearbyChatBar::sendChatFromViewer(gesture->mReplaceText, CHAT_TYPE_NORMAL, FALSE); - } - } - } - } -} - -LLGestureComboList::~LLGestureComboList() -{ - LLGestureMgr::instance().removeObserver(this); -} - -LLCtrlListInterface* LLGestureComboList::getListInterface() -{ - return mList; -} - LLNearbyChatBar::LLNearbyChatBar(const LLSD& key) : LLFloater(key), mChatBox(NULL) @@ -839,11 +491,6 @@ void LLNearbyChatBar::startChat(const char* line) // static void LLNearbyChatBar::stopChat() { - LLBottomTray *bt = LLBottomTray::getInstance(); - - if (!bt) - return; - LLNearbyChatBar* cb = LLNearbyChatBar::getInstance(); if (!cb) diff --git a/indra/newview/llnearbychatbar.h b/indra/newview/llnearbychatbar.h index 0415f12a0d0..a6fd6e5665b 100644 --- a/indra/newview/llnearbychatbar.h +++ b/indra/newview/llnearbychatbar.h @@ -27,73 +27,15 @@ #ifndef LL_LLNEARBYCHATBAR_H #define LL_LLNEARBYCHATBAR_H -#include "llpanel.h" +#include "llfloater.h" #include "llcombobox.h" #include "llgesturemgr.h" #include "llchat.h" #include "llvoiceclient.h" #include "lloutputmonitorctrl.h" #include "llspeakers.h" -#include "llbottomtray.h" - -class LLGestureComboList - : public LLGestureManagerObserver - , public LLUICtrl -{ -public: - struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> - { - Optional<LLBottomtrayButton::Params> combo_button; - Optional<LLScrollListCtrl::Params> combo_list; - Optional<bool> get_more, - view_all; - - Params(); - }; - -protected: - - friend class LLUICtrlFactory; - LLGestureComboList(const Params&); - std::vector<LLMultiGesture*> mGestures; - std::string mLabel; - bool mShowViewAll; - bool mShowGetMore; - LLSD::Integer mViewAllItemIndex; - LLSD::Integer mGetMoreItemIndex; - -public: - - ~LLGestureComboList(); - - LLCtrlListInterface* getListInterface(); - virtual void showList(); - virtual void hideList(); - virtual BOOL handleKeyHere(KEY key, MASK mask); - - virtual void draw(); - - S32 getCurrentIndex() const; - void onItemSelected(const LLSD& data); - void sortByName(bool ascending = true); - void refreshGestures(); - void onCommitGesture(); - void onButtonCommit(); - virtual LLSD getValue() const; - - // LLGestureManagerObserver trigger - virtual void changed() { refreshGestures(); } - -private: - - LLButton* mButton; - LLScrollListCtrl* mList; - S32 mLastSelectedIndex; -}; - -class LLNearbyChatBar -: public LLFloater +class LLNearbyChatBar : public LLFloater { public: // constructor for inline chat-bars (e.g. hosted in chat history window) diff --git a/indra/newview/skins/default/xui/en/floater_camera.xml b/indra/newview/skins/default/xui/en/floater_camera.xml index da2be18db66..125ca81cde3 100644 --- a/indra/newview/skins/default/xui/en/floater_camera.xml +++ b/indra/newview/skins/default/xui/en/floater_camera.xml @@ -1,9 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - can_dock="true" can_minimize="true" - can_close="false" + can_close="true" follows="bottom" height="164" layout="topleft" @@ -11,7 +10,6 @@ help_topic="camera_floater" save_rect="true" save_visibility="true" - save_dock_state="true" single_instance="true" width="228"> <floater.string -- GitLab From aec61c579a40687e2696d38a535143d59f771416 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 11 Oct 2011 10:07:19 -0700 Subject: [PATCH 161/256] Added 'execute_stop_function' command parameter to handle mouse down/up actions on toolbar buttons --- indra/llui/llbutton.cpp | 18 ++++++++++++++++++ indra/llui/llbutton.h | 5 +++++ indra/llui/llcommandmanager.cpp | 4 ++++ indra/llui/llcommandmanager.h | 9 +++++++++ indra/llui/lltoolbar.cpp | 22 ++++++++++++++++++---- indra/newview/app_settings/commands.xml | 2 ++ 6 files changed, 56 insertions(+), 4 deletions(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index ba3748a5736..2e9c7a5d3d7 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -296,6 +296,24 @@ void LLButton::onCommit() LLUICtrl::onCommit(); } +boost::signals2::connection LLButton::setClickedCallback(const CommitCallbackParam& cb) +{ + return setClickedCallback(initCommitCallback(cb)); +} +boost::signals2::connection LLButton::setMouseDownCallback(const CommitCallbackParam& cb) +{ + return setMouseDownCallback(initCommitCallback(cb)); +} +boost::signals2::connection LLButton::setMouseUpCallback(const CommitCallbackParam& cb) +{ + return setMouseUpCallback(initCommitCallback(cb)); +} +boost::signals2::connection LLButton::setHeldDownCallback(const CommitCallbackParam& cb) +{ + return setHeldDownCallback(initCommitCallback(cb)); +} + + boost::signals2::connection LLButton::setClickedCallback( const commit_signal_t::slot_type& cb ) { if (!mCommitSignal) mCommitSignal = new commit_signal_t(); diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h index a0a7b4e372c..ba0345f6109 100644 --- a/indra/llui/llbutton.h +++ b/indra/llui/llbutton.h @@ -170,6 +170,11 @@ class LLButton void setUseEllipses( BOOL use_ellipses ) { mUseEllipses = use_ellipses; } + boost::signals2::connection setClickedCallback(const CommitCallbackParam& cb); + boost::signals2::connection setMouseDownCallback(const CommitCallbackParam& cb); + boost::signals2::connection setMouseUpCallback(const CommitCallbackParam& cb); + boost::signals2::connection setHeldDownCallback(const CommitCallbackParam& cb); + boost::signals2::connection setClickedCallback( const commit_signal_t::slot_type& cb ); // mouse down and up within button boost::signals2::connection setMouseDownCallback( const commit_signal_t::slot_type& cb ); boost::signals2::connection setMouseUpCallback( const commit_signal_t::slot_type& cb ); // mouse up, EVEN IF NOT IN BUTTON diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp index d8e035a3203..128ba609cb2 100644 --- a/indra/llui/llcommandmanager.cpp +++ b/indra/llui/llcommandmanager.cpp @@ -55,6 +55,8 @@ LLCommand::Params::Params() , tooltip_ref("tooltip_ref") , execute_function("execute_function") , execute_parameters("execute_parameters") + , execute_stop_function("execute_stop_function") + , execute_stop_parameters("execute_stop_parameters") , is_enabled_function("is_enabled_function") , is_enabled_parameters("is_enabled_parameters") , is_running_function("is_running_function") @@ -72,6 +74,8 @@ LLCommand::LLCommand(const LLCommand::Params& p) , mTooltipRef(p.tooltip_ref) , mExecuteFunction(p.execute_function) , mExecuteParameters(p.execute_parameters) + , mExecuteStopFunction(p.execute_stop_function) + , mExecuteStopParameters(p.execute_stop_parameters) , mIsEnabledFunction(p.is_enabled_function) , mIsEnabledParameters(p.is_enabled_parameters) , mIsRunningFunction(p.is_running_function) diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index 46e0fe6e69e..9b93ab735a4 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -116,6 +116,9 @@ class LLCommand Mandatory<std::string> execute_function; Optional<LLSD> execute_parameters; + Optional<std::string> execute_stop_function; + Optional<LLSD> execute_stop_parameters; + Optional<std::string> is_enabled_function; Optional<LLSD> is_enabled_parameters; @@ -139,6 +142,9 @@ class LLCommand const std::string& executeFunctionName() const { return mExecuteFunction; } const LLSD& executeParameters() const { return mExecuteParameters; } + const std::string& executeStopFunctionName() const { return mExecuteStopFunction; } + const LLSD& executeStopParameters() const { return mExecuteStopParameters; } + const std::string& isEnabledFunctionName() const { return mIsEnabledFunction; } const LLSD& isEnabledParameters() const { return mIsEnabledParameters; } @@ -159,6 +165,9 @@ class LLCommand std::string mExecuteFunction; LLSD mExecuteParameters; + std::string mExecuteStopFunction; + LLSD mExecuteStopParameters; + std::string mIsEnabledFunction; LLSD mIsEnabledParameters; diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 89184f781f7..e74aab6e216 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -659,11 +659,25 @@ LLToolBarButton* LLToolBar::createButton(const LLCommandId& id) if (!mReadOnly) { - LLUICtrl::CommitCallbackParam cbParam; - cbParam.function_name = commandp->executeFunctionName(); - cbParam.parameter = commandp->executeParameters(); + LLUICtrl::CommitCallbackParam executeParam; + executeParam.function_name = commandp->executeFunctionName(); + executeParam.parameter = commandp->executeParameters(); - button->setCommitCallback(cbParam); + // If we have a "stop" function then we map the command to mouse down / mouse up otherwise commit + const std::string& executeStopFunction = commandp->executeStopFunctionName(); + if (executeStopFunction.length() > 0) + { + LLUICtrl::CommitCallbackParam executeStopParam; + executeStopParam.function_name = executeStopFunction; + executeStopParam.parameter = commandp->executeStopParameters(); + + button->setMouseDownCallback(executeParam); + button->setMouseUpCallback(executeStopParam); + } + else + { + button->setCommitCallback(executeParam); + } const std::string& isEnabledFunction = commandp->isEnabledFunctionName(); if (isEnabledFunction.length() > 0) diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index d758647d3a7..296d992b340 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -217,6 +217,8 @@ tooltip_ref="Command_Speak_Tooltip" execute_function="Agent.ToggleMicrophone" execute_parameters="speak" + execute_stop_function="" + execute_stop_parameters="speak" is_enabled_function="Agent.IsActionAllowed" is_enabled_parameters="speak" is_running_function="Agent.IsMicrophoneOn" -- GitLab From 3596c0f7e139724f31258ffb96157146aeba77b1 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Tue, 11 Oct 2011 15:06:16 -0700 Subject: [PATCH 162/256] EXP-1300 : Implemented carets for DaD. Works with small bugs but OK for demo. Still in need of some cleanup --- indra/llui/lltoolbar.cpp | 86 +++++++++++++----- indra/llui/lltoolbar.h | 7 +- indra/newview/lltoolbarview.cpp | 7 -- .../textures/toolbar_icons/caret_bottom.png | Bin 139 -> 169 bytes .../textures/toolbar_icons/caret_left.png | Bin 893 -> 913 bytes .../textures/toolbar_icons/caret_right.png | Bin 892 -> 911 bytes .../default/xui/en/panel_toolbar_view.xml | 13 +-- 7 files changed, 75 insertions(+), 38 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 89184f781f7..7c1e2017c0f 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -34,6 +34,7 @@ #include "llmenugl.h" #include "lltrans.h" #include "llinventory.h" +#include "lliconctrl.h" // uncomment this and remove the one in llui.cpp when there is an external reference to this translation unit // thanks, MSVC! @@ -204,7 +205,6 @@ bool LLToolBar::addCommand(const LLCommandId& commandId, int rank) { LLCommand * command = LLCommandManager::instance().getCommand(commandId); if (!command) return false; - llinfos << "Merov debug : addCommand, " << commandId.name() << ", " << commandId.uuid() << llendl; // Create the button and do the things that don't need ordering LLToolBarButton* button = createButton(commandId); @@ -248,7 +248,6 @@ int LLToolBar::removeCommand(const LLCommandId& commandId) { if (!hasCommand(commandId)) return RANK_NONE; - llinfos << "Merov debug : removeCommand, " << commandId.name() << ", " << commandId.uuid() << llendl; // First erase the map record command_id_map::iterator it = mButtonMap.find(commandId.uuid()); mButtonMap.erase(it); @@ -398,7 +397,7 @@ void LLToolBar::resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row // The rank is the position a tool dropped in (x,y) would assume in the button list. // The value returned is between 0 and mButtons.size(), 0 being the first element to the left // (or top) and mButtons.size() the last one to the right (or bottom). -int LLToolBar::getRankFromPosition(S32 x, S32 y) +int LLToolBar::getRankFromPosition(S32& x, S32& y) { int rank = 0; @@ -406,16 +405,16 @@ int LLToolBar::getRankFromPosition(S32 x, S32 y) S32 button_panel_x = 0; S32 button_panel_y = 0; localPointToOtherView(x, y, &button_panel_x, &button_panel_y, mButtonPanel); + S32 dx = x - button_panel_x; + S32 dy = y - button_panel_y; - //llinfos << "Merov debug : rank compute: orientation = " << orientation << ", x = " << button_panel_x << ", y = " << button_panel_y << llendl; - // Simply compare the passed coord with the buttons outbound box std::list<LLToolBarButton*>::iterator it_button = mButtons.begin(); std::list<LLToolBarButton*>::iterator end_button = mButtons.end(); + LLRect button_rect; while (it_button != end_button) { - LLRect button_rect = (*it_button)->getRect(); - //llinfos << "Merov debug : rank compute: rect = " << button_rect.mLeft << ", " << button_rect.mTop << ", " << button_rect.mRight << ", " << button_rect.mBottom << llendl; + button_rect = (*it_button)->getRect(); if (((orientation == LLLayoutStack::HORIZONTAL) && (button_rect.mRight > button_panel_x)) || ((orientation == LLLayoutStack::VERTICAL) && (button_rect.mBottom < button_panel_y)) ) { @@ -424,7 +423,16 @@ int LLToolBar::getRankFromPosition(S32 x, S32 y) rank++; ++it_button; } - //llinfos << "Merov debug : rank = " << rank << llendl; + if (it_button != end_button) + { + x = button_rect.mRight + dx; + y = button_rect.mTop + dy; + } + else + { + x = button_rect.mLeft + dx; + y = button_rect.mBottom + dy; + } return rank; } @@ -613,7 +621,40 @@ void LLToolBar::draw() LLUI::pushMatrix(); LLUI::translate((F32)getRect().mLeft, (F32)getRect().mBottom, 0.f); + // Position the caret + LLIconCtrl* caret = getChild<LLIconCtrl>("caret"); + caret->setVisible(FALSE); + if (mDragAndDropTarget && !mButtonCommands.empty()) + { + LLRect caret_rect = caret->getRect(); + LLRect toolbar_rect = getRect(); + if (mSideType == SIDE_BOTTOM) + { + caret->setRect(LLRect(mDragx-caret_rect.getWidth()/2+1, + toolbar_rect.getHeight()+3, + mDragx+caret_rect.getWidth()/2+1, + toolbar_rect.getHeight()-caret_rect.getHeight()+3)); + } + else if (mSideType == SIDE_LEFT) + { + + caret->setRect(LLRect(toolbar_rect.getWidth()-caret_rect.getWidth()+3, + mDragy+caret_rect.getHeight()/2, + toolbar_rect.getWidth()+3, + mDragy-caret_rect.getHeight()/2)); + } + else + { + caret->setRect(LLRect(-3, + mDragy+caret_rect.getHeight()/2, + caret_rect.getWidth()-3, + mDragy-caret_rect.getHeight()/2)); + } + caret->setVisible(TRUE); + } + LLUICtrl::draw(); + caret->setVisible(FALSE); } void LLToolBar::reshape(S32 width, S32 height, BOOL called_from_parent) @@ -713,7 +754,6 @@ BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EAcceptance* accept, std::string& tooltip_msg) { - llinfos << "Merov debug : handleDragAndDrop. drop = " << drop << ", x = " << x << ", y = " << y << llendl; // If we have a drop callback, that means that we can handle the drop BOOL handled = (mHandleDropCallback ? TRUE : FALSE); @@ -729,21 +769,22 @@ BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, // We'll use that flag to change the visual aspect of the toolbar target on draw() mDragAndDropTarget = false; - // HACK!!! - if (!isReadOnly() && handled) + // Convert drag position into insert position and rank + if (!isReadOnly() && handled && !drop) { - if (!drop) + LLInventoryItem* inv_item = (LLInventoryItem*)cargo_data; + LLAssetType::EType type = inv_item->getType(); + if (type == LLAssetType::AT_WIDGET) { - LLInventoryItem* inv_item = (LLInventoryItem*)cargo_data; - LLAssetType::EType type = inv_item->getType(); - if (type == LLAssetType::AT_WIDGET) - { - LLCommandId dragged_command(inv_item->getUUID()); - int rank = getRankFromPosition(x, y); - removeCommand(dragged_command); - addCommand(dragged_command,rank); - mDragAndDropTarget = true; - } + mDragx = x; + mDragy = y; + mDragRank = getRankFromPosition(mDragx, mDragy); + mDragAndDropTarget = true; + /* Do the following if you want to animate the button itself + LLCommandId dragged_command(inv_item->getUUID()); + removeCommand(dragged_command); + addCommand(dragged_command,rank); + */ } } @@ -784,7 +825,6 @@ BOOL LLToolBarButton::handleMouseDown(S32 x, S32 y, MASK mask) BOOL LLToolBarButton::handleHover(S32 x, S32 y, MASK mask) { -// llinfos << "Merov debug: handleHover, x = " << x << ", y = " << y << ", mouse = " << hasMouseCapture() << llendl; BOOL handled = FALSE; S32 mouse_distance_squared = (x - mMouseDownX) * (x - mMouseDownX) + (y - mMouseDownY) * (y - mMouseDownY); diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index ca04a0e5d5c..f3457028e75 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -156,7 +156,7 @@ class LLToolBar // virtuals void draw(); void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); - int getRankFromPosition(S32 x, S32 y); + int getRankFromPosition(S32& x, S32& y); BOOL handleRightMouseDown(S32 x, S32 y, MASK mask); virtual BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EDragAndDropType cargo_type, @@ -188,6 +188,9 @@ class LLToolBar tool_handledrag_callback_t mHandleDragItemCallback; tool_handledrop_callback_t mHandleDropCallback; bool mDragAndDropTarget; + int mDragRank; + S32 mDragx, + mDragy; public: // Methods used in loading and saving toolbar settings @@ -217,7 +220,7 @@ class LLToolBar LLLayoutStack* mWrapStack; LLPanel* mButtonPanel; LLToolBarEnums::SideType mSideType; - + bool mWrap; bool mNeedsLayout; S32 mPadLeft, diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 318bede6f05..164a1c0ca67 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -330,7 +330,6 @@ void LLToolBarView::draw() void LLToolBarView::startDragTool( S32 x, S32 y, const LLUUID& uuid) { - llinfos << "Merov debug: startDragTool() : x = " << x << ", y = " << y << ", uuid = " << uuid << llendl; // Flag the tool dragging but don't start it yet gToolBarView->mDragStarted = false; gToolBarView->mDragCommand = LLCommandId::null; @@ -345,7 +344,6 @@ BOOL LLToolBarView::handleDragTool( S32 x, S32 y, const LLUUID& uuid, LLAssetTyp { if (!gToolBarView->mDragStarted) { - llinfos << "Merov debug: handleDragTool() : x = " << x << ", y = " << y << ", uuid = " << uuid << llendl; // Start the tool dragging: // First, create the global drag and drop object @@ -357,7 +355,6 @@ BOOL LLToolBarView::handleDragTool( S32 x, S32 y, const LLUUID& uuid, LLAssetTyp LLToolDragAndDrop::ESource src = LLToolDragAndDrop::SOURCE_VIEWER; LLUUID srcID; LLToolDragAndDrop::getInstance()->beginMultiDrag(types, cargo_ids, src, srcID); - llinfos << "Merov debug: beginMultiDrag() launched" << llendl; // Second, check if the command is present in one of the 3 toolbars // If it is, store the command, the toolbar and the rank in the toolbar and @@ -383,7 +380,6 @@ BOOL LLToolBarView::handleDragTool( S32 x, S32 y, const LLUUID& uuid, LLAssetTyp } */ - llinfos << "Merov debug: Drag started cleanly" << llendl; gToolBarView->mDragStarted = true; return TRUE; } @@ -399,12 +395,10 @@ BOOL LLToolBarView::handleDragTool( S32 x, S32 y, const LLUUID& uuid, LLAssetTyp BOOL LLToolBarView::handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* toolbar) { LLInventoryItem* inv_item = (LLInventoryItem*)cargo_data; - //llinfos << "Merov debug : handleDropTool. Drop " << inv_item->getUUID() << " named " << inv_item->getName() << " of type " << inv_item->getType() << llendl; LLAssetType::EType type = inv_item->getType(); if (type == LLAssetType::AT_WIDGET) { - //llinfos << "Merov debug : handleDropTool. Drop source is a widget -> drop it in place..." << llendl; // Get the command from its uuid LLCommandManager& mgr = LLCommandManager::instance(); LLCommandId command_id(inv_item->getUUID()); @@ -419,7 +413,6 @@ BOOL LLToolBarView::handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* t } // Suppress the command from the toolbars (including the one it's dropped in, // this will handle move position). - llinfos << "Merov debug : handleDropTool, " << command_id.name() << ", " << command_id.uuid() << llendl; gToolBarView->mToolbarLeft->removeCommand(command_id); gToolBarView->mToolbarRight->removeCommand(command_id); gToolBarView->mToolbarBottom->removeCommand(command_id); diff --git a/indra/newview/skins/default/textures/toolbar_icons/caret_bottom.png b/indra/newview/skins/default/textures/toolbar_icons/caret_bottom.png index 82f58b22b916f6506333a7a3d735e6601ebc29ba..d506cda5c90a894ca1710f114c1c6e6f5aa0ca04 100644 GIT binary patch delta 138 zcmeBXT*;`|8Q|y6%O%Cdz`(%k>ERLtq(N*h4mKd!Yjl3^L`97RZ%-G;kcwMLfByfs zXEto;Z1iy0;v^<;@Wcs;CU3?Inb{Ax{O4M2mFiFIDOi2>%o&M|D;>nr52<y88drT_ nnEO#aR<1>IrCc8aBO8MVuk=sB=O4ZTjc4$5^>bP0l+XkKgB~vg delta 108 zcmZ3<*v+We8Q|y6%O%Cdz`(%k>ERLtq}hR(m4gjPcFy{CW1^ylldh+WV@SoVq?CjN zj>H3u6951I-!H#hrQ^V|hKUm|P82-m7{)N^fC1ZGmIel92Daz?7jqsL+5rt<@O1Ta JS?83{1ORo>B6I)% diff --git a/indra/newview/skins/default/textures/toolbar_icons/caret_left.png b/indra/newview/skins/default/textures/toolbar_icons/caret_left.png index 75eecc84ed59f09d2e3fc8ba42ac9d38f4a071ec..b1284aaf79e92b4cc4aebf725b3f731b99caa735 100644 GIT binary patch delta 137 zcmey%Hj!PiGr-TCmrII^fq{Y7)59eQNQ2m19Be?c*XaD-jfz6dah{$ojv*3~OD_a+ zF&MD0J@~tOruCbBeQA{nvocNfr|7dN8O0@qb<AWv(6yIYtLwlkmVA$mhxt@JTsD}7 me(SvTrl3jo*me2U(&jERMHi$6E>Q%U&fw|l=d#Wzp$Pz<hb-^_ delta 117 zcmbQp{+CU$Gr-TCmrII^fq{Y7)59eQNV5VlI|mz(Jg~g|-9|+rW-n7u7sn6|+2kMp z|JySQ-8+BafWRRZl>`PA1~vo79Sj~KDjiA;!X+$*6BvE0yI6b#mI&xEGBBhHh|Jv@ RIvr>dgQu&X%Q~loCIGO@9!LNH diff --git a/indra/newview/skins/default/textures/toolbar_icons/caret_right.png b/indra/newview/skins/default/textures/toolbar_icons/caret_right.png index 677459ae1c4d6f6543f094ac0b109ffcbcb95b92..bf6a4ed66c6c49cadb772c3854b0edf19100ca04 100644 GIT binary patch delta 135 zcmeyv*3Yik8Q|y6%O%Cdz`(%k>ERLtq(N*h4mKd!Yjl3^Mnxg!7<W$>#}En0-U|mg z84Ng>4=kI#)A@U;iMO1SsP3<Q83JkB)HbVks5vmWhn^N@{Pm4%`h>=w=oufyyEyjv kamTyF9O~gPto^}yrb=|d#E!-lK(iS<UHx3vIVCg!01W>tfdBvi delta 116 zcmeBY|HG!(8Q|y6%O%Cdz`(%k>ERLtq*;NOor4WX9$4P~Zlj_Qv!{uti(?3fY;r<E z0>{t)|Nqx1q%|a}El}Wj({4C{)iEi7v&3-&i<zT)iKF|3pcKaq3?2duhxZAH7^MHV Q1RBKP>FVdQ&MBb@02HGk?EnA( diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 5d6967ed32a..9ffd62f7a9f 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -48,8 +48,8 @@ side="left" button_display_mode="icons_only"> <icon layout="topleft" - height="7" - width="5" + height="10" + width="10" follows="left|top" top="20" left="10" @@ -99,8 +99,8 @@ side="right" button_display_mode="icons_only"> <icon layout="topleft" - height="7" - width="5" + height="10" + width="10" follows="left|top" top="20" left="10" @@ -130,13 +130,14 @@ button_display_mode="icons_with_text" visible="true"> <icon layout="topleft" - height="5" - width="7" + height="10" + width="10" follows="left|top" top="20" left="10" tab_stop="false" visible="false" + use_draw_context_alpha="false" image_name="Caret_Bottom_Icon" name="caret" /> </toolbar> -- GitLab From ecdcaf149b7def0e40898ac202539376a673c7b1 Mon Sep 17 00:00:00 2001 From: callum <none@none> Date: Tue, 11 Oct 2011 15:33:43 -0700 Subject: [PATCH 163/256] FIX EXP-1302 Make the Speak button work as a toolbar button and EXP-1324 Push to talk hot key doesn't change button state of speak button --- indra/newview/app_settings/commands.xml | 4 ++-- indra/newview/llagent.cpp | 27 ++++++++++--------------- indra/newview/llagent.h | 4 ++-- 3 files changed, 15 insertions(+), 20 deletions(-) diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 296d992b340..3625ce5088d 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -215,9 +215,9 @@ icon="Command_Speak_Icon" label_ref="Command_Speak_Label" tooltip_ref="Command_Speak_Tooltip" - execute_function="Agent.ToggleMicrophone" + execute_function="Agent.PressMicrophone" execute_parameters="speak" - execute_stop_function="" + execute_stop_function="Agent.ReleaseMicrophone" execute_stop_parameters="speak" is_enabled_function="Agent.IsActionAllowed" is_enabled_parameters="speak" diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 8303a5942da..31a73c8c317 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -188,28 +188,23 @@ bool LLAgent::isActionAllowed(const LLSD& sdname) } // static -void LLAgent::toggleMicrophone(const LLSD& name) +void LLAgent::pressMicrophone(const LLSD& name) { - gAgent.mMicrophoneOn = ! gAgent.mMicrophoneOn; + LLFirstUse::speak(false); - if ( gAgent.mMicrophoneOn ) - { - LLFirstUse::speak(false); + LLVoiceClient::getInstance()->inputUserControlState(true); +} - LLVoiceClient::getInstance()->inputUserControlState(true); - LLVoiceClient::getInstance()->inputUserControlState(false); - } - else - { - LLVoiceClient::getInstance()->inputUserControlState(false); - LLVoiceClient::getInstance()->inputUserControlState(true); - } +// static +void LLAgent::releaseMicrophone(const LLSD& name) +{ + LLVoiceClient::getInstance()->inputUserControlState(false); } // static bool LLAgent::isMicrophoneOn(const LLSD& sdname) { - return gAgent.mMicrophoneOn; + return LLVoiceClient::getInstance()->getUserPTTState(); } // ************************************************************ @@ -294,7 +289,6 @@ LLAgent::LLAgent() : mGenderChosen(FALSE), mVoiceConnected(false), - mMicrophoneOn(false), mAppearanceSerialNum(0), @@ -314,7 +308,8 @@ LLAgent::LLAgent() : LLViewerParcelMgr::getInstance()->addAgentParcelChangedCallback(boost::bind(&LLAgent::parcelChangedCallback)); LLUICtrl::EnableCallbackRegistry::currentRegistrar().add("Agent.IsActionAllowed", boost::bind(&LLAgent::isActionAllowed, _2)); - LLUICtrl::CommitCallbackRegistry::currentRegistrar().add("Agent.ToggleMicrophone", boost::bind(&LLAgent::toggleMicrophone, _2)); + LLUICtrl::CommitCallbackRegistry::currentRegistrar().add("Agent.PressMicrophone", boost::bind(&LLAgent::pressMicrophone, _2)); + LLUICtrl::CommitCallbackRegistry::currentRegistrar().add("Agent.ReleaseMicrophone", boost::bind(&LLAgent::releaseMicrophone, _2)); LLUICtrl::EnableCallbackRegistry::currentRegistrar().add("Agent.IsMicrophoneOn", boost::bind(&LLAgent::isMicrophoneOn, _2)); } diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h index 0355e68b6e5..0f7ed9ce681 100644 --- a/indra/newview/llagent.h +++ b/indra/newview/llagent.h @@ -290,12 +290,12 @@ class LLAgent : public LLOldEvents::LLObservable bool isVoiceConnected() const { return mVoiceConnected; } void setVoiceConnected(const bool b) { mVoiceConnected = b; } - static void toggleMicrophone(const LLSD& name); + static void pressMicrophone(const LLSD& name); + static void releaseMicrophone(const LLSD& name); static bool isMicrophoneOn(const LLSD& sdname); private: bool mVoiceConnected; - bool mMicrophoneOn; //-------------------------------------------------------------------- // Chat -- GitLab From 0d66c6870406578819465033a9e312c8e4eaad43 Mon Sep 17 00:00:00 2001 From: Aaron Stone <stone@lindenlab.com> Date: Tue, 11 Oct 2011 15:46:40 -0700 Subject: [PATCH 164/256] EXP-625 No longer stuck as a cloud on initial login by fixing logic around fetching library items from the Inventory capabilities. --- indra/newview/llinventoryobserver.cpp | 19 ++++++++++++------- indra/newview/llstartup.cpp | 16 ++++++++++++---- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/indra/newview/llinventoryobserver.cpp b/indra/newview/llinventoryobserver.cpp index ceba4a01912..9db175ec2e0 100644 --- a/indra/newview/llinventoryobserver.cpp +++ b/indra/newview/llinventoryobserver.cpp @@ -202,6 +202,7 @@ void LLInventoryFetchItemsObserver::changed(U32 mask) void fetch_items_from_llsd(const LLSD& items_llsd) { if (!items_llsd.size() || gDisconnected) return; + LLSD body; body[0]["cap_name"] = "FetchInventory2"; body[1]["cap_name"] = "FetchLib2"; @@ -212,7 +213,7 @@ void fetch_items_from_llsd(const LLSD& items_llsd) body[0]["items"].append(items_llsd[i]); continue; } - if (items_llsd[i]["owner_id"].asString() == ALEXANDRIA_LINDEN_ID.asString()) + else if (items_llsd[i]["owner_id"].asString() == ALEXANDRIA_LINDEN_ID.asString()) { body[1]["items"].append(items_llsd[i]); continue; @@ -221,19 +222,23 @@ void fetch_items_from_llsd(const LLSD& items_llsd) for (S32 i=0; i<body.size(); i++) { - if(!gAgent.getRegion()) + if (!gAgent.getRegion()) { - llwarns<<"Agent's region is null"<<llendl; + llwarns << "Agent's region is null" << llendl; break; } - if (0 >= body[i].size()) continue; - std::string url = gAgent.getRegion()->getCapability(body[i]["cap_name"].asString()); + if (0 == body[i]["items"].size()) { + lldebugs << "Skipping body with no items to fetch" << llendl; + continue; + } + + std::string url = gAgent.getRegion()->getCapability(body[i]["cap_name"].asString()); if (!url.empty()) { body[i]["agent_id"] = gAgent.getID(); LLHTTPClient::post(url, body[i], new LLInventoryModel::fetchInventoryResponder(body[i])); - break; + continue; } LLMessageSystem* msg = gMessageSystem; @@ -303,7 +308,7 @@ void LLInventoryFetchItemsObserver::startFetch() // It's incomplete, so put it on the incomplete container, and // pack this on the message. mIncomplete.push_back(*it); - + // Prepare the data to fetch LLSD item_entry; item_entry["owner_id"] = owner_id; diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 749acea6c10..de2afac0b88 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -2480,7 +2480,7 @@ void LLStartUp::copyLibraryGestures(const std::string& same_gender_gestures) void LLStartUp::loadInitialOutfit( const std::string& outfit_folder_name, const std::string& gender_name ) { - llinfos << "starting" << llendl; + lldebugs << "starting" << llendl; // Not going through the processAgentInitialWearables path, so need to set this here. LLAppearanceMgr::instance().setAttachmentInvLinkEnable(true); @@ -2491,11 +2491,13 @@ void LLStartUp::loadInitialOutfit( const std::string& outfit_folder_name, std::string same_gender_gestures; if (gender_name == "male") { + lldebugs << "male" << llendl; gender = OPT_MALE; same_gender_gestures = MALE_GESTURES_FOLDER; } else { + lldebugs << "female" << llendl; gender = OPT_FEMALE; same_gender_gestures = FEMALE_GESTURES_FOLDER; } @@ -2507,6 +2509,7 @@ void LLStartUp::loadInitialOutfit( const std::string& outfit_folder_name, outfit_folder_name); if (cat_id.isNull()) { + lldebugs << "standard wearables" << llendl; gAgentWearables.createStandardWearables(gender); } else @@ -2517,26 +2520,31 @@ void LLStartUp::loadInitialOutfit( const std::string& outfit_folder_name, bool do_append = false; LLViewerInventoryCategory *cat = gInventory.getCategory(cat_id); LLAppearanceMgr::instance().wearInventoryCategory(cat, do_copy, do_append); + lldebugs << "initial outfit category id: " << cat_id << llendl; } // Copy gestures copyLibraryGestures(same_gender_gestures); - + // This is really misnamed -- it means we have started loading // an outfit/shape that will give the avatar a gender eventually. JC gAgent.setGenderChosen(TRUE); - } //static void LLStartUp::saveInitialOutfit() { - if (sInitialOutfit.empty()) return; + if (sInitialOutfit.empty()) { + lldebugs << "sInitialOutfit is empty" << llendl; + return; + } if (sWearablesLoadedCon.connected()) { + lldebugs << "sWearablesLoadedCon is connected, disconnecting" << llendl; sWearablesLoadedCon.disconnect(); } + lldebugs << "calling makeNewOutfitLinks( \"" << sInitialOutfit << "\" )" << llendl; LLAppearanceMgr::getInstance()->makeNewOutfitLinks(sInitialOutfit,false); } -- GitLab From ca9ea840951bcfeaf46f07c9ee0974408c21792a Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 11 Oct 2011 15:54:56 -0700 Subject: [PATCH 165/256] * Dimmed overlay color on button image overlays to 0.75*alpha when buttons are unselected. --- indra/llui/llbutton.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 2e9c7a5d3d7..0a7584a5765 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -828,6 +828,10 @@ void LLButton::draw() { overlay_color.mV[VALPHA] = 0.5f; } + else if (!getToggleState()) + { + overlay_color.mV[VALPHA] = 0.75f; + } overlay_color.mV[VALPHA] *= alpha; switch(mImageOverlayAlignment) -- GitLab From 9f0890fc3a6931562843e4597c009778424ee5bc Mon Sep 17 00:00:00 2001 From: leyla_linden <none@none> Date: Tue, 11 Oct 2011 16:17:23 -0700 Subject: [PATCH 166/256] EXP-1293 Nearby chat toasts no longer appear. EXP-1316 Minimized Snapshot floater has a snapshot preview image attached below. EXP-1318 Clicking on nearby chat toasts should bring up Nearby Chat history --- indra/newview/llchatitemscontainerctrl.cpp | 5 +++-- indra/newview/llfloatersnapshot.cpp | 2 +- indra/newview/llnearbychatbar.cpp | 10 ++++++++++ indra/newview/llnearbychatbar.h | 2 ++ indra/newview/llnearbychathandler.cpp | 2 +- 5 files changed, 17 insertions(+), 4 deletions(-) diff --git a/indra/newview/llchatitemscontainerctrl.cpp b/indra/newview/llchatitemscontainerctrl.cpp index 8584885bc97..9a84280f258 100644 --- a/indra/newview/llchatitemscontainerctrl.cpp +++ b/indra/newview/llchatitemscontainerctrl.cpp @@ -35,6 +35,7 @@ #include "llfloaterreg.h" #include "lllocalcliprect.h" #include "lltrans.h" +#include "llnearbychatbar.h" #include "llviewercontrol.h" #include "llagentdata.h" @@ -315,12 +316,12 @@ BOOL LLNearbyChatToastPanel::handleMouseUp (S32 x, S32 y, MASK mask) return TRUE; else { - LLFloaterReg::showInstance("nearby_chat",LLSD()); + LLNearbyChatBar::getInstance()->showHistory(); return FALSE; } } - LLFloaterReg::showInstance("nearby_chat",LLSD()); + LLNearbyChatBar::getInstance()->showHistory(); return LLPanel::handleMouseUp(x,y,mask); } diff --git a/indra/newview/llfloatersnapshot.cpp b/indra/newview/llfloatersnapshot.cpp index 9d020517d84..8105844b0df 100644 --- a/indra/newview/llfloatersnapshot.cpp +++ b/indra/newview/llfloatersnapshot.cpp @@ -2217,7 +2217,7 @@ void LLFloaterSnapshot::draw() LLFloater::draw(); - if (previewp) + if (previewp && !isMinimized()) { if(previewp->getThumbnailImage()) { diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp index 3073a19d832..cd84275ef09 100644 --- a/indra/newview/llnearbychatbar.cpp +++ b/indra/newview/llnearbychatbar.cpp @@ -135,6 +135,16 @@ LLNearbyChatBar* LLNearbyChatBar::getInstance() return LLFloaterReg::getTypedInstance<LLNearbyChatBar>("chat_bar"); } +void LLNearbyChatBar::showHistory() +{ + if (!getChildView("nearby_chat")->getVisible()) + { + onToggleNearbyChatPanel(); + } + + openFloater(); +} + void LLNearbyChatBar::draw() { displaySpeakingIndicator(); diff --git a/indra/newview/llnearbychatbar.h b/indra/newview/llnearbychatbar.h index a6fd6e5665b..5a7edac1bbf 100644 --- a/indra/newview/llnearbychatbar.h +++ b/indra/newview/llnearbychatbar.h @@ -59,6 +59,8 @@ class LLNearbyChatBar : public LLFloater static void sendChatFromViewer(const std::string &utf8text, EChatType type, BOOL animate); static void sendChatFromViewer(const LLWString &wtext, EChatType type, BOOL animate); + void showHistory(); + protected: static BOOL matchChatTypeTrigger(const std::string& in_str, std::string* out_str); static void onChatBoxKeystroke(LLLineEditor* caller, void* userdata); diff --git a/indra/newview/llnearbychathandler.cpp b/indra/newview/llnearbychathandler.cpp index dcf444b048c..7503164fe64 100644 --- a/indra/newview/llnearbychathandler.cpp +++ b/indra/newview/llnearbychathandler.cpp @@ -581,7 +581,7 @@ void LLNearbyChatHandler::processChat(const LLChat& chat_msg, // WARNING - not sChatWatcher->post(notification); - if( nearby_chat->getVisible() + if( chat_bar->getVisible() && nearby_chat->getVisible() || ( chat_msg.mSourceType == CHAT_SOURCE_AGENT && gSavedSettings.getBOOL("UseChatBubbles") ) || !mChannel->getShowToasts() ) // to prevent toasts in Busy mode -- GitLab From 0d6a14a32c2f0896c2965030560db54d8c7f2570 Mon Sep 17 00:00:00 2001 From: Aaron Stone <stone@lindenlab.com> Date: Tue, 11 Oct 2011 16:18:40 -0700 Subject: [PATCH 167/256] EXP-625 Subtle change to get the initial avatar on the screen a little faster, then get to the gestures. --- indra/newview/llstartup.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index de2afac0b88..a8d58a857bd 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -2523,12 +2523,12 @@ void LLStartUp::loadInitialOutfit( const std::string& outfit_folder_name, lldebugs << "initial outfit category id: " << cat_id << llendl; } - // Copy gestures - copyLibraryGestures(same_gender_gestures); - // This is really misnamed -- it means we have started loading // an outfit/shape that will give the avatar a gender eventually. JC gAgent.setGenderChosen(TRUE); + + // Copy gestures + copyLibraryGestures(same_gender_gestures); } //static -- GitLab From dacfe7b2bdc845640f18db33992924033494e470 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Tue, 11 Oct 2011 16:20:02 -0700 Subject: [PATCH 168/256] EXP-1300 : Fix caret position in bottom bar, fix misplacement when moving within same toolbar, suppress visible caret in some situations, no caret if toolbar empty --- indra/llui/lltoolbar.cpp | 5 +++-- indra/newview/lltoolbarview.cpp | 27 +++++++++++++++++++++------ 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index d4633d7c3b1..a1ea4ba18b2 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -425,12 +425,12 @@ int LLToolBar::getRankFromPosition(S32& x, S32& y) } if (it_button != end_button) { - x = button_rect.mRight + dx; + x = button_rect.mLeft + dx; y = button_rect.mTop + dy; } else { - x = button_rect.mLeft + dx; + x = button_rect.mRight + dx; y = button_rect.mBottom + dy; } @@ -655,6 +655,7 @@ void LLToolBar::draw() LLUICtrl::draw(); caret->setVisible(FALSE); + mDragAndDropTarget = false; } void LLToolBar::reshape(S32 width, S32 height, BOOL called_from_parent) diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 8ae9328f6dc..86f6477710d 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -406,20 +406,35 @@ BOOL LLToolBarView::handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* t if (command) { // Convert the (x,y) position in rank in toolbar - int rank = 0; + int new_rank = LLToolBar::RANK_NONE; if (!toolbar->isReadOnly()) { - rank = toolbar->getRankFromPosition(x,y); + new_rank = toolbar->getRankFromPosition(x,y); } // Suppress the command from the toolbars (including the one it's dropped in, // this will handle move position). - gToolBarView->mToolbarLeft->removeCommand(command_id); - gToolBarView->mToolbarRight->removeCommand(command_id); - gToolBarView->mToolbarBottom->removeCommand(command_id); + int old_rank = LLToolBar::RANK_NONE; + int rank; + if ((rank = gToolBarView->mToolbarLeft->removeCommand(command_id)) != LLToolBar::RANK_NONE) + { + old_rank = rank; + } + if ((rank = gToolBarView->mToolbarRight->removeCommand(command_id)) != LLToolBar::RANK_NONE) + { + old_rank = rank; + } + if ((rank = gToolBarView->mToolbarBottom->removeCommand(command_id)) != LLToolBar::RANK_NONE) + { + old_rank = rank; + } // Now insert it in the toolbar at the detected rank if (!toolbar->isReadOnly()) { - toolbar->addCommand(command->id(),rank); + if ((old_rank != LLToolBar::RANK_NONE) && (old_rank < new_rank)) + { + new_rank -= 1; + } + toolbar->addCommand(command->id(),new_rank); } } else -- GitLab From 3c06bb26b0fc4204945020c37f00dbdf0ff9338b Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 11 Oct 2011 17:19:14 -0700 Subject: [PATCH 169/256] New icons with 10% more opacity --- .../default/textures/toolbar_icons/move.png | Bin 1322 -> 1328 bytes .../textures/toolbar_icons/nearbyvoice.png | Bin 1280 -> 3160 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/indra/newview/skins/default/textures/toolbar_icons/move.png b/indra/newview/skins/default/textures/toolbar_icons/move.png index 585411078233ed9a823ef9e5cee535e65a8e9bea..5c2ced737589519f3d500df8abd238206e25a201 100644 GIT binary patch delta 653 zcmZ3*wSjAc8&iy<si~8pxsj!-vxTLhp{s#~v5|{~qlKk`qmiSfi;<&}LPc(YudkI$ zesXDUYF>$_i>(q+L@y;X#R{s|5trV{i<k^x7MSBwq@++>5|o-|m4e#>3tW09>oGgk zo6kBmi-Cc0iKmNWNX4zBAOHW`GxI!V+~lCspwqC1f6a7`<~un#Ib|AJTI-smJmxvB z4qqR~GUfNb$H)8g|Ni|e`9y-{Q`gl_VfAy2PwN;y`YY%iOcmf3b8q08p`fp?|Lpnm z;|EWi(D?l7>gxEIn3(gGm6g>6ZA!bk@7%c)biaOo{eRI{OdGr#?){oKXU-m8jkV5O zu3uXly<K?8&!gSq+Z_{`O+P&U{QSIqduyvKyH+Isk&i6ARX;vF+<Sk2ef@0v`hP_W zZWvEctpE3?lG|9IC4OJcPT{)>ZciN8+Sok`er`@be`Cgs8BbJIRHif>y0bm+E>}Qs zFmvl%W&v%6kM&9lab4y;4ht48Tqt>>o@tY;NZhYqzvlipBo_X~`|j@Y_ktP={{Q{` zoj2vi$;s;Rj7K+n7-^W8l$d!KYs_ib@)zic`wc&=%iiqp?{eIvaNAJ|=%YG@RgQws zTo)~tKWo}$;G2JcUoDr=`c<o<9Huy4UmsuJ^+rm?x7hK~azE#}RUT6u9cuVH0%Mq& z7c~6;`uckDqEAu=vYHQ1c{x~`hlPdBN##{;Wa`ae5J+HXX>euz|FYr{0}yz+`njxg HN@xNAqlyj- delta 647 zcmdnMwTf$l8&iz2qlvMTp^=5FrHPZFp{s$DrG>MFfs3P=g{zCJg|VTMLPc(YudkI$ zesXDUYF>$_i>(q+L@y;X#R{s|5|`e|i<k^z+}te9oXj0TiX5?9P+Ss}nr4-P#R8~a zM_hU*>oGgkGa7l#Wnf^O=jq}YQgJKk&;S4S%%%+7M(q<P3Qo7GQ~1Yu#6E%P1z&>F zAtO_1>Df%Ku19rNG~Qr5ks@)7Eo^;UEZ3CX{~jOj_x}6$@3k9W8oxd=>|pMA>OaTA zP&h?E#QL#O2Wz*o1Dng~)2F+C{QTL;c-Z&b)z#teckbA+?sNU8Pw!N3W#{GPO?!WT zzkT-;t_|BKO`d$Z@zNug>fF1#O5ZA+)sNc~(UWuI^Yiol?X9g_nWu^{Y}DN4D6ugu zCuhxv=jZ3ozr8)bo?rO)@9*!0IXO8Sr)r0@F_<phU-R=4YplF-kwWt&!3pud-`q5o zQ&Us3o{%=-$J*%aOjoa5*-_u<W2-QY@lmcr&9sCs<|Zar4(ws!(yy)kn^2S3t^Mog z`@6f#1yWAzum69p@x^3y|E8D(=ShwW7cTs$a26=Ik73EwhKHNEkKEswd|W7q=Mno& zzDqy;{{GIkg3WP;cxPXo$#srHCVOjtm+5-!S+z=QrbhF+`2G9DZkl?`5^{WGyWDSX zl;0Fb2Oh7M=M!R?nHMzt|N8p6TMS#`5@nl6PtH}(<hFg{P&mL)lk)9fi!w_K0}yz+ L`njxgN@xNA5RnhO diff --git a/indra/newview/skins/default/textures/toolbar_icons/nearbyvoice.png b/indra/newview/skins/default/textures/toolbar_icons/nearbyvoice.png index 5bdcb22aa5e7698eada073b07bf7f15ab5452b9b..46e299cb94235afffdf70d3c3c3b7b2e852c2815 100644 GIT binary patch delta 3155 zcmV-Z46O5j3fLHsB!3BTNLh0L01FcU01FcV0GgZ_000V4X+uL$P-t&-Z*ypGa3D!T zLm+T+Z)Rz1WdHzp+MQEpR8#2|J@?-9LQ9B%luK_?6$l_wLW_VDktQl32@pz%A)(n7 zQNa;KMFbnjpojyGj)066Q7jCK3fKqaA)=0hqlk*i`{8?|Yk$_f_vX$1wbwr9tn;0- z&j-K=43<bUQ8j=JsX`tR;Dg7+#^K~HK!FM*Z~zbpvt%K2{UZSY_<lS*D<Z%Lz5oGu z(+dayz)hRLFdT>f59&ghTmgWD0l;*TI7<kC6aYYajzXpYKt=(8otP$50H6c_V9R4- z;{Z@C0AMG7=6}-wfSvf6djSAjlpz%XppgI|6J>}*0BAb^tj|`8MF3bZ02F3R#5n-i zEdVe{S7t~6u(trf&JYW-00;~KFj0twDF6g}0AR=?BX|IWnE(_<@>e|ZE3OddDgXd@ znX){&BsoQaTL>+22Uk}v9w^R97b_GtVFF>AKrX_0nSU8Ffiw@`^UMGMppg|3;Dhu1 zc+L*4&dxTDwhmt{>c0m6B4T3W{^ifBa6kY6;dFk{{wy!E8h|?nfNlPwCGG@hUJIag z_lst-4?wj5py}FI^KkfnJUm6Akh$5}<>chpO2k52Vaiv1{%68pz*qfj`F=e7_x0eu z;v|7GU4MZ`1o+^>%=Ap99M6&ogks$0k4OBs3;+Bb(;~!4V!2o<6ys46agIcqjPo+3 zB8fthDa9qy|77CdEc*jK-!%ZRYCZvbku9iQV*~a}ClFY4z~c7+0P?$U!PF=S1Au6Q z;m>#f??3%Vpd|o+W=WE9003S@Bra6Svp>fO0Dk~Ppn)o|K^yeJ7%adB9Ki+L!3+Fg zHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_vKpix|QD}yfa1JiQRk#j4a1Z)n2%f<x zynzV>LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxWizFb)h!jyGOOZ85F;a?DAXP{m@;!0_ zIe&*-M!JzZ$N(~e{D!<oF_eL_Q9aZQwL`h6HyVUSq6^SubTOKb7NDEZa<m#fj5eX? z(5q+<+K)a%$1uR?7zZ=NY%ngy!$Pq*ED4ii%dsM?46DW(uvV-CyNUH<&#`v|5`jg) z2{r_GLLgxtK}c9kSWehTs3069G!fbfH-8BOgi*pLB9o{~v?jU{`NSAvGBJl(NGv1P z5|0xv5POJ2#5W`oi9<3cxsU=$v7}Ve64FM}Zc-!ZEUB9`NE#!P$=YOVvIjYoEFde$ zh2)*&!{jsM8{{GKTMC_GKyjq_Q{pI6%4$j(<q+jG<pyP#GC@_Nno`}Up;QqykAGT1 zt)aG3uTh7n6Et<2In9F>NlT@zqLtGcXcuVrX|L#Xx)I%#9!{6gSJKPrN9dR61N3(c z4Tcqi$B1Vr8Jidf7-t!G7_XR2rWw<V8OKyGH!<s&=a~<gZ&g?-wkmuTk;)2{N|h#+ z8!9hUsj8-`-l_{#^Hs}KkEvc$eSfY-RWnoLsR`7Ut5vF<Q0r40Q)j6=sE4X&sBct1 zq<&fbi3VB2Ov6t@q*0);U*o*SAPZv|vv@2aYYnT0b%8a+Cb7-ge0D0knEf5Qi#@8T zp*ce{N;6lpQuCB%KL_KOarm5cP6_8Ir<e17iry6ODdH&`rZh~sF=bq9s(+T3mRPGu zt5K^*>%BIv?Wdily+ylO`+*KY$4Vz$Cr4+G&IO(4Q`uA9rwXSQO+7mGt}d!;r5mBU zM0dY#r|y`ZzFvTyOmC;&dA;ZQ9DOhSRQ+xGr}ak+SO&8UBnI0I&KNw!HF0k|9WTe* z@liuv!$3o&VU=N*;e?U7(SJOn)kcj*4~%KXT;n9;ZN_cJqb3F>Atp;r>P_yNQcbz0 zDW*G2J50yT%*~?B)|oY%Ju%lZ=bPu7*PGwBU|M)uEVih&xMfMQ<XWa#?zX&cg<3gT zrC3#3U9(25ovkI-yREyY5vRFMlTNFi)@Q@8@wUmfska%h<=6(>u79>|wtZn|Vi#w( z#jeBdlf9FDx_yoPJqHbk*$%56S{;6Kv~m<WRyy9A&YbQ)eZ};a=`Uwk&k)bpGvl@s z%PGWZol~3BM`ssjxpRZ_h>M9!g3B(KJ}#RZ#@)!h<Vtk)ab4kh()FF2vzx;0sN1jZ zHtuQehuojcG@mJ+S${Kg(8I_>;8Eq#KMS9gFl*neeosSBfoHYnBQIkwkyowPu(zdm zs`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMeBmZRodjHV?r+_5^X9J0W zL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0?0=B0A@}E)&XLY(4uw#D z=+@8&Vdi0r!+s1Wg@=V#hChyQh*%oYF_$%W(cD9G-$eREmPFp0XE9GXuPsV7Dn6<% zYCPIEx-_~!#x7=A%+*+(SV?S4962s3t~PFLzTf=q^M~S{;tS(@7nm=|U2u7!&cgJC zrxvL$5-d8FKz~e#PB@hCK@cja7K|nG6L%$!3VFgE!e=5c(KgYD*h5?@9!~N|DouKl z?2)`Rc_hU%r7Y#SgeR$xyi5&D-J3d|7MgY-Z8AMNy)lE5k&tmhsv%92wrA>R=4N)w ztYw9={>5&Kw=W)*2gz%*kgNq+Eef_mrsz~!DAy_nvVUh~S7yJ>iOM;atDY;(?aZ^v z+mJV$@1Ote62cPUlD4IWOIIx&SmwQ~YB{nzae3Pc;}r!fhE@iwJh+OsDs9zItL;~p zu715HdQEGAUct(O!L<Qv>kCy1<%NCg+}G`0PgpNm-?d@-hMgNe6^V+j6x$b<6@S<$ z+<4_1hktL%znR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX4c}I@?e+FW+b@^R zDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i&_B8C(+grT%{XWUQ z+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?SIDu(gXbmBM!FLxzyDi(mhmCkJc;e zM-ImyzW$x>cP$Mz4ONYt#^NJzM0w=t_X*$k9t}F$c8q(h;Rn+nb{%IOFKR-X@|s4Q zQ=0o*Vq3aT%s$c9>fU<%N829{oHRUHc}nwC$!Xf@g42^{^3RN&m7RTlF8SPG+oHC6 z=YM0)-)awU@466l;nGF_i|0GMJI-A4xODQe+vO8ixL2C5I$v$-bm~0*lhaSfyPUh4 zuDM)mx$b(swR>jw=^LIm&fWCAdGQwi*43UlJ>9+YdT;l|_x0Zv-F|W>{m#p~*>@-I zt-MdXU-UrjLD@syht)q@{@mE_+<$7ocYmPs(cDM(28Dyq{*m>M4?_iynUBkc4TkHU zI6gT!;y-fz>HMcd&t%Ugo)`Y2{>!cx7B7DI)$7;J(U{Spm-3gBzioV_{p!H$8L!*M z!p0uH$#^p{Ui4P`?ZJ24cOCDe-w#jZd?0@)|7iKK^;6KN`;!@ylm7$*nDhK&Gk-1H z0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F}0004lNkl<Z zc-qXAu}cC`9LIm}&h*fNlxT_Y#DZ`QthN8ZmO!wrEpiQ{L1>fv7hDS(T3ou#C0zm& zNkWJ_L<s8epoe-#cYIrv%nUtn=zjxmc|U$1c)$03j{%@XAkczXn1}$7$K&l1(FqZ) z|LC6~QYJT4RaNTs`g10eIiFXg;JXkZq5~pYa~$UqfLX0pAH(7B<}8tdAw)#ETrO2C z7R%{$ItxJJoYySNG75#l=`@itS{Q?fh;x1hz$}-`4@BhGG%X9jER{+(zkfvdgW((^ zhG9HemSyDg`He=Su{RhD-de3zZPY*4^)tr0olfT^5D19LWO7B<b+g~^TaqOCz2?Z@ z?RJ-mh@#QxXS>~&T-RlSAb1O;EX#+oEXQ2ebrOlhJLh~W6bc1=KHtYL5gTJtRH;;s zVzJn&ZQCki%o0U06$}QK08HG^O!maEj{)2Q*pA2JDP7k!+qPc;?9Y{KOer**&1(Q= tuh+Zs@<gV|F96&D*clhGfA=4K4FEc0SS-%SMT`Id002ovPDHLkV1nG>=^y|A literal 1280 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi%(Am|=(b(D5(!|No(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19ysMiS?F%||+t~m9Al0t3)&}Ns^qRg_?6t|-MTm`U~tuk@D z#Sy1@P`xQw+yeE76HdMQK*#8VA{Hs4VM4&v17gCHEsz6G_^Elo)LsNk)<?vbxiBy= z0z<$tq~cc6pa1{unN1mlnWr*b<w;_w>~(oB$y~@K(7o`5dO`sIt^?=hT374E?Ws^! zQ(HDCqPeQ!(ffrtiV9^cNfYhs|Cux&>6f>!a|{Rwm^Q&N!8w5~G&Gd;%v|g54k;-q zasfS$KR-YJy#CLRkIPoC)|Q^_XluY@%#tP$kgV5H``|#Mv4h_2zrVjbvhBOSr}DEF zPxA!R#nLQGTJP<tEEavz)z-%L^7M55+4cYb{k^(2di%M<UxY>f_Vo0;pJ!89G=1*e zxi`<8>G^)Jnf?9#+TY)rfuQ$F$&qjG?pn(UILF2P`@Yz{-{RlDzo$<eIpPx46cP}? z!II><;F*0?RMh&$#AS!ho;`c+(4kM9hZPolW=)j1yCC^^U#q5;7T2FYKa14^{;?Yy z7c+>9i)$O?^a=Ug%xIM5KJvODA~Z76l0m}ldt;j&`zPHFubUp6LVW9DcW;wX`S<np w_0%OPf;ny189wqUTyrq%D7-M$oq>^!K`=Eu=Q__FZcv%z>FVdQ&MBb@0BGmN?f?J) -- GitLab From f9e900f5ac9002f5ef3b44b02ac300971288e89b Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 11 Oct 2011 17:36:23 -0700 Subject: [PATCH 170/256] * New floater positioning code. Better than what's checked in but not great. * Floater updates for positioning and to revert some earlier string changes. --- indra/llui/llfloater.cpp | 76 +++++++++++++++---- indra/llui/llfloater.h | 42 ++++++++-- indra/llui/llfloaterreg.cpp | 35 ++++----- indra/newview/llappviewer.cpp | 7 +- indra/newview/llfloatercamera.cpp | 2 +- indra/newview/llfloaterpreference.cpp | 1 - indra/newview/llfloatertoybox.cpp | 2 - .../skins/default/xui/en/floater_about.xml | 1 + .../default/xui/en/floater_about_land.xml | 3 +- .../skins/default/xui/en/floater_activeim.xml | 2 - .../skins/default/xui/en/floater_avatar.xml | 6 +- .../default/xui/en/floater_avatar_picker.xml | 1 + .../skins/default/xui/en/floater_camera.xml | 6 +- .../skins/default/xui/en/floater_chat_bar.xml | 5 +- .../skins/default/xui/en/floater_critical.xml | 2 +- .../default/xui/en/floater_destinations.xml | 7 +- .../skins/default/xui/en/floater_gesture.xml | 4 +- .../default/xui/en/floater_help_browser.xml | 3 +- .../default/xui/en/floater_im_session.xml | 2 - .../default/xui/en/floater_inventory.xml | 1 - .../en/floater_inventory_item_properties.xml | 1 - .../default/xui/en/floater_land_holdings.xml | 1 + .../skins/default/xui/en/floater_map.xml | 5 +- .../default/xui/en/floater_media_browser.xml | 1 - .../default/xui/en/floater_media_settings.xml | 1 - .../default/xui/en/floater_model_preview.xml | 2 +- .../skins/default/xui/en/floater_moveview.xml | 5 +- .../default/xui/en/floater_my_appearance.xml | 3 +- .../default/xui/en/floater_my_inventory.xml | 3 +- .../default/xui/en/floater_my_profile.xml | 3 +- .../default/xui/en/floater_outfit_save_as.xml | 2 +- .../skins/default/xui/en/floater_people.xml | 1 + .../skins/default/xui/en/floater_places.xml | 1 + .../skins/default/xui/en/floater_postcard.xml | 1 - .../default/xui/en/floater_preferences.xml | 5 +- .../xui/en/floater_preview_animation.xml | 1 - .../xui/en/floater_preview_gesture.xml | 3 +- .../xui/en/floater_preview_notecard.xml | 1 - .../default/xui/en/floater_preview_sound.xml | 1 - .../xui/en/floater_preview_texture.xml | 1 - .../skins/default/xui/en/floater_script.xml | 2 - .../default/xui/en/floater_script_preview.xml | 1 - .../default/xui/en/floater_script_queue.xml | 1 - .../skins/default/xui/en/floater_search.xml | 14 ++-- .../skins/default/xui/en/floater_snapshot.xml | 3 +- .../default/xui/en/floater_sound_devices.xml | 2 +- .../skins/default/xui/en/floater_sys_well.xml | 2 - .../skins/default/xui/en/floater_telehub.xml | 1 - .../skins/default/xui/en/floater_tools.xml | 1 + .../skins/default/xui/en/floater_toybox.xml | 4 +- .../default/xui/en/floater_voice_controls.xml | 3 +- .../default/xui/en/floater_web_content.xml | 1 - .../default/xui/en/floater_world_map.xml | 4 +- .../default/xui/en/outfit_accordion_tab.xml | 2 +- .../skins/default/xui/en/panel_toast.xml | 1 + .../skins/default/xui/en/widgets/floater.xml | 4 +- 56 files changed, 184 insertions(+), 112 deletions(-) diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 90c41e99dc1..0398c0d7eb4 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -62,6 +62,17 @@ // use this to control "jumping" behavior when Ctrl-Tabbing const S32 TABBED_FLOATER_OFFSET = 0; +namespace LLInitParam +{ + void TypeValues<LLFloaterEnums::EOpenPositioning>::declareValues() + { + declare("none", LLFloaterEnums::OPEN_POSITIONING_NONE); + declare("cascading", LLFloaterEnums::OPEN_POSITIONING_CASCADING); + declare("centered", LLFloaterEnums::OPEN_POSITIONING_CENTERED); + declare("specified", LLFloaterEnums::OPEN_POSITIONING_SPECIFIED); + } +} + std::string LLFloater::sButtonNames[BUTTON_COUNT] = { "llfloater_close_btn", //BUTTON_CLOSE @@ -154,7 +165,6 @@ LLFloater::Params::Params() : title("title"), short_title("short_title"), single_instance("single_instance", false), - auto_tile("auto_tile", false), can_resize("can_resize", false), can_minimize("can_minimize", true), can_close("can_close", true), @@ -164,7 +174,7 @@ LLFloater::Params::Params() save_rect("save_rect", false), save_visibility("save_visibility", false), can_dock("can_dock", false), - open_centered("open_centered", false), + open_positioning("open_positioning", LLFloaterEnums::OPEN_POSITIONING_NONE), header_height("header_height", 0), legacy_header_height("legacy_header_height", 0), close_image("close_image"), @@ -227,7 +237,6 @@ LLFloater::LLFloater(const LLSD& key, const LLFloater::Params& p) mShortTitle(p.short_title), mSingleInstance(p.single_instance), mKey(key), - mAutoTile(p.auto_tile), mCanTearOff(p.can_tear_off), mCanMinimize(p.can_minimize), mCanClose(p.can_close), @@ -831,7 +840,7 @@ LLMultiFloater* LLFloater::getHost() return (LLMultiFloater*)mHostHandle.get(); } -void LLFloater::applySavedVariables() +void LLFloater::applySavedVariables() { applyRectControl(); applyDockState(); @@ -839,13 +848,7 @@ void LLFloater::applySavedVariables() void LLFloater::applyRectControl() { - // first, center on screen if requested - if (mOpenCentered) - { - center(); - } - - // override center if we have saved rect control + // If we have a saved rect, use it if (mRectControl.size() > 1) { const LLRect& rect = getControlGroup()->getRect(mRectControl); @@ -867,7 +870,50 @@ void LLFloater::applyDockState() bool dockState = getControlGroup()->getBOOL(mDocStateControl); setDocked(dockState); } +} + +void LLFloater::applyPositioning() +{ + // Otherwise position according to the positioning code + switch (mOpenPositioning) + { + case LLFloaterEnums::OPEN_POSITIONING_CENTERED: + center(); + break; + + case LLFloaterEnums::OPEN_POSITIONING_SPECIFIED: + { + // Translate relative to snap rect + LLRect r = getRect(); + r.mBottom = getSnapRect().getHeight() - r.getHeight() - r.mBottom; + setOrigin(r.mLeft, r.mBottom); + translateIntoRect(getSnapRect(), FALSE); + } + break; + case LLFloaterEnums::OPEN_POSITIONING_CASCADING: + { + static const U32 CASCADING_FLOATER_HOFFSET = 25; + static const U32 CASCADING_FLOATER_VOFFSET = 25; + static const S32 CASCADING_FLOATER_LIMIT = 15; + static S32 cascading_floater_count = 1; + const S32 top = CASCADING_FLOATER_VOFFSET * cascading_floater_count; + const S32 left = CASCADING_FLOATER_HOFFSET * cascading_floater_count; + setOrigin(left, top); + translateIntoRect(getSnapRect(), FALSE); + + if (++cascading_floater_count > CASCADING_FLOATER_LIMIT) + { + cascading_floater_count = 1; + } + } + break; + + case LLFloaterEnums::OPEN_POSITIONING_NONE: + default: + // Do nothing + break; + } } void LLFloater::applyTitle() @@ -2784,7 +2830,6 @@ void LLFloater::setInstanceName(const std::string& name) { mDocStateControl = LLFloaterReg::declareDockStateControl(ctrl_name); } - } } @@ -2846,9 +2891,9 @@ void LLFloater::initFromParams(const LLFloater::Params& p) mHeaderHeight = p.header_height; mLegacyHeaderHeight = p.legacy_header_height; mSingleInstance = p.single_instance; - mAutoTile = p.auto_tile; - mOpenCentered = p.open_centered; + mOpenPositioning = p.open_positioning; + /* if (p.save_rect && mRectControl.empty()) { mRectControl = "t"; // flag to build mRectControl name once mInstanceName is set @@ -2856,7 +2901,7 @@ void LLFloater::initFromParams(const LLFloater::Params& p) if (p.save_visibility) { mVisibilityControl = "t"; // flag to build mVisibilityControl name once mInstanceName is set - } + }*/ if(p.save_dock_state) { @@ -3008,6 +3053,7 @@ bool LLFloater::initFloaterXML(LLXMLNodePtr node, LLView *parent, const std::str llerrs << "Failed to construct floater " << getName() << llendl; } + applyPositioning(); applyRectControl(); // If we have a saved rect control, apply it gFloaterView->adjustToFitScreen(this, FALSE); // Floaters loaded from XML should all fit on screen diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index af9665e599b..b404306e948 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -59,11 +59,35 @@ const BOOL CLOSE_NO = FALSE; const BOOL ADJUST_VERTICAL_YES = TRUE; const BOOL ADJUST_VERTICAL_NO = FALSE; +namespace LLFloaterEnums +{ + enum EOpenPositioning + { + OPEN_POSITIONING_NONE, + OPEN_POSITIONING_CASCADING, + OPEN_POSITIONING_CENTERED, + OPEN_POSITIONING_SPECIFIED, + + OPEN_POSITIONING_COUNT + }; +} + +namespace LLInitParam +{ + template<> + struct TypeValues<LLFloaterEnums::EOpenPositioning> : public TypeValuesHelper<LLFloaterEnums::EOpenPositioning> + { + static void declareValues(); + }; +} + + class LLFloater : public LLPanel { -friend class LLFloaterView; -friend class LLFloaterReg; -friend class LLMultiFloater; + friend class LLFloaterView; + friend class LLFloaterReg; + friend class LLMultiFloater; + public: struct KeyCompare { @@ -95,7 +119,6 @@ friend class LLMultiFloater; short_title; Optional<bool> single_instance, - auto_tile, can_resize, can_minimize, can_close, @@ -104,8 +127,10 @@ friend class LLMultiFloater; save_rect, save_visibility, save_dock_state, - can_dock, - open_centered; + can_dock; + + Optional<LLFloaterEnums::EOpenPositioning> open_positioning; + Optional<S32> header_height, legacy_header_height; // HACK see initFromXML() @@ -297,6 +322,7 @@ friend class LLMultiFloater; virtual void applyRectControl(); void applyDockState(); + void applyPositioning(); void storeRectControl(); void storeVisibilityControl(); void storeDockStateControl(); @@ -378,14 +404,14 @@ friend class LLMultiFloater; BOOL mSingleInstance; // TRUE if there is only ever one instance of the floater std::string mInstanceName; // Store the instance name so we can remove ourselves from the list - BOOL mAutoTile; // TRUE if placement of new instances tiles BOOL mCanTearOff; BOOL mCanMinimize; BOOL mCanClose; BOOL mDragOnLeft; BOOL mResizable; - bool mOpenCentered; + + LLFloaterEnums::EOpenPositioning mOpenPositioning; S32 mMinWidth; S32 mMinHeight; diff --git a/indra/llui/llfloaterreg.cpp b/indra/llui/llfloaterreg.cpp index ae06eb74ac5..058223abbd4 100644 --- a/indra/llui/llfloaterreg.cpp +++ b/indra/llui/llfloaterreg.cpp @@ -107,7 +107,6 @@ LLFloater* LLFloaterReg::getInstance(const std::string& name, const LLSD& key) if (!groupname.empty()) { instance_list_t& list = sInstanceMap[groupname]; - int index = list.size(); res = build_func(key); if (!res) @@ -121,27 +120,18 @@ LLFloater* LLFloaterReg::getInstance(const std::string& name, const LLSD& key) llwarns << "Failed to build floater type: '" << name << "'." << llendl; return NULL; } - + // Note: key should eventually be a non optional LLFloater arg; for now, set mKey to be safe if (res->mKey.isUndefined()) { - res->mKey = key; + res->mKey = key; } res->setInstanceName(name); res->applySavedVariables(); // Can't apply rect and dock state until setting instance name - if (res->mAutoTile && !res->getHost() && index > 0) - { - LLFloater* last_floater = getLastFloaterInGroup(groupname); - if (last_floater) - { - res->stackWith(*last_floater); - gFloaterView->adjustToFitScreen(res, true); - } - } - else - { - gFloaterView->adjustToFitScreen(res, false); - } + + // apply list.size() and possibly stackWith(getLastFloaterInGroup(groupname)) + gFloaterView->adjustToFitScreen(res, false); + list.push_back(res); } } @@ -477,16 +467,21 @@ void LLFloaterReg::toggleToolbarFloaterInstance(const LLSD& sdname) std::string name = sdname.asString(); parse_name_key(name, key); - LLFloater* instance = findInstance(name, key); + LLFloater* instance = getInstance(name, key); - if (LLFloater::isMinimized(instance)) + if (!instance) + { + lldebugs << "Unable to get instance of floater '" << name << "'" << llendl; + } + else if (instance->isMinimized()) { instance->setMinimized(FALSE); instance->setFocus(TRUE); } - else if (!LLFloater::isShown(instance)) + else if (!instance->isShown()) { - showInstance(name, key, TRUE); + instance->openFloater(key); + instance->setFocus(TRUE); } else if (!instance->hasFocus() && !instance->getIsChrome()) { diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 5077a0a596b..2a9e411762a 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -4293,12 +4293,15 @@ void LLAppViewer::idle() return; } - gViewerWindow->updateUI(); + if (!quitRequested()) + { + gViewerWindow->updateUI(); + } /////////////////////////////////////// // Agent and camera movement // - LLCoordGL current_mouse = gViewerWindow->getCurrentMouse(); + LLCoordGL current_mouse = gViewerWindow->getCurrentMouse(); { // After agent and camera moved, figure out if we need to diff --git a/indra/newview/llfloatercamera.cpp b/indra/newview/llfloatercamera.cpp index b4658b1edbf..aa78bc4f292 100644 --- a/indra/newview/llfloatercamera.cpp +++ b/indra/newview/llfloatercamera.cpp @@ -369,7 +369,7 @@ BOOL LLFloaterCamera::postBuild() // ensure that appearance mode is handled while building. See EXT-7796. handleAvatarEditingAppearance(sAppearanceEditing); - return TRUE; + return LLFloater::postBuild(); } void LLFloaterCamera::fillFlatlistFromPanel (LLFlatListView* list, LLPanel* panel) diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 8412d378106..5fdeb46daaf 100755 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -1913,7 +1913,6 @@ BOOL LLFloaterPreferenceProxy::postBuild() getChild<LLLineEditor>("socks5_password")->setValue(socks_cred->getAuthenticator()["creds"].asString()); } - center(); return TRUE; } diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp index fa600229110..84881655f81 100644 --- a/indra/newview/llfloatertoybox.cpp +++ b/indra/newview/llfloatertoybox.cpp @@ -58,8 +58,6 @@ bool compare_localized_command_labels(LLCommand * cmd1, LLCommand * cmd2) BOOL LLFloaterToybox::postBuild() { - center(); - mBtnRestoreDefaults = getChild<LLButton>("btn_restore_defaults"); mToolBar = getChild<LLToolBar>("toybox_toolbar"); mToolBar->setStartDragCallback(boost::bind(LLToolBarView::startDragTool,_1,_2,_3)); diff --git a/indra/newview/skins/default/xui/en/floater_about.xml b/indra/newview/skins/default/xui/en/floater_about.xml index 2580c06344e..36af4758247 100644 --- a/indra/newview/skins/default/xui/en/floater_about.xml +++ b/indra/newview/skins/default/xui/en/floater_about.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="centered" legacy_header_height="18" height="440" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml index 9cd838318c9..eaffbf5fa61 100644 --- a/indra/newview/skins/default/xui/en/floater_about_land.xml +++ b/indra/newview/skins/default/xui/en/floater_about_land.xml @@ -1,12 +1,13 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="cascading" can_tear_off="false" height="420" layout="topleft" name="floaterland" help_topic="floaterland" save_rect="true" - title="About land" + title="ABOUT LAND" width="490"> <floater.string name="maturity_icon_general"> diff --git a/indra/newview/skins/default/xui/en/floater_activeim.xml b/indra/newview/skins/default/xui/en/floater_activeim.xml index 96fe0aa70c1..670c528f083 100644 --- a/indra/newview/skins/default/xui/en/floater_activeim.xml +++ b/indra/newview/skins/default/xui/en/floater_activeim.xml @@ -4,8 +4,6 @@ name="floater_activeim" help_topic="floater_activeim" title="ACTIVE IM" - top="26" - left="0" height="22" width="320" follows="right|bottom" diff --git a/indra/newview/skins/default/xui/en/floater_avatar.xml b/indra/newview/skins/default/xui/en/floater_avatar.xml index 666aa2d1641..6e5c4ada482 100644 --- a/indra/newview/skins/default/xui/en/floater_avatar.xml +++ b/indra/newview/skins/default/xui/en/floater_avatar.xml @@ -12,12 +12,12 @@ single_instance="true" help_topic="avatar" save_rect="true" - title="Avatar Picker" - width="445"> + title="AVATAR PICKER" + width="635"> <web_browser top="25" height="200" - width="445" + width="635" follows="all" name="avatar_picker_contents" trusted_content="true"/> diff --git a/indra/newview/skins/default/xui/en/floater_avatar_picker.xml b/indra/newview/skins/default/xui/en/floater_avatar_picker.xml index a11946d3520..cbbbeb60948 100644 --- a/indra/newview/skins/default/xui/en/floater_avatar_picker.xml +++ b/indra/newview/skins/default/xui/en/floater_avatar_picker.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="cascading" legacy_header_height="18" can_resize="true" height="350" diff --git a/indra/newview/skins/default/xui/en/floater_camera.xml b/indra/newview/skins/default/xui/en/floater_camera.xml index 125ca81cde3..7f3abbb4815 100644 --- a/indra/newview/skins/default/xui/en/floater_camera.xml +++ b/indra/newview/skins/default/xui/en/floater_camera.xml @@ -1,16 +1,20 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="specified" legacy_header_height="18" can_minimize="true" can_close="true" follows="bottom" height="164" layout="topleft" + left="683" + bottom="0" name="camera_floater" help_topic="camera_floater" - save_rect="true" save_visibility="true" single_instance="true" + title="VIEW" + save_rect="true" width="228"> <floater.string name="rotate_tooltip"> diff --git a/indra/newview/skins/default/xui/en/floater_chat_bar.xml b/indra/newview/skins/default/xui/en/floater_chat_bar.xml index 6977e29b788..924e4bc11ea 100644 --- a/indra/newview/skins/default/xui/en/floater_chat_bar.xml +++ b/indra/newview/skins/default/xui/en/floater_chat_bar.xml @@ -1,10 +1,13 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="specified" height="60" + left="150" + bottom="0" layout="topleft" legacy_header_height="25" single_instance="true" - title="Nearby chat" + title="NEARBY CHAT" save_rect="true" can_close="true" can_minimize="true" diff --git a/indra/newview/skins/default/xui/en/floater_critical.xml b/indra/newview/skins/default/xui/en/floater_critical.xml index 05c958e051b..13b15bf7240 100644 --- a/indra/newview/skins/default/xui/en/floater_critical.xml +++ b/indra/newview/skins/default/xui/en/floater_critical.xml @@ -6,7 +6,7 @@ height="500" layout="topleft" name="modal container" - open_centered="true" + open_positioning="centered" width="600"> <button height="20" diff --git a/indra/newview/skins/default/xui/en/floater_destinations.xml b/indra/newview/skins/default/xui/en/floater_destinations.xml index 669b7eb15ac..2b48a9f6d6a 100644 --- a/indra/newview/skins/default/xui/en/floater_destinations.xml +++ b/indra/newview/skins/default/xui/en/floater_destinations.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="cascading" legacy_header_height="225" can_minimize="true" can_close="true" @@ -13,12 +14,12 @@ single_instance="true" help_topic="destinations" save_rect="true" - title="Destinations" - width="525"> + title="DESTINATIONS" + width="840"> <web_browser top="25" height="200" - width="525" + width="840" follows="all" name="destination_guide_contents" start_url="http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/guide.html" diff --git a/indra/newview/skins/default/xui/en/floater_gesture.xml b/indra/newview/skins/default/xui/en/floater_gesture.xml index c0424f4de3c..a941734358c 100644 --- a/indra/newview/skins/default/xui/en/floater_gesture.xml +++ b/indra/newview/skins/default/xui/en/floater_gesture.xml @@ -1,11 +1,13 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="cascading" + save_rect="true" legacy_header_height="18" can_resize="true" height="465" name="gestures" help_topic="gestures" - title="Gestures" + title="GESTURES" background_visible="true" follows="all" label="Places" diff --git a/indra/newview/skins/default/xui/en/floater_help_browser.xml b/indra/newview/skins/default/xui/en/floater_help_browser.xml index de6d586f720..d101bca6943 100644 --- a/indra/newview/skins/default/xui/en/floater_help_browser.xml +++ b/indra/newview/skins/default/xui/en/floater_help_browser.xml @@ -1,9 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="cascading" legacy_header_height="18" can_resize="true" - left="10000" - bottom="10000" height="600" layout="topleft" min_height="150" diff --git a/indra/newview/skins/default/xui/en/floater_im_session.xml b/indra/newview/skins/default/xui/en/floater_im_session.xml index a371e983227..cb7d91abb88 100644 --- a/indra/newview/skins/default/xui/en/floater_im_session.xml +++ b/indra/newview/skins/default/xui/en/floater_im_session.xml @@ -6,9 +6,7 @@ follows="all" height="350" layout="topleft" - left="0" name="panel_im" - top="0" can_dock="false" can_minimize="true" can_close="true" diff --git a/indra/newview/skins/default/xui/en/floater_inventory.xml b/indra/newview/skins/default/xui/en/floater_inventory.xml index ba2e0d3277f..6d860c73fcc 100644 --- a/indra/newview/skins/default/xui/en/floater_inventory.xml +++ b/indra/newview/skins/default/xui/en/floater_inventory.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - auto_tile="true" can_resize="true" height="563" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml index 0cf07926c2b..adef066aef4 100644 --- a/indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml +++ b/indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - auto_tile="true" height="340" layout="topleft" name="item properties" diff --git a/indra/newview/skins/default/xui/en/floater_land_holdings.xml b/indra/newview/skins/default/xui/en/floater_land_holdings.xml index 0b9ae3c9f3a..3737294ebe6 100644 --- a/indra/newview/skins/default/xui/en/floater_land_holdings.xml +++ b/indra/newview/skins/default/xui/en/floater_land_holdings.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="centered" legacy_header_height="18" height="430" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_map.xml b/indra/newview/skins/default/xui/en/floater_map.xml index 51f63edc31e..58d67c82211 100644 --- a/indra/newview/skins/default/xui/en/floater_map.xml +++ b/indra/newview/skins/default/xui/en/floater_map.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="cascading" can_minimize="true" can_resize="true" follows="top|right" @@ -8,12 +9,10 @@ min_height="128" min_width="128" name="Map" - title="Mini-map" + title="MINI-MAP" help_topic="map" save_rect="true" save_visibility="true" - left="0" - top="0" width="200"> <floater.string name="ToolTipMsg"> diff --git a/indra/newview/skins/default/xui/en/floater_media_browser.xml b/indra/newview/skins/default/xui/en/floater_media_browser.xml index 5a1f920398b..c3324a6aa40 100644 --- a/indra/newview/skins/default/xui/en/floater_media_browser.xml +++ b/indra/newview/skins/default/xui/en/floater_media_browser.xml @@ -9,7 +9,6 @@ name="floater_about" help_topic="floater_about" save_rect="true" - auto_tile="true" title="MEDIA BROWSER" width="820"> <floater.string diff --git a/indra/newview/skins/default/xui/en/floater_media_settings.xml b/indra/newview/skins/default/xui/en/floater_media_settings.xml index 681731b0da5..0e03c0ab6df 100644 --- a/indra/newview/skins/default/xui/en/floater_media_settings.xml +++ b/indra/newview/skins/default/xui/en/floater_media_settings.xml @@ -10,7 +10,6 @@ enabled="true" width="365" height="535" - left="330" min_height="535" min_width="365" mouse_opaque="true" diff --git a/indra/newview/skins/default/xui/en/floater_model_preview.xml b/indra/newview/skins/default/xui/en/floater_model_preview.xml index 2eea286c8bf..fbaf4f0a8a8 100644 --- a/indra/newview/skins/default/xui/en/floater_model_preview.xml +++ b/indra/newview/skins/default/xui/en/floater_model_preview.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater can_close="true" can_drag_on_left="false" can_minimize="false" can_resize="false" height="480" min_height="480" min_width="940" - name="Model Preview" title="Upload Model" width="940" + name="Model Preview" title="UPLOAD MODEL" width="940" help_topic="upload_model" > <string name="status_idle"></string> diff --git a/indra/newview/skins/default/xui/en/floater_moveview.xml b/indra/newview/skins/default/xui/en/floater_moveview.xml index 3c0905a2a54..3d23a94ec2c 100644 --- a/indra/newview/skins/default/xui/en/floater_moveview.xml +++ b/indra/newview/skins/default/xui/en/floater_moveview.xml @@ -1,18 +1,21 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="specified" legacy_header_height="18" can_dock="false" can_minimize="true" can_close="true" follows="bottom" height="110" + left="535" + bottom="0" layout="topleft" name="move_floater" help_topic="move_floater" save_rect="true" save_visibility="true" save_dock_state="true" - title="Move" + title="MOVE" width="133"> <string name="walk_forward_tooltip"> diff --git a/indra/newview/skins/default/xui/en/floater_my_appearance.xml b/indra/newview/skins/default/xui/en/floater_my_appearance.xml index de2aa49c0cf..758a1d5be9c 100644 --- a/indra/newview/skins/default/xui/en/floater_my_appearance.xml +++ b/indra/newview/skins/default/xui/en/floater_my_appearance.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <floater + open_positioning="cascading" legacy_header_height="18" can_resize="true" height="588" @@ -9,7 +10,7 @@ help_topic="appearance" save_rect="true" single_instance="true" - title="Appearance" + title="APPEARANCE" width="333"> <panel top="18" diff --git a/indra/newview/skins/default/xui/en/floater_my_inventory.xml b/indra/newview/skins/default/xui/en/floater_my_inventory.xml index 3f852c9ed5c..44491c671fb 100644 --- a/indra/newview/skins/default/xui/en/floater_my_inventory.xml +++ b/indra/newview/skins/default/xui/en/floater_my_inventory.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <floater + open_positioning="cascading" can_close="true" can_resize="true" height="570" @@ -9,7 +10,7 @@ name="floater_my_inventory" save_rect="true" save_visibility="true" - title="Inventory" + title="INVENTORY" width="333" > <panel class="sidepanel_inventory" diff --git a/indra/newview/skins/default/xui/en/floater_my_profile.xml b/indra/newview/skins/default/xui/en/floater_my_profile.xml index b3ebe7f7917..713515d0419 100644 --- a/indra/newview/skins/default/xui/en/floater_my_profile.xml +++ b/indra/newview/skins/default/xui/en/floater_my_profile.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <floater + open_positioning="cascading" can_close="true" can_resize="true" height="570" @@ -9,7 +10,7 @@ name="floater_profile" save_rect="true" save_visibility="true" - title="My Profile" + title="MY PROFILE" width="333" > <panel class="panel_me" diff --git a/indra/newview/skins/default/xui/en/floater_outfit_save_as.xml b/indra/newview/skins/default/xui/en/floater_outfit_save_as.xml index 068737494f3..bbe280582b5 100644 --- a/indra/newview/skins/default/xui/en/floater_outfit_save_as.xml +++ b/indra/newview/skins/default/xui/en/floater_outfit_save_as.xml @@ -4,7 +4,7 @@ can_minimize="false" height="100" layout="topleft" - title="Save Outfit" + title="SAVE OUTFIT" name="modal container" width="240"> <button diff --git a/indra/newview/skins/default/xui/en/floater_people.xml b/indra/newview/skins/default/xui/en/floater_people.xml index 4dd3a2f0e1f..9c1d1214330 100644 --- a/indra/newview/skins/default/xui/en/floater_people.xml +++ b/indra/newview/skins/default/xui/en/floater_people.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <floater + open_positioning="cascading" can_close="true" can_resize="true" height="570" diff --git a/indra/newview/skins/default/xui/en/floater_places.xml b/indra/newview/skins/default/xui/en/floater_places.xml index d589eb7d201..0c22f2d6ea5 100644 --- a/indra/newview/skins/default/xui/en/floater_places.xml +++ b/indra/newview/skins/default/xui/en/floater_places.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <floater + open_positioning="cascading" legacy_header_height="18" can_resize="true" height="588" diff --git a/indra/newview/skins/default/xui/en/floater_postcard.xml b/indra/newview/skins/default/xui/en/floater_postcard.xml index c756661ffc3..adc2433105c 100644 --- a/indra/newview/skins/default/xui/en/floater_postcard.xml +++ b/indra/newview/skins/default/xui/en/floater_postcard.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - auto_tile="true" can_minimize="false" can_resize="true" height="380" diff --git a/indra/newview/skins/default/xui/en/floater_preferences.xml b/indra/newview/skins/default/xui/en/floater_preferences.xml index c8a139904a8..402868bb977 100644 --- a/indra/newview/skins/default/xui/en/floater_preferences.xml +++ b/indra/newview/skins/default/xui/en/floater_preferences.xml @@ -1,14 +1,15 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - open_centered="true" + open_positioning="centered" default_tab_group="1" height="460" layout="topleft" name="Preferences" help_topic="preferences" + save_rect="true" single_instance="true" - title="Preferences" + title="PREFERENCES" width="658"> <button follows="right|bottom" diff --git a/indra/newview/skins/default/xui/en/floater_preview_animation.xml b/indra/newview/skins/default/xui/en/floater_preview_animation.xml index 65efc46c717..8427c7b06f2 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_animation.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_animation.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - auto_tile="true" height="85" layout="topleft" name="preview_anim" diff --git a/indra/newview/skins/default/xui/en/floater_preview_gesture.xml b/indra/newview/skins/default/xui/en/floater_preview_gesture.xml index 478ae5f53f0..8baa0a56f75 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_gesture.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_gesture.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - auto_tile="true" height="460" layout="topleft" name="gesture_preview" @@ -362,4 +361,4 @@ name="save_btn" top_delta="0" width="80" /> -</floater> \ No newline at end of file +</floater> diff --git a/indra/newview/skins/default/xui/en/floater_preview_notecard.xml b/indra/newview/skins/default/xui/en/floater_preview_notecard.xml index 8c9e1d52b33..f35628f8e51 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_notecard.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_notecard.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - auto_tile="true" can_resize="true" default_tab_group="1" follows="left|top" diff --git a/indra/newview/skins/default/xui/en/floater_preview_sound.xml b/indra/newview/skins/default/xui/en/floater_preview_sound.xml index 62ef4c3097e..83a1f5a96f6 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_sound.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_sound.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - auto_tile="true" height="85" layout="topleft" name="preview_sound" diff --git a/indra/newview/skins/default/xui/en/floater_preview_texture.xml b/indra/newview/skins/default/xui/en/floater_preview_texture.xml index a79d2f63cb3..92d3a6702c1 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_texture.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_texture.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - auto_tile="true" can_resize="true" follows="left|top" height="350" diff --git a/indra/newview/skins/default/xui/en/floater_script.xml b/indra/newview/skins/default/xui/en/floater_script.xml index 12ade86b5fa..73e6d6147a3 100644 --- a/indra/newview/skins/default/xui/en/floater_script.xml +++ b/indra/newview/skins/default/xui/en/floater_script.xml @@ -5,9 +5,7 @@ follows="left|top|right|bottom" height="250" layout="topleft" - left="0" name="script_floater" - top="0" can_dock="true" can_minimize="true" visible="false" diff --git a/indra/newview/skins/default/xui/en/floater_script_preview.xml b/indra/newview/skins/default/xui/en/floater_script_preview.xml index 8c03b560400..91a9e67e4cd 100644 --- a/indra/newview/skins/default/xui/en/floater_script_preview.xml +++ b/indra/newview/skins/default/xui/en/floater_script_preview.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - auto_tile="true" can_resize="true" height="570" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_script_queue.xml b/indra/newview/skins/default/xui/en/floater_script_queue.xml index 60a26fcf1d4..f4aca7bb3dd 100644 --- a/indra/newview/skins/default/xui/en/floater_script_queue.xml +++ b/indra/newview/skins/default/xui/en/floater_script_queue.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - auto_tile="true" can_resize="true" height="400" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_search.xml b/indra/newview/skins/default/xui/en/floater_search.xml index eaf575fc083..b6fc7f150cc 100644 --- a/indra/newview/skins/default/xui/en/floater_search.xml +++ b/indra/newview/skins/default/xui/en/floater_search.xml @@ -1,18 +1,18 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="cascading" legacy_header_height="18" - can_resize="true" + can_resize="true" height="775" - layout="topleft" - min_height="400" + layout="topleft" + min_height="400" min_width="500" name="floater_web_content" help_topic="floater_web_content" - save_rect="true" - auto_tile="true" - save_visibility="true" + save_rect="true" + save_visibility="true" title="" initial_mime_type="text/html" width="780" - tab_stop="true" + tab_stop="true" filename="floater_web_content.xml"/> diff --git a/indra/newview/skins/default/xui/en/floater_snapshot.xml b/indra/newview/skins/default/xui/en/floater_snapshot.xml index 4ba513bf9cb..91b4ed6954b 100644 --- a/indra/newview/skins/default/xui/en/floater_snapshot.xml +++ b/indra/newview/skins/default/xui/en/floater_snapshot.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="cascading" legacy_header_height="18" can_minimize="true" can_close="true" @@ -10,7 +11,7 @@ help_topic="snapshot" save_rect="true" save_visibility="true" - title="Snapshot preview" + title="SNAPSHOT PREVIEW" width="245"> <floater.string name="unknown"> diff --git a/indra/newview/skins/default/xui/en/floater_sound_devices.xml b/indra/newview/skins/default/xui/en/floater_sound_devices.xml index 74e01f359c6..3dbe4adf28a 100644 --- a/indra/newview/skins/default/xui/en/floater_sound_devices.xml +++ b/indra/newview/skins/default/xui/en/floater_sound_devices.xml @@ -14,7 +14,7 @@ height="164" layout="topleft" name="floater_sound_devices" - title="Sound Devices" + title="SOUND DEVICES" width="490"> <panel layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_sys_well.xml b/indra/newview/skins/default/xui/en/floater_sys_well.xml index 005952f3f23..62501ea2b7e 100644 --- a/indra/newview/skins/default/xui/en/floater_sys_well.xml +++ b/indra/newview/skins/default/xui/en/floater_sys_well.xml @@ -2,8 +2,6 @@ <floater legacy_header_height="18" bevel_style="in" - left="0" - top="0" follows="right|bottom" layout="topleft" name="sys_well_window" diff --git a/indra/newview/skins/default/xui/en/floater_telehub.xml b/indra/newview/skins/default/xui/en/floater_telehub.xml index da412ed8a02..547613fb672 100644 --- a/indra/newview/skins/default/xui/en/floater_telehub.xml +++ b/indra/newview/skins/default/xui/en/floater_telehub.xml @@ -4,7 +4,6 @@ legacy_header_height="18" height="250" layout="topleft" - left="300" name="telehub" help_topic="telehub" title="TELEHUB" diff --git a/indra/newview/skins/default/xui/en/floater_tools.xml b/indra/newview/skins/default/xui/en/floater_tools.xml index 9b02f7d2737..465bd86281f 100644 --- a/indra/newview/skins/default/xui/en/floater_tools.xml +++ b/indra/newview/skins/default/xui/en/floater_tools.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="cascading" legacy_header_height="18" follows="left|top|right" height="580" diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index 90b7e906a5d..fbc16352ea2 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -10,10 +10,10 @@ layout="topleft" legacy_header_height="18" name="Toybox" - open_centered="true" + open_positioning="centered" save_rect="true" single_instance="true" - title="Customize toolbars" + title="CUSTOMIZE TOOLBARS" width="650"> <text follows="left|top" diff --git a/indra/newview/skins/default/xui/en/floater_voice_controls.xml b/indra/newview/skins/default/xui/en/floater_voice_controls.xml index 447549db44d..3f5768bc0b5 100644 --- a/indra/newview/skins/default/xui/en/floater_voice_controls.xml +++ b/indra/newview/skins/default/xui/en/floater_voice_controls.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="cascading" can_resize="true" can_minimize="true" can_close="true" @@ -9,7 +10,7 @@ min_width="190" name="floater_voice_controls" help_topic="floater_voice_controls" - title="Voice controls" + title="VOICE CONTROLS" save_dock_state="true" save_visibility="true" save_rect="true" diff --git a/indra/newview/skins/default/xui/en/floater_web_content.xml b/indra/newview/skins/default/xui/en/floater_web_content.xml index 0eda9ae62ab..57d1c92acbf 100644 --- a/indra/newview/skins/default/xui/en/floater_web_content.xml +++ b/indra/newview/skins/default/xui/en/floater_web_content.xml @@ -9,7 +9,6 @@ name="floater_web_content" help_topic="floater_web_content" save_rect="true" - auto_tile="true" title="" initial_mime_type="text/html" width="780"> diff --git a/indra/newview/skins/default/xui/en/floater_world_map.xml b/indra/newview/skins/default/xui/en/floater_world_map.xml index 3d997a17f79..4314c8a9e2a 100644 --- a/indra/newview/skins/default/xui/en/floater_world_map.xml +++ b/indra/newview/skins/default/xui/en/floater_world_map.xml @@ -2,7 +2,7 @@ <floater legacy_header_height="18" can_resize="true" - open_centered="true" + open_positioning="centered" height="600" layout="topleft" min_height="520" @@ -12,7 +12,7 @@ save_rect="true" save_visibility="true" single_instance="true" - title="World map" + title="WORLD MAP" width="650"> <panel filename="panel_world_map.xml" diff --git a/indra/newview/skins/default/xui/en/outfit_accordion_tab.xml b/indra/newview/skins/default/xui/en/outfit_accordion_tab.xml index 20ff492c0f3..2a24c74febd 100644 --- a/indra/newview/skins/default/xui/en/outfit_accordion_tab.xml +++ b/indra/newview/skins/default/xui/en/outfit_accordion_tab.xml @@ -10,7 +10,7 @@ name="Mockup Tab" selection_enabled="true" tab_stop="false" - title="Mockup Tab" + title="MOCKUP TAB" translate="false" width="0"> <wearable_items_list diff --git a/indra/newview/skins/default/xui/en/panel_toast.xml b/indra/newview/skins/default/xui/en/panel_toast.xml index 42f64c3a76e..b9e714dd30c 100644 --- a/indra/newview/skins/default/xui/en/panel_toast.xml +++ b/indra/newview/skins/default/xui/en/panel_toast.xml @@ -10,6 +10,7 @@ --> <floater + open_positioning="none" legacy_header_height="0" header_height="0" name="toast" diff --git a/indra/newview/skins/default/xui/en/widgets/floater.xml b/indra/newview/skins/default/xui/en/widgets/floater.xml index 2e5ebafe46b..adbb1833178 100644 --- a/indra/newview/skins/default/xui/en/widgets/floater.xml +++ b/indra/newview/skins/default/xui/en/widgets/floater.xml @@ -1,7 +1,9 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <!-- See also settings.xml UIFloater* settings for configuration --> -<floater +<floater name="floater" + open_positioning="none" + layout="topleft" bg_opaque_color="FloaterFocusBackgroundColor" bg_alpha_color="FloaterDefaultBackgroundColor" bg_opaque_image="Window_Foreground" -- GitLab From d0cda13235079c6626ebc7bbe4de542784d50fa0 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 11 Oct 2011 22:49:00 -0700 Subject: [PATCH 171/256] EXP-1275 FIX A UI element or Keyboard shortcut to clear the viewport Ctrl+Shift+U now toggles UI and hides floaters refactored main_view.xml made all members of llviewerwindow private --- indra/llui/llmenugl.cpp | 2 +- indra/newview/llappviewer.cpp | 20 +- indra/newview/lldirpicker.cpp | 4 +- indra/newview/llfilepicker.cpp | 20 +- indra/newview/llinventorybridge.cpp | 2 +- indra/newview/lllandmarkactions.cpp | 2 +- indra/newview/lltoolbarview.cpp | 7 + indra/newview/lltoolbarview.h | 2 + indra/newview/lltoolgun.cpp | 4 +- indra/newview/llviewerdisplay.cpp | 14 +- indra/newview/llviewermenu.cpp | 16 +- indra/newview/llviewerwindow.cpp | 42 ++++- indra/newview/llviewerwindow.h | 13 +- .../skins/default/xui/en/main_view.xml | 173 ++++++------------ .../skins/default/xui/en/menu_viewer.xml | 7 + 15 files changed, 160 insertions(+), 168 deletions(-) diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp index badba7a416c..3ef8d8ff35e 100644 --- a/indra/llui/llmenugl.cpp +++ b/indra/llui/llmenugl.cpp @@ -1731,7 +1731,7 @@ void LLMenuGL::setCanTearOff(BOOL tear_off) { LLMenuItemTearOffGL::Params p; mTearOffItem = LLUICtrlFactory::create<LLMenuItemTearOffGL>(p); - addChildInBack(mTearOffItem); + addChild(mTearOffItem); } else if (!tear_off && mTearOffItem != NULL) { diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 5077a0a596b..4d02093d2e2 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1217,7 +1217,7 @@ bool LLAppViewer::mainLoop() if (gViewerWindow) { LLFastTimer t2(FTM_MESSAGES); - gViewerWindow->mWindow->processMiscNativeEvents(); + gViewerWindow->getWindow()->processMiscNativeEvents(); } pingMainloopTimeout("Main:GatherInput"); @@ -1230,7 +1230,7 @@ bool LLAppViewer::mainLoop() llwarns << " Someone took over my signal/exception handler (post messagehandling)!" << llendl; } - gViewerWindow->mWindow->gatherInput(); + gViewerWindow->getWindow()->gatherInput(); } #if 1 && !LL_RELEASE_FOR_DOWNLOAD @@ -1259,9 +1259,9 @@ bool LLAppViewer::mainLoop() // Scan keyboard for movement keys. Command keys and typing // are handled by windows callbacks. Don't do this until we're // done initializing. JC - if ((gHeadlessClient || gViewerWindow->mWindow->getVisible()) + if ((gHeadlessClient || gViewerWindow->getWindow()->getVisible()) && gViewerWindow->getActive() - && !gViewerWindow->mWindow->getMinimized() + && !gViewerWindow->getWindow()->getMinimized() && LLStartUp::getStartupState() == STATE_STARTED && (gHeadlessClient || !gViewerWindow->getShowProgress()) && !gFocusMgr.focusLocked()) @@ -1340,7 +1340,7 @@ bool LLAppViewer::mainLoop() } // yield cooperatively when not running as foreground window - if ( (gViewerWindow && !gViewerWindow->mWindow->getVisible()) + if ( (gViewerWindow && !gViewerWindow->getWindow()->getVisible()) || !gFocusMgr.getAppHasFocus()) { // Sleep if we're not rendering, or the window is minimized. @@ -2920,7 +2920,7 @@ bool LLAppViewer::initWindow() if (gSavedSettings.getBOOL("WindowMaximized")) { - gViewerWindow->mWindow->maximize(); + gViewerWindow->getWindow()->maximize(); } // @@ -2963,7 +2963,7 @@ bool LLAppViewer::initWindow() if (gSavedSettings.getBOOL("WindowMaximized")) { - gViewerWindow->mWindow->maximize(); + gViewerWindow->getWindow()->maximize(); } LLUI::sWindow = gViewerWindow->getWindow(); @@ -2975,7 +2975,7 @@ bool LLAppViewer::initWindow() gViewerWindow->initBase(); // show viewer window - //gViewerWindow->mWindow->show(); + //gViewerWindow->getWindow()->show(); LL_INFOS("AppInit") << "Window initialization done." << LL_ENDL; return true; @@ -3009,12 +3009,12 @@ void LLAppViewer::cleanupSavedSettings() // as we don't track it in callbacks if(NULL != gViewerWindow) { - BOOL maximized = gViewerWindow->mWindow->getMaximized(); + BOOL maximized = gViewerWindow->getWindow()->getMaximized(); if (!maximized) { LLCoordScreen window_pos; - if (gViewerWindow->mWindow->getPosition(&window_pos)) + if (gViewerWindow->getWindow()->getPosition(&window_pos)) { gSavedSettings.setS32("WindowX", window_pos.mX); gSavedSettings.setS32("WindowY", window_pos.mY); diff --git a/indra/newview/lldirpicker.cpp b/indra/newview/lldirpicker.cpp index dd243397a1a..1e03582a291 100644 --- a/indra/newview/lldirpicker.cpp +++ b/indra/newview/lldirpicker.cpp @@ -217,12 +217,12 @@ OSStatus LLDirPicker::doNavChooseDialog() error = NavCreateChooseFolderDialog(&mNavOptions, &doNavCallbackEvent, NULL, NULL, &navRef); - gViewerWindow->mWindow->beforeDialog(); + gViewerWindow->getWindow()->beforeDialog(); if (error == noErr) error = NavDialogRun(navRef); - gViewerWindow->mWindow->afterDialog(); + gViewerWindow->getWindow()->afterDialog(); if (error == noErr) error = NavDialogGetReply(navRef, &navReply); diff --git a/indra/newview/llfilepicker.cpp b/indra/newview/llfilepicker.cpp index 8c0ed298551..4897cf18859 100644 --- a/indra/newview/llfilepicker.cpp +++ b/indra/newview/llfilepicker.cpp @@ -653,12 +653,12 @@ OSStatus LLFilePicker::doNavChooseDialog(ELoadFilter filter) // (It is destroyed by NavDialogDispose() below.) error = NavCreateChooseFileDialog(&mNavOptions, NULL, NULL, NULL, navOpenFilterProc, (void*)(&filter), &navRef); - gViewerWindow->mWindow->beforeDialog(); + gViewerWindow->getWindow()->beforeDialog(); if (error == noErr) error = NavDialogRun(navRef); - gViewerWindow->mWindow->afterDialog(); + gViewerWindow->getWindow()->afterDialog(); if (error == noErr) error = NavDialogGetReply(navRef, &navReply); @@ -808,13 +808,13 @@ OSStatus LLFilePicker::doNavSaveDialog(ESaveFilter filter, const std::string& fi } } - gViewerWindow->mWindow->beforeDialog(); + gViewerWindow->getWindow()->beforeDialog(); // Run the dialog if (error == noErr) error = NavDialogRun(navRef); - gViewerWindow->mWindow->afterDialog(); + gViewerWindow->getWindow()->afterDialog(); if (error == noErr) error = NavDialogGetReply(navRef, &navReply); @@ -1204,7 +1204,7 @@ BOOL LLFilePicker::getSaveFile( ESaveFilter filter, const std::string& filename return FALSE; } - gViewerWindow->mWindow->beforeDialog(); + gViewerWindow->getWindow()->beforeDialog(); reset(); @@ -1284,7 +1284,7 @@ BOOL LLFilePicker::getSaveFile( ESaveFilter filter, const std::string& filename rtn = (getFileCount() == 1); } - gViewerWindow->mWindow->afterDialog(); + gViewerWindow->getWindow()->afterDialog(); return rtn; } @@ -1299,7 +1299,7 @@ BOOL LLFilePicker::getOpenFile( ELoadFilter filter, bool blocking ) return FALSE; } - gViewerWindow->mWindow->beforeDialog(); + gViewerWindow->getWindow()->beforeDialog(); reset(); @@ -1337,7 +1337,7 @@ BOOL LLFilePicker::getOpenFile( ELoadFilter filter, bool blocking ) rtn = (getFileCount() == 1); } - gViewerWindow->mWindow->afterDialog(); + gViewerWindow->getWindow()->afterDialog(); return rtn; } @@ -1352,7 +1352,7 @@ BOOL LLFilePicker::getMultipleOpenFiles( ELoadFilter filter ) return FALSE; } - gViewerWindow->mWindow->beforeDialog(); + gViewerWindow->getWindow()->beforeDialog(); reset(); @@ -1370,7 +1370,7 @@ BOOL LLFilePicker::getMultipleOpenFiles( ELoadFilter filter ) rtn = !mFiles.empty(); } - gViewerWindow->mWindow->afterDialog(); + gViewerWindow->getWindow()->afterDialog(); return rtn; } diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 2066cbc6b22..9fe73fc9403 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -1185,7 +1185,7 @@ void LLItemBridge::performAction(LLInventoryModel* model, std::string action) std::string buffer; asset_id.toString(buffer); - gViewerWindow->mWindow->copyTextToClipboard(utf8str_to_wstring(buffer)); + gViewerWindow->getWindow()->copyTextToClipboard(utf8str_to_wstring(buffer)); return; } else if ("copy" == action) diff --git a/indra/newview/lllandmarkactions.cpp b/indra/newview/lllandmarkactions.cpp index f2aec20611a..6625a194fb7 100644 --- a/indra/newview/lllandmarkactions.cpp +++ b/indra/newview/lllandmarkactions.cpp @@ -413,7 +413,7 @@ void LLLandmarkActions::copySLURLtoClipboard(const LLUUID& landmarkInventoryItem void copy_slurl_to_clipboard_callback(const std::string& slurl) { - gViewerWindow->mWindow->copyTextToClipboard(utf8str_to_wstring(slurl)); + gViewerWindow->getWindow()->copyTextToClipboard(utf8str_to_wstring(slurl)); LLSD args; args["SLURL"] = slurl; LLNotificationsUtil::add("CopySLURL", args); diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 7977faeab7f..72735742031 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -456,3 +456,10 @@ void LLToolBarView::onEndDrag() } stopDragTool(); } + +void LLToolBarView::setToolBarsVisible(bool visible) +{ + mToolbarBottom->getParent()->setVisible(visible); + mToolbarLeft->getParent()->setVisible(visible); + mToolbarRight->getParent()->setVisible(visible); +} diff --git a/indra/newview/lltoolbarview.h b/indra/newview/lltoolbarview.h index 6623e63f8a9..01ff137c155 100644 --- a/indra/newview/lltoolbarview.h +++ b/indra/newview/lltoolbarview.h @@ -72,6 +72,8 @@ class LLToolBarView : public LLUICtrl // Loads the toolbars from the existing user or default settings bool loadToolbars(bool force_default = false); // return false if load fails + void setToolBarsVisible(bool visible); + static bool loadDefaultToolbars(); static void startDragTool( S32 x, S32 y, const LLUUID& uuid); diff --git a/indra/newview/lltoolgun.cpp b/indra/newview/lltoolgun.cpp index 68af3d73d27..857d1053618 100644 --- a/indra/newview/lltoolgun.cpp +++ b/indra/newview/lltoolgun.cpp @@ -56,7 +56,7 @@ void LLToolGun::handleSelect() { gViewerWindow->hideCursor(); gViewerWindow->moveCursorToCenter(); - gViewerWindow->mWindow->setMouseClipping(TRUE); + gViewerWindow->getWindow()->setMouseClipping(TRUE); mIsSelected = TRUE; } @@ -64,7 +64,7 @@ void LLToolGun::handleDeselect() { gViewerWindow->moveCursorToCenter(); gViewerWindow->showCursor(); - gViewerWindow->mWindow->setMouseClipping(FALSE); + gViewerWindow->getWindow()->setMouseClipping(FALSE); mIsSelected = FALSE; } diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp index 19326c4e305..d6512207aeb 100644 --- a/indra/newview/llviewerdisplay.cpp +++ b/indra/newview/llviewerdisplay.cpp @@ -114,8 +114,8 @@ void render_disconnected_background(); void display_startup() { if ( !gViewerWindow->getActive() - || !gViewerWindow->mWindow->getVisible() - || gViewerWindow->mWindow->getMinimized() ) + || !gViewerWindow->getWindow()->getVisible() + || gViewerWindow->getWindow()->getMinimized() ) { return; } @@ -157,7 +157,7 @@ void display_startup() LLGLState::checkStates(); LLGLState::checkTextureChannels(); - gViewerWindow->mWindow->swapBuffers(); + gViewerWindow->getWindow()->swapBuffers(); glClear(GL_DEPTH_BUFFER_BIT); } @@ -223,7 +223,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot) { //skip render on frames where window has been resized gGL.flush(); glClear(GL_COLOR_BUFFER_BIT); - gViewerWindow->mWindow->swapBuffers(); + gViewerWindow->getWindow()->swapBuffers(); gPipeline.resizeScreenTexture(); gResizeScreenTexture = FALSE; gWindowResized = FALSE; @@ -260,8 +260,8 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot) // In fact, must explicitly check the minimized state before drawing. // Attempting to draw into a minimized window causes a GL error. JC if ( !gViewerWindow->getActive() - || !gViewerWindow->mWindow->getVisible() - || gViewerWindow->mWindow->getMinimized() ) + || !gViewerWindow->getWindow()->getVisible() + || gViewerWindow->getWindow()->getMinimized() ) { // Clean up memory the pools may have allocated if (rebuild) @@ -1237,7 +1237,7 @@ void render_ui(F32 zoom_factor, int subfield) if (gDisplaySwapBuffers) { LLFastTimer t(FTM_SWAP); - gViewerWindow->mWindow->swapBuffers(); + gViewerWindow->getWindow()->swapBuffers(); } gDisplaySwapBuffers = TRUE; } diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index bc0f38dd779..da1b149b594 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -446,11 +446,13 @@ void init_menus() { color = LLUIColorTable::instance().getColor( "MenuNonProductionBgColor" ); } + + LLView* menu_bar_holder = gViewerWindow->getRootView()->getChildView("menu_bar_holder"); + gMenuBarView = LLUICtrlFactory::getInstance()->createFromFile<LLMenuBarGL>("menu_viewer.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance()); - gMenuBarView->setRect(LLRect(0, top, 0, top - MENU_BAR_HEIGHT)); + gMenuBarView->setRect(LLRect(0, menu_bar_holder->getRect().mTop, 0, menu_bar_holder->getRect().mTop - MENU_BAR_HEIGHT)); gMenuBarView->setBackgroundColor( color ); - LLView* menu_bar_holder = gViewerWindow->getRootView()->getChildView("menu_bar_holder"); menu_bar_holder->addChild(gMenuBarView); gViewerWindow->setMenuBackgroundColor(false, @@ -3762,6 +3764,15 @@ class LLViewDefaultUISize : public view_listener_t } }; +class LLViewToggleUI : public view_listener_t +{ + bool handleEvent(const LLSD& userdata) + { + gViewerWindow->setUIVisibility(!gViewerWindow->getUIVisibility()); + return true; + } +}; + class LLEditDuplicate : public view_listener_t { bool handleEvent(const LLSD& userdata) @@ -7926,6 +7937,7 @@ void initialize_menus() view_listener_t::addMenu(new LLZoomer(1/1.2f), "View.ZoomIn"); view_listener_t::addMenu(new LLZoomer(DEFAULT_FIELD_OF_VIEW, false), "View.ZoomDefault"); view_listener_t::addMenu(new LLViewDefaultUISize(), "View.DefaultUISize"); + view_listener_t::addMenu(new LLViewToggleUI(), "View.ToggleUI"); view_listener_t::addMenu(new LLViewEnableMouselook(), "View.EnableMouselook"); view_listener_t::addMenu(new LLViewEnableJoystickFlycam(), "View.EnableJoystickFlycam"); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index fae3ee9081c..2473d41a35b 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -76,7 +76,6 @@ #include "lltimer.h" #include "timing.h" #include "llviewermenu.h" -#include "lltoolbarview.h" #include "lltooltip.h" #include "llmediaentry.h" #include "llurldispatcher.h" @@ -147,6 +146,7 @@ #include "lltexturefetch.h" #include "lltextureview.h" #include "lltool.h" +#include "lltoolbarview.h" #include "lltoolcomp.h" #include "lltooldraganddrop.h" #include "lltoolface.h" @@ -1339,7 +1339,7 @@ BOOL LLViewerWindow::handleActivate(LLWindow *window, BOOL activated) { if (activated) { - mActive = TRUE; + mActive = true; send_agent_resume(); gAgent.clearAFK(); @@ -1348,7 +1348,7 @@ BOOL LLViewerWindow::handleActivate(LLWindow *window, BOOL activated) } else { - mActive = FALSE; + mActive = false; // if the user has chosen to go Away automatically after some time, then go Away when minimizing if (gSavedSettings.getS32("AFKTimeout")) @@ -1531,7 +1531,8 @@ LLViewerWindow::LLViewerWindow( BOOL fullscreen, BOOL ignore_pixel_depth) // fullscreen is no longer used : mWindow(NULL), - mActive(TRUE), + mActive(true), + mUIVisible(true), mWindowRectRaw(0, height, width, 0), mWindowRectScaled(0, height, width, 0), mWorldViewRectRaw(0, height, width, 0), @@ -1771,7 +1772,6 @@ void LLViewerWindow::initBase() // placeholder widget that controls where "world" is rendered mWorldViewPlaceholder = main_view->getChildView("world_view_rect")->getHandle(); - mFloaterViewHolder = main_view->getChildView("floater_view_holder")->getHandle(); mPopupView = main_view->getChild<LLPopupView>("popup_holder"); mHintHolder = main_view->getChild<LLView>("hint_holder")->getHandle(); mLoginPanelHolder = main_view->getChild<LLView>("login_panel_holder")->getHandle(); @@ -1882,7 +1882,7 @@ void LLViewerWindow::initWorldUI() gStatusBar->setShape(status_bar_container->getLocalRect()); // sync bg color with menu bar gStatusBar->setBackgroundColor( gMenuBarView->getBackgroundColor().get() ); - status_bar_container->addChild(gStatusBar); + status_bar_container->addChildInBack(gStatusBar); status_bar_container->setVisible(TRUE); // Navigation bar @@ -1922,8 +1922,7 @@ void LLViewerWindow::initWorldUI() hud_rect.mTop -= gMenuBarView->getRect().getHeight(); } gHUDView = new LLHUDView(hud_rect); - // put behind everything else in the UI - getRootView()->addChildInBack(gHUDView); + getRootView()->addChild(gHUDView); } LLPanel* panel_ssf_container = getRootView()->getChild<LLPanel>("stand_stop_flying_container"); @@ -4084,7 +4083,7 @@ static S32 BORDERWIDTH = 0; void LLViewerWindow::movieSize(S32 new_width, S32 new_height) { LLCoordScreen size; - gViewerWindow->mWindow->getSize(&size); + gViewerWindow->getWindow()->getSize(&size); if ( (size.mX != new_width + BORDERWIDTH) ||(size.mY != new_height + BORDERHEIGHT)) { @@ -4095,7 +4094,7 @@ void LLViewerWindow::movieSize(S32 new_width, S32 new_height) BORDERHEIGHT = size.mY- y; LLCoordScreen new_size(new_width + BORDERWIDTH, new_height + BORDERHEIGHT); - gViewerWindow->mWindow->setSize(new_size); + gViewerWindow->getWindow()->setSize(new_size); } } @@ -4979,6 +4978,29 @@ bool LLViewerWindow::onAlert(const LLSD& notify) return false; } +void LLViewerWindow::setUIVisibility(bool visible) +{ + mUIVisible = visible; + + if (gToolBarView) + { + gToolBarView->setToolBarsVisible(visible); + } + + mRootView->getChildView("nav_bar_container")->setVisible(visible); + mRootView->getChildView("status_bar_container")->setVisible(visible); + + if (!visible) + { + gFloaterView->closeAllChildren(false); + } +} + +bool LLViewerWindow::getUIVisibility() +{ + return mUIVisible; +} + //////////////////////////////////////////////////////////////////////////// // // LLPickInfo diff --git a/indra/newview/llviewerwindow.h b/indra/newview/llviewerwindow.h index 872eb127539..3afca3073d2 100644 --- a/indra/newview/llviewerwindow.h +++ b/indra/newview/llviewerwindow.h @@ -143,6 +143,8 @@ class LLViewerWindow : public LLWindowCallbacks void adjustRectanglesForFirstUse(const LLRect& window); void adjustControlRectanglesForFirstUse(const LLRect& window); void initWorldUI(); + void setUIVisibility(bool); + bool getUIVisibility(); BOOL handleAnyMouseClick(LLWindow *window, LLCoordGL pos, MASK mask, LLMouseHandler::EClickType clicktype, BOOL down); @@ -282,7 +284,6 @@ class LLViewerWindow : public LLWindowCallbacks void updateKeyboardFocus(); void updateWorldViewRect(bool use_full_window=false); - LLView* getFloaterViewHolder() { return mFloaterViewHolder.get(); } LLView* getToolBarHolder() { return mToolBarHolder.get(); } LLView* getHintHolder() { return mHintHolder.get(); } LLView* getLoginPanelHolder() { return mLoginPanelHolder.get(); } @@ -394,11 +395,10 @@ class LLViewerWindow : public LLWindowCallbacks S32 getChatConsoleBottomPad(); // Vertical padding for child console rect, varied by bottom clutter LLRect getChatConsoleRect(); // Get optimal cosole rect. -public: +private: LLWindow* mWindow; // graphical window object - -protected: - BOOL mActive; + bool mActive; + bool mUIVisible; LLRect mWindowRectRaw; // whole window, including UI LLRect mWindowRectScaled; // whole window, scaled by UI size @@ -444,7 +444,6 @@ class LLViewerWindow : public LLWindowCallbacks std::string mInitAlert; // Window / GL initialization requires an alert LLHandle<LLView> mWorldViewPlaceholder; // widget that spans the portion of screen dedicated to rendering the 3d world - LLHandle<LLView> mFloaterViewHolder; // container for floater_view LLHandle<LLView> mToolBarHolder; // container for toolbars LLHandle<LLView> mHintHolder; // container for hints LLHandle<LLView> mLoginPanelHolder; // container for login panel @@ -458,13 +457,11 @@ class LLViewerWindow : public LLWindowCallbacks boost::scoped_ptr<LLViewerWindowListener> mViewerWindowListener; -protected: static std::string sSnapshotBaseName; static std::string sSnapshotDir; static std::string sMovieBaseName; -private: // Object temporarily hovered over while dragging LLPointer<LLViewerObject> mDragHoveredObject; }; diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index 96d070ae509..2c07e8e35fb 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -8,98 +8,71 @@ tab_stop="false" name="main_view" width="1024"> + <view top="0" + follows="all" + height="768" + left="0" + mouse_opaque="false" + name="world_view_rect" + width="1024"/> <layout_stack border_size="0" follows="all" mouse_opaque="false" - height="749" + height="768" name="menu_stack" orientation="vertical" - top="19"> + top="0"> + <layout_panel mouse_opaque="false" + follows="left|right|top" + name="status_bar_container" + tab_stop="false" + height="19" + left="0" + top="0" + width="1024" + user_resize="false" + auto_resize="false" + visible="true"> + <view mouse_opaque="false" + follows="all" + name="menu_bar_holder" + left="0" + top="0" + width="1024" + height="19"/> + </layout_panel> <layout_panel auto_resize="false" height="34" mouse_opaque="false" name="nav_bar_container" tab_stop="false" width="1024" - user_resize="false" - visible="false"> - </layout_panel> - <layout_panel auto_resize="true" + user_resize="false" + visible="false"/> + <layout_panel auto_resize="true" follows="all" height="500" layout="topleft" mouse_opaque="false" tab_stop="false" - name="hud" + name="world_panel" width="1024"> - <layout_stack border_size="0" - follows="all" - height="500" - left="0" - mouse_opaque="false" - name="hud_stack" - orientation="horizontal" - top="0" - width="1024"> - <layout_panel auto_resize="true" - follows="all" - height="500" - layout="topleft" - mouse_opaque="false" - tab_stop="false" - name="non_side_tray_view" - user_resize="false" - width="500"> - <view bottom="500" - follows="all" - height="500" - left="0" - mouse_opaque="false" - name="world_view_rect" - width="500"/> - <layout_stack border_size="0" - bottom="500" - follows="all" - height="500" - left="0" - mouse_opaque="false" - name="world_stack" - orientation="vertical"> - <layout_panel auto_resize="true" - follows="all" - height="500" - layout="topleft" - tab_stop="false" - mouse_opaque="false" - user_resize="false" - name="hud container" - width="500"> - <panel follows="left|top" - height="19" - left="0" - mouse_opaque="false" - name="topinfo_bar_container" - tab_stop="false" - top="0" - visible="false" - width="1024"/> - </layout_panel> - <!--<layout_panel auto_resize="false" - min_height="33" - height="33" - mouse_opaque="false" - name="bottom_tray_container" - visible="false"/>--> - </layout_stack> - </layout_panel> - </layout_stack> + <panel follows="left|top|right" + height="19" + left="0" + mouse_opaque="false" + name="topinfo_bar_container" + tab_stop="false" + top="0" + visible="false" + width="1024"/> <panel top="0" - follows="all" - height="500" - mouse_opaque="false" - name="login_panel_holder" - width="1024"/> - + left="0" + follows="all" + height="500" + mouse_opaque="false" + name="login_panel_holder" + width="1024"/> <debug_view follows="all" left="0" top="0" @@ -107,55 +80,27 @@ height="500" name="DebugView" width="1024"/> - - <panel follows="all" + <floater_view follows="all" height="500" left="0" mouse_opaque="false" - name="floater_view_holder" + name="Floater View" tab_group="-1" tab_stop="false" top="0" - width="1024"> - <floater_view follows="all" - height="500" - left="0" - mouse_opaque="false" - name="Floater View" - tab_group="-1" - tab_stop="false" - top="0" - width="1024"/> - </panel> + width="1024"/> <panel name="toolbar_view_holder" - follows="all" - layout="topleft" - height="500" - width="1024" - top="0" - left="0" - mouse_opaque="false" - tab_stop="false"> - </panel> + follows="all" + layout="topleft" + height="500" + width="1024" + top="0" + left="0" + mouse_opaque="false" + tab_stop="false"/> </layout_panel> </layout_stack> - <panel mouse_opaque="false" - follows="left|right|top" - name="status_bar_container" - tab_stop="false" - height="19" - left="0" - top="0" - width="1024" - visible="false"/> - - <view mouse_opaque="false" - follows="all" - name="menu_bar_holder" - left="0" - top="0" - width="1024" - height="768"/> + <panel top="0" follows="all" mouse_opaque="false" diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index efa61dbd11d..fdbc3d18826 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -1719,6 +1719,13 @@ <menu_item_call.on_click function="View.DefaultUISize" /> </menu_item_call> + <menu_item_call + label="Toggle UI" + name="Toggle UI" + shortcut="control|shift|U"> + <menu_item_call.on_click + function="View.ToggleUI" /> + </menu_item_call> <!-- This second, alternative shortcut for Show Advanced Menu is for backward compatibility. The main shortcut has been changed so it's Linux-friendly, where the old shortcut is typically eaten by the window manager. --> <menu_item_check label="Show Advanced Menu - legacy shortcut" -- GitLab From 9221b93c66fa26c9c902467eebcb2d056695535a Mon Sep 17 00:00:00 2001 From: "Debi King (Dessie)" <dessie@lindenlab.com> Date: Wed, 12 Oct 2011 09:11:26 -0400 Subject: [PATCH 172/256] Added tag DRTVWR-96_3.1.0-beta2, 3.1.0-beta2 for changeset dbaaef192664 --- .hgtags | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.hgtags b/.hgtags index e3edb9f17e9..7996edf175f 100644 --- a/.hgtags +++ b/.hgtags @@ -196,3 +196,5 @@ b95ddac176ac944efdc85cbee94ac2e1eab44c79 3.0.3-start 0496d2f74043cf4e6058e76ac3db03d44cff42ce 3.0.3-release 92a3aa04775438226399b19deee12ac3b5a62838 3.0.5-start c7282e59f374ee904bd793c3c444455e3399b0c5 3.1.0-start +dbaaef19266478a20654c46395300640163e98e3 DRTVWR-96_3.1.0-beta2 +dbaaef19266478a20654c46395300640163e98e3 3.1.0-beta2 -- GitLab From f95922c27330b12ba22434203bf6955c06b74ba4 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Wed, 12 Oct 2011 10:08:14 -0700 Subject: [PATCH 173/256] Updated tooltip for "picks" to match the wiki. --- indra/newview/skins/default/xui/en/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index f19cfa19f2a..04fc5c868c0 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -3695,7 +3695,7 @@ Try enclosing path to the editor with double quotes. <string name="Command_MiniMap_Tooltip">Show nearby people</string> <string name="Command_Move_Tooltip">Moving your avatar</string> <string name="Command_People_Tooltip">Friends, groups, and nearby people</string> - <string name="Command_Picks_Tooltip">Favorite places</string> + <string name="Command_Picks_Tooltip">Places to show as favorites in your profile</string> <string name="Command_Places_Tooltip">Places you've saved</string> <string name="Command_Preferences_Tooltip">Preferences</string> <string name="Command_Profile_Tooltip">Edit or view your profile</string> -- GitLab From 5f609becd37f0b3483892b211fa82ca72ddfa86a Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Wed, 12 Oct 2011 10:11:58 -0700 Subject: [PATCH 174/256] Mac build fix --- indra/newview/llviewermenu.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index da1b149b594..0cbbfae002f 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -373,8 +373,6 @@ void set_underclothes_menu_options() void init_menus() { - S32 top = gViewerWindow->getRootView()->getRect().getHeight(); - // Initialize actions initialize_menus(); -- GitLab From ed53295cb3137f757d4d120f84f5d22c170ae823 Mon Sep 17 00:00:00 2001 From: callum <none@none> Date: Wed, 12 Oct 2011 12:55:37 -0700 Subject: [PATCH 175/256] EXP-1322 FIX Stand / Stop Flying button should be centered above the bottom toolbar at all times --- indra/newview/llmoveview.cpp | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/indra/newview/llmoveview.cpp b/indra/newview/llmoveview.cpp index 2af01d06c18..c3d8b91d67a 100644 --- a/indra/newview/llmoveview.cpp +++ b/indra/newview/llmoveview.cpp @@ -696,25 +696,28 @@ void LLPanelStandStopFlying::updatePosition() { if (mAttached) return; - S32 x = 0; - S32 y = 0; - - if(LLView* root = getRootView()) + S32 y_pos = 0; + S32 bottom_tb_center = 0; + if (LLToolBar* toolbar_bottom = gToolBarView->getChild<LLToolBar>("toolbar_bottom")) { - x = root->calcScreenRect().getCenterX() - getRect().getWidth()/2; + y_pos = toolbar_bottom->getRect().getHeight(); + bottom_tb_center = toolbar_bottom->getRect().getCenterX(); } - if (LLToolBar* toolbar_bottom = gToolBarView->getChild<LLToolBar>("toolbar_bottom")) + S32 left_tb_width = 0; + if (LLToolBar* toolbar_left = gToolBarView->getChild<LLToolBar>("toolbar_left")) { - y = toolbar_bottom->getRect().getHeight(); + left_tb_width = toolbar_left->getRect().getWidth(); } if(LLPanel* panel_ssf_container = getRootView()->getChild<LLPanel>("stand_stop_flying_container")) { - panel_ssf_container->setOrigin(0, y); + panel_ssf_container->setOrigin(0, y_pos); } - setOrigin(x, 0); + S32 x_pos = bottom_tb_center-getRect().getWidth()/2 - left_tb_width; + + setOrigin( x_pos, 0); } // EOF -- GitLab From a1f0101ca293768a37889856b1dde69110b30b7c Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 12 Oct 2011 13:50:20 -0700 Subject: [PATCH 176/256] EXP-1275 WIP A UI element or Keyboard shortcut to clear the viewport restores hidden floaters now --- indra/llui/llfloater.cpp | 46 ++++++++++++++++++++++++++++++++ indra/llui/llfloater.h | 11 ++++++-- indra/newview/llviewerwindow.cpp | 6 ++++- 3 files changed, 60 insertions(+), 3 deletions(-) diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 0398c0d7eb4..4bcc7c6fe0d 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -2506,6 +2506,52 @@ void LLFloaterView::closeAllChildren(bool app_quitting) } } +void LLFloaterView::hiddenFloaterClosed(LLFloater* floater) +{ + for (hidden_floaters_t::iterator it = mHiddenFloaters.begin(), end_it = mHiddenFloaters.end(); + it != end_it; + ++it) + { + if (it->first.get() == floater) + { + it->second.disconnect(); + mHiddenFloaters.erase(it); + break; + } + } +} + +void LLFloaterView::hideAllFloaters() +{ + child_list_t child_list = *(getChildList()); + + for (child_list_iter_t it = child_list.begin(); it != child_list.end(); ++it) + { + LLFloater* floaterp = dynamic_cast<LLFloater*>(*it); + if (floaterp && floaterp->getVisible()) + { + floaterp->setVisible(false); + boost::signals2::connection connection = floaterp->mCloseSignal.connect(boost::bind(&LLFloaterView::hiddenFloaterClosed, this, floaterp)); + mHiddenFloaters.push_back(std::make_pair(floaterp->getHandle(), connection)); + } + } +} + +void LLFloaterView::showHiddenFloaters() +{ + for (hidden_floaters_t::iterator it = mHiddenFloaters.begin(), end_it = mHiddenFloaters.end(); + it != end_it; + ++it) + { + LLFloater* floaterp = it->first.get(); + if (floaterp) + { + floaterp->setVisible(true); + } + it->second.disconnect(); + } + mHiddenFloaters.clear(); +} BOOL LLFloaterView::allChildrenClosed() { diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index b404306e948..275b508f799 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -35,6 +35,7 @@ #include "lluuid.h" //#include "llnotificationsutil.h" #include <set> +#include <boost/signals2.hpp> class LLDragHandle; class LLResizeHandle; @@ -454,8 +455,6 @@ class LLFloater : public LLPanel typedef std::map<LLHandle<LLFloater>, LLFloater*>::iterator handle_map_iter_t; static handle_map_t sFloaterMap; - std::vector<LLHandle<LLView> > mMinimizedHiddenChildren; - BOOL mHasBeenDraggedWhileMinimized; S32 mPreviousMinimizedBottom; S32 mPreviousMinimizedLeft; @@ -509,6 +508,10 @@ class LLFloaterView : public LLUICtrl BOOL allChildrenClosed(); void shiftFloaters(S32 x_offset, S32 y_offset); + void hideAllFloaters(); + void showHiddenFloaters(); + + LLFloater* getFrontmost() const; LLFloater* getBackmost() const; LLFloater* getParentFloater(LLView* viewp) const; @@ -523,11 +526,15 @@ class LLFloaterView : public LLUICtrl void setFloaterSnapView(LLHandle<LLView> snap_view) {mSnapView = snap_view; } private: + void hiddenFloaterClosed(LLFloater* floater); + LLHandle<LLView> mSnapView; BOOL mFocusCycleMode; S32 mSnapOffsetBottom; S32 mSnapOffsetRight; S32 mMinimizePositionVOffset; + typedef std::vector<std::pair<LLHandle<LLFloater>, boost::signals2::connection> > hidden_floaters_t; + hidden_floaters_t mHiddenFloaters; }; // diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 2473d41a35b..665b31a427e 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -4992,7 +4992,11 @@ void LLViewerWindow::setUIVisibility(bool visible) if (!visible) { - gFloaterView->closeAllChildren(false); + gFloaterView->hideAllFloaters(); + } + else + { + gFloaterView->showHiddenFloaters(); } } -- GitLab From 23a2a77369b9f4b4fb5e606dc962e5838fb44503 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 12 Oct 2011 15:39:40 -0700 Subject: [PATCH 177/256] added separator above navigation bar --- .../skins/default/textures/navbar/separator.png | Bin 0 -> 2826 bytes .../newview/skins/default/textures/textures.xml | 2 +- .../default/xui/en/panel_navigation_bar.xml | 10 ++++++++++ 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 indra/newview/skins/default/textures/navbar/separator.png diff --git a/indra/newview/skins/default/textures/navbar/separator.png b/indra/newview/skins/default/textures/navbar/separator.png new file mode 100644 index 0000000000000000000000000000000000000000..b93e5791a7eab8ba17fae0cd8991daf7d38ef992 GIT binary patch literal 2826 zcmV+l3-$DgP)<h;3K|Lk000e1NJLTq000C40006A1^@s6f2e(900004XF*Lt006O$ zeEU(80000WV@Og>004&%004{+008|`004nN004b?008NW002DY000@xb3BE2000U( zX+uL$P-t&-Z*ypGa3D!TLm+T+Z)Rz1WdHz3$DNjUR8-d%htIutdZEoQ0#b(FyTAa_ zdy`&8VVD_UC<6{NG_fI~0ue<-nj%P0#DLLIBvwSR5EN9f2P6n6F&ITuEN@2Ei>|D^ z_ww@l<E(G(v-i3C?7h!g7XXr{FPE1FO97C|6YzsPoaqsfQFQD8fB_z0fGGe>Rz|vC zuzLs)$;-`!o*{AqUjza0dRV*yaMRE;fKCVhpQKsoe1Yhg01=zBIT<Vw7l=3|OOP(M z&x)8Dmn>!&C1$=TK@rP|Ibo3vKKm@PqnO#LJhq6%Ij6Hz*<$V$@wQAMN5qJ)hzm2h zoGcOF60t^#FqJFfH{#e-4l@G)6iI9sa9D{VHW4w29}?su;^hF~NC{tY+*d5%WDCTX za!E_i;d2ub1#}&jF5T4HnnCyEWTkKf0>c0%E1Ah>(_PY1)0w;+02c53Su*0<(nUqK zG_|(0G&D0Z{i;y^b@OjZ+}lNZ8Th$p5Uu}<?XUdO8USF-iE6X+i!H7SfX*!d$ld#5 z(>MTtq^NHl*T1?CO*}7&0ztZsv2j*bmJyf3G7=Z`5B*PvzoD<bXCyxEkMhu6Iq^(k zihwSz8!Ig(O~|Kbq%&C@y5XOP_#X%Ubsh#moOlkO!xKe>iKdLpOAxi2$L0#SX*@cY z_n(^h55xYX#km%V()bZjV~l{*bt*u9?FT3d5g^g~#a;iSZ@&02Abxq_DwB(I|L-^b zXThc7C4-yrInE_0gw7K3GZ**7&k~>k0Z0NWkO#^@9q0f<U<Ry!EpP;Gz#I635D*Dg z0~SaGseli%Kpxlx3PCa03HE?$PzM@8GiU|JK_@r`&Vx(f8n^*&gZp3<On_%#7Q6-v z5CmZ%GDLyoAr(jy(ud3-24oMpLB3EB6bZ#b2@nqwLV3_;s2D1Ps-b$Q8TuYN37v<o zK!ea-XbhT$euv({2uy;huoA2V8^a9P3HE_Q;8kz}yavvN3*a4aCENfXg*)K$@HO~0 zJPJR9=MaDp5gMY37$OYB1@T9ska&cTtVfEF3ZwyPMY@qb<R&tT%ph-37!(CXM;W4Q zQJ$z!6brQmwH{T1szx0~b)b4tH&J7#S=2`~8Lf!cN86yi&=KeabQZc0U4d>wx1%qj zZ=)yBuQ3=54Wo^*!gyjLF-e%Um=erBOdIALW)L%unZshS@>qSW9o8Sq#0s#5*edK% z>{;v(b^`kbN5rY%%y90wC>#%$kE_5P!JWYk;U;klcqzOl-UjcFXXA75rT9jCH~u<) z0>40zCTJ7v2qA<d!X`o`p_Oov@PP1=NF=Het%-p|E^#BVl6Z`GnK(v#OOhe!kz7d8 zBq3=B=@980=`QIdnM~FqJCdWw0`d-WGx-Af5&4Y-MZ!qJOM)%2L83;YLt;qcxg=gv zQ_@LtwPdbjh2#mz>yk54cquI@7b&LHdZ`+zlTss6bJ7%PQ)z$cROu4wBhpu-r)01) zS~6}jY?%U?gEALn#wiFzo#H}aQ8rT=DHkadR18&{>P1bW7E`~Y4p3)hWn`DhhRJ5j z*2tcg9i<^OEt(fCg;q*CP8+7ZTcWhYX$fb^_9d-LhL+6BEtPYW<H!}swaML<dnZqq zcau++-zDEE|4;#?pr;V1kfpF+;iAIKQtDFMrL3hzOOG$TrwA+RDF!L7RXnKJuQ;cq ztmL7Tu2iLTL1{*rrtGMkq+G6iMtNF=qGGSYRVi0FtMZgCOLwBD&@1V^^jTF!RZmr+ zYQ5@!>VlfKTBusSTASKKb%HuWJzl+By+?gkLq)?+BTu76<DMp7lcAZYxmUAKb6!hZ zD_m=<R;SjKww$(?cCL1d_5&TVj)Tq`od%s-x)@!CZnEw^-5Ywao`qhbUX9*$eOTX8 zpR2!5f6xGJU~RxNXfPNtBpEsxW*W8_jv3L6e2wyrI*pziYZylv?=tQ){%B%hl48<m za^F<O)Y~-QwA=J|Gd(kwS&i8(bF#U+`3CbY^B2qXmvNTuUv|fWV&P}8)uPAZgQb-v z-?G(m+DgMJ)~eQOgh6ElFiIGgt<l!b)*Gx(S--Whv=P`GxB1Q1&^Foji0#yJ?d6>1 zjmyXF)a;mc^>(B7bo*HQ1NNg1st!zt28YLv>W*y3CdWx9U8f|cqfXDAO`Q48?auQq zHZJR2&bcD49<D{M18y>Ip>EY~kKEPV6Wm+eXFV)D)_R=tM0@&p?(!V*Qu1PXHG9o^ zTY0bZ?)4%01p8F`JoeS|<@<K~!G7L;yZs)l&|JY=(diHTz5I9kKMc?gSQGGLASN&% zuqN<HkZDj}P+u@5I41Z=@aqugkkXL*p*o?$(4H{Ku;{Snu=#M;@UrmH2;+!#5!WIW zBDs-WQP`-ksHUj7m2NBdtel9ph%SsCUZuS%d)1ZI3ae9ApN^4?VaA+@MaPE69*KR= z^k+6O=i<ELYU5^EF08$*XKY7yIeVI8$0_4X#@of0#ZM*JCG1X^PIO4DNSxuiaI3j5 zl01{@lID~BlMf|-N(oPCOU0$erk>=<@RE7GY07EYX@lwd>4oW|Yi!o+Su@M`;WuSK z8LKk71XR(_RKHM1xJ5XYX`fk>`6eqY>qNG6HZQwBM=xi4&Sb88?zd}EYguc1@>KIS z<&CX#T35dwS|7K*XM_5Nf(;WJJvJWRMA($P>8E^?{IdL4o5MGE7bq2MEEwP7v8AO@ zqL5!WvekBL-8R%V?zVyL=G&{be=K4bT`e{#t|)$A!YaA?jp;X)-+bB;zhj`(vULAW z%ue3U;av{94wp%n<(7@__S@Z2PA@Mif3+uO&y|X06?J<Fdxd*PD}5`wsx+#0R=uxI ztiE02T+>#oSi8M;ejj_^(0<4Lt#wLu#dYrva1Y$6_o(k^&}yhSh&h;f@JVA>W8b%o zZ=0JGnu?n~9O4}sJsfnnx7n(>`H13?(iXTy*fM=I`sj`CT)*pTHEgYKqqP+u1IL8N zo_-(u{qS+0<2@%BCt82d{Gqm;(q7a7b>wu+b|!X?c13m#p7cK1({0<`{-e>4hfb-U zsyQuty7Ua;Ou?B?XLHZaol8GAb3Wnxcu!2v{R<HnZuJKC4qWuPc=?k1r3-ydeP=J* zT|RZi=E}*djH{j3EU$I+TlBa8Wbsq`faO5Pb*t-LH>_`T4=x`(GvqLI{-*2AOSimk zUAw*F_TX^n@STz9k<mNsJ5zU4?!LH}d2iwV#s}yJMGvJORy<OC)bO+J&uycYqo>DQ z$NC=!KfXWC8h`dn#xL(D3Z9UkR7|Q&Hcy#Notk!^zVUSB(}`#4&lYA1f0h2V_PNgU zAAWQEt$#LRcH#y9#i!p(Udq2b^lI6wp1FXzN3T;~FU%Lck$-deE#qz9yYP3D3t8{6 z?<+s(e(3(_^YOu_)K8!O1p}D#{JO;G(*OVf32;bRa{vGf5&!@T5&_cPe*6Fc02*{f zSaefwW^{L9a%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0000LNkl<Z7*}JEk&*e2j2Rpq c9seU^0J$;@Rn+ZfNdN!<07*qoM6N<$g2^sNg#Z8m literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 27577d42ea2..4f343525164 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -769,5 +769,5 @@ with the same filename but different name <texture name="Yellow_Gradient" file_name="windows/yellow_gradient.png"/> <texture name="Popup_Caution" file_name="icons/pop_up_caution.png"/> <texture name="Camera_Drag_Dot" file_name="world/CameraDragDot.png"/> - + <texture name="NavBar Separator" file_name="navbar/separator.png"/> </textures> diff --git a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml index bf9eeb6d265..ab6fa36e6cb 100644 --- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml @@ -43,6 +43,16 @@ top="0" height="34" width="600"/> + <icon + follows="all" + image_name="NavBar Separator" + mouse_opaque="false" + name="separator_image" + scale_image="true" + left="0" + top="0" + width="800" + height="2"/> <layout_stack use_border="true" bevel_style="none" -- GitLab From 9ca4b8219f1a18b11d457d6f18d3c695aba9aed2 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 12 Oct 2011 15:46:45 -0700 Subject: [PATCH 178/256] EXP-1275 WIP A UI element or Keyboard shortcut to clear the viewport added confirmation dialog before hiding UI --- indra/llui/llfloater.cpp | 1 + indra/llui/llfloater.h | 3 +- indra/newview/llviewermenu.cpp | 30 ++++++++++++++++++- .../skins/default/xui/en/menu_viewer.xml | 14 ++++----- .../skins/default/xui/en/notifications.xml | 14 +++++++++ 5 files changed, 53 insertions(+), 9 deletions(-) diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 4bcc7c6fe0d..16fe3b8ca68 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -247,6 +247,7 @@ LLFloater::LLFloater(const LLSD& key, const LLFloater::Params& p) mHeaderHeight(p.header_height), mLegacyHeaderHeight(p.legacy_header_height), mMinimized(FALSE), + mVisibleWhenMinimized(TRUE), mForeground(FALSE), mFirstLook(TRUE), mButtonScale(1.0f), diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index 275b508f799..c94aa0207ea 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -212,7 +212,7 @@ class LLFloater : public LLPanel void addDependentFloater(LLFloater* dependent, BOOL reposition = TRUE); void addDependentFloater(LLHandle<LLFloater> dependent_handle, BOOL reposition = TRUE); LLFloater* getDependee() { return (LLFloater*)mDependeeHandle.get(); } - void removeDependentFloater(LLFloater* dependent); + void removeDependentFloater(LLFloater* dependent); BOOL isMinimized() const { return mMinimized; } /// isShown() differs from getVisible() in that isShown() also considers /// isMinimized(). isShown() is true only if visible and not minimized. @@ -420,6 +420,7 @@ class LLFloater : public LLPanel S32 mLegacyHeaderHeight;// HACK see initFloaterXML() BOOL mMinimized; + bool mVisibleWhenMinimized; BOOL mForeground; LLHandle<LLFloater> mDependeeHandle; diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 0cbbfae002f..478af6ab7dc 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -3766,9 +3766,37 @@ class LLViewToggleUI : public view_listener_t { bool handleEvent(const LLSD& userdata) { - gViewerWindow->setUIVisibility(!gViewerWindow->getUIVisibility()); + LLNotification::Params params("ConfirmHideUI"); + params.functor.function(boost::bind(&LLViewToggleUI::confirm, this, _1, _2)); + LLSD substitutions; +#if LL_DARWIN + substitutions["SHORTCUT"] = "Cmd+Shift+U"; +#else + substitutions["SHORTCUT"] = "Ctrl+Shift+U"; +#endif + params.substitutions = substitutions; + if (gViewerWindow->getUIVisibility()) + { + // hiding, so show notification + LLNotifications::instance().add(params); + } + else + { + LLNotifications::instance().forceResponse(params, 0); + } + return true; } + + void confirm(const LLSD& notification, const LLSD& response) + { + S32 option = LLNotificationsUtil::getSelectedOption(notification, response); + + if (option == 0) // OK + { + gViewerWindow->setUIVisibility(!gViewerWindow->getUIVisibility()); + } + } }; class LLEditDuplicate : public view_listener_t diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index fdbc3d18826..c586e3a098e 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -24,6 +24,13 @@ function="Floater.Toggle" parameter="toybox" /> </menu_item_call> + <menu_item_call + label="Hide all controls" + name="Hide UI" + shortcut="control|shift|U"> + <menu_item_call.on_click + function="View.ToggleUI" /> + </menu_item_call> <menu_item_call label="My Dashboard" name="Manage My Account"> @@ -1719,13 +1726,6 @@ <menu_item_call.on_click function="View.DefaultUISize" /> </menu_item_call> - <menu_item_call - label="Toggle UI" - name="Toggle UI" - shortcut="control|shift|U"> - <menu_item_call.on_click - function="View.ToggleUI" /> - </menu_item_call> <!-- This second, alternative shortcut for Show Advanced Menu is for backward compatibility. The main shortcut has been changed so it's Linux-friendly, where the old shortcut is typically eaten by the window manager. --> <menu_item_check label="Show Advanced Menu - legacy shortcut" diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 087744fea77..6b0ffd9d33c 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -7536,6 +7536,20 @@ The site at '<nolink>[HOST_NAME]</nolink>' in realm ' notext="Don't Quit"/> </notification> + <notification + name="ConfirmHideUI" + label="" + type="alertmodal"> + <unique/> + <tag>confirm</tag> + This action will hide all menu items and buttons. To get them back, click [SHORTCUT] again. + <usetemplate + name="okcancelignore" + yestext="OK" + notext="Cancel" + ignoretext="Confirm before hiding UI"/> + </notification> + <global name="UnsupportedGLRequirements"> You do not appear to have the proper hardware requirements for [APP_NAME]. [APP_NAME] requires an OpenGL graphics card that has multitexture support. If this is the case, you may want to make sure that you have the latest drivers for your graphics card, and service packs and patches for your operating system. -- GitLab From 45a316831636043663972bdf83adbefb345549de Mon Sep 17 00:00:00 2001 From: callum <none@none> Date: Wed, 12 Oct 2011 16:08:53 -0700 Subject: [PATCH 179/256] EXP-1337 FIX Add Confirmation dialog to "Restore Defaults" in the Toybox Reviewed by Leslie --- indra/newview/llfloatertoybox.cpp | 17 +++++++++++++++-- .../skins/default/xui/en/notifications.xml | 14 ++++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp index 84881655f81..b4c98942716 100644 --- a/indra/newview/llfloatertoybox.cpp +++ b/indra/newview/llfloatertoybox.cpp @@ -30,12 +30,13 @@ #include "llbutton.h" #include "llcommandmanager.h" +#include "llnotifications.h" +#include "llnotificationsutil.h" #include "llpanel.h" #include "lltoolbar.h" #include "lltoolbarview.h" #include "lltrans.h" - LLFloaterToybox::LLFloaterToybox(const LLSD& key) : LLFloater(key) , mBtnRestoreDefaults(NULL) @@ -113,9 +114,21 @@ void LLFloaterToybox::draw() LLFloater::draw(); } +static bool finish_restore_toybox(const LLSD& notification, const LLSD& response) +{ + S32 option = LLNotificationsUtil::getSelectedOption(notification, response); + + if (option == 0) + { + LLToolBarView::loadDefaultToolbars(); + } + return false; +} +static LLNotificationFunctorRegistration finish_restore_toybox_reg("ConfirmRestoreToybox", finish_restore_toybox); + void LLFloaterToybox::onBtnRestoreDefaults() { - LLToolBarView::loadDefaultToolbars(); + LLNotificationsUtil::add("ConfirmRestoreToybox"); } BOOL LLFloaterToybox::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 6b0ffd9d33c..f510b3c5bac 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -4622,6 +4622,20 @@ Are you sure you want to quit? yestext="Quit"/> </notification> + <notification + icon="alertmodal.tga" + name="ConfirmRestoreToybox" + type="alertmodal"> + <unique/> +Are you sure you want to restore your default buttons and toolbars? + +You cannot undo this action. + <usetemplate + name="okcancelbuttons" + notext="Cancel" + yestext="OK"/> + </notification> + <notification icon="alertmodal.tga" name="DeleteItems" -- GitLab From 3594853d0ef166c98d04c015b1217f2a437f8872 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 12 Oct 2011 16:17:24 -0700 Subject: [PATCH 180/256] don't highlight toolbar buttons during drag and drop added mVisibleWhenMinimized to floaters --- indra/llui/llfloater.cpp | 22 ++++++++++++++++++---- indra/llui/llfloater.h | 4 +++- indra/llui/lltoolbar.cpp | 5 ++++- 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 16fe3b8ca68..1e6c8b4a71d 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -1407,6 +1407,17 @@ void LLFloater::removeDependentFloater(LLFloater* floaterp) floaterp->mDependeeHandle = LLHandle<LLFloater>(); } +void LLFloater::setVisibleWhenMinimized(bool visible) +{ + mVisibleWhenMinimized = visible; + if (visible && isMinimized()) + { + // restack in minimized stack + setMinimized(FALSE); + setMinimized(TRUE); + } +} + BOOL LLFloater::offerClickToButton(S32 x, S32 y, MASK mask, EFloaterButton index) { if( mButtonsEnabled[index] ) @@ -1783,11 +1794,14 @@ void LLFloater::draw() } if (isMinimized()) { - for (S32 i = 0; i < BUTTON_COUNT; i++) + if (mVisibleWhenMinimized) { - drawChild(mButtons[i]); + for (S32 i = 0; i < BUTTON_COUNT; i++) + { + drawChild(mButtons[i]); + } + drawChild(mDragHandle); } - drawChild(mDragHandle); } else { @@ -2442,7 +2456,7 @@ void LLFloaterView::getMinimizePosition(S32 *left, S32 *bottom) { // Examine minimized children. LLFloater* floater = (LLFloater*)((LLView*)*child_it); - if(floater->isMinimized()) + if(floater->isMinimized() && floater->getVisibleWhenMinimized()) { LLRect r = floater->getRect(); if((r.mBottom < (row + floater_header_size)) diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index c94aa0207ea..5e3d3aefc97 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -213,7 +213,9 @@ class LLFloater : public LLPanel void addDependentFloater(LLHandle<LLFloater> dependent_handle, BOOL reposition = TRUE); LLFloater* getDependee() { return (LLFloater*)mDependeeHandle.get(); } void removeDependentFloater(LLFloater* dependent); - BOOL isMinimized() const { return mMinimized; } + BOOL isMinimized() const { return mMinimized; } + void setVisibleWhenMinimized(bool visible); + bool getVisibleWhenMinimized() const { return mVisibleWhenMinimized;} /// isShown() differs from getVisible() in that isShown() also considers /// isMinimized(). isShown() is true only if visible and not minimized. bool isShown() const; diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index a1ea4ba18b2..02970bc9697 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -871,7 +871,10 @@ void LLToolBarButton::onMouseEnter(S32 x, S32 y, MASK mask) LLUICtrl::onMouseEnter(x, y, mask); // Always highlight toolbar buttons, even if they are disabled - mNeedsHighlight = TRUE; + if (!gFocusMgr.getMouseCapture() || gFocusMgr.getMouseCapture() != this) + { + mNeedsHighlight = TRUE; + } } void LLToolBarButton::onMouseCaptureLost() -- GitLab From d5d7e264ad636a42470772f5e96914327e30eca2 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 12 Oct 2011 16:51:00 -0700 Subject: [PATCH 181/256] don't highlight toolbar buttons during drag and drop (for real) --- indra/llui/llbutton.cpp | 2 +- indra/llui/lltoolbar.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 0a7584a5765..4f0c0d31bd1 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -548,7 +548,7 @@ void LLButton::setHighlight(bool b) BOOL LLButton::handleHover(S32 x, S32 y, MASK mask) { if (isInEnabledChain() - && (!gFocusMgr.getMouseCapture() || gFocusMgr.getMouseCapture() != this)) + && (!gFocusMgr.getMouseCapture() || gFocusMgr.getMouseCapture() == this)) mNeedsHighlight = TRUE; if (!childrenHandleHover(x, y, mask)) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 02970bc9697..a75a1552fc1 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -871,7 +871,7 @@ void LLToolBarButton::onMouseEnter(S32 x, S32 y, MASK mask) LLUICtrl::onMouseEnter(x, y, mask); // Always highlight toolbar buttons, even if they are disabled - if (!gFocusMgr.getMouseCapture() || gFocusMgr.getMouseCapture() != this) + if (!gFocusMgr.getMouseCapture() || gFocusMgr.getMouseCapture() == this) { mNeedsHighlight = TRUE; } -- GitLab From 254e24ff09c693d138a4134e5789b648018cacf8 Mon Sep 17 00:00:00 2001 From: eli <none@none> Date: Wed, 12 Oct 2011 17:01:46 -0700 Subject: [PATCH 182/256] FIX VWR-26166 --- indra/newview/skins/default/xui/es/panel_pick_info.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/es/panel_pick_info.xml b/indra/newview/skins/default/xui/es/panel_pick_info.xml index a1259cf483a..3450279b4a6 100644 --- a/indra/newview/skins/default/xui/es/panel_pick_info.xml +++ b/indra/newview/skins/default/xui/es/panel_pick_info.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel name="panel_pick_info"> - <text name="title" value="Información del destacado"/> + <text name="title" value="Datos del destacado"/> <scroll_container name="profile_scroll"> <panel name="scroll_content_panel"> <text_editor name="pick_name" value="[nombre]"/> -- GitLab From fbd883ab36e49fea76b16a04aad0be5fc5196d49 Mon Sep 17 00:00:00 2001 From: leyla_linden <none@none> Date: Wed, 12 Oct 2011 17:18:17 -0700 Subject: [PATCH 183/256] updating destination guide and avatar picker urls --- indra/newview/app_settings/settings.xml | 4 ++-- indra/newview/skins/default/xui/en/floater_avatar.xml | 2 +- indra/newview/skins/default/xui/en/floater_destinations.xml | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index aa2ff646a86..dd540654fbf 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -619,7 +619,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/avatars.html</string> + <string>http://drofnas.components.pdp48.lindenlab.com/avatars.html</string> </map> <key>AvatarBakedTextureUploadTimeout</key> <map> @@ -2717,7 +2717,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/guide.html</string> + <string>http://drofnas.components.pdp48.lindenlab.com/guide.html</string> </map> <key>DisableCameraConstraints</key> <map> diff --git a/indra/newview/skins/default/xui/en/floater_avatar.xml b/indra/newview/skins/default/xui/en/floater_avatar.xml index 6e5c4ada482..3c7de6f3348 100644 --- a/indra/newview/skins/default/xui/en/floater_avatar.xml +++ b/indra/newview/skins/default/xui/en/floater_avatar.xml @@ -5,7 +5,7 @@ can_close="true" can_resize="true" min_height="230" - min_width="445" + min_width="450" height="230" layout="topleft" name="Avatar" diff --git a/indra/newview/skins/default/xui/en/floater_destinations.xml b/indra/newview/skins/default/xui/en/floater_destinations.xml index 2b48a9f6d6a..e63dc02a578 100644 --- a/indra/newview/skins/default/xui/en/floater_destinations.xml +++ b/indra/newview/skins/default/xui/en/floater_destinations.xml @@ -7,7 +7,7 @@ user_resize="true" can_resize="true" min_height="230" - min_width="525" + min_width="350" height="230" layout="topleft" name="Destinations" @@ -22,6 +22,5 @@ width="840" follows="all" name="destination_guide_contents" - start_url="http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/guide.html" trusted_content="true"/> </floater> -- GitLab From cddc9e58dd543b772e14557343e5b2a4ac3c68f6 Mon Sep 17 00:00:00 2001 From: Aaron Stone <stone@lindenlab.com> Date: Wed, 12 Oct 2011 17:36:03 -0700 Subject: [PATCH 184/256] EXP-625 Speed up initial outfit copy and avatar bake by moving initial gesture copy to LLAppearangeMgr::onFirstFullyVisible(). --- indra/newview/llagentwearables.cpp | 7 +-- indra/newview/llagentwearables.h | 2 +- indra/newview/llappearancemgr.cpp | 86 ++++++++++++++++++++++++++++++ indra/newview/llappearancemgr.h | 3 ++ indra/newview/llstartup.cpp | 80 +++------------------------ indra/newview/llstartup.h | 2 - 6 files changed, 98 insertions(+), 82 deletions(-) diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index b9125ec8d36..729eb92e947 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -1168,15 +1168,12 @@ class OnWearableItemCreatedCB: public LLInventoryCallback std::vector<LLWearable*> mWearablesAwaitingItems; }; -void LLAgentWearables::createStandardWearables(BOOL female) +void LLAgentWearables::createStandardWearables() { - llwarns << "Creating Standard " << (female ? "female" : "male") - << " Wearables" << llendl; + llwarns << "Creating standard wearables" << llendl; if (!isAgentAvatarValid()) return; - gAgentAvatarp->setSex(female ? SEX_FEMALE : SEX_MALE); - const BOOL create[LLWearableType::WT_COUNT] = { TRUE, //LLWearableType::WT_SHAPE diff --git a/indra/newview/llagentwearables.h b/indra/newview/llagentwearables.h index 252b812c278..01cae3ffd86 100644 --- a/indra/newview/llagentwearables.h +++ b/indra/newview/llagentwearables.h @@ -56,7 +56,7 @@ class LLAgentWearables : public LLInitClass<LLAgentWearables> LLAgentWearables(); virtual ~LLAgentWearables(); void setAvatarObject(LLVOAvatarSelf *avatar); - void createStandardWearables(BOOL female); + void createStandardWearables(); void cleanup(); void dump(); diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 3cb9b77010e..0666d22f100 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -2264,6 +2264,85 @@ void LLAppearanceMgr::updateIsDirty() } } +// *HACK: Must match name in Library or agent inventory +const std::string ROOT_GESTURES_FOLDER = "Gestures"; +const std::string COMMON_GESTURES_FOLDER = "Common Gestures"; +const std::string MALE_GESTURES_FOLDER = "Male Gestures"; +const std::string FEMALE_GESTURES_FOLDER = "Female Gestures"; +const std::string SPEECH_GESTURES_FOLDER = "Speech Gestures"; +const std::string OTHER_GESTURES_FOLDER = "Other Gestures"; + +void LLAppearanceMgr::copyLibraryGestures() +{ + llinfos << "Copying library gestures" << llendl; + + // Copy gestures + LLUUID lib_gesture_cat_id = + gInventory.findCategoryUUIDForType(LLFolderType::FT_GESTURE,false,true); + if (lib_gesture_cat_id.isNull()) + { + llwarns << "Unable to copy gestures, source category not found" << llendl; + } + LLUUID dst_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_GESTURE); + + std::vector<std::string> gesture_folders_to_copy; + gesture_folders_to_copy.push_back(MALE_GESTURES_FOLDER); + gesture_folders_to_copy.push_back(FEMALE_GESTURES_FOLDER); + gesture_folders_to_copy.push_back(COMMON_GESTURES_FOLDER); + gesture_folders_to_copy.push_back(SPEECH_GESTURES_FOLDER); + gesture_folders_to_copy.push_back(OTHER_GESTURES_FOLDER); + + for(std::vector<std::string>::iterator it = gesture_folders_to_copy.begin(); + it != gesture_folders_to_copy.end(); + ++it) + { + std::string& folder_name = *it; + + LLPointer<LLInventoryCallback> cb(NULL); + + // After copying gestures, activate Common, Other, plus + // Male and/or Female, depending upon the initial outfit gender. + ESex gender = gAgentAvatarp->getSex(); + + std::string activate_male_gestures; + std::string activate_female_gestures; + switch (gender) { + case SEX_MALE: + activate_male_gestures = MALE_GESTURES_FOLDER; + break; + case SEX_FEMALE: + activate_female_gestures = FEMALE_GESTURES_FOLDER; + break; + case SEX_BOTH: + activate_male_gestures = MALE_GESTURES_FOLDER; + activate_female_gestures = FEMALE_GESTURES_FOLDER; + break; + } + + if (folder_name == activate_male_gestures || + folder_name == activate_female_gestures || + folder_name == COMMON_GESTURES_FOLDER || + folder_name == OTHER_GESTURES_FOLDER) + { + cb = new ActivateGestureCallback; + } + + LLUUID cat_id = findDescendentCategoryIDByName(lib_gesture_cat_id,folder_name); + if (cat_id.isNull()) + { + llwarns << "failed to find gesture folder for " << folder_name << llendl; + } + else + { + llinfos << "initiating fetch and copy for " << folder_name << " cat_id " << cat_id << llendl; + callAfterCategoryFetch(cat_id, + boost::bind(&LLAppearanceMgr::shallowCopyCategory, + &LLAppearanceMgr::instance(), + cat_id, dst_id, cb)); + } + } +} + void LLAppearanceMgr::autopopulateOutfits() { // If this is the very first time the user has logged into viewer2+ (from a legacy viewer, or new account) @@ -2285,9 +2364,16 @@ void LLAppearanceMgr::autopopulateOutfits() void LLAppearanceMgr::onFirstFullyVisible() { gAgentAvatarp->debugAvatarVisible(); + // The auto-populate is failing at the point of generating outfits // folders, so don't do the library copy until that is resolved. // autopopulateOutfits(); + + // If this is the first time we've ever logged in, + // then copy default gestures from the library. + if (gAgent.isFirstLogin()) { + copyLibraryGestures(); + } } bool LLAppearanceMgr::updateBaseOutfit() diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h index 4b1d95cf254..c1d561781d2 100644 --- a/indra/newview/llappearancemgr.h +++ b/indra/newview/llappearancemgr.h @@ -151,6 +151,9 @@ class LLAppearanceMgr: public LLSingleton<LLAppearanceMgr> // Create initial outfits from library. void autopopulateOutfits(); + + // Copy initial gestures from library. + void copyLibraryGestures(); void wearBaseOutfit(); diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index a8d58a857bd..1795be91b92 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -2387,13 +2387,6 @@ void asset_callback_nothing(LLVFS*, const LLUUID&, LLAssetType::EType, void*, S3 // nothing } -// *HACK: Must match name in Library or agent inventory -const std::string ROOT_GESTURES_FOLDER = "Gestures"; -const std::string COMMON_GESTURES_FOLDER = "Common Gestures"; -const std::string MALE_GESTURES_FOLDER = "Male Gestures"; -const std::string FEMALE_GESTURES_FOLDER = "Female Gestures"; -const std::string SPEECH_GESTURES_FOLDER = "Speech Gestures"; -const std::string OTHER_GESTURES_FOLDER = "Other Gestures"; const S32 OPT_CLOSED_WINDOW = -1; const S32 OPT_MALE = 0; const S32 OPT_FEMALE = 1; @@ -2422,61 +2415,6 @@ bool callback_choose_gender(const LLSD& notification, const LLSD& response) return false; } -void LLStartUp::copyLibraryGestures(const std::string& same_gender_gestures) -{ - llinfos << "Copying library gestures" << llendl; - - // Copy gestures - LLUUID lib_gesture_cat_id = - gInventory.findCategoryUUIDForType(LLFolderType::FT_GESTURE,false,true); - if (lib_gesture_cat_id.isNull()) - { - llwarns << "Unable to copy gestures, source category not found" << llendl; - } - LLUUID dst_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_GESTURE); - - std::vector<std::string> gesture_folders_to_copy; - gesture_folders_to_copy.push_back(MALE_GESTURES_FOLDER); - gesture_folders_to_copy.push_back(FEMALE_GESTURES_FOLDER); - gesture_folders_to_copy.push_back(COMMON_GESTURES_FOLDER); - gesture_folders_to_copy.push_back(SPEECH_GESTURES_FOLDER); - gesture_folders_to_copy.push_back(OTHER_GESTURES_FOLDER); - - for(std::vector<std::string>::iterator it = gesture_folders_to_copy.begin(); - it != gesture_folders_to_copy.end(); - ++it) - { - std::string& folder_name = *it; - - LLPointer<LLInventoryCallback> cb(NULL); - - if (folder_name == same_gender_gestures || - folder_name == COMMON_GESTURES_FOLDER || - folder_name == OTHER_GESTURES_FOLDER) - { - cb = new ActivateGestureCallback; - } - - - LLUUID cat_id = findDescendentCategoryIDByName(lib_gesture_cat_id,folder_name); - if (cat_id.isNull()) - { - llwarns << "failed to find gesture folder for " << folder_name << llendl; - } - else - { - llinfos << "initiating fetch and copy for " << folder_name << " cat_id " << cat_id << llendl; - LLAppearanceMgr* app_mgr = LLAppearanceMgr::getInstance(); - callAfterCategoryFetch(cat_id, - boost::bind(&LLAppearanceMgr::shallowCopyCategory, - app_mgr, - cat_id, - dst_id, - cb)); - } - } -} - void LLStartUp::loadInitialOutfit( const std::string& outfit_folder_name, const std::string& gender_name ) { @@ -2487,21 +2425,20 @@ void LLStartUp::loadInitialOutfit( const std::string& outfit_folder_name, // Initiate creation of COF, since we're also bypassing that. gInventory.findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT); - S32 gender = 0; - std::string same_gender_gestures; + ESex gender; if (gender_name == "male") { lldebugs << "male" << llendl; - gender = OPT_MALE; - same_gender_gestures = MALE_GESTURES_FOLDER; + gender = SEX_MALE; } else { lldebugs << "female" << llendl; - gender = OPT_FEMALE; - same_gender_gestures = FEMALE_GESTURES_FOLDER; + gender = SEX_FEMALE; } + gAgentAvatarp->setSex(gender); + // try to find the outfit - if not there, create some default // wearables. LLUUID cat_id = findDescendentCategoryIDByName( @@ -2510,7 +2447,7 @@ void LLStartUp::loadInitialOutfit( const std::string& outfit_folder_name, if (cat_id.isNull()) { lldebugs << "standard wearables" << llendl; - gAgentWearables.createStandardWearables(gender); + gAgentWearables.createStandardWearables(); } else { @@ -2526,9 +2463,6 @@ void LLStartUp::loadInitialOutfit( const std::string& outfit_folder_name, // This is really misnamed -- it means we have started loading // an outfit/shape that will give the avatar a gender eventually. JC gAgent.setGenderChosen(TRUE); - - // Copy gestures - copyLibraryGestures(same_gender_gestures); } //static @@ -3348,8 +3282,6 @@ bool process_login_success_response() } // Initial outfit for the user. - // QUESTION: Why can't we simply simply set the users outfit directly - // from a web page into the user info on the server? - Roxie LLSD initial_outfit = response["initial-outfit"][0]; if(initial_outfit.size()) { diff --git a/indra/newview/llstartup.h b/indra/newview/llstartup.h index 99a644eb9cf..0a18ef1b2d1 100644 --- a/indra/newview/llstartup.h +++ b/indra/newview/llstartup.h @@ -90,8 +90,6 @@ class LLStartUp static void initNameCache(); - static void copyLibraryGestures(const std::string& same_gender_gestures); - static void cleanupNameCache(); // outfit_folder_name can be a folder anywhere in your inventory, -- GitLab From 309ebb84a8cf93e03e2594525aa128b3002040bf Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Wed, 12 Oct 2011 17:43:47 -0700 Subject: [PATCH 185/256] * Floater positioning now based on position of other cascading windows currently open. --- indra/llui/llfloater.cpp | 84 ++++++++++++------- indra/llui/llfloater.h | 19 +++-- indra/llui/llfloaterreg.cpp | 73 +++++++++++++++- indra/llui/llfloaterreg.h | 2 + indra/newview/llnearbychatbar.cpp | 9 +- indra/newview/llnearbychatbar.h | 2 +- .../skins/default/xui/en/floater_camera.xml | 4 +- .../skins/default/xui/en/floater_chat_bar.xml | 4 +- .../skins/default/xui/en/floater_moveview.xml | 4 +- 9 files changed, 152 insertions(+), 49 deletions(-) diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 0398c0d7eb4..984b710b9d6 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -175,6 +175,8 @@ LLFloater::Params::Params() save_visibility("save_visibility", false), can_dock("can_dock", false), open_positioning("open_positioning", LLFloaterEnums::OPEN_POSITIONING_NONE), + specified_left("specified_left"), + specified_bottom("specified_bottom"), header_height("header_height", 0), legacy_header_height("legacy_header_height", 0), close_image("close_image"), @@ -242,6 +244,9 @@ LLFloater::LLFloater(const LLSD& key, const LLFloater::Params& p) mCanClose(p.can_close), mDragOnLeft(p.can_drag_on_left), mResizable(p.can_resize), + mOpenPositioning(p.open_positioning), + mSpecifiedLeft(p.specified_left), + mSpecifiedBottom(p.specified_bottom), mMinWidth(p.min_width), mMinHeight(p.min_height), mHeaderHeight(p.header_height), @@ -678,6 +683,7 @@ void LLFloater::openFloater(const LLSD& key) } else { + applyControlsAndPosition(LLFloaterReg::getLastFloaterCascading()); setMinimized(FALSE); setVisibleAndFrontmost(mAutoFocus); } @@ -840,39 +846,54 @@ LLMultiFloater* LLFloater::getHost() return (LLMultiFloater*)mHostHandle.get(); } -void LLFloater::applySavedVariables() +void LLFloater::applyControlsAndPosition(LLFloater* other) { - applyRectControl(); - applyDockState(); + if (!applyDockState()) + { + if (!applyRectControl()) + { + applyPositioning(other); + } + } } -void LLFloater::applyRectControl() +bool LLFloater::applyRectControl() { + bool saved_rect = false; + // If we have a saved rect, use it if (mRectControl.size() > 1) { const LLRect& rect = getControlGroup()->getRect(mRectControl); - if (rect.notEmpty()) + saved_rect = rect.notEmpty(); + if (saved_rect) { setOrigin(rect.mLeft, rect.mBottom); + if (mResizable) { reshape(llmax(mMinWidth, rect.getWidth()), llmax(mMinHeight, rect.getHeight())); } } } + + return saved_rect; } -void LLFloater::applyDockState() +bool LLFloater::applyDockState() { + bool docked = false; + if (mDocStateControl.size() > 1) { - bool dockState = getControlGroup()->getBOOL(mDocStateControl); - setDocked(dockState); + docked = getControlGroup()->getBOOL(mDocStateControl); + setDocked(docked); } + + return docked; } -void LLFloater::applyPositioning() +void LLFloater::applyPositioning(LLFloater* other) { // Otherwise position according to the positioning code switch (mOpenPositioning) @@ -884,28 +905,33 @@ void LLFloater::applyPositioning() case LLFloaterEnums::OPEN_POSITIONING_SPECIFIED: { // Translate relative to snap rect - LLRect r = getRect(); - r.mBottom = getSnapRect().getHeight() - r.getHeight() - r.mBottom; - setOrigin(r.mLeft, r.mBottom); - translateIntoRect(getSnapRect(), FALSE); + setOrigin(mSpecifiedLeft, mSpecifiedBottom); + const LLRect& snap_rect = gFloaterView->getSnapRect(); + translate(snap_rect.mLeft, snap_rect.mBottom); + translateIntoRect(snap_rect, FALSE); } break; case LLFloaterEnums::OPEN_POSITIONING_CASCADING: + if (other != NULL) { - static const U32 CASCADING_FLOATER_HOFFSET = 25; - static const U32 CASCADING_FLOATER_VOFFSET = 25; - static const S32 CASCADING_FLOATER_LIMIT = 15; - static S32 cascading_floater_count = 1; - const S32 top = CASCADING_FLOATER_VOFFSET * cascading_floater_count; - const S32 left = CASCADING_FLOATER_HOFFSET * cascading_floater_count; - setOrigin(left, top); - translateIntoRect(getSnapRect(), FALSE); + stackWith(*other); + } + else + { + static const U32 CASCADING_FLOATER_HOFFSET = 0; + static const U32 CASCADING_FLOATER_VOFFSET = 0; + + const LLRect& snap_rect = gFloaterView->getSnapRect(); - if (++cascading_floater_count > CASCADING_FLOATER_LIMIT) - { - cascading_floater_count = 1; - } + const S32 horizontal_offset = CASCADING_FLOATER_HOFFSET; + const S32 vertical_offset = snap_rect.getHeight() - CASCADING_FLOATER_VOFFSET; + + S32 rect_height = getRect().getHeight(); + setOrigin(horizontal_offset, vertical_offset - rect_height); + + translate(snap_rect.mLeft, snap_rect.mBottom); + translateIntoRect(snap_rect, FALSE); } break; @@ -2891,9 +2917,11 @@ void LLFloater::initFromParams(const LLFloater::Params& p) mHeaderHeight = p.header_height; mLegacyHeaderHeight = p.legacy_header_height; mSingleInstance = p.single_instance; + mOpenPositioning = p.open_positioning; + mSpecifiedLeft = p.specified_left; + mSpecifiedBottom = p.specified_bottom; - /* if (p.save_rect && mRectControl.empty()) { mRectControl = "t"; // flag to build mRectControl name once mInstanceName is set @@ -2901,8 +2929,7 @@ void LLFloater::initFromParams(const LLFloater::Params& p) if (p.save_visibility) { mVisibilityControl = "t"; // flag to build mVisibilityControl name once mInstanceName is set - }*/ - + } if(p.save_dock_state) { mDocStateControl = "t"; // flag to build mDocStateControl name once mInstanceName is set @@ -3053,7 +3080,6 @@ bool LLFloater::initFloaterXML(LLXMLNodePtr node, LLView *parent, const std::str llerrs << "Failed to construct floater " << getName() << llendl; } - applyPositioning(); applyRectControl(); // If we have a saved rect control, apply it gFloaterView->adjustToFitScreen(this, FALSE); // Floaters loaded from XML should all fit on screen diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index b404306e948..b094c76168a 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -130,6 +130,9 @@ class LLFloater : public LLPanel can_dock; Optional<LLFloaterEnums::EOpenPositioning> open_positioning; + Optional<S32> specified_left; + Optional<S32> specified_bottom; + Optional<S32> header_height, legacy_header_height; // HACK see initFromXML() @@ -291,8 +294,6 @@ class LLFloater : public LLPanel virtual void setTornOff(bool torn_off) { mTornOff = torn_off; } - void stackWith(LLFloater& other); - // Return a closeable floater, if any, given the current focus. static LLFloater* getClosableFloaterFromFocus(); @@ -317,12 +318,16 @@ class LLFloater : public LLPanel void updateTransparency(ETypeTransparency transparency_type); void enableResizeCtrls(bool enable, bool width = true, bool height = true); + + bool isPositioning(LLFloaterEnums::EOpenPositioning p) const { return (p == mOpenPositioning); } protected: - virtual void applySavedVariables(); + void applyControlsAndPosition(LLFloater* other); + + void stackWith(LLFloater& other); - virtual void applyRectControl(); - void applyDockState(); - void applyPositioning(); + virtual bool applyRectControl(); + bool applyDockState(); + void applyPositioning(LLFloater* other); void storeRectControl(); void storeVisibilityControl(); void storeDockStateControl(); @@ -412,6 +417,8 @@ class LLFloater : public LLPanel BOOL mResizable; LLFloaterEnums::EOpenPositioning mOpenPositioning; + S32 mSpecifiedLeft; + S32 mSpecifiedBottom; S32 mMinWidth; S32 mMinHeight; diff --git a/indra/llui/llfloaterreg.cpp b/indra/llui/llfloaterreg.cpp index 058223abbd4..a148f5a32e4 100644 --- a/indra/llui/llfloaterreg.cpp +++ b/indra/llui/llfloaterreg.cpp @@ -59,19 +59,57 @@ void LLFloaterReg::add(const std::string& name, const std::string& filename, con //static LLFloater* LLFloaterReg::getLastFloaterInGroup(const std::string& name) { - LLRect rect; const std::string& groupname = sGroupMap[name]; if (!groupname.empty()) { instance_list_t& list = sInstanceMap[groupname]; if (!list.empty()) { - return list.back(); + for (instance_list_t::reverse_iterator iter = list.rbegin(); iter != list.rend(); ++iter) + { + LLFloater* inst = *iter; + + if (inst->getVisible() && !inst->isMinimized()) + { + return inst; + } + } } } return NULL; } +LLFloater* LLFloaterReg::getLastFloaterCascading() +{ + LLRect candidate_rect; + candidate_rect.mTop = 100000; + LLFloater* candidate_floater = NULL; + + std::map<std::string,std::string>::const_iterator it = sGroupMap.begin(), it_end = sGroupMap.end(); + for( ; it != it_end; ++it) + { + const std::string& group_name = it->second; + + instance_list_t& instances = sInstanceMap[group_name]; + + for (instance_list_t::const_iterator iter = instances.begin(); iter != instances.end(); ++iter) + { + LLFloater* inst = *iter; + + if (inst->getVisible() && inst->isPositioning(LLFloaterEnums::OPEN_POSITIONING_CASCADING)) + { + if (candidate_rect.mTop > inst->getRect().mTop) + { + candidate_floater = inst; + candidate_rect = inst->getRect(); + } + } + } + } + + return candidate_floater; +} + //static LLFloater* LLFloaterReg::findInstance(const std::string& name, const LLSD& key) { @@ -127,9 +165,10 @@ LLFloater* LLFloaterReg::getInstance(const std::string& name, const LLSD& key) res->mKey = key; } res->setInstanceName(name); - res->applySavedVariables(); // Can't apply rect and dock state until setting instance name - // apply list.size() and possibly stackWith(getLastFloaterInGroup(groupname)) + LLFloater *last_floater = (list.empty() ? NULL : list.back()); + res->applyControlsAndPosition(last_floater); + gFloaterView->adjustToFitScreen(res, false); list.push_back(res); @@ -533,3 +572,29 @@ bool LLFloaterReg::floaterInstanceMinimized(const LLSD& sdname) LLFloater* instance = findInstance(name, key); return LLFloater::isShown(instance); } + +// static +U32 LLFloaterReg::getVisibleFloaterInstanceCount() +{ + U32 count = 0; + + std::map<std::string,std::string>::const_iterator it = sGroupMap.begin(), it_end = sGroupMap.end(); + for( ; it != it_end; ++it) + { + const std::string& group_name = it->second; + + instance_list_t& instances = sInstanceMap[group_name]; + + for (instance_list_t::const_iterator iter = instances.begin(); iter != instances.end(); ++iter) + { + LLFloater* inst = *iter; + + if (inst->getVisible() && !inst->isMinimized()) + { + count++; + } + } + } + + return count; +} diff --git a/indra/llui/llfloaterreg.h b/indra/llui/llfloaterreg.h index 07ae45cc4c5..817fe2e8c6a 100644 --- a/indra/llui/llfloaterreg.h +++ b/indra/llui/llfloaterreg.h @@ -87,6 +87,7 @@ class LLFloaterReg // Helpers static LLFloater* getLastFloaterInGroup(const std::string& name); + static LLFloater* getLastFloaterCascading(); // Find / get (create) / remove / destroy static LLFloater* findInstance(const std::string& name, const LLSD& key = LLSD()); @@ -153,6 +154,7 @@ class LLFloaterReg static void blockShowFloaters(bool value) { sBlockShowFloaters = value;} + static U32 getVisibleFloaterInstanceCount(); }; #endif diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp index cd84275ef09..3e4228cfb64 100644 --- a/indra/newview/llnearbychatbar.cpp +++ b/indra/newview/llnearbychatbar.cpp @@ -109,15 +109,18 @@ BOOL LLNearbyChatBar::postBuild() return TRUE; } -void LLNearbyChatBar::applyRectControl() +bool LLNearbyChatBar::applyRectControl() { - LLFloater::applyRectControl(); - if (getRect().getHeight() > getMinHeight()) + bool rect_controlled = LLFloater::applyRectControl(); + + if (getRect().getHeight() > getMinHeight()) { getChildView("nearby_chat")->setVisible(true); mExpandedHeight = getRect().getHeight(); enableResizeCtrls(true); } + + return rect_controlled; } void LLNearbyChatBar::onChatFontChange(LLFontGL* fontp) diff --git a/indra/newview/llnearbychatbar.h b/indra/newview/llnearbychatbar.h index 5a7edac1bbf..bc00c1b9fce 100644 --- a/indra/newview/llnearbychatbar.h +++ b/indra/newview/llnearbychatbar.h @@ -71,7 +71,7 @@ class LLNearbyChatBar : public LLFloater void onChatBoxCommit(); void onChatFontChange(LLFontGL* fontp); - /* virtual */ void applyRectControl(); + /* virtual */ bool applyRectControl(); void onToggleNearbyChatPanel(); diff --git a/indra/newview/skins/default/xui/en/floater_camera.xml b/indra/newview/skins/default/xui/en/floater_camera.xml index 7f3abbb4815..20d0fa1c91a 100644 --- a/indra/newview/skins/default/xui/en/floater_camera.xml +++ b/indra/newview/skins/default/xui/en/floater_camera.xml @@ -1,14 +1,14 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater open_positioning="specified" + specified_left="683" + specified_bottom="0" legacy_header_height="18" can_minimize="true" can_close="true" follows="bottom" height="164" layout="topleft" - left="683" - bottom="0" name="camera_floater" help_topic="camera_floater" save_visibility="true" diff --git a/indra/newview/skins/default/xui/en/floater_chat_bar.xml b/indra/newview/skins/default/xui/en/floater_chat_bar.xml index 924e4bc11ea..92297418012 100644 --- a/indra/newview/skins/default/xui/en/floater_chat_bar.xml +++ b/indra/newview/skins/default/xui/en/floater_chat_bar.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater open_positioning="specified" + specified_left="150" + specified_bottom="0" height="60" - left="150" - bottom="0" layout="topleft" legacy_header_height="25" single_instance="true" diff --git a/indra/newview/skins/default/xui/en/floater_moveview.xml b/indra/newview/skins/default/xui/en/floater_moveview.xml index 3d23a94ec2c..cbbd68beb3d 100644 --- a/indra/newview/skins/default/xui/en/floater_moveview.xml +++ b/indra/newview/skins/default/xui/en/floater_moveview.xml @@ -1,14 +1,14 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater open_positioning="specified" + specified_left="535" + specified_bottom="0" legacy_header_height="18" can_dock="false" can_minimize="true" can_close="true" follows="bottom" height="110" - left="535" - bottom="0" layout="topleft" name="move_floater" help_topic="move_floater" -- GitLab From 20358ea89dc9823ac0b539030fdf03268dbdf4e9 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Wed, 12 Oct 2011 17:45:21 -0700 Subject: [PATCH 186/256] * Added mModified flag and isModified() query to check it. (currently it is not connect to actual data) --- indra/llui/lltoolbar.cpp | 1 + indra/llui/lltoolbar.h | 4 +++- indra/newview/lltoolbarview.cpp | 11 +++++++++++ indra/newview/lltoolbarview.h | 2 ++ 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index a1ea4ba18b2..1320f03a256 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -99,6 +99,7 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p) mSideType(p.side), mWrap(p.wrap), mNeedsLayout(false), + mModified(false), mButtonPanel(NULL), mCenteringStack(NULL), mPadLeft(p.pad_left), diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 709399c59f9..2c66f29c16a 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -178,7 +178,8 @@ class LLToolBar LLToolBarButton* createButton(const LLCommandId& id); - bool hasButtons() { return !mButtons.empty(); } + bool hasButtons() const { return !mButtons.empty(); } + bool isModified() const { return mModified; } protected: friend class LLUICtrlFactory; @@ -225,6 +226,7 @@ class LLToolBar bool mWrap; bool mNeedsLayout; + bool mModified; S32 mPadLeft, mPadRight, mPadTop, diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 133835aafc6..bac154f4358 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -471,3 +471,14 @@ void LLToolBarView::setToolBarsVisible(bool visible) mToolbarLeft->getParent()->setVisible(visible); mToolbarRight->getParent()->setVisible(visible); } + +bool LLToolBarView::isModified() const +{ + bool modified = false; + + modified |= mToolbarBottom->isModified(); + modified |= mToolbarLeft->isModified(); + modified |= mToolbarRight->isModified(); + + return modified; +} diff --git a/indra/newview/lltoolbarview.h b/indra/newview/lltoolbarview.h index 01ff137c155..8b3af438753 100644 --- a/indra/newview/lltoolbarview.h +++ b/indra/newview/lltoolbarview.h @@ -81,6 +81,8 @@ class LLToolBarView : public LLUICtrl static BOOL handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* toolbar); static void stopDragTool(); void onEndDrag(); + + bool isModified() const; protected: friend class LLUICtrlFactory; -- GitLab From aa1f0215c764fa346625ace43c467a0e0f803057 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Wed, 12 Oct 2011 18:01:50 -0700 Subject: [PATCH 187/256] EXP-1331 : Implement new longer caret and make it work on multi lines or columns of tools. EXP-1304 : handle only tools in DaD on toolbars --- indra/llui/lltoolbar.cpp | 92 +++++++++++++----- indra/llui/lltoolbar.h | 6 +- indra/newview/lltoolbarview.cpp | 4 +- .../skins/default/textures/textures.xml | 6 +- .../textures/toolbar_icons/caret_bottom.png | Bin 169 -> 195 bytes .../textures/toolbar_icons/caret_left.png | Bin 913 -> 948 bytes .../textures/toolbar_icons/caret_right.png | Bin 911 -> 949 bytes .../default/xui/en/panel_toolbar_view.xml | 12 +-- 8 files changed, 81 insertions(+), 39 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index a1ea4ba18b2..ce3ef1db973 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -395,12 +395,14 @@ void LLToolBar::resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row // Returns the position of the coordinates as a rank in the button list. // The rank is the position a tool dropped in (x,y) would assume in the button list. -// The value returned is between 0 and mButtons.size(), 0 being the first element to the left +// The returned value is between 0 and mButtons.size(), 0 being the first element to the left // (or top) and mButtons.size() the last one to the right (or bottom). -int LLToolBar::getRankFromPosition(S32& x, S32& y) +// Various drag data are stored in the toolbar object though are not exposed outside (and shouldn't). +int LLToolBar::getRankFromPosition(S32 x, S32 y) { int rank = 0; + // Convert the toolbar coord into button panel coords LLLayoutStack::ELayoutOrientation orientation = getOrientation(mSideType); S32 button_panel_x = 0; S32 button_panel_y = 0; @@ -408,32 +410,72 @@ int LLToolBar::getRankFromPosition(S32& x, S32& y) S32 dx = x - button_panel_x; S32 dy = y - button_panel_y; - // Simply compare the passed coord with the buttons outbound box + // Simply compare the passed coord with the buttons outbound box + padding std::list<LLToolBarButton*>::iterator it_button = mButtons.begin(); std::list<LLToolBarButton*>::iterator end_button = mButtons.end(); LLRect button_rect; while (it_button != end_button) { button_rect = (*it_button)->getRect(); - if (((orientation == LLLayoutStack::HORIZONTAL) && (button_rect.mRight > button_panel_x)) || - ((orientation == LLLayoutStack::VERTICAL) && (button_rect.mBottom < button_panel_y)) ) + S32 point_x, point_y; + if (orientation == LLLayoutStack::HORIZONTAL) + { + // Horizontal + point_x = (button_rect.mRight + button_rect.mLeft) / 2; + point_y = button_rect.mBottom - mPadBottom; + } + else + { + // Vertical + point_x = button_rect.mRight + mPadRight; + point_y = (button_rect.mTop + button_rect.mBottom) / 2; + } + + if ((button_panel_x < point_x) && (button_panel_y > point_y)) { break; } + mDragCommand = (*it_button)->mId; rank++; ++it_button; } - if (it_button != end_button) + + // Update the passed coordinates to the hit button relevant corner + // (different depending on toolbar orientation) + if (rank < mButtons.size()) { - x = button_rect.mLeft + dx; - y = button_rect.mTop + dy; + mDragx = button_rect.mLeft - mPadLeft; + mDragy = button_rect.mTop + mPadTop; } else { - x = button_rect.mRight + dx; - y = button_rect.mBottom + dy; + // We hit passed the end of the list so put the insertion point at the end + if (orientation == LLLayoutStack::HORIZONTAL) + { + mDragx = button_rect.mRight + mPadRight; + mDragy = button_rect.mTop + mPadTop; + } + else + { + mDragx = button_rect.mLeft - mPadLeft; + mDragy = button_rect.mBottom - mPadBottom; + } + } + + // Update the "girth" of the caret, i.e. the width or height (depending of orientation) + if (orientation == LLLayoutStack::HORIZONTAL) + { + mDragGirth = button_rect.getHeight() + mPadBottom + mPadTop; + } + else + { + mDragGirth = button_rect.getWidth() + mPadLeft + mPadRight; } + // The delta account for the coord model change (i.e. convert back to toolbar coord) + mDragx += dx; + mDragy += dy; + return rank; } @@ -628,26 +670,18 @@ void LLToolBar::draw() { LLRect caret_rect = caret->getRect(); LLRect toolbar_rect = getRect(); - if (mSideType == SIDE_BOTTOM) + if (getOrientation(mSideType) == LLLayoutStack::HORIZONTAL) { caret->setRect(LLRect(mDragx-caret_rect.getWidth()/2+1, - toolbar_rect.getHeight()+3, + mDragy, mDragx+caret_rect.getWidth()/2+1, - toolbar_rect.getHeight()-caret_rect.getHeight()+3)); - } - else if (mSideType == SIDE_LEFT) - { - - caret->setRect(LLRect(toolbar_rect.getWidth()-caret_rect.getWidth()+3, - mDragy+caret_rect.getHeight()/2, - toolbar_rect.getWidth()+3, - mDragy-caret_rect.getHeight()/2)); + mDragy-mDragGirth)); } else { - caret->setRect(LLRect(-3, + caret->setRect(LLRect(mDragx, mDragy+caret_rect.getHeight()/2, - caret_rect.getWidth()-3, + mDragx+mDragGirth, mDragy-caret_rect.getHeight()/2)); } caret->setVisible(TRUE); @@ -791,16 +825,20 @@ BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, LLAssetType::EType type = inv_item->getType(); if (type == LLAssetType::AT_WIDGET) { - mDragx = x; - mDragy = y; - mDragRank = getRankFromPosition(mDragx, mDragy); - mDragAndDropTarget = true; + mDragRank = getRankFromPosition(x, y); + // Don't DaD if we're dragging a command on itself + mDragAndDropTarget = (mDragCommand.uuid() != inv_item->getUUID()); + //llinfos << "Merov debug : DaD, rank = " << mDragRank << ", hit uuid = " << mDragCommand.uuid() << ", dragged uui = " << inv_item->getUUID() << llendl; /* Do the following if you want to animate the button itself LLCommandId dragged_command(inv_item->getUUID()); removeCommand(dragged_command); addCommand(dragged_command,rank); */ } + else + { + handled = FALSE; + } } return handled; diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 709399c59f9..8fd509bacc9 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -156,7 +156,7 @@ class LLToolBar // virtuals void draw(); void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); - int getRankFromPosition(S32& x, S32& y); + int getRankFromPosition(S32 x, S32 y); BOOL handleRightMouseDown(S32 x, S32 y, MASK mask); virtual BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EDragAndDropType cargo_type, @@ -192,7 +192,9 @@ class LLToolBar bool mDragAndDropTarget; int mDragRank; S32 mDragx, - mDragy; + mDragy, + mDragGirth; + LLCommandId mDragCommand; public: // Methods used in loading and saving toolbar settings diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 133835aafc6..a3b9552f913 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -394,11 +394,13 @@ BOOL LLToolBarView::handleDragTool( S32 x, S32 y, const LLUUID& uuid, LLAssetTyp BOOL LLToolBarView::handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* toolbar) { + BOOL handled = FALSE; LLInventoryItem* inv_item = (LLInventoryItem*)cargo_data; LLAssetType::EType type = inv_item->getType(); if (type == LLAssetType::AT_WIDGET) { + handled = TRUE; // Get the command from its uuid LLCommandManager& mgr = LLCommandManager::instance(); LLCommandId command_id(inv_item->getUUID()); @@ -443,7 +445,7 @@ BOOL LLToolBarView::handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* t } } stopDragTool(); - return TRUE; + return handled; } void LLToolBarView::stopDragTool() diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 27577d42ea2..c221f683c25 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -149,9 +149,9 @@ with the same filename but different name <texture name="Command_Speak_Icon" file_name="toolbar_icons/speak.png" preload="true" /> <texture name="Command_View_Icon" file_name="toolbar_icons/view.png" preload="true" /> <texture name="Command_Voice_Icon" file_name="toolbar_icons/nearbyvoice.png" preload="true" /> - <texture name="Caret_Bottom_Icon" file_name="toolbar_icons/caret_bottom.png" preload="true" /> - <texture name="Caret_Right_Icon" file_name="toolbar_icons/caret_right.png" preload="true" /> - <texture name="Caret_Left_Icon" file_name="toolbar_icons/caret_left.png" preload="true" /> + <texture name="Caret_Bottom_Icon" file_name="toolbar_icons/caret_bottom.png" preload="true" scale.left="1" scale.top="23" scale.right="15" scale.bottom="1" /> + <texture name="Caret_Right_Icon" file_name="toolbar_icons/caret_right.png" preload="true" scale.left="5" scale.top="15" scale.right="28" scale.bottom="1" /> + <texture name="Caret_Left_Icon" file_name="toolbar_icons/caret_left.png" preload="true" scale.left="1" scale.top="15" scale.right="23" scale.bottom="1" /> <texture name="ComboButton_Disabled" file_name="widgets/ComboButton_Disabled.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> <texture name="ComboButton_Selected" file_name="widgets/ComboButton_Selected.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> diff --git a/indra/newview/skins/default/textures/toolbar_icons/caret_bottom.png b/indra/newview/skins/default/textures/toolbar_icons/caret_bottom.png index d506cda5c90a894ca1710f114c1c6e6f5aa0ca04..5f6a01eaa180c17613ed34818e0fe8025a118a79 100644 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^{6H+j!3HGvO?g@mq&N#aB8wRqxP?KOkzv*x37}x9 zr;B5Vg<$fZ|NrfocQ&wgyVWc+R9c<x^vvO=2G@iqhDSDLvaNIv?>NUkyVKiv6JvyF zlgNY1Jd^HoDits~&HDe~5{HoblAq$Lv+DU~JbORo#-C=Pvm!VD<YwIRnYdZ=l1;%v r+k$h;G%ACZ%v^L~*$S0~bJG|uc1t<^Wq<7qbO3{=tDnm{r-UW|wzWqH literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V8<6ZZI=>f4NtU=qlmzFem6RtIr7}3C<R_&n zc;+Uirv{}arc@T5Otk?j^7eFb45_%4^ymM7duGFi&PET1Ely$r2Tz=kX!2&fkeU5} z%YUxbR;m8Po`Th9&zzCixY9u^{g7HmsBzT?hPfZ*W93>TSIYG<FtRa-@Jjy_eE#7p P&{zgfS3j3^P6<r_!woqK diff --git a/indra/newview/skins/default/textures/toolbar_icons/caret_left.png b/indra/newview/skins/default/textures/toolbar_icons/caret_left.png index b1284aaf79e92b4cc4aebf725b3f731b99caa735..0b8090314c6cabaeddecddc9a3c0deca3dda305e 100644 GIT binary patch delta 173 zcmV;e08;;v2ebzviBL{Q4GJ0x0000DNk~Le0000S0000F2nGNE0QXO?p|K$n1AlBu zL_t(I5$%&v3cxT3L+2Rnwu|llC$grfxc`xlG9hS7@nNu{sv9$QCJd|}_@(1>Sy-0l zW-@>YgI$NKSq@!RpDxt5tJb)SbG%3HF7!h0$Mgyz{KGn-Ff5fiA_E9sLRr9sGJ(_C b^??Io;R_hy2>jdt0000<MNUMnLIPld%8Nti delta 137 zcmdnOK9OCqGr-TCmrII^fq{Y7)59eQNQ2m19Be?c*XaD-jfz6dah{$ojv*3~OD_a+ zF&MD0J@~tOruCbBeQA{nvocNfr|7dN8O0@qb<AWv(6yIYtLwlkmVA$mhxt@JTsD}7 me(SvTrl3jo*me2U(&jERMHi$6E>Q%U&fw|l=d#Wzp$PzY{w$~f diff --git a/indra/newview/skins/default/textures/toolbar_icons/caret_right.png b/indra/newview/skins/default/textures/toolbar_icons/caret_right.png index bf6a4ed66c6c49cadb772c3854b0edf19100ca04..044751560f11625156715bd2d6f378d07f100374 100644 GIT binary patch delta 174 zcmeBY-^#Ao8Q|y6%O%Cdz`(%k>ERLtq-B7ZpMwoZe)nI$aHFCSbA7I-i(`m|;M0q- zTnz?1%n9oE{@cZ!v2U5x(Hu~dE4M{p*T#qKvE3a9BNq!V{wjar+XSm1?o|r+x5&(0 zu|&yAS-nW%_hivp=NsZLW1iRUzy1ERb@{ymZHG6VQr12CL!4_`GFOxV>&|Uc`o7G5 az`C?rR;AS}TNda722WQ%mvzie2~7ZXb3()b delta 135 zcmdnW-p{Vs8Q|y6%O%Cdz`(%k>ERLtq(N*h4mKd!Yjl3^Mnxg!7<W$>#}En0-U|mg z84Ng>4=kI#)A@U;iMO1SsP3<Q83JkB)HbVks5vmWhn^N@{Pm4%`h>=w=oufyyEyjv kamTyF9O~gPto^}yrb=|d#E!-lK(iS<UHx3vIVCg!0O$oPI{*Lx diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 9ffd62f7a9f..5475fcd2454 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -48,8 +48,8 @@ side="left" button_display_mode="icons_only"> <icon layout="topleft" - height="10" - width="10" + height="15" + width="28" follows="left|top" top="20" left="10" @@ -99,8 +99,8 @@ side="right" button_display_mode="icons_only"> <icon layout="topleft" - height="10" - width="10" + height="15" + width="28" follows="left|top" top="20" left="10" @@ -130,8 +130,8 @@ button_display_mode="icons_with_text" visible="true"> <icon layout="topleft" - height="10" - width="10" + height="28" + width="15" follows="left|top" top="20" left="10" -- GitLab From 9206226a377c88d34036ebd8a3ac6d9d55bc4146 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 12 Oct 2011 18:16:59 -0700 Subject: [PATCH 188/256] tooltips now only show labels for toolbar buttons when label is hidden or truncated tooltips are no longer instantaneous once a tooltip is visible --- indra/llui/llbutton.cpp | 39 ++++++++++++------------- indra/llui/llbutton.h | 2 ++ indra/llui/lltoolbar.cpp | 36 ++++++++++++++++++----- indra/llui/lltoolbar.h | 4 +++ indra/llui/llview.cpp | 7 +++-- indra/llui/llview.h | 2 +- indra/newview/app_settings/settings.xml | 12 +++++++- indra/newview/llviewermenu.cpp | 8 +++++ 8 files changed, 78 insertions(+), 32 deletions(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 4f0c0d31bd1..f40d99c024a 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -732,16 +732,7 @@ void LLButton::draw() } // Unselected label assignments - LLWString label; - - if( getToggleState() ) - { - label = mSelectedLabel; - } - else - { - label = mUnselectedLabel; - } + LLWString label = getCurrentLabel(); // overlay with keyboard focus border if (hasFocus()) @@ -988,6 +979,23 @@ void LLButton::setLabelSelected( const LLStringExplicit& label ) mSelectedLabel = label; } +bool LLButton::labelIsTruncated() const +{ + return getCurrentLabel().getString().size() > mLastDrawCharsCount; +} + +const LLUIString& LLButton::getCurrentLabel() const +{ + if( getToggleState() ) + { + return mSelectedLabel; + } + else + { + return mUnselectedLabel; + } +} + void LLButton::setImageUnselected(LLPointer<LLUIImage> image) { mImageUnselected = image; @@ -999,16 +1007,7 @@ void LLButton::setImageUnselected(LLPointer<LLUIImage> image) void LLButton::autoResize() { - LLUIString label; - if(getToggleState()) - { - label = mSelectedLabel; - } - else - { - label = mUnselectedLabel; - } - resize(label); + resize(getCurrentLabel()); } void LLButton::resize(LLUIString label) diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h index ba0345f6109..7d9adcd8927 100644 --- a/indra/llui/llbutton.h +++ b/indra/llui/llbutton.h @@ -242,6 +242,8 @@ class LLButton S32 getLastDrawCharsCount() const { return mLastDrawCharsCount; } + bool labelIsTruncated() const; + const LLUIString& getCurrentLabel() const; void setScaleImage(BOOL scale) { mScaleImage = scale; } BOOL getScaleImage() const { return mScaleImage; } diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index a75a1552fc1..fc5ec5ea264 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -193,9 +193,9 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) mCenteringStack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); - BOOST_FOREACH(LLCommandId::Params params, p.commands) + BOOST_FOREACH(LLCommandId id, p.commands) { - addCommand(params); + addCommand(id); } mNeedsLayout = true; @@ -688,13 +688,10 @@ LLToolBarButton* LLToolBar::createButton(const LLCommandId& id) LLCommand* commandp = LLCommandManager::instance().getCommand(id); if (!commandp) return NULL; - std::string label = LLTrans::getString(commandp->labelRef()); - std::string tooltip = label + "\n" + LLTrans::getString(commandp->tooltipRef()); - LLToolBarButton::Params button_p; button_p.name = id.name(); - button_p.label = label; - button_p.tool_tip = tooltip; + button_p.label = LLTrans::getString(commandp->labelRef()); + button_p.tool_tip = LLTrans::getString(commandp->tooltipRef()); button_p.image_overlay = LLUI::getUIImage(commandp->icon()); button_p.overwriteFrom(mButtonParams[mButtonType]); LLToolBarButton* button = LLUICtrlFactory::create<LLToolBarButton>(button_p); @@ -886,3 +883,28 @@ void LLToolBarButton::reshape(S32 width, S32 height, BOOL called_from_parent) { LLButton::reshape(mWidthRange.clamp(width), height, called_from_parent); } + +const std::string LLToolBarButton::getToolTip() const +{ + std::string tooltip; + if (labelIsTruncated() || getCurrentLabel().empty()) + { + return LLTrans::getString(LLCommandManager::instance().getCommand(mId)->labelRef()) + " -- " + LLView::getToolTip(); + } + else + { + return LLView::getToolTip(); + } +} + + + + + + + + + + + + diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 709399c59f9..72fc5630bc3 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -72,6 +72,10 @@ class LLToolBarButton : public LLButton void onMouseEnter(S32 x, S32 y, MASK mask); void onMouseCaptureLost(); + virtual const std::string getToolTip() const; + + + private: LLCommandId mId; S32 mMouseDownX; diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp index e10c2f0d1e2..55d053254c9 100644 --- a/indra/llui/llview.cpp +++ b/indra/llui/llview.cpp @@ -708,15 +708,16 @@ BOOL LLView::handleToolTip(S32 x, S32 y, MASK mask) // parents provide tooltips first, which are optionally // overridden by children, in case child is mouse_opaque - if (!mToolTipMsg.empty()) + std::string tooltip = getToolTip(); + if (!tooltip.empty()) { // allow "scrubbing" over ui by showing next tooltip immediately // if previous one was still visible F32 timeout = LLToolTipMgr::instance().toolTipVisible() - ? 0.f + ? LLUI::sSettingGroups["config"]->getF32( "ToolTipFastDelay" ) : LLUI::sSettingGroups["config"]->getF32( "ToolTipDelay" ); LLToolTipMgr::instance().show(LLToolTip::Params() - .message(mToolTipMsg) + .message(tooltip) .sticky_rect(calcScreenRect()) .delay_time(timeout)); diff --git a/indra/llui/llview.h b/indra/llui/llview.h index a1c46f3bf3a..5e3387dc984 100644 --- a/indra/llui/llview.h +++ b/indra/llui/llview.h @@ -238,7 +238,7 @@ class LLView : public LLMouseHandler, public LLMortician, public LLFocusableElem ECursorType getHoverCursor() { return mHoverCursor; } - const std::string& getToolTip() const { return mToolTipMsg.getString(); } + virtual const std::string getToolTip() const { return mToolTipMsg.getString(); } void sendChildToFront(LLView* child); void sendChildToBack(LLView* child); diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index aa2ff646a86..3298d6c6272 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -10905,7 +10905,17 @@ <key>Value</key> <real>0.699999988079</real> </map> - <key>ToolTipFadeTime</key> + <key>ToolTipFastDelay</key> + <map> + <key>Comment</key> + <string>Seconds before displaying tooltip when mouse stops over UI element (when a tooltip is already visible)</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>F32</string> + <key>Value</key> + <real>0.1</real> + </map> <key>ToolTipFadeTime</key> <map> <key>Comment</key> <string>Seconds over which tooltip fades away</string> diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 478af6ab7dc..aee46ed5bed 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -6875,6 +6875,13 @@ class LLToolsEnableSaveToObjectInventory : public view_listener_t } }; +class LLToggleHowTo : public view_listener_t +{ + bool handleEvent(const LLSD& userdata) + { + return true; + } +}; class LLViewEnableMouselook : public view_listener_t { @@ -8039,6 +8046,7 @@ void initialize_menus() // Help menu // most items use the ShowFloater method + view_listener_t::addMenu(new LLToggleHowTo(), "Help.ToggleHowTo"); // Advanced menu view_listener_t::addMenu(new LLAdvancedToggleConsole(), "Advanced.ToggleConsole"); -- GitLab From 8affdabac33abbe63bea028dc92620550c06aff4 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 12 Oct 2011 19:17:44 -0700 Subject: [PATCH 189/256] removed visiblewhenminimized logic pending redesign --- indra/llui/llfloater.cpp | 23 ++++------------------- indra/llui/llfloater.h | 3 --- 2 files changed, 4 insertions(+), 22 deletions(-) diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 81b14aac176..fa533e81532 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -252,7 +252,6 @@ LLFloater::LLFloater(const LLSD& key, const LLFloater::Params& p) mHeaderHeight(p.header_height), mLegacyHeaderHeight(p.legacy_header_height), mMinimized(FALSE), - mVisibleWhenMinimized(TRUE), mForeground(FALSE), mFirstLook(TRUE), mButtonScale(1.0f), @@ -1433,17 +1432,6 @@ void LLFloater::removeDependentFloater(LLFloater* floaterp) floaterp->mDependeeHandle = LLHandle<LLFloater>(); } -void LLFloater::setVisibleWhenMinimized(bool visible) -{ - mVisibleWhenMinimized = visible; - if (visible && isMinimized()) - { - // restack in minimized stack - setMinimized(FALSE); - setMinimized(TRUE); - } -} - BOOL LLFloater::offerClickToButton(S32 x, S32 y, MASK mask, EFloaterButton index) { if( mButtonsEnabled[index] ) @@ -1820,14 +1808,11 @@ void LLFloater::draw() } if (isMinimized()) { - if (mVisibleWhenMinimized) + for (S32 i = 0; i < BUTTON_COUNT; i++) { - for (S32 i = 0; i < BUTTON_COUNT; i++) - { - drawChild(mButtons[i]); - } - drawChild(mDragHandle); + drawChild(mButtons[i]); } + drawChild(mDragHandle); } else { @@ -2482,7 +2467,7 @@ void LLFloaterView::getMinimizePosition(S32 *left, S32 *bottom) { // Examine minimized children. LLFloater* floater = (LLFloater*)((LLView*)*child_it); - if(floater->isMinimized() && floater->getVisibleWhenMinimized()) + if(floater->isMinimized()) { LLRect r = floater->getRect(); if((r.mBottom < (row + floater_header_size)) diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index 7cfec09e5fd..8beb11507e1 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -217,8 +217,6 @@ class LLFloater : public LLPanel LLFloater* getDependee() { return (LLFloater*)mDependeeHandle.get(); } void removeDependentFloater(LLFloater* dependent); BOOL isMinimized() const { return mMinimized; } - void setVisibleWhenMinimized(bool visible); - bool getVisibleWhenMinimized() const { return mVisibleWhenMinimized;} /// isShown() differs from getVisible() in that isShown() also considers /// isMinimized(). isShown() is true only if visible and not minimized. bool isShown() const; @@ -429,7 +427,6 @@ class LLFloater : public LLPanel S32 mLegacyHeaderHeight;// HACK see initFloaterXML() BOOL mMinimized; - bool mVisibleWhenMinimized; BOOL mForeground; LLHandle<LLFloater> mDependeeHandle; -- GitLab From c14aa1b64e1190ff4bd7deef864d5393988e7f91 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Wed, 12 Oct 2011 19:48:13 -0700 Subject: [PATCH 190/256] EXP-1331 : Avoid showing the caret if the tool is dragged over itself --- indra/llui/lltoolbar.cpp | 29 ++++++++++++++++++++++++++--- indra/llui/lltoolbar.h | 1 + 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 21eeed1d276..5e025f6a45b 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -418,6 +418,7 @@ int LLToolBar::getRankFromPosition(S32 x, S32 y) while (it_button != end_button) { button_rect = (*it_button)->getRect(); + mDragCommand = (*it_button)->mId; S32 point_x, point_y; if (orientation == LLLayoutStack::HORIZONTAL) { @@ -436,7 +437,6 @@ int LLToolBar::getRankFromPosition(S32 x, S32 y) { break; } - mDragCommand = (*it_button)->mId; rank++; ++it_button; } @@ -480,6 +480,27 @@ int LLToolBar::getRankFromPosition(S32 x, S32 y) return rank; } +int LLToolBar::getRankFromPosition(const LLCommandId& id) +{ + if (!hasCommand(id)) + { + return RANK_NONE; + } + int rank = 0; + std::list<LLToolBarButton*>::iterator it_button = mButtons.begin(); + std::list<LLToolBarButton*>::iterator end_button = mButtons.end(); + while (it_button != end_button) + { + if ((*it_button)->mId == id) + { + break; + } + rank++; + ++it_button; + } + return rank; +} + void LLToolBar::updateLayoutAsNeeded() { if (!mNeedsLayout) return; @@ -826,10 +847,12 @@ BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, LLAssetType::EType type = inv_item->getType(); if (type == LLAssetType::AT_WIDGET) { + LLCommandId dragged_command(inv_item->getUUID()); + int orig_rank = getRankFromPosition(dragged_command); mDragRank = getRankFromPosition(x, y); // Don't DaD if we're dragging a command on itself - mDragAndDropTarget = (mDragCommand.uuid() != inv_item->getUUID()); - //llinfos << "Merov debug : DaD, rank = " << mDragRank << ", hit uuid = " << mDragCommand.uuid() << ", dragged uui = " << inv_item->getUUID() << llendl; + mDragAndDropTarget = ((mDragRank == orig_rank) || ((mDragRank-1) == orig_rank) ? false : true); + llinfos << "Merov debug : DaD, rank = " << mDragRank << ", hit uuid = " << mDragCommand.uuid() << ", dragged uui = " << inv_item->getUUID() << llendl; /* Do the following if you want to animate the button itself LLCommandId dragged_command(inv_item->getUUID()); removeCommand(dragged_command); diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 7f8ae4f8393..49750a9ac27 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -157,6 +157,7 @@ class LLToolBar void draw(); void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); int getRankFromPosition(S32 x, S32 y); + int getRankFromPosition(const LLCommandId& id); BOOL handleRightMouseDown(S32 x, S32 y, MASK mask); virtual BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EDragAndDropType cargo_type, -- GitLab From a69ae967243e19bdc5969c34f0b1e94be794919d Mon Sep 17 00:00:00 2001 From: Aaron Stone <stone@lindenlab.com> Date: Thu, 13 Oct 2011 08:10:25 -0400 Subject: [PATCH 191/256] VWR-27090 Allow Calling Cards to carry the "(link)" suffix in the Inventory pane --- indra/newview/llinventorybridge.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index a36aa3dedf9..5e2d2fa3f25 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -1376,16 +1376,17 @@ std::string LLItemBridge::getLabelSuffix() const LLInventoryItem* item = getItem(); if(item) { - // it's a bit confusing to put nocopy/nomod/etc on calling cards. + // Any type can have the link suffix... + BOOL broken_link = LLAssetType::lookupIsLinkType(item->getType()); + if (broken_link) return BROKEN_LINK; + + BOOL link = item->getIsLinkType(); + if (link) return LINK; + + // ...but it's a bit confusing to put nocopy/nomod/etc suffixes on calling cards. if(LLAssetType::AT_CALLINGCARD != item->getType() && item->getPermissions().getOwner() == gAgent.getID()) { - BOOL broken_link = LLAssetType::lookupIsLinkType(item->getType()); - if (broken_link) return BROKEN_LINK; - - BOOL link = item->getIsLinkType(); - if (link) return LINK; - BOOL copy = item->getPermissions().allowCopyBy(gAgent.getID()); if (!copy) { -- GitLab From 1a9eaf09b0f36b675732d04c6f10615e2a8a9e05 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Thu, 13 Oct 2011 08:58:36 -0700 Subject: [PATCH 192/256] EXP-1331 : Fix the drag to position 0 case I broke while fixing the drag on itself case... Aaagh... --- indra/llui/lltoolbar.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 3ea0968bfc6..7fcd1da7b12 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -848,7 +848,7 @@ BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, int orig_rank = getRankFromPosition(dragged_command); mDragRank = getRankFromPosition(x, y); // Don't DaD if we're dragging a command on itself - mDragAndDropTarget = ((mDragRank == orig_rank) || ((mDragRank-1) == orig_rank) ? false : true); + mDragAndDropTarget = ((orig_rank != RANK_NONE) && ((mDragRank == orig_rank) || ((mDragRank-1) == orig_rank)) ? false : true); llinfos << "Merov debug : DaD, rank = " << mDragRank << ", hit uuid = " << mDragCommand.uuid() << ", dragged uui = " << inv_item->getUUID() << llendl; /* Do the following if you want to animate the button itself LLCommandId dragged_command(inv_item->getUUID()); -- GitLab From 084169645a7e7d9228ef5fa9b0547cbf26510eef Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Thu, 13 Oct 2011 09:54:47 -0700 Subject: [PATCH 193/256] FUI Menubar changes per the wiki --- .../skins/default/xui/en/menu_viewer.xml | 316 +++++++++--------- 1 file changed, 161 insertions(+), 155 deletions(-) diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index c586e3a098e..69029d2ab9c 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -8,7 +8,168 @@ label="Me" name="Me" tear_off="true"> + <menu_item_call + label="Dashboard..." + name="Manage My Account"> + <menu_item_call.on_click + function="PromptShowURL" + name="ManageMyAccount_url" + parameter="WebLaunchJoinNow,http://secondlife.com/account/" /> + </menu_item_call> + <menu_item_call + label="Profile..." + name="Profile"> + <menu_item_call.on_click + function="ShowAgentProfile" + parameter="agent" /> + </menu_item_call> + <menu_item_call + label="Appearance..." + name="ChangeOutfit"> + <menu_item_call.on_click + function="CustomizeAvatar" /> + <menu_item_call.on_enable + function="Edit.EnableCustomizeAvatar" /> + </menu_item_call> + <menu_item_check + label="Inventory..." + name="Inventory" + shortcut="control|shift|I" + visible="false"> + <menu_item_check.on_check + function="Floater.Visible" + parameter="inventory" /> + <menu_item_check.on_click + function="Floater.Toggle" + parameter="inventory" /> + </menu_item_check> + <menu_item_check + label="Inventory..." + name="ShowSidetrayInventory" + shortcut="control|I" + visible="true"> + <menu_item_check.on_check + function="SidetrayPanelVisible" + parameter="my_inventory" /> + <menu_item_check.on_click + function="ShowSidetrayPanel" + parameter="my_inventory" /> + </menu_item_check> + <menu_item_check + label="Gestures..." + name="Gestures" + shortcut="control|G"> + <menu_item_check.on_check + function="Floater.Visible" + parameter="gestures" /> + <menu_item_check.on_click + function="Floater.Toggle" + parameter="gestures" /> + </menu_item_check> + <menu_item_check + label="Voice..." + name="ShowVoice" + visibility_control="VoiceMorphingEnabled"> + <menu_item_check.on_check + function="Floater.Visible" + Parameter="voice_effect" /> + <menu_item_check.on_click + function="Floater.Toggle" + parameter="voice_effect" /> + </menu_item_check> + + <menu + create_jump_keys="true" + label="Movement" + name="Movement" + tear_off="true"> + <menu_item_call + label="Sit Down" + layout="topleft" + shortcut="alt|shift|S" + name="Sit Down Here"> + <menu_item_call.on_click + function="Self.SitDown" + parameter="" /> + <menu_item_call.on_enable + function="Self.EnableSitDown" /> + </menu_item_call> + <menu_item_check + label="Fly" + name="Fly" + shortcut="Home"> + <menu_item_check.on_check + function="Agent.getFlying" /> + <menu_item_check.on_click + function="Agent.toggleFlying" /> + <menu_item_check.on_enable + function="Agent.enableFlying" /> + </menu_item_check> + <menu_item_check + label="Always Run" + name="Always Run" + shortcut="control|R"> + <menu_item_check.on_check + function="World.CheckAlwaysRun" /> + <menu_item_check.on_click + function="World.AlwaysRun" /> + </menu_item_check> + <menu_item_call + label="Stop Animating Me" + name="Stop Animating My Avatar"> + <menu_item_call.on_click + function="Tools.StopAllAnimations" /> + </menu_item_call> + </menu> + + <menu + create_jump_keys="true" + label="Status" + name="Status" + tear_off="true"> <menu_item_call + label="Away" + name="Set Away"> + <menu_item_call.on_click + function="World.SetAway" /> + </menu_item_call> + <menu_item_call + label="Busy" + name="Set Busy"> + <menu_item_call.on_click + function="World.SetBusy"/> + </menu_item_call> + </menu> + + <menu_item_call + label="Request Admin Status" + name="Request Admin Options" + shortcut="control|alt|G" + visible="false"> + <menu_item_call.on_click + function="Advanced.RequestAdminStatus" /> + </menu_item_call> + <menu_item_call + label="Leave Admin Status" + name="Leave Admin Options" + shortcut="control|alt|shift|G" + visible="false"> + <menu_item_call.on_click + function="Advanced.LeaveAdminStatus" /> + </menu_item_call> + + <menu_item_separator/> + + <menu_item_call + label="Buy L$" + name="Buy and Sell L$"> + <menu_item_call.on_click + function="BuyCurrency" /> + </menu_item_call> + + <menu_item_separator/> + + <menu_item_call label="Preferences..." name="Preferences" shortcut="control|P"> @@ -31,161 +192,6 @@ <menu_item_call.on_click function="View.ToggleUI" /> </menu_item_call> - <menu_item_call - label="My Dashboard" - name="Manage My Account"> - <menu_item_call.on_click - function="PromptShowURL" - name="ManageMyAccount_url" - parameter="WebLaunchJoinNow,http://secondlife.com/account/" /> - </menu_item_call> - <menu_item_call - label="Buy L$" - name="Buy and Sell L$"> - <menu_item_call.on_click - function="BuyCurrency" /> - </menu_item_call> - - <menu_item_separator/> - - <menu_item_call - label="My Profile" - name="Profile"> - <menu_item_call.on_click - function="ShowAgentProfile" - parameter="agent" /> - </menu_item_call> - <menu_item_call - label="My Appearance" - name="ChangeOutfit"> - <menu_item_call.on_click - function="CustomizeAvatar" /> - <menu_item_call.on_enable - function="Edit.EnableCustomizeAvatar" /> - </menu_item_call> - <menu_item_check - label="My Inventory" - name="Inventory" - shortcut="control|shift|I" - visible="false"> - <menu_item_check.on_check - function="Floater.Visible" - parameter="inventory" /> - <menu_item_check.on_click - function="Floater.Toggle" - parameter="inventory" /> - </menu_item_check> - <menu_item_check - label="My Inventory" - name="ShowSidetrayInventory" - shortcut="control|I" - visible="true"> - <menu_item_check.on_check - function="SidetrayPanelVisible" - parameter="my_inventory" /> - <menu_item_check.on_click - function="ShowSidetrayPanel" - parameter="my_inventory" /> - </menu_item_check> - <menu_item_check - label="My Gestures" - name="Gestures" - shortcut="control|G"> - <menu_item_check.on_check - function="Floater.Visible" - parameter="gestures" /> - <menu_item_check.on_click - function="Floater.Toggle" - parameter="gestures" /> - </menu_item_check> - <menu_item_check - label="My Voice" - name="ShowVoice" - visibility_control="VoiceMorphingEnabled"> - <menu_item_check.on_check - function="Floater.Visible" - Parameter="voice_effect" /> - <menu_item_check.on_click - function="Floater.Toggle" - parameter="voice_effect" /> - </menu_item_check> - <menu - create_jump_keys="true" - label="Movement" - name="Movement" - tear_off="true"> - <menu_item_call - label="Sit Down" - layout="topleft" - shortcut="alt|shift|S" - name="Sit Down Here"> - <menu_item_call.on_click - function="Self.SitDown" - parameter="" /> - <menu_item_call.on_enable - function="Self.EnableSitDown" /> - </menu_item_call> - <menu_item_check - label="Fly" - name="Fly" - shortcut="Home"> - <menu_item_check.on_check - function="Agent.getFlying" /> - <menu_item_check.on_click - function="Agent.toggleFlying" /> - <menu_item_check.on_enable - function="Agent.enableFlying" /> - </menu_item_check> - <menu_item_check - label="Always Run" - name="Always Run" - shortcut="control|R"> - <menu_item_check.on_check - function="World.CheckAlwaysRun" /> - <menu_item_check.on_click - function="World.AlwaysRun" /> - </menu_item_check> - <menu_item_call - label="Stop Animating Me" - name="Stop Animating My Avatar"> - <menu_item_call.on_click - function="Tools.StopAllAnimations" /> - </menu_item_call> - </menu> - <menu - create_jump_keys="true" - label="My Status" - name="Status" - tear_off="true"> - <menu_item_call - label="Away" - name="Set Away"> - <menu_item_call.on_click - function="World.SetAway" /> - </menu_item_call> - <menu_item_call - label="Busy" - name="Set Busy"> - <menu_item_call.on_click - function="World.SetBusy"/> - </menu_item_call> - </menu> - <menu_item_call - label="Request Admin Status" - name="Request Admin Options" - shortcut="control|alt|G" - visible="false"> - <menu_item_call.on_click - function="Advanced.RequestAdminStatus" /> - </menu_item_call> - <menu_item_call - label="Leave Admin Status" - name="Leave Admin Options" - shortcut="control|alt|shift|G" - visible="false"> - <menu_item_call.on_click - function="Advanced.LeaveAdminStatus" /> - </menu_item_call> <menu_item_separator/> -- GitLab From 87c321512a24527e2e4deddc6bb5db6dda5ca9b8 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Thu, 13 Oct 2011 10:47:53 -0700 Subject: [PATCH 194/256] fix for profile button not following floater state --- indra/newview/llviewerhelp.cpp | 1 - indra/newview/llviewermenu.cpp | 20 +++++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/indra/newview/llviewerhelp.cpp b/indra/newview/llviewerhelp.cpp index d1120b6269f..a8a918f259b 100644 --- a/indra/newview/llviewerhelp.cpp +++ b/indra/newview/llviewerhelp.cpp @@ -144,4 +144,3 @@ std::string LLViewerHelp::getTopicFromFocus() return defaultTopic(); } - diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index aee46ed5bed..4b90f1952a7 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -3113,6 +3113,11 @@ void handle_avatar_eject(const LLSD& avatar_id) } } +bool my_profile_visible() +{ + return LLAvatarActions::profileVisible(gAgent.getID()); +} + bool enable_freeze_eject(const LLSD& avatar_id) { // Use avatar_id if available, otherwise default to right-click avatar @@ -4516,6 +4521,13 @@ bool tools_visible_take_object() return !is_selection_buy_not_take(); } +bool enable_how_to_visible(const LLSD& param) +{ + LLFloaterWebContent::Params p; + p.target = "__help_how_to"; + return LLFloaterReg::instanceVisible(param, p); +} + class LLToolsEnableBuyOrTake : public view_listener_t { bool handleEvent(const LLSD& userdata) @@ -6879,6 +6891,11 @@ class LLToggleHowTo : public view_listener_t { bool handleEvent(const LLSD& userdata) { + LLFloaterWebContent::Params p; + p.url = gSavedSettings.getString("HowToHelpURL"); + p.target = "__help_how_to"; + + LLFloaterReg::toggleInstanceOrBringToFront(userdata, p); return true; } }; @@ -8047,6 +8064,7 @@ void initialize_menus() // Help menu // most items use the ShowFloater method view_listener_t::addMenu(new LLToggleHowTo(), "Help.ToggleHowTo"); + enable.add("Help.HowToVisible", boost::bind(&enable_how_to_visible, _2)); // Advanced menu view_listener_t::addMenu(new LLAdvancedToggleConsole(), "Advanced.ToggleConsole"); @@ -8240,7 +8258,7 @@ void initialize_menus() enable.add("Avatar.EnableCall", boost::bind(&LLAvatarActions::canCall)); view_listener_t::addMenu(new LLAvatarReportAbuse(), "Avatar.ReportAbuse"); view_listener_t::addMenu(new LLAvatarToggleMyProfile(), "Avatar.ToggleMyProfile"); - enable.add("Avatar.IsMyProfileOpen", boost::bind(&LLAvatarActions::profileVisible, gAgent.getID())); + enable.add("Avatar.IsMyProfileOpen", boost::bind(&my_profile_visible)); view_listener_t::addMenu(new LLAvatarEnableAddFriend(), "Avatar.EnableAddFriend"); enable.add("Avatar.EnableFreezeEject", boost::bind(&enable_freeze_eject, _2)); -- GitLab From 63e4fdfc6498ad8a0af92e89759ae4fdb7035af6 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Thu, 13 Oct 2011 10:49:53 -0700 Subject: [PATCH 195/256] cleaned up floater reg, removed extraneous functions --- indra/llui/llbutton.cpp | 2 +- indra/llui/llfloaterreg.cpp | 96 +------------------------ indra/llui/llfloaterreg.h | 9 +-- indra/llui/llui.cpp | 35 +++++---- indra/newview/app_settings/commands.xml | 45 ++++++------ indra/newview/llpanelpeople.cpp | 2 +- indra/newview/llviewerfloaterreg.cpp | 1 + 7 files changed, 44 insertions(+), 146 deletions(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index f40d99c024a..3572d18860d 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -1189,7 +1189,7 @@ void LLButton::setFloaterToggle(LLUICtrl* ctrl, const LLSD& sdname) // Set the button control value (toggle state) to the floater visibility control (Sets the value as well) button->setControlVariable(LLFloater::getControlGroup()->getControl(vis_control_name)); // Set the clicked callback to toggle the floater - button->setClickedCallback(boost::bind(&LLFloaterReg::toggleFloaterInstance, sdname)); + button->setClickedCallback(boost::bind(&LLFloaterReg::toggleInstance, sdname, LLSD())); } // static diff --git a/indra/llui/llfloaterreg.cpp b/indra/llui/llfloaterreg.cpp index a148f5a32e4..0edfc8da2d4 100644 --- a/indra/llui/llfloaterreg.cpp +++ b/indra/llui/llfloaterreg.cpp @@ -436,57 +436,8 @@ void LLFloaterReg::registerControlVariables() } } -// Callbacks - -// static -// Call once (i.e use for init callbacks) -void LLFloaterReg::initUICtrlToFloaterVisibilityControl(LLUICtrl* ctrl, const LLSD& sdname) -{ - // Get the visibility control name for the floater - std::string vis_control_name = LLFloaterReg::declareVisibilityControl(sdname.asString()); - // Set the control value to the floater visibility control (Sets the value as well) - ctrl->setControlVariable(LLFloater::getControlGroup()->getControl(vis_control_name)); -} - -// callback args may use "floatername.key" format -static void parse_name_key(std::string& name, LLSD& key) -{ - std::string instname = name; - std::size_t dotpos = instname.find("."); - if (dotpos != std::string::npos) - { - name = instname.substr(0, dotpos); - key = LLSD(instname.substr(dotpos+1, std::string::npos)); - } -} - -//static -void LLFloaterReg::showFloaterInstance(const LLSD& sdname) -{ - LLSD key; - std::string name = sdname.asString(); - parse_name_key(name, key); - showInstance(name, key, TRUE); -} -//static -void LLFloaterReg::hideFloaterInstance(const LLSD& sdname) -{ - LLSD key; - std::string name = sdname.asString(); - parse_name_key(name, key); - hideInstance(name, key); -} //static -void LLFloaterReg::toggleFloaterInstance(const LLSD& sdname) -{ - LLSD key; - std::string name = sdname.asString(); - parse_name_key(name, key); - toggleInstance(name, key); -} - -//static -void LLFloaterReg::toggleToolbarFloaterInstance(const LLSD& sdname) +void LLFloaterReg::toggleInstanceOrBringToFront(const LLSD& sdname, const LLSD& key) { // // Floaters controlled by the toolbar behave a bit differently from others. @@ -501,11 +452,7 @@ void LLFloaterReg::toggleToolbarFloaterInstance(const LLSD& sdname) // * Else the target floater is open, close it. // - // First parse the parameter - LLSD key; std::string name = sdname.asString(); - parse_name_key(name, key); - LLFloater* instance = getInstance(name, key); if (!instance) @@ -532,47 +479,6 @@ void LLFloaterReg::toggleToolbarFloaterInstance(const LLSD& sdname) } } -//static -bool LLFloaterReg::floaterInstanceOpen(const LLSD& sdname) -{ - LLSD key; - std::string name = sdname.asString(); - parse_name_key(name, key); - - bool visible_or_minimized = instanceVisible(name, key); - - if (!visible_or_minimized) - { - LLFloater* instance = findInstance(name, key); - - if (instance != NULL) - { - visible_or_minimized = LLFloater::isMinimized(instance); - } - } - - return visible_or_minimized; -} - -//static -bool LLFloaterReg::floaterInstanceVisible(const LLSD& sdname) -{ - LLSD key; - std::string name = sdname.asString(); - parse_name_key(name, key); - return instanceVisible(name, key); -} - -//static -bool LLFloaterReg::floaterInstanceMinimized(const LLSD& sdname) -{ - LLSD key; - std::string name = sdname.asString(); - parse_name_key(name, key); - LLFloater* instance = findInstance(name, key); - return LLFloater::isShown(instance); -} - // static U32 LLFloaterReg::getVisibleFloaterInstanceCount() { diff --git a/indra/llui/llfloaterreg.h b/indra/llui/llfloaterreg.h index 817fe2e8c6a..534cf8b40ab 100644 --- a/indra/llui/llfloaterreg.h +++ b/indra/llui/llfloaterreg.h @@ -124,14 +124,7 @@ class LLFloaterReg static void registerControlVariables(); // Callback wrappers - static void initUICtrlToFloaterVisibilityControl(LLUICtrl* ctrl, const LLSD& sdname); - static void showFloaterInstance(const LLSD& sdname); - static void hideFloaterInstance(const LLSD& sdname); - static void toggleFloaterInstance(const LLSD& sdname); - static void toggleToolbarFloaterInstance(const LLSD& sdname); - static bool floaterInstanceOpen(const LLSD& sdname); - static bool floaterInstanceVisible(const LLSD& sdname); - static bool floaterInstanceMinimized(const LLSD& sdname); + static void toggleInstanceOrBringToFront(const LLSD& sdname, const LLSD& key = LLSD()); // Typed find / get / show template <class T> diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp index 9c0253f0743..79ad99a7704 100644 --- a/indra/llui/llui.cpp +++ b/indra/llui/llui.cpp @@ -89,7 +89,7 @@ std::list<std::string> gUntranslated; /*static*/ LLUI::remove_popup_t LLUI::sRemovePopupFunc; /*static*/ LLUI::clear_popups_t LLUI::sClearPopupsFunc; -// register filtereditor here +// register filter editor here static LLDefaultChildRegistry::Register<LLFilterEditor> register_filter_editor("filter_editor"); static LLDefaultChildRegistry::Register<LLFlyoutButton> register_flyout_button("flyout_button"); static LLDefaultChildRegistry::Register<LLSearchEditor> register_search_editor("search_editor"); @@ -106,7 +106,7 @@ void make_ui_sound(const char* namep) std::string name = ll_safe_string(namep); if (!LLUI::sSettingGroups["config"]->controlExists(name)) { - llwarns << "tried to make ui sound for unknown sound name: " << name << llendl; + llwarns << "tried to make UI sound for unknown sound name: " << name << llendl; } else { @@ -117,12 +117,12 @@ void make_ui_sound(const char* namep) { if (LLUI::sSettingGroups["config"]->getBOOL("UISndDebugSpamToggle")) { - llinfos << "ui sound name: " << name << " triggered but silent (null uuid)" << llendl; + llinfos << "UI sound name: " << name << " triggered but silent (null uuid)" << llendl; } } else { - llwarns << "ui sound named: " << name << " does not translate to a valid uuid" << llendl; + llwarns << "UI sound named: " << name << " does not translate to a valid uuid" << llendl; } } @@ -130,7 +130,7 @@ void make_ui_sound(const char* namep) { if (LLUI::sSettingGroups["config"]->getBOOL("UISndDebugSpamToggle")) { - llinfos << "ui sound name: " << name << llendl; + llinfos << "UI sound name: " << name << llendl; } LLUI::sAudioCallback(uuid); } @@ -474,7 +474,7 @@ void gl_draw_scaled_image_with_border(S32 x, S32 y, S32 width, S32 height, LLTex return; } - // add in offset of current image to current ui translation + // add in offset of current image to current UI translation const LLVector3 ui_scale = gGL.getUIScale(); const LLVector3 ui_translation = (gGL.getUITranslation() + LLVector3(x, y, 0.f)).scaledVec(ui_scale); @@ -1616,17 +1616,16 @@ void LLUI::initClass(const settings_map_t& settings, LLUICtrl::CommitCallbackRegistry::Registrar& reg = LLUICtrl::CommitCallbackRegistry::defaultRegistrar(); - // Callbacks for associating controls with floater visibilty: - reg.add("Floater.Toggle", boost::bind(&LLFloaterReg::toggleFloaterInstance, _2)); - reg.add("Floater.ToolbarToggle", boost::bind(&LLFloaterReg::toggleToolbarFloaterInstance, _2)); - reg.add("Floater.Show", boost::bind(&LLFloaterReg::showFloaterInstance, _2)); - reg.add("Floater.Hide", boost::bind(&LLFloaterReg::hideFloaterInstance, _2)); - reg.add("Floater.InitToVisibilityControl", boost::bind(&LLFloaterReg::initUICtrlToFloaterVisibilityControl, _1, _2)); + // Callbacks for associating controls with floater visibility: + reg.add("Floater.Toggle", boost::bind(&LLFloaterReg::toggleInstance, _2, LLSD())); + reg.add("Floater.ToggleOrBringToFront", boost::bind(&LLFloaterReg::toggleInstanceOrBringToFront, _2, LLSD())); + reg.add("Floater.Show", boost::bind(&LLFloaterReg::showInstance, _2, LLSD(), FALSE)); + reg.add("Floater.Hide", boost::bind(&LLFloaterReg::hideInstance, _2, LLSD())); // Button initialization callback for toggle buttons reg.add("Button.SetFloaterToggle", boost::bind(&LLButton::setFloaterToggle, _1, _2)); - // Button initialization callback for toggle buttons on dockale floaters + // Button initialization callback for toggle buttons on dockable floaters reg.add("Button.SetDockableFloaterToggle", boost::bind(&LLButton::setDockableFloaterToggle, _1, _2)); // Display the help topic for the current context @@ -1635,9 +1634,9 @@ void LLUI::initClass(const settings_map_t& settings, // Currently unused, but kept for reference: reg.add("Button.ToggleFloater", boost::bind(&LLButton::toggleFloaterAndSetToggleState, _1, _2)); - // Used by menus along with Floater.Toggle to display visibility as a checkmark - LLUICtrl::EnableCallbackRegistry::defaultRegistrar().add("Floater.Visible", boost::bind(&LLFloaterReg::floaterInstanceVisible, _2)); - LLUICtrl::EnableCallbackRegistry::defaultRegistrar().add("Floater.IsOpen", boost::bind(&LLFloaterReg::floaterInstanceOpen, _2)); + // Used by menus along with Floater.Toggle to display visibility as a check-mark + LLUICtrl::EnableCallbackRegistry::defaultRegistrar().add("Floater.Visible", boost::bind(&LLFloaterReg::instanceVisible, _2, LLSD())); + LLUICtrl::EnableCallbackRegistry::defaultRegistrar().add("Floater.IsOpen", boost::bind(&LLFloaterReg::instanceVisible, _2, LLSD())); // Parse the master list of commands LLCommandManager::load(); @@ -2034,12 +2033,12 @@ void LLUI::positionViewNearMouse(LLView* view, S32 spawn_x, S32 spawn_y) CURSOR_HEIGHT + MOUSE_CURSOR_PADDING * 2); S32 local_x, local_y; - // convert screen coordinates to tooltipview-local coordinates + // convert screen coordinates to tooltip view-local coordinates parent->screenPointToLocal(spawn_x, spawn_y, &local_x, &local_y); // Start at spawn position (using left/top) view->setOrigin( local_x, local_y - view->getRect().getHeight()); - // Make sure we're onscreen and not overlapping the mouse + // Make sure we're on-screen and not overlapping the mouse view->translateIntoRectWithExclusion( virtual_window_rect, mouse_rect, FALSE ); } diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 3625ce5088d..e4aaca1bd08 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -5,7 +5,7 @@ icon="Command_AboutLand_Icon" label_ref="Command_AboutLand_Label" tooltip_ref="Command_AboutLand_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="about_land" is_running_function="Floater.IsOpen" is_running_parameters="about_land" @@ -15,7 +15,7 @@ icon="Command_Appearance_Icon" label_ref="Command_Appearance_Label" tooltip_ref="Command_Appearance_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="appearance" is_running_function="Floater.IsOpen" is_running_parameters="appearance" @@ -25,7 +25,7 @@ icon="Command_Avatar_Icon" label_ref="Command_Avatar_Label" tooltip_ref="Command_Avatar_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="avatar" is_running_function="Floater.IsOpen" is_running_parameters="avatar" @@ -35,7 +35,7 @@ icon="Command_Build_Icon" label_ref="Command_Build_Label" tooltip_ref="Command_Build_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="build" is_enabled_function="Agent.IsActionAllowed" is_enabled_parameters="build" @@ -47,7 +47,7 @@ icon="Command_Chat_Icon" label_ref="Command_Chat_Label" tooltip_ref="Command_Chat_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="chat_bar" is_running_function="Floater.IsOpen" is_running_parameters="chat_bar" @@ -57,7 +57,7 @@ icon="Command_Compass_Icon" label_ref="Command_Compass_Label" tooltip_ref="Command_Compass_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="compass" is_running_function="Floater.IsOpen" is_running_parameters="compass" @@ -67,7 +67,7 @@ icon="Command_Destinations_Icon" label_ref="Command_Destinations_Label" tooltip_ref="Command_Destinations_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="destinations" is_running_function="Floater.IsOpen" is_running_parameters="destinations" @@ -77,7 +77,7 @@ icon="Command_Gestures_Icon" label_ref="Command_Gestures_Label" tooltip_ref="Command_Gestures_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="gestures" is_running_function="Floater.IsOpen" is_running_parameters="gestures" @@ -87,8 +87,7 @@ icon="Command_HowTo_Icon" label_ref="Command_HowTo_Label" tooltip_ref="Command_HowTo_Tooltip" - execute_function="Floater.ToolbarToggle" - execute_parameters="help_browser" + execute_function="Help.ToggleHowTo" is_running_function="Floater.IsOpen" is_running_parameters="help_browser" /> @@ -97,7 +96,7 @@ icon="Command_Inventory_Icon" label_ref="Command_Inventory_Label" tooltip_ref="Command_Inventory_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="my_inventory" is_running_function="Floater.IsOpen" is_running_parameters="my_inventory" @@ -107,7 +106,7 @@ icon="Command_Map_Icon" label_ref="Command_Map_Label" tooltip_ref="Command_Map_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="world_map" is_running_function="Floater.IsOpen" is_running_parameters="world_map" @@ -117,7 +116,7 @@ icon="Command_Marketplace_Icon" label_ref="Command_Marketplace_Label" tooltip_ref="Command_Marketplace_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="marketplace" is_running_function="Floater.IsOpen" is_running_parameters="marketplace" @@ -127,7 +126,7 @@ icon="Command_MiniMap_Icon" label_ref="Command_MiniMap_Label" tooltip_ref="Command_MiniMap_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="mini_map" is_running_function="Floater.IsOpen" is_running_parameters="mini_map" @@ -137,7 +136,7 @@ icon="Command_Move_Icon" label_ref="Command_Move_Label" tooltip_ref="Command_Move_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="moveview" is_running_function="Floater.IsOpen" is_running_parameters="moveview" @@ -147,7 +146,7 @@ icon="Command_People_Icon" label_ref="Command_People_Label" tooltip_ref="Command_People_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="people" is_running_function="Floater.IsOpen" is_running_parameters="people" @@ -157,7 +156,7 @@ icon="Command_Picks_Icon" label_ref="Command_Picks_Label" tooltip_ref="Command_Picks_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="picks" is_running_function="Floater.IsOpen" is_running_parameters="picks" @@ -167,7 +166,7 @@ icon="Command_Places_Icon" label_ref="Command_Places_Label" tooltip_ref="Command_Places_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="places" is_running_function="Floater.IsOpen" is_running_parameters="places" @@ -177,7 +176,7 @@ icon="Command_Preferences_Icon" label_ref="Command_Preferences_Label" tooltip_ref="Command_Preferences_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="preferences" is_running_function="Floater.IsOpen" is_running_parameters="preferences" @@ -195,7 +194,7 @@ icon="Command_Search_Icon" label_ref="Command_Search_Label" tooltip_ref="Command_Search_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="search" is_running_function="Floater.IsOpen" is_running_parameters="search" @@ -205,7 +204,7 @@ icon="Command_Snapshot_Icon" label_ref="Command_Snapshot_Label" tooltip_ref="Command_Snapshot_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="snapshot" is_running_function="Floater.IsOpen" is_running_parameters="snapshot" @@ -229,7 +228,7 @@ icon="Command_View_Icon" label_ref="Command_View_Label" tooltip_ref="Command_View_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="camera" is_running_function="Floater.IsOpen" is_running_parameters="camera" @@ -239,7 +238,7 @@ icon="Command_Voice_Icon" label_ref="Command_Voice_Label" tooltip_ref="Command_Voice_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="voice_controls" is_running_function="Floater.IsOpen" is_running_parameters="voice_controls" diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp index 80c431f4812..d5e289e6e6a 100644 --- a/indra/newview/llpanelpeople.cpp +++ b/indra/newview/llpanelpeople.cpp @@ -1451,7 +1451,7 @@ bool LLPanelPeople::notifyChildren(const LLSD& info) container->onOpen(LLSD().with(LLSideTrayPanelContainer::PARAM_SUB_PANEL_NAME, getName())); } else - LLFloaterReg::hideFloaterInstance("people"); + LLFloaterReg::hideInstance("people"); return true; // this notification is only supposed to be handled by task panels } diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 3463eec5d8b..b5ed8b04bc4 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -289,6 +289,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("snapshot", "floater_snapshot.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSnapshot>); LLFloaterReg::add("search", "floater_search.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSearch>); LLFloaterReg::add("profile", "floater_web_content.xml", (LLFloaterBuildFunc)&LLFloaterWebContent::create); + LLFloaterReg::add("how_to", "floater_web_content.xml", (LLFloaterBuildFunc)&LLFloaterWebContent::create); LLFloaterUIPreviewUtil::registerFloater(); -- GitLab From 211ad465bf97dd0c9c858671be94d397fbfaf67b Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Thu, 13 Oct 2011 10:50:10 -0700 Subject: [PATCH 196/256] added url for how to help content --- indra/newview/app_settings/settings.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 4b847dfbf71..2dbf9e714b8 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -4028,6 +4028,17 @@ <key>Value</key> <string>http://viewer-help.secondlife.com/[LANGUAGE]/[CHANNEL]/[VERSION]/[TOPIC][DEBUG_MODE]</string> </map> + <key>HowToHelpURL</key> + <map> + <key>Comment</key> + <string>URL for How To help content</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>String</string> + <key>Value</key> + <string>http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/howto/index.html</string> + </map> <key>HomeSidePanelURL</key> <map> <key>Comment</key> -- GitLab From 972bbd39e19c7a0cbab4b55bc0cad18462bdeaaa Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Thu, 13 Oct 2011 14:23:06 -0700 Subject: [PATCH 197/256] EXP-1345 FIX Chat text color is all blank when restarting --- indra/llxuixml/llinitparam.cpp | 2 +- indra/llxuixml/llinitparam.h | 6 +++--- indra/llxuixml/llxuiparser.cpp | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/indra/llxuixml/llinitparam.cpp b/indra/llxuixml/llinitparam.cpp index 2520502cf1f..482064ed7b6 100644 --- a/indra/llxuixml/llinitparam.cpp +++ b/indra/llxuixml/llinitparam.cpp @@ -190,7 +190,7 @@ namespace LLInitParam return true; } - void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t name_stack, const LLInitParam::BaseBlock* diff_block) const + void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t& name_stack, const LLInitParam::BaseBlock* diff_block) const { // named param is one like LLView::Params::follows // unnamed param is like LLView::Params::rect - implicit diff --git a/indra/llxuixml/llinitparam.h b/indra/llxuixml/llinitparam.h index 06140d09319..1e295ada2da 100644 --- a/indra/llxuixml/llinitparam.h +++ b/indra/llxuixml/llinitparam.h @@ -465,7 +465,7 @@ namespace LLInitParam S32 getLastChangeVersion() const { return mChangeVersion; } bool deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack_range, bool new_name); - void serializeBlock(Parser& p, Parser::name_stack_t name_stack = Parser::name_stack_t(), const BaseBlock* diff_block = NULL) const; + void serializeBlock(Parser& p, Parser::name_stack_t& name_stack, const BaseBlock* diff_block = NULL) const; bool inspectBlock(Parser& p, Parser::name_stack_t name_stack = Parser::name_stack_t(), S32 min_count = 0, S32 max_count = S32_MAX) const; virtual const BlockDescriptor& mostDerivedBlockDescriptor() const { return selfBlockDescriptor(); } @@ -1774,7 +1774,7 @@ namespace LLInitParam // block param interface bool deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack_range, bool new_name); - void serializeBlock(Parser& p, Parser::name_stack_t name_stack = Parser::name_stack_t(), const BaseBlock* diff_block = NULL) const; + void serializeBlock(Parser& p, Parser::name_stack_t& name_stack, const BaseBlock* diff_block = NULL) const; bool inspectBlock(Parser& p, Parser::name_stack_t name_stack = Parser::name_stack_t(), S32 min_count = 0, S32 max_count = S32_MAX) const { //TODO: implement LLSD params as schema type Any @@ -1838,7 +1838,7 @@ namespace LLInitParam return typed_param.BaseBlock::deserializeBlock(parser, name_stack_range, new_name); } - void serializeBlock(Parser& parser, Parser::name_stack_t name_stack = Parser::name_stack_t(), const BaseBlock* diff_block = NULL) const + void serializeBlock(Parser& parser, Parser::name_stack_t& name_stack, const BaseBlock* diff_block = NULL) const { const derived_t& typed_param = static_cast<const derived_t&>(*this); const derived_t* diff_param = static_cast<const derived_t*>(diff_block); diff --git a/indra/llxuixml/llxuiparser.cpp b/indra/llxuixml/llxuiparser.cpp index aee8fa8d8f8..9c3e855c81a 100644 --- a/indra/llxuixml/llxuiparser.cpp +++ b/indra/llxuixml/llxuiparser.cpp @@ -739,6 +739,7 @@ LLXMLNodePtr LLXUIParser::getNode(name_stack_t& stack) ++next_it; if (it->first.empty()) { + it->second = false; continue; } -- GitLab From 1e0a81ad68460f3bf11f4fced84c8832cedc4508 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Thu, 13 Oct 2011 14:50:37 -0700 Subject: [PATCH 198/256] Build fixes because damn standard doesn't allow binding rvalues to non-const refs. --- indra/llui/llsdparam.cpp | 6 ++++-- indra/llui/tests/llurlentry_stub.cpp | 2 +- indra/llui/tests/llurlmatch_test.cpp | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/indra/llui/llsdparam.cpp b/indra/llui/llsdparam.cpp index 242b1fca7f7..6fa90933a4c 100644 --- a/indra/llui/llsdparam.cpp +++ b/indra/llui/llsdparam.cpp @@ -104,7 +104,9 @@ void LLParamSDParser::writeSD(LLSD& sd, const LLInitParam::BaseBlock& block) { mNameStack.clear(); mWriteRootSD = &sd; - block.serializeBlock(*this); + + name_stack_t name_stack; + block.serializeBlock(*this, name_stack); } /*virtual*/ std::string LLParamSDParser::getCurrentElementName() @@ -329,7 +331,7 @@ namespace LLInitParam p.writeValue<LLSD::String>(sd.asString(), name_stack); } - void ParamValue<LLSD, TypeValues<LLSD>, false>::serializeBlock(Parser& p, Parser::name_stack_t name_stack, const BaseBlock* diff_block) const + void ParamValue<LLSD, TypeValues<LLSD>, false>::serializeBlock(Parser& p, Parser::name_stack_t& name_stack, const BaseBlock* diff_block) const { // read from LLSD value and serialize out to parser (which could be LLSD, XUI, etc) Parser::name_stack_t stack; diff --git a/indra/llui/tests/llurlentry_stub.cpp b/indra/llui/tests/llurlentry_stub.cpp index c8303bfc894..4f251db93bb 100644 --- a/indra/llui/tests/llurlentry_stub.cpp +++ b/indra/llui/tests/llurlentry_stub.cpp @@ -125,7 +125,7 @@ namespace LLInitParam descriptor.mCurrentBlockPtr = this; } bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, bool new_name){ return true; } - void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t name_stack, const LLInitParam::BaseBlock* diff_block) const {} + void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t& name_stack, const LLInitParam::BaseBlock* diff_block) const {} bool BaseBlock::inspectBlock(Parser& parser, Parser::name_stack_t name_stack, S32 min_value, S32 max_value) const { return true; } bool BaseBlock::mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) { return true; } bool BaseBlock::validateBlock(bool emit_errors) const { return true; } diff --git a/indra/llui/tests/llurlmatch_test.cpp b/indra/llui/tests/llurlmatch_test.cpp index 9dbccf125a3..627f3129e93 100644 --- a/indra/llui/tests/llurlmatch_test.cpp +++ b/indra/llui/tests/llurlmatch_test.cpp @@ -97,7 +97,7 @@ namespace LLInitParam } bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, bool new_name){ return true; } - void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t name_stack, const LLInitParam::BaseBlock* diff_block) const {} + void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t& name_stack, const LLInitParam::BaseBlock* diff_block) const {} bool BaseBlock::inspectBlock(Parser& parser, Parser::name_stack_t name_stack, S32 min_count, S32 max_count) const { return true; } bool BaseBlock::mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) { return true; } bool BaseBlock::validateBlock(bool emit_errors) const { return true; } -- GitLab From 6b7ea2f198e9ec721b6e01aaeba3b6c7a44db7d2 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Thu, 13 Oct 2011 14:56:19 -0700 Subject: [PATCH 199/256] Mac build fix --- indra/llxuixml/llxuiparser.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/indra/llxuixml/llxuiparser.cpp b/indra/llxuixml/llxuiparser.cpp index 9c3e855c81a..d4556113eae 100644 --- a/indra/llxuixml/llxuiparser.cpp +++ b/indra/llxuixml/llxuiparser.cpp @@ -722,7 +722,8 @@ bool LLXUIParser::readAttributes(LLXMLNodePtr nodep, LLInitParam::BaseBlock& blo void LLXUIParser::writeXUI(LLXMLNodePtr node, const LLInitParam::BaseBlock &block, const LLInitParam::BaseBlock* diff_block) { mWriteRootNode = node; - block.serializeBlock(*this, Parser::name_stack_t(), diff_block); + name_stack_t name_stack = Parser::name_stack_t(); + block.serializeBlock(*this, name_stack, diff_block); mOutNodes.clear(); } -- GitLab From fc2929bf4f6366c3a3386e4b79b0fda7bd0466ba Mon Sep 17 00:00:00 2001 From: Dave Parks <davep@lindenlab.com> Date: Thu, 13 Oct 2011 17:06:33 -0500 Subject: [PATCH 200/256] SH-2559 Remove fast timer (could be responsible for some crashes). --- indra/llcommon/llsdserialize_xml.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/indra/llcommon/llsdserialize_xml.cpp b/indra/llcommon/llsdserialize_xml.cpp index bf216d41bf1..be9db539068 100644 --- a/indra/llcommon/llsdserialize_xml.cpp +++ b/indra/llcommon/llsdserialize_xml.cpp @@ -354,7 +354,6 @@ static unsigned get_till_eol(std::istream& input, char *buf, unsigned bufsize) return count; } -LLFastTimer::DeclareTimer FTM_SD_PARSE_READ_STREAM("LLSD Read Stream"); S32 LLSDXMLParser::Impl::parse(std::istream& input, LLSD& data) { XML_Status status; @@ -374,7 +373,7 @@ S32 LLSDXMLParser::Impl::parse(std::istream& input, LLSD& data) { break; } - { LLFastTimer _(FTM_SD_PARSE_READ_STREAM); + { count = get_till_eol(input, (char *)buffer, BUFFER_SIZE); if (!count) -- GitLab From bdf6363e6aa4216913607e83bfc5e159f2535407 Mon Sep 17 00:00:00 2001 From: Seth ProductEngine <slitovchuk@productengine.com> Date: Fri, 14 Oct 2011 01:07:16 +0300 Subject: [PATCH 201/256] EXP-1282 FIXED Bottom bar removed. - LLBottomTray code and XUI removed. - "Speak" buttom which resided in Bottom bar removed. - Voice connection status update moved from LLBottomTray to LLVivoxVoiceClient. --- indra/newview/CMakeLists.txt | 4 - indra/newview/llbottomtray.cpp | 1996 ----------------- indra/newview/llbottomtray.h | 564 ----- indra/newview/llchatbar.cpp | 1 - indra/newview/llfloatersounddevices.cpp | 4 - indra/newview/llimpanel.cpp | 1 - indra/newview/llimview.cpp | 8 - indra/newview/llnearbychathandler.cpp | 1 - indra/newview/llspeakbutton.cpp | 165 -- indra/newview/llspeakbutton.h | 88 - indra/newview/llviewermenu.cpp | 5 +- indra/newview/llviewerwindow.cpp | 11 +- indra/newview/llvoicevivox.cpp | 15 +- .../skins/default/xui/en/panel_bottomtray.xml | 530 ----- .../skins/default/xui/en/panel_side_tray.xml | 174 -- 15 files changed, 21 insertions(+), 3546 deletions(-) delete mode 100644 indra/newview/llbottomtray.cpp delete mode 100644 indra/newview/llbottomtray.h delete mode 100644 indra/newview/llspeakbutton.cpp delete mode 100644 indra/newview/llspeakbutton.h delete mode 100644 indra/newview/skins/default/xui/en/panel_bottomtray.xml delete mode 100644 indra/newview/skins/default/xui/en/panel_side_tray.xml diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 6cbd76bc71a..4024e93b331 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -102,7 +102,6 @@ set(viewer_SOURCE_FILES llavatarlist.cpp llavatarlistitem.cpp llavatarpropertiesprocessor.cpp - llbottomtray.cpp llbox.cpp llbreadcrumbview.cpp llbrowsernotification.cpp @@ -449,7 +448,6 @@ set(viewer_SOURCE_FILES llsky.cpp llslurl.cpp llspatialpartition.cpp - llspeakbutton.cpp llspeakers.cpp llspeakingindicatormanager.cpp llsplitbutton.cpp @@ -669,7 +667,6 @@ set(viewer_HEADER_FILES llavatarlist.h llavatarlistitem.h llavatarpropertiesprocessor.h - llbottomtray.h llbox.h llbreadcrumbview.h llbuycurrencyhtml.h @@ -1011,7 +1008,6 @@ set(viewer_HEADER_FILES llsky.h llslurl.h llspatialpartition.h - llspeakbutton.h llspeakers.h llspeakingindicatormanager.h llsplitbutton.h diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp deleted file mode 100644 index af91702f9b8..00000000000 --- a/indra/newview/llbottomtray.cpp +++ /dev/null @@ -1,1996 +0,0 @@ -/** - * @file llbottomtray.cpp - * @brief LLBottomTray class implementation - * - * $LicenseInfo:firstyear=2009&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#include "llviewerprecompiledheaders.h" // must be first include - -#define LLBOTTOMTRAY_CPP -#include "llbottomtray.h" - -// library includes -#include "llfloaterreg.h" -#include "llfloatersidepanelcontainer.h" -#include "llflyoutbutton.h" -#include "lllayoutstack.h" -#include "llnotifications.h" -#include "llnotificationsutil.h" -#include "lltexteditor.h" - -// newview includes -#include "llagent.h" -#include "llagentcamera.h" -#include "llavataractions.h" -#include "llchiclet.h" -#include "llfloatercamera.h" -#include "llhints.h" -#include "llimfloater.h" // for LLIMFloater -#include "llnearbychatbar.h" -#include "llnearbychatbarlistener.h" -#include "llspeakbutton.h" -#include "llsplitbutton.h" -#include "llsyswellwindow.h" -#include "lltoolmgr.h" -#include "llviewerparcelmgr.h" - -#include "llviewerwindow.h" -#include "llsdserialize.h" -#include "llfirstuse.h" - -// Distance from mouse down on which drag'n'drop should be started. -#define DRAG_START_DISTANCE 3 - -static const std::string SORTING_DATA_FILE_NAME = "bottomtray_buttons_order.xml"; - -LLDefaultChildRegistry::Register<LLBottomtrayButton> bottomtray_button("bottomtray_button"); - -// LLBottomtrayButton methods - -// virtual -BOOL LLBottomtrayButton::handleHover(S32 x, S32 y, MASK mask) -{ - if (mCanDrag) - { - // pass hover to bottomtray - S32 screenX, screenY; - localPointToScreen(x, y, &screenX, &screenY); - LLBottomTray::getInstance()->onDraggableButtonHover(screenX, screenY); - - return TRUE; - } - else - { - return LLButton::handleHover(x, y, mask); - } -} -//virtual -BOOL LLBottomtrayButton::handleMouseUp(S32 x, S32 y, MASK mask) -{ - if (mCanDrag) - { - S32 screenX, screenY; - localPointToScreen(x, y, &screenX, &screenY); - // pass mouse up to bottomtray - LLBottomTray::getInstance()->onDraggableButtonMouseUp(this, screenX, screenY); - } - return LLButton::handleMouseUp(x, y, mask); -} -//virtual -BOOL LLBottomtrayButton::handleMouseDown(S32 x, S32 y, MASK mask) -{ - if (mCanDrag) - { - S32 screenX, screenY; - localPointToScreen(x, y, &screenX, &screenY); - // pass mouse up to bottomtray - LLBottomTray::getInstance()->onDraggableButtonMouseDown(this, screenX, screenY); - } - return LLButton::handleMouseDown(x, y, mask); -} - -static void update_build_button_enable_state() -{ - bool can_edit = LLToolMgr::getInstance()->canEdit(); - - LLBottomTray::getInstance()->getChildView("build_btn")->setEnabled(can_edit); -} - -// Build time optimization, generate extern template once in .cpp file -template class LLBottomTray* LLSingleton<class LLBottomTray>::getInstance(); - -namespace -{ - const std::string& PANEL_CHICLET_NAME = "chiclet_list_panel"; - - S32 get_panel_min_width(LLLayoutStack* stack, LLView* panel) - { - S32 minimal_width = 0; - llassert(stack); - if ( stack && panel && panel->getVisible() ) - { - stack->getPanelMinSize(panel->getName(), &minimal_width); - } - return minimal_width; - } - - S32 get_panel_max_width(LLLayoutStack* stack, LLPanel* panel) - { - S32 max_width = 0; - llassert(stack); - if ( stack && panel && panel->getVisible() ) - { - stack->getPanelMaxSize(panel->getName(), &max_width); - } - return max_width; - } - - S32 get_curr_width(LLUICtrl* ctrl) - { - S32 cur_width = 0; - if ( ctrl && ctrl->getVisible() ) - { - cur_width = ctrl->getRect().getWidth(); - } - return cur_width; - } -} - -class LLBottomTrayLite - : public LLPanel -{ -public: - LLBottomTrayLite() - : mNearbyChatBar(NULL), - mChatBarContainer(NULL), - mGesturePanel(NULL) - { - //mFactoryMap["chat_bar"] = LLCallbackMap(LLBottomTray::createNearbyChatBar, NULL); - buildFromFile("panel_bottomtray_lite.xml"); - } - - BOOL postBuild() - { - //mNearbyChatBar = findChild<LLNearbyChatBar>("chat_bar"); - mChatBarContainer = getChild<LLLayoutPanel>("chat_bar_layout_panel"); - mGesturePanel = getChild<LLPanel>("gesture_panel"); - - // Hide "show_nearby_chat" button - if (mNearbyChatBar) - { - LLLineEditor* chat_box = mNearbyChatBar->getChatBox(); - LLUICtrl* show_btn = mNearbyChatBar->getChild<LLUICtrl>("show_nearby_chat"); - S32 delta_width = show_btn->getRect().getWidth(); - show_btn->setVisible(FALSE); - chat_box->reshape(chat_box->getRect().getWidth() + delta_width, chat_box->getRect().getHeight()); - } - return TRUE; - } - - void onFocusLost() - { - if (gAgentCamera.cameraMouselook()) - { - LLBottomTray::getInstance()->setVisible(FALSE); - } - } - - LLNearbyChatBar* mNearbyChatBar; - LLLayoutPanel* mChatBarContainer; - LLPanel* mGesturePanel; -}; - -LLBottomTray::LLBottomTray(const LLSD&) -: mDesiredNearbyChatWidth(0), - mChicletPanel(NULL), - mSpeakPanel(NULL), - mSpeakBtn(NULL), - mNearbyChatBar(NULL), - mChatBarContainer(NULL), - mNearbyCharResizeHandlePanel(NULL), - mToolbarStack(NULL), - mMovementButton(NULL), - mResizeState(RS_NORESIZE), - mBottomTrayContextMenu(NULL), - mCamButton(NULL), - mBottomTrayLite(NULL), - mIsInLiteMode(false), - mDragStarted(false), - mDraggedItem(NULL), - mLandingTab(NULL), - mCheckForDrag(false) -{ - // Firstly add our self to IMSession observers, so we catch session events - // before chiclets do that. - LLIMMgr::getInstance()->addSessionObserver(this); - - //mFactoryMap["chat_bar"] = LLCallbackMap(LLBottomTray::createNearbyChatBar, NULL); - - buildFromFile("panel_bottomtray.xml"); - - LLUICtrl::CommitCallbackRegistry::defaultRegistrar().add("CameraPresets.ChangeView", boost::bind(&LLFloaterCamera::onClickCameraItem, _2)); - - //this is to fix a crash that occurs because LLBottomTray is a singleton - //and thus is deleted at the end of the viewers lifetime, but to be cleanly - //destroyed LLBottomTray requires some subsystems that are long gone - //LLUI::getRootView()->addChild(this); - - { - mBottomTrayLite = new LLBottomTrayLite(); - mBottomTrayLite->setFollowsAll(); - mBottomTrayLite->setVisible(FALSE); - } - - mImageDragIndication = LLUI::getUIImage(getString("DragIndicationImageName")); - mDesiredNearbyChatWidth = mNearbyChatBar ? mNearbyChatBar->getRect().getWidth() : 0; -} - -LLBottomTray::~LLBottomTray() -{ - if (!LLSingleton<LLIMMgr>::destroyed()) - { - LLIMMgr::getInstance()->removeSessionObserver(this); - } - - if (mNearbyChatBar) - { - // store custom width of chatbar panel. - S32 custom_width = mChatBarContainer->getRect().getWidth(); - gSavedSettings.setS32("ChatBarCustomWidth", custom_width); - } - - // emulate previous floater behavior to be hidden on startup. - // override effect of save_visibility=true. - // this attribute is necessary to button.initial_callback=Button.SetFloaterToggle works properly: - // i.g when floater changes its visibility - button changes its toggle state. - getChild<LLUICtrl>("build_btn")->setControlValue(false); - getChild<LLUICtrl>("search_btn")->setControlValue(false); - getChild<LLUICtrl>("world_map_btn")->setControlValue(false); -} - -// *TODO Vadim: why void* ? -void* LLBottomTray::createNearbyChatBar(void* userdata) -{ - //return new LLNearbyChatBar(); - return NULL; -} - -LLNearbyChatBar* LLBottomTray::getNearbyChatBar() -{ - return mIsInLiteMode ? mBottomTrayLite->mNearbyChatBar : mNearbyChatBar; -} - -LLIMChiclet* LLBottomTray::createIMChiclet(const LLUUID& session_id) -{ - LLIMChiclet::EType im_chiclet_type = LLIMChiclet::getIMSessionType(session_id); - - switch (im_chiclet_type) - { - case LLIMChiclet::TYPE_IM: - return getChicletPanel()->createChiclet<LLIMP2PChiclet>(session_id); - case LLIMChiclet::TYPE_GROUP: - return getChicletPanel()->createChiclet<LLIMGroupChiclet>(session_id); - case LLIMChiclet::TYPE_AD_HOC: - return getChicletPanel()->createChiclet<LLAdHocChiclet>(session_id); - case LLIMChiclet::TYPE_UNKNOWN: - break; - } - - return NULL; -} - -//virtual -void LLBottomTray::sessionAdded(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id) -{ - if (!getChicletPanel()) return; - - LLIMModel::LLIMSession* session = LLIMModel::getInstance()->findIMSession(session_id); - if (!session) return; - - // no need to spawn chiclets for participants in P2P calls called through Avaline - if (session->isP2P() && session->isOtherParticipantAvaline()) return; - - if (getChicletPanel()->findChiclet<LLChiclet>(session_id)) return; - - LLIMChiclet* chiclet = createIMChiclet(session_id); - if(chiclet) - { - chiclet->setIMSessionName(name); - chiclet->setOtherParticipantId(other_participant_id); - - LLIMFloater::onIMChicletCreated(session_id); - - } - else - { - llerrs << "Could not create chiclet" << llendl; - } -} - -//virtual -void LLBottomTray::sessionRemoved(const LLUUID& session_id) -{ - if(getChicletPanel()) - { - // IM floater should be closed when session removed and associated chiclet closed - LLIMFloater* iMfloater = LLFloaterReg::findTypedInstance<LLIMFloater>( - "impanel", session_id); - if (iMfloater != NULL) - { - iMfloater->closeFloater(); - } - - getChicletPanel()->removeChiclet(session_id); - } -} - -void LLBottomTray::sessionIDUpdated(const LLUUID& old_session_id, const LLUUID& new_session_id) -{ - //this is only needed in case of outgoing ad-hoc/group chat sessions - LLChicletPanel* chiclet_panel = getChicletPanel(); - if (chiclet_panel) - { - //it should be ad-hoc im chiclet or group im chiclet - LLChiclet* chiclet = chiclet_panel->findChiclet<LLChiclet>(old_session_id); - if (chiclet) chiclet->setSessionId(new_session_id); - } -} - -S32 LLBottomTray::getTotalUnreadIMCount() -{ - return getChicletPanel()->getTotalUnreadIMCount(); -} - -// virtual -void LLBottomTray::onChange(EStatusType status, const std::string &channelURI, bool proximal) -{ - // Time it takes to connect to voice channel might be pretty long, - // so don't expect user login or STATUS_VOICE_ENABLED to be followed by STATUS_JOINED. - BOOL enable = FALSE; - - switch (status) - { - // Do not add STATUS_VOICE_ENABLED because voice chat is - // inactive until STATUS_JOINED - case STATUS_JOINED: - enable = TRUE; - break; - default: - enable = FALSE; - break; - } - - // We have to enable/disable right and left parts of speak button separately (EXT-4648) - getChild<LLButton>("speak_btn")->setEnabled(enable); - - // skipped to avoid button blinking - if (status != STATUS_JOINING && status!= STATUS_LEFT_CHANNEL) - { - bool voice_status = LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking(); - - gAgent.setVoiceConnected(voice_status); - - getChild<LLButton>("speak_flyout_btn")->setEnabled(voice_status); - gMenuBarView->getChild<LLView>("Nearby Voice")->setEnabled(voice_status); - if (voice_status) - { - LLFirstUse::speak(true); - } - } -} - -void LLBottomTray::onMouselookModeOut() -{ - mIsInLiteMode = false; - mBottomTrayLite->setVisible(FALSE); - //mNearbyChatBar->getChatBox()->setText(mBottomTrayLite->mNearbyChatBar->getChatBox()->getText()); - setVisible(TRUE); -} - -void LLBottomTray::onMouselookModeIn() -{ - setVisible(FALSE); - - // Attach the lite bottom tray - if (getParent() && mBottomTrayLite->getParent() != getParent()) - getParent()->addChild(mBottomTrayLite); - - mBottomTrayLite->setShape(getLocalRect()); - //mBottomTrayLite->mNearbyChatBar->getChatBox()->setText(mNearbyChatBar->getChatBox()->getText()); - //mBottomTrayLite->mGesturePanel->setVisible(gSavedSettings.getBOOL("ShowGestureButton")); - - mIsInLiteMode = true; -} - -//virtual -// setVisible used instead of onVisibilityChange, since LLAgent calls it on entering/leaving mouselook mode. -// If bottom tray is already visible in mouselook mode, then onVisibilityChange will not be called from setVisible(true), -void LLBottomTray::setVisible(BOOL visible) -{ - if (mIsInLiteMode) - { - mBottomTrayLite->setVisible(visible); - } - else - { - LLPanel::setVisible(visible); - } -} - -S32 LLBottomTray::notifyParent(const LLSD& info) -{ - if(info.has("well_empty")) // implementation of EXT-3397 - { - const std::string chiclet_name = info["well_name"]; - - // only "im_well" or "notification_well" names are expected. - // They are set in panel_bottomtray.xml in <chiclet_im_well> & <chiclet_notification> - llassert("im_well" == chiclet_name || "notification_well" == chiclet_name); - - BOOL should_be_visible = !info["well_empty"]; - showWellButton("im_well" == chiclet_name ? RS_IM_WELL : RS_NOTIFICATION_WELL, should_be_visible); - return 1; - } - - if (info.has("action") && info["action"] == "resize") - { - const std::string& name = info["view_name"]; - - // expected only resize of nearby chatbar - if (mChatBarContainer->getName() != name) return LLPanel::notifyParent(info); - - const S32 new_width = info["new_width"]; - - processChatbarCustomization(new_width); - - return 2; - } - return LLPanel::notifyParent(info); -} - -void LLBottomTray::showBottomTrayContextMenu(S32 x, S32 y, MASK mask) -{ - // We should show BottomTrayContextMenu in last turn - if (mBottomTrayContextMenu && !LLMenuGL::sMenuContainer->getVisibleMenu()) - { - //there are no other context menu (IM chiclet etc ), so we can show BottomTrayContextMenu - - updateContextMenu(x, y, mask); - mBottomTrayContextMenu->buildDrawLabels(); - mBottomTrayContextMenu->updateParent(LLMenuGL::sMenuContainer); - LLMenuGL::showPopup(this, mBottomTrayContextMenu, x, y); - - } -} - -void LLBottomTray::updateContextMenu(S32 x, S32 y, MASK mask) -{ - LLUICtrl* edit_box = mNearbyChatBar->getChild<LLUICtrl>("chat_box"); - - S32 local_x = x - mChatBarContainer->getRect().mLeft - edit_box->getRect().mLeft; - S32 local_y = y - mChatBarContainer->getRect().mBottom - edit_box->getRect().mBottom; - - bool in_edit_box = edit_box->pointInView(local_x, local_y); - - mBottomTrayContextMenu->setItemVisible("Separator", in_edit_box); - mBottomTrayContextMenu->setItemVisible("NearbyChatBar_Cut", in_edit_box); - mBottomTrayContextMenu->setItemVisible("NearbyChatBar_Copy", in_edit_box); - mBottomTrayContextMenu->setItemVisible("NearbyChatBar_Paste", in_edit_box); - mBottomTrayContextMenu->setItemVisible("NearbyChatBar_Delete", in_edit_box); - mBottomTrayContextMenu->setItemVisible("NearbyChatBar_Select_All", in_edit_box); -} - -void LLBottomTray::showSpeakButton(bool visible) -{ - // Show/hide the button - setTrayButtonVisible(RS_BUTTON_SPEAK, visible); - - // and adjust other panels according to the occupied/freed space. - const S32 panel_width = mSpeakPanel->getRect().getWidth(); - if (visible) - { - processWidthDecreased(-panel_width); - } - else - { - processWidthIncreased(panel_width); - } -} - -void LLBottomTray::toggleMovementControls() -{ - if (mMovementButton) - mMovementButton->onCommit(); -} - -void LLBottomTray::toggleCameraControls() -{ - if (mCamButton) - mCamButton->onCommit(); -} - -BOOL LLBottomTray::postBuild() -{ - LLHints::registerHintTarget("bottom_tray", LLView::getHandle()); - LLHints::registerHintTarget("dest_guide_btn", getChild<LLUICtrl>("destination_btn")->getHandle()); - LLHints::registerHintTarget("avatar_picker_btn", getChild<LLUICtrl>("avatar_btn")->getHandle()); - - LLUICtrl::CommitCallbackRegistry::currentRegistrar().add("NearbyChatBar.Action", boost::bind(&LLBottomTray::onContextMenuItemClicked, this, _2)); - LLUICtrl::EnableCallbackRegistry::currentRegistrar().add("NearbyChatBar.EnableMenuItem", boost::bind(&LLBottomTray::onContextMenuItemEnabled, this, _2)); - - mBottomTrayContextMenu = LLUICtrlFactory::getInstance()->createFromFile<LLMenuGL>("menu_bottomtray.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance()); - gMenuHolder->addChild(mBottomTrayContextMenu); - - //mNearbyChatBar = findChild<LLNearbyChatBar>("chat_bar"); - //LLHints::registerHintTarget("chat_bar", mNearbyChatBar->LLView::getHandle()); - - //mListener.reset(new LLNearbyChatBarListener(*mNearbyChatBar)); - - mChatBarContainer = getChild<LLLayoutPanel>("chat_bar_layout_panel"); - mNearbyCharResizeHandlePanel = getChild<LLPanel>("chat_bar_resize_handle_panel"); - - mToolbarStack = getChild<LLLayoutStack>("toolbar_stack"); - mMovementButton = getChild<LLButton>("movement_btn"); - LLHints::registerHintTarget("move_btn", mMovementButton->getHandle()); - mCamButton = getChild<LLButton>("camera_btn"); - setRightMouseDownCallback(boost::bind(&LLBottomTray::showBottomTrayContextMenu,this, _2, _3,_4)); - - mSpeakPanel = getChild<LLPanel>("speak_panel"); - mSpeakBtn = findChild<LLSpeakButton>("talk"); - if (mSpeakBtn) - { - LLHints::registerHintTarget("speak_btn", mSpeakBtn->getHandle()); - - // Localization tool doesn't understand custom buttons like <talk_button> - mSpeakBtn->setSpeakToolTip( getString("SpeakBtnToolTip") ); - mSpeakBtn->setShowToolTip( getString("VoiceControlBtnToolTip") ); - } - else - { - LLTransientFloaterMgr::getInstance()->addControlView(getChild<LLButton>("speak_btn")); - LLTransientFloaterMgr::getInstance()->addControlView(getChild<LLButton>("flyout_btn")); - } - - - // Both parts of speak button should be initially disabled because - // it takes some time between logging in to world and connecting to voice channel. - getChild<LLButton>("speak_btn")->setEnabled(false); - getChild<LLButton>("speak_flyout_btn")->setEnabled(false); - gMenuBarView->getChild<LLView>("Nearby Voice")->setEnabled(false); - - // Registering Chat Bar to receive Voice client status change notifications. - LLVoiceClient::getInstance()->addObserver(this); - - //mNearbyChatBar->getChatBox()->setContextMenu(NULL); - - mChicletPanel = getChild<LLChicletPanel>("chiclet_list"); - - initResizeStateContainers(); - - setButtonsControlsAndListeners(); - - initButtonsVisibility(); - - // update wells visibility: - showWellButton(RS_IM_WELL, !LLIMWellWindow::getInstance()->isWindowEmpty()); - showWellButton(RS_NOTIFICATION_WELL, !LLNotificationWellWindow::getInstance()->isWindowEmpty()); - - loadButtonsOrder(); - - LLViewerParcelMgr::getInstance()->addAgentParcelChangedCallback(boost::bind(&update_build_button_enable_state)); - - return TRUE; -} - -//Drag-n-drop - -void LLBottomTray::onDraggableButtonMouseDown(LLUICtrl* ctrl, S32 x, S32 y) -{ - if (ctrl == NULL) return; - LLView* parent_view = ctrl->getParent(); - if(parent_view != NULL) - { - // we actually drag'n'drop panel (not button) in code, so have to find a parent - // of button which called this method on mouse down. - LLPanel* parent = dynamic_cast<LLPanel*>(parent_view); - // It may happen that we clicked not usual button, but button inside widget(speak, gesture) - // so we'll need to get a level higher to reach layout panel as a parent. - if(parent == NULL) parent = dynamic_cast<LLPanel*>(parent_view->getParent()); - if (parent && parent->getVisible()) - { - mDraggedItem = parent; - mCheckForDrag = true; - mStartX = x; - mStartY = y; - } - } -} - -LLPanel* LLBottomTray::findChildPanelByLocalCoords(S32 x, S32 y) -{ - LLPanel* ctrl = 0; - S32 screenX, screenY; - const child_list_t* list = mToolbarStack->getChildList(); - - localPointToScreen(x, y, &screenX, &screenY); - - // look for a child panel which contains the point (screenX, screenY) in it's rectangle - for (child_list_const_iter_t i = list->begin(); i != list->end(); ++i) - { - LLRect rect; - localRectToScreen((*i)->getRect(), &rect); - - if (rect.pointInRect(screenX, screenY)) - { - ctrl = dynamic_cast<LLPanel*>(*i); - break; - } - } - - return ctrl; -} - -void LLBottomTray::onDraggableButtonHover(S32 x, S32 y) -{ - // if mouse down on draggable item was done, check whether we should start DnD - if (mCheckForDrag) - { - // Start drag'n'drop if mouse cursor was dragged away frome mouse down location enough - if(sqrt((float)((mStartX-x)*(mStartX-x)+(mStartY-y)*(mStartY-y))) > DRAG_START_DISTANCE) - { - mDragStarted = true; - mCheckForDrag = false; - } - } - if (mDragStarted) - { - // Check whether the cursor is over draggable area, find which panel it is and set is as - // landing tab for drag'n'drop - if(isCursorOverDraggableArea(x, y)) - { - LLPanel* panel = findChildPanelByLocalCoords(x,y); - if (panel && panel != mDraggedItem) mLandingTab = panel; - gViewerWindow->getWindow()->setCursor(UI_CURSOR_ARROWDRAG); - } - else - { - gViewerWindow->getWindow()->setCursor(UI_CURSOR_NO); - } - } - else - { - // Reset cursor in case you move your mouse from the drag handle to a button. - getWindow()->setCursor(UI_CURSOR_ARROW); - - } -} - -bool LLBottomTray::isCursorOverDraggableArea(S32 x, S32 y) -{ - // Draggable area lasts from the nearby chat input resize handle - // to the chiclet area (exlusively). - bool result = getRect().pointInRect(x, y); - result = result && mNearbyCharResizeHandlePanel->calcScreenRect().mRight < x; - result = result && mChicletPanel->calcScreenRect().mRight > x; - return result; -} - -void LLBottomTray::updateButtonsOrdersAfterDnD() -{ - // *TODO: change implementation of this method to support simplify it - // (and according to future possible changes in the way button order is saved between sessions). - state_object_map_t::const_iterator it = mStateProcessedObjectMap.begin(); - state_object_map_t::const_iterator it_end = mStateProcessedObjectMap.end(); - EResizeState dragged_state = RS_NORESIZE; - EResizeState landing_state = RS_NORESIZE; - bool landing_state_found = false; - // Find states for dragged item and landing tab - for (; it != it_end; ++it) - { - if (it->second == mDraggedItem) - { - dragged_state = it->first; - } - else if (it->second == mLandingTab) - { - landing_state = it->first; - landing_state_found = true; - } - } - - if (dragged_state == RS_NORESIZE) - { - llwarns << "Cannot determine what button is being dragged" << llendl; - llassert(dragged_state != RS_NORESIZE); - return; - } - - lldebugs << "Will place " << resizeStateToString(dragged_state) - << " before " << resizeStateToString(landing_state) << llendl; - - // Update order of buttons according to drag'n'drop - mButtonsOrder.erase(std::find(mButtonsOrder.begin(), mButtonsOrder.end(), dragged_state)); - if (!landing_state_found && mLandingTab == getChild<LLPanel>(PANEL_CHICLET_NAME)) - { - mButtonsOrder.push_back(dragged_state); - } - else - { - if (!landing_state_found) landing_state = RS_BUTTON_SPEAK; // just a random fallback - mButtonsOrder.insert(std::find(mButtonsOrder.begin(), mButtonsOrder.end(), landing_state), dragged_state); - } - - // Synchronize button process order with their order - resize_state_vec_t::const_iterator it1 = mButtonsOrder.begin(); - const resize_state_vec_t::const_iterator it_end1 = mButtonsOrder.end(); - resize_state_vec_t::iterator it2 = mButtonsProcessOrder.begin(); - for (; it1 != it_end1; ++it1) - { - // Skip Speak because it is not in mButtonsProcessOrder(it's the reason why mButtonsOrder was introduced). - // If any other draggable items will be added to bottomtray later, they should also be skipped here. - if (*it1 != RS_BUTTON_SPEAK) - { - *it2 = *it1; - ++it2; - } - } - - saveButtonsOrder(); -} - -void LLBottomTray::saveButtonsOrder() -{ - if (!gSavedSettings.getBOOL("AllowBottomTrayButtonReordering")) return; - - std::string user_dir = gDirUtilp->getLindenUserDir(); - if (user_dir.empty()) return; - - std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, SORTING_DATA_FILE_NAME); - LLSD settings_llsd; - int i = 0; - const resize_state_vec_t::const_iterator it_end = mButtonsOrder.end(); - // we use numbers as keys for map which is saved in file and contains resize states as its values - for (resize_state_vec_t::const_iterator it = mButtonsOrder.begin(); it != it_end; ++it, i++) - { - std::string str = llformat("%d", i); - settings_llsd[str] = *it; - } - llofstream file; - file.open(filename); - LLSDSerialize::toPrettyXML(settings_llsd, file); -} - -void LLBottomTray::loadButtonsOrder() -{ - if (!gSavedSettings.getBOOL("AllowBottomTrayButtonReordering")) return; - - // load per-resident sorting information - std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, SORTING_DATA_FILE_NAME); - - LLSD settings_llsd; - llifstream file; - file.open(filename); - if (!file.is_open()) return; - - LLSDSerialize::fromXML(settings_llsd, file); - - - mButtonsOrder.clear(); - mButtonsProcessOrder.clear(); - int i = 0; - // getting button order from file - for (LLSD::map_const_iterator iter = settings_llsd.beginMap(); - iter != settings_llsd.endMap(); ++iter, ++i) - { - std::string str = llformat("%d", i); - EResizeState state = (EResizeState)settings_llsd[str].asInteger(); - mButtonsOrder.push_back(state); - // RS_BUTTON_SPEAK is skipped, because it shouldn't be in mButtonsProcessOrder (it does not hide or shrink). - if (state != RS_BUTTON_SPEAK) - { - mButtonsProcessOrder.push_back(state); - } - } - - // There are other panels in layout stack order of which is not saved. Also, panels order of which is saved, - // are already in layout stack but in wrong order. The most convenient way to place them is moving them - // to front one by one (because in this case we don't have to pass the panel before which we want to insert our - // panel to movePanel()). So panels are moved in order from the end of mButtonsOrder vector(reverse iterator is used). - const resize_state_vec_t::const_reverse_iterator it_end = mButtonsOrder.rend(); - // placing panels in layout stack according to button order which we loaded in previous for - for (resize_state_vec_t::const_reverse_iterator it = mButtonsOrder.rbegin(); it != it_end; ++it, ++i) - { - LLPanel* panel_to_move = getButtonPanel(*it); - mToolbarStack->movePanel(panel_to_move, NULL, true); // prepend - } - // Nearbychat is not stored in order settings file, but it must be the first of the panels, so moving it - // (along with its drag handle) manually here. - mToolbarStack->movePanel(getChild<LLLayoutPanel>("chat_bar_resize_handle_panel"), NULL, true); - mToolbarStack->movePanel(mChatBarContainer, NULL, true); -} - -void LLBottomTray::onDraggableButtonMouseUp(LLUICtrl* ctrl, S32 x, S32 y) -{ - //if mouse up happened over area where drop is possible, change order of buttons - if (mLandingTab != NULL && mDraggedItem != NULL && mDragStarted) - { - if(isCursorOverDraggableArea(x, y)) - { - // change order of panels in layout stack - mToolbarStack->movePanel(mDraggedItem, (LLPanel*)mLandingTab); - // change order of buttons in order vectors - updateButtonsOrdersAfterDnD(); - } - } - gViewerWindow->getWindow()->setCursor(UI_CURSOR_ARROW); - mDragStarted = false; - mDraggedItem = NULL; - mLandingTab = NULL; - mCheckForDrag = false; -} - -void LLBottomTray::draw() -{ - LLPanel::draw(); - if (mLandingTab) - { - static S32 w = mImageDragIndication->getWidth(); - static S32 h = mImageDragIndication->getHeight(); - LLRect rect = mLandingTab->calcScreenRect(); - mImageDragIndication->draw(rect.mLeft - w/2, rect.getHeight(), w, h); - } - getChild<LLButton>("show_profile_btn")->setToggleState(LLAvatarActions::profileVisible(gAgent.getID())); - - LLPanel* panel = LLFloaterSidePanelContainer::getPanel("people", "panel_people"); - if (panel && panel->isInVisibleChain()) - { - getChild<LLButton>("show_people_button")->setToggleState(true); - } - else - { - getChild<LLButton>("show_people_button")->setToggleState(false); - } - - LLFloater* help_browser = (LLFloaterReg::findInstance("help_browser")); - bool help_floater_visible = (help_browser && help_browser->isInVisibleChain()); - - getChild<LLButton>("show_help_btn")->setToggleState(help_floater_visible); - - bool openmic = LLVoiceClient::getInstance()->getUserPTTState(); - bool voiceenabled = LLVoiceClient::getInstance()->voiceEnabled(); - getChild<LLButton>("speak_btn")->setToggleState(openmic && voiceenabled); - getChild<LLOutputMonitorCtrl>("chat_zone_indicator")->setIsMuted(!voiceenabled); - -} - -bool LLBottomTray::onContextMenuItemEnabled(const LLSD& userdata) -{ - std::string item = userdata.asString(); - /* - LLLineEditor* edit_box = mNearbyChatBar->findChild<LLLineEditor>("chat_box"); - - if (item == "can_cut") - { - return edit_box->canCut(); - } - else if (item == "can_copy") - { - return edit_box->canCopy(); - } - else if (item == "can_paste") - { - return edit_box->canPaste(); - } - else if (item == "can_delete") - { - return edit_box->canDoDelete(); - } - else if (item == "can_select_all") - { - return edit_box->canSelectAll() && (edit_box->getLength()>0); - }*/ - return true; -} - - -void LLBottomTray::onContextMenuItemClicked(const LLSD& userdata) -{/* - std::string item = userdata.asString(); - LLLineEditor* edit_box = mNearbyChatBar->findChild<LLLineEditor>("chat_box"); - - if (item == "cut") - { - edit_box->cut(); - } - else if (item == "copy") - { - edit_box->copy(); - } - else if (item == "paste") - { - edit_box->paste(); - edit_box->setFocus(TRUE); - } - else if (item == "delete") - { - edit_box->doDelete(); - } - else if (item == "select_all") - { - edit_box->selectAll(); - }*/ -} - -void LLBottomTray::log(LLView* panel, const std::string& descr) -{ - if (NULL == panel) return; - LLView* layout = panel->getParent(); - LL_DEBUGS("Bottom Tray Rects") << descr << ": " - << "panel: " << panel->getName() - << ", rect: " << panel->getRect() - - - << " layout: " << layout->getName() - << ", rect: " << layout->getRect() - << LL_ENDL; -} - -void LLBottomTray::reshape(S32 width, S32 height, BOOL called_from_parent) -{ - static S32 debug_calling_number = 0; - lldebugs << "**************************************** " << ++debug_calling_number << llendl; - - S32 current_width = getRect().getWidth(); - S32 delta_width = width - current_width; - lldebugs << "Reshaping: " - << ", width: " << width - << ", cur width: " << current_width - << ", delta_width: " << delta_width - << ", called_from_parent: " << called_from_parent - << llendl; - - if (mNearbyChatBar) log(mNearbyChatBar, "before"); - if (mChicletPanel) log(mChicletPanel, "before"); - - // Difference between bottom tray width required to fit its children and the actual width. (see EXT-991) - // Positive value means that bottom tray is not wide enough. - // Negative value means that there is free space. - static S32 extra_shrink_width = 0; - bool should_be_reshaped = true; - - if (mChicletPanel && mToolbarStack && mNearbyChatBar) - { - // Firstly, update layout stack to ensure we deal with correct panel sizes. - { - BOOL saved_anim = mToolbarStack->getAnimate(); - // Set chiclet panel to be autoresized by default. - mToolbarStack->updatePanelAutoResize(PANEL_CHICLET_NAME, TRUE); - // Disable animation to prevent layout updating in several frames. - mToolbarStack->setAnimate(FALSE); - // Force the updating of layout to reset panels collapse factor. - mToolbarStack->updateLayout(); - // Restore animate state. - mToolbarStack->setAnimate(saved_anim); - } - - // bottom tray is narrowed - if (delta_width < 0) - { - if (extra_shrink_width > 0) // not enough space - { - extra_shrink_width += llabs(delta_width); - should_be_reshaped = false; - } - else - { - extra_shrink_width = processWidthDecreased(delta_width); - - // increase new width to extra_shrink_width value to not reshape less than bottom tray minimum - width += extra_shrink_width; - } - } - // bottom tray is widened - else - { - if (extra_shrink_width > delta_width) - { - // Still not enough space. - // Only subtract the delta from the required delta and don't reshape. - extra_shrink_width -= delta_width; - should_be_reshaped = false; - } - else - { - if (extra_shrink_width > 0) - { - // If we have some extra shrink width let's reduce delta_width & width - delta_width -= extra_shrink_width; - width -= extra_shrink_width; - extra_shrink_width = 0; - } - processWidthIncreased(delta_width); - } - } - } - - if (should_be_reshaped) - { - lldebugs << "Reshape all children with width: " << width << llendl; - LLPanel::reshape(width, height, called_from_parent); - } - - if (mNearbyChatBar) log(mNearbyChatBar, "after"); - if (mChicletPanel) log(mChicletPanel, "after"); - - - // Restore width of the chatbar on first reshape. - // we can not to do this from postBuild because reshape is called from parent view on startup - // creation after it and reset width according to resize logic. - static bool needs_restore_custom_state = true; - if (mChatBarContainer && needs_restore_custom_state) - { - // restore custom width of chatbar panel. - S32 new_width = gSavedSettings.getS32("ChatBarCustomWidth"); - if (new_width > 0) - { - mDesiredNearbyChatWidth = new_width; - processChatbarCustomization(new_width); - lldebugs << "Setting nearby chat bar width to " << new_width << " px" << llendl; - mChatBarContainer->reshape(new_width, mChatBarContainer->getRect().getHeight()); - } - needs_restore_custom_state = false; - } - -} - -S32 LLBottomTray::processWidthDecreased(S32 delta_width) -{ - bool still_should_be_processed = true; - - const S32 chiclet_panel_shrink_headroom = getChicletPanelShrinkHeadroom(); - - // There are four steps of processing width decrease. If in one of them required width was reached, - // further are not needed. - // 1. Decreasing width of chiclet panel. - if (chiclet_panel_shrink_headroom > 0) - { - // we have some space to decrease chiclet panel - S32 shrink_by = llmin(-delta_width, chiclet_panel_shrink_headroom); - - lldebugs << "delta_width: " << delta_width - << ", panel_delta_min: " << chiclet_panel_shrink_headroom - << ", shrink_by: " << shrink_by - << llendl; - - // is chiclet panel wide enough to process resizing? - delta_width += chiclet_panel_shrink_headroom; - - still_should_be_processed = delta_width < 0; - - lldebugs << "Shrinking chiclet panel by " << shrink_by << " px" << llendl; - mChicletPanel->getParent()->reshape(mChicletPanel->getParent()->getRect().getWidth() - shrink_by, mChicletPanel->getParent()->getRect().getHeight()); - log(mChicletPanel, "after processing panel decreasing via chiclet panel"); - - lldebugs << "RS_CHICLET_PANEL" - << ", delta_width: " << delta_width - << llendl; - } - - S32 buttons_freed_width = 0; - // 2. Decreasing width of buttons. - if (still_should_be_processed) - { - processShrinkButtons(delta_width, buttons_freed_width); - still_should_be_processed = delta_width < 0; - } - - // 3. Decreasing width of nearby chat. - const S32 chatbar_panel_min_width = get_panel_min_width(mToolbarStack, mChatBarContainer); - const S32 chatbar_panel_width = mChatBarContainer->getRect().getWidth(); - if (still_should_be_processed && chatbar_panel_width > chatbar_panel_min_width) - { - // we have some space to decrease chatbar panel - S32 chatbar_shrink_headroom = chatbar_panel_width - chatbar_panel_min_width; - - S32 shrink_by = llmin(-delta_width, chatbar_shrink_headroom); - - // is chatbar panel wide enough to process resizing? - delta_width += chatbar_shrink_headroom; - - still_should_be_processed = delta_width < 0; - - // chatbar should only be shrunk here, not stretched - if (shrink_by > 0) - { - //lldebugs << "Shrinking nearby chat bar by " << delta_panel << " px " << llendl; - //mChatBarContainer->reshape(mNearbyChatBar->getRect().getWidth() - delta_panel, mChatBarContainer->getRect().getHeight()); - } - - log(mNearbyChatBar, "after processing panel decreasing via nearby chatbar panel"); - - lldebugs << "RS_CHATBAR_INPUT" - << ", shrink_by: " << shrink_by - << ", delta_width: " << delta_width - << llendl; - } - - S32 extra_shrink_width = 0; - // 4. Hiding buttons if needed. - if (still_should_be_processed) - { - processHideButtons(delta_width, buttons_freed_width); - - if (delta_width < 0) - { - extra_shrink_width = -delta_width; - llwarns << "There is no enough width to reshape all children: " - << extra_shrink_width << llendl; - } - - if (buttons_freed_width > 0) - { - S32 nearby_needed_width = mDesiredNearbyChatWidth; - if ( 0) - { - S32 compensative_width = nearby_needed_width > buttons_freed_width ? buttons_freed_width : nearby_needed_width; - log(mNearbyChatBar, "before applying compensative width"); - lldebugs << "Extending nearby chat bar by " << compensative_width << " px" << llendl; - mChatBarContainer->reshape(mChatBarContainer->getRect().getWidth() + compensative_width, mChatBarContainer->getRect().getHeight() ); - log(mNearbyChatBar, "after applying compensative width"); - lldebugs << buttons_freed_width << llendl; - } - } - } - - return extra_shrink_width; -} - -void LLBottomTray::processWidthIncreased(S32 delta_width) -{ - if (delta_width <= 0) return; - - // how much room we have to show hidden buttons - S32 available_width = delta_width + getChicletPanelShrinkHeadroom(); - - lldebugs << "Distributing (" << getChicletPanelShrinkHeadroom() - << " + " << delta_width << ") = " << available_width << " px" << llendl; - - // 1. Try showing buttons that have been auto-hidden. - S32 processed_width = processShowButtons(available_width); - lldebugs << "processed_width = " << processed_width << ", delta_width = " << delta_width << llendl; - - lldebugs << "Available_width after showing buttons: " << available_width << llendl; - - // If the newly shown buttons have consumed more than delta_width pixels, - // shrink the chiclet panel. - if (processed_width > delta_width) - { - // 1. use delta width of resizing - S32 shrink_by = processed_width - delta_width; - - // 2. use width available via decreasing of chiclet panel - if (shrink_by > 0) - { - lldebugs << "Shrinking chiclet panel by " << shrink_by << " px" << llendl; - mChicletPanel->getParent()->reshape(mChicletPanel->getParent()->getRect().getWidth() - shrink_by, mChicletPanel->getParent()->getRect().getHeight()); - log(mChicletPanel, "after applying compensative width for chiclets: "); - lldebugs << shrink_by << llendl; - } - - // shown buttons take some space, rest should be processed by nearby chatbar & chiclet panels - delta_width -= processed_width; - } - - // 2. Expand the nearby chat bar if needed. - S32 chatbar_panel_width = mChatBarContainer->getRect().getWidth(); - lldebugs << "delta_width = " << delta_width - << ", chatbar_panel_width = " << chatbar_panel_width - << ", mDesiredNearbyChatWidth = " << mDesiredNearbyChatWidth << llendl; - if (delta_width > 0 && chatbar_panel_width < mDesiredNearbyChatWidth) - { - S32 extend_by_max = mDesiredNearbyChatWidth - chatbar_panel_width; - S32 extend_by = llmin(delta_width, extend_by_max); - lldebugs << "Unprocessed delta width: " << delta_width - << " px, chatbar can be extended by " << extend_by_max - << " px, extending it by " << extend_by << " px" - << llendl; - - delta_width -= extend_by_max; - lldebugs << "Extending nearby chat bar by " << extend_by << " px " << llendl; - mChatBarContainer->reshape(chatbar_panel_width + extend_by, mChatBarContainer->getRect().getHeight()); - log(mNearbyChatBar, "applied unprocessed delta width"); - } - - // 3. Expand buttons that have been auto-shrunk, - // if we haven't yet consumed all the available headroom. - if (delta_width > 0) - { - S32 available_width = delta_width + getChicletPanelShrinkHeadroom(); - processExtendButtons(available_width); - } -} - -S32 LLBottomTray::processShowButtons(S32& available_width) -{ - lldebugs << "Distributing " << available_width << " px" << llendl; - S32 original_available_width = available_width; - - // process buttons from left to right - resize_state_vec_t::const_iterator it = mButtonsProcessOrder.begin(); - const resize_state_vec_t::const_iterator it_end = mButtonsProcessOrder.end(); - - for (; it != it_end; ++it) - { - // is there available space? - if (available_width <= 0) break; - - // try to show next button - processShowButton(*it, available_width); - } - - return original_available_width - available_width; -} - -bool LLBottomTray::processShowButton(EResizeState shown_object_type, S32& available_width) -{ - // Check if the button was previously auto-hidden (due to lack of space). - if (!isAutoHidden(shown_object_type)) - { - return false; - } - - // Ok. Try showing the button. - return showButton(shown_object_type, available_width); -} - -void LLBottomTray::processHideButtons(S32& required_width, S32& buttons_freed_width) -{ - // process buttons from right to left - resize_state_vec_t::const_reverse_iterator it = mButtonsProcessOrder.rbegin(); - const resize_state_vec_t::const_reverse_iterator it_end = mButtonsProcessOrder.rend(); - - for (; it != it_end; ++it) - { - // is it still necessary to hide a button? - if (required_width >= 0) break; - - // try to hide next button - processHideButton(*it, required_width, buttons_freed_width); - } -} - -void LLBottomTray::processHideButton(EResizeState processed_object_type, S32& required_width, S32& buttons_freed_width) -{ - lldebugs << "Trying to hide object type: " << processed_object_type << llendl; - LLPanel* panel = getButtonPanel(processed_object_type); - if (NULL == panel) - { - return; - } - - if (panel->getVisible()) - { - required_width += panel->getRect().getWidth(); - - if (required_width > 0) - { - buttons_freed_width += required_width; - } - - setTrayButtonVisible(processed_object_type, false); - - setAutoHidden(processed_object_type, true); - - lldebugs << "processing object type: " << processed_object_type - << ", buttons_freed_width: " << buttons_freed_width - << llendl; - } -} - -void LLBottomTray::processShrinkButtons(S32& required_width, S32& buttons_freed_width) -{ - // process buttons from right to left - resize_state_vec_t::const_reverse_iterator it = mButtonsProcessOrder.rbegin(); - const resize_state_vec_t::const_reverse_iterator it_end = mButtonsProcessOrder.rend(); - - // iterate through buttons in the mButtonsProcessOrder first - for (; it != it_end; ++it) - { - // is it still necessary to hide a button? - if (required_width >= 0) break; - - // try to shrink next button - processShrinkButton(*it, required_width); - } - - // then shrink Speak button - if (required_width < 0) - { - S32 panel_min_width = 0; - std::string panel_name = mSpeakPanel->getName(); - bool success = mToolbarStack->getPanelMinSize(panel_name, &panel_min_width); - if (!success) - { - lldebugs << "Panel was not found to get its min width: " << panel_name << llendl; - } - else - { - S32 panel_width = mSpeakPanel->getRect().getWidth(); - S32 possible_shrink_width = panel_width - panel_min_width; - - if (possible_shrink_width > 0) - { - if (mSpeakBtn) - { - mSpeakBtn->setLabelVisible(false); - } - - mSpeakPanel->reshape(panel_width - possible_shrink_width, mSpeakPanel->getRect().getHeight()); - - required_width += possible_shrink_width; - - if (required_width > 0) - { - buttons_freed_width += required_width; - } - - lldebugs << "Shrunk Speak button panel: " << panel_name - << ", shrunk width: " << possible_shrink_width - << ", rest width to process: " << required_width - << llendl; - } - } - } -} - -void LLBottomTray::processShrinkButton(EResizeState processed_object_type, S32& required_width) -{ - LLPanel* panel = getButtonPanel(processed_object_type); - if (NULL == panel) - { - return; - } - - if (panel->getVisible()) - { - S32 panel_width = panel->getRect().getWidth(); - S32 panel_min_width = 0; - std::string panel_name = panel->getName(); - bool success = mToolbarStack->getPanelMinSize(panel_name, &panel_min_width); - S32 possible_shrink_width = panel_width - panel_min_width; - - if (!success) - { - lldebugs << "Panel was not found to get its min width: " << panel_name << llendl; - } - // we have some space to free by shrinking the button - else if (possible_shrink_width > 0) - { - // let calculate real width to shrink - - // 1. apply all possible width - required_width += possible_shrink_width; - - // 2. it it is too much... - if (required_width > 0) - { - // reduce applied shrunk width to the excessive value. - possible_shrink_width -= required_width; - required_width = 0; - } - panel->reshape(panel_width - possible_shrink_width, panel->getRect().getHeight()); - - lldebugs << "Shrunk panel: " << panel_name - << ", shrunk width: " << possible_shrink_width - << ", rest width to process: " << required_width - << llendl; - } - } -} - - -void LLBottomTray::processExtendButtons(S32& available_width) -{ - // do not allow extending any buttons if we have some buttons hidden via resize - if (isAutoHidden(RS_BUTTONS_CAN_BE_HIDDEN)) return; - - lldebugs << "Distributing " << available_width << " px" << llendl; - - // First try extending the Speak button. - if (available_width > 0) - { - if (!processExtendSpeakButton(available_width)) - { - // The Speak button needs extension but lacks some space. - // Don't extend other buttons in this case: the Speak button - // should consume the available headroom first. - return; - } - } - - // Then process the other buttons from left to right. - if (available_width > 0) - { - resize_state_vec_t::const_iterator it = mButtonsProcessOrder.begin(); - const resize_state_vec_t::const_iterator it_end = mButtonsProcessOrder.end(); - - // iterate through buttons in the mButtonsProcessOrder first - for (; it != it_end; ++it) - { - // is there available space? - if (available_width <= 0) break; - - // try to extend next button - processExtendButton(*it, available_width); - } - } -} - -bool LLBottomTray::processExtendSpeakButton(S32& available_width) -{ - if (available_width <= 0) - { - llassert(available_width > 0); - return true; - } - - const S32 panel_max_width = mObjectDefaultWidthMap[RS_BUTTON_SPEAK]; - const S32 panel_width = mSpeakPanel->getRect().getWidth(); - const S32 required_headroom = panel_max_width - panel_width; - - if (panel_width < panel_max_width) // if the button isn't extended already - { - if (available_width < required_headroom) // not enough space - { - lldebugs << "Need (" << required_headroom << " - " << available_width << ") = " - << (required_headroom - available_width) << " more px" - << " to extend the Speak button"<< llendl; - - return false; // Don't extend other buttons until we extend Speak. - } - - // Reshape the Speak button to its maximum width. - if (mSpeakBtn) mSpeakBtn->setLabelVisible(true); - mSpeakPanel->reshape(panel_max_width, mSpeakPanel->getRect().getHeight()); - - available_width -= required_headroom; - llassert(available_width >= 0); - - lldebugs << "Extending Speak button panel: " << mSpeakPanel->getName() - << ", extended width: " << required_headroom - << ", rest width to process: " << available_width - << llendl; - } - - return true; -} - -void LLBottomTray::processExtendButton(EResizeState processed_object_type, S32& available_width) -{ - llassert(available_width >= 0); - - LLPanel* panel = getButtonPanel(processed_object_type); - if (NULL == panel) - { - return; - } - - if (!panel->getVisible()) return; - - // Widen the button up to its maximum width, but by not more than <available_width> px. - S32 panel_max_width = mObjectDefaultWidthMap[processed_object_type]; - S32 panel_width = panel->getRect().getWidth(); - S32 required_headroom = panel_max_width - panel_width; - - S32 extend_by = llmin(available_width, required_headroom); - if (extend_by > 0) - { - panel->reshape(panel_width + extend_by, panel->getRect().getHeight()); - - // Decrease amount of headroom available for other panels. - available_width -= extend_by; - - lldebugs << "Extending " << panel->getName() - << " by " << extend_by - << " px; remaining available width: " << available_width - << llendl; - } -} - -bool LLBottomTray::canButtonBeShown(EResizeState processed_object_type) const -{ - // Check that all buttons (that can be hidden on resize) - // to the left of the given one are already shown. - - // process buttons in direct order (from left to right) - resize_state_vec_t::const_iterator it = mButtonsProcessOrder.begin(); - const resize_state_vec_t::const_iterator it_end = mButtonsProcessOrder.end(); - - MASK buttons_before_mask = RS_NORESIZE; - for (; it != it_end; ++it) - { - const EResizeState button_type = *it; - if (button_type == processed_object_type) break; - - buttons_before_mask |= button_type; - } - - return !isAutoHidden(buttons_before_mask); -} - -void LLBottomTray::initResizeStateContainers() -{ - // init map with objects should be processed for each type - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_SPEAK, getChild<LLPanel>("speak_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_GESTURES, getChild<LLPanel>("gesture_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_MOVEMENT, getChild<LLPanel>("movement_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_CAMERA, getChild<LLPanel>("cam_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_DESTINATIONS, getChild<LLPanel>("destinations_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_AVATARS, getChild<LLPanel>("avatar_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_SNAPSHOT, getChild<LLPanel>("snapshot_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_BUILD, getChild<LLPanel>("build_btn_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_SEARCH, getChild<LLPanel>("search_btn_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_WORLD_MAP, getChild<LLPanel>("world_map_btn_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_MINI_MAP, getChild<LLPanel>("mini_map_btn_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_SPLITTER_1, getChild<LLPanel>("splitter_panel_1"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_PEOPLE, getChild<LLPanel>("people_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_PROFILE, getChild<LLPanel>("profile_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_SPLITTER_2, getChild<LLPanel>("splitter_panel_2"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_HOWTO, getChild<LLPanel>("howto_panel"))); - - // init an order of processed buttons - mButtonsProcessOrder.push_back(RS_BUTTON_DESTINATIONS); - mButtonsProcessOrder.push_back(RS_BUTTON_AVATARS); - mButtonsProcessOrder.push_back(RS_BUTTON_SNAPSHOT); - mButtonsProcessOrder.push_back(RS_BUTTON_BUILD); - mButtonsProcessOrder.push_back(RS_BUTTON_SEARCH); - mButtonsProcessOrder.push_back(RS_BUTTON_WORLD_MAP); - mButtonsProcessOrder.push_back(RS_BUTTON_MINI_MAP); - mButtonsProcessOrder.push_back(RS_BUTTON_SPLITTER_1); - mButtonsProcessOrder.push_back(RS_BUTTON_PEOPLE); - mButtonsProcessOrder.push_back(RS_BUTTON_PROFILE); - mButtonsProcessOrder.push_back(RS_BUTTON_SPLITTER_2); - mButtonsProcessOrder.push_back(RS_BUTTON_HOWTO); - mButtonsProcessOrder.push_back(RS_BUTTON_MOVEMENT); - mButtonsProcessOrder.push_back(RS_BUTTON_CAMERA); - mButtonsProcessOrder.push_back(RS_BUTTON_GESTURES); - - mButtonsOrder.push_back(RS_BUTTON_SPEAK); - mButtonsOrder.insert(mButtonsOrder.end(), mButtonsProcessOrder.begin(), mButtonsProcessOrder.end()); - - // init default widths - - // process buttons that can be hidden on resize... - resize_state_vec_t::const_iterator it = mButtonsProcessOrder.begin(); - const resize_state_vec_t::const_iterator it_end = mButtonsProcessOrder.end(); - - for (; it != it_end; ++it) - { - const EResizeState button_type = *it; - // is there an appropriate object? - LLPanel* button_panel = getButtonPanel(button_type); - if (!button_panel) continue; - - // set default width for it. - mObjectDefaultWidthMap[button_type] = button_panel->getRect().getWidth(); - } - - // ... and add Speak button because it also can be shrunk. - mObjectDefaultWidthMap[RS_BUTTON_SPEAK] = mSpeakPanel->getRect().getWidth(); -} - -// this method must be called before restoring of the chat entry field on startup -// because it resets chatbar's width according to resize logic. -void LLBottomTray::initButtonsVisibility() -{ - setVisibleAndFitWidths(RS_BUTTON_SPEAK, gSavedSettings.getBOOL("EnableVoiceChat") || !mSpeakBtn ); - setVisibleAndFitWidths(RS_BUTTON_GESTURES, gSavedSettings.getBOOL("ShowGestureButton")); - setVisibleAndFitWidths(RS_BUTTON_MOVEMENT, gSavedSettings.getBOOL("ShowMoveButton")); - setVisibleAndFitWidths(RS_BUTTON_CAMERA, gSavedSettings.getBOOL("ShowCameraButton")); - setVisibleAndFitWidths(RS_BUTTON_SNAPSHOT, gSavedSettings.getBOOL("ShowSnapshotButton")); - setVisibleAndFitWidths(RS_BUTTON_BUILD, gSavedSettings.getBOOL("ShowBuildButton")); - setVisibleAndFitWidths(RS_BUTTON_SEARCH, gSavedSettings.getBOOL("ShowSearchButton")); - setVisibleAndFitWidths(RS_BUTTON_WORLD_MAP, gSavedSettings.getBOOL("ShowWorldMapButton")); - setVisibleAndFitWidths(RS_BUTTON_MINI_MAP, gSavedSettings.getBOOL("ShowMiniMapButton")); - lldebugs << "mResizeState = " << resizeStateMaskToString(mResizeState) << llendl; -} - -void LLBottomTray::setButtonsControlsAndListeners() -{ - // always show the speak panel if using the basic skin - if (mSpeakBtn) - { - gSavedSettings.getControl("EnableVoiceChat")->getSignal()->connect(boost::bind(&LLBottomTray::toggleShowButton, RS_BUTTON_SPEAK, _2)); - } - - gSavedSettings.getControl("ShowGestureButton")->getSignal()->connect(boost::bind(&LLBottomTray::toggleShowButton, RS_BUTTON_GESTURES, _2)); - gSavedSettings.getControl("ShowMoveButton")->getSignal()->connect(boost::bind(&LLBottomTray::toggleShowButton, RS_BUTTON_MOVEMENT, _2)); - gSavedSettings.getControl("ShowCameraButton")->getSignal()->connect(boost::bind(&LLBottomTray::toggleShowButton, RS_BUTTON_CAMERA, _2)); - gSavedSettings.getControl("ShowSnapshotButton")->getSignal()->connect(boost::bind(&LLBottomTray::toggleShowButton, RS_BUTTON_SNAPSHOT, _2)); - gSavedSettings.getControl("ShowBuildButton")->getSignal()->connect(boost::bind(&LLBottomTray::toggleShowButton, RS_BUTTON_BUILD, _2)); - gSavedSettings.getControl("ShowSearchButton")->getSignal()->connect(boost::bind(&LLBottomTray::toggleShowButton, RS_BUTTON_SEARCH, _2)); - gSavedSettings.getControl("ShowWorldMapButton")->getSignal()->connect(boost::bind(&LLBottomTray::toggleShowButton, RS_BUTTON_WORLD_MAP, _2)); - gSavedSettings.getControl("ShowMiniMapButton")->getSignal()->connect(boost::bind(&LLBottomTray::toggleShowButton, RS_BUTTON_MINI_MAP, _2)); - - - LLButton* build_btn = getChild<LLButton>("build_btn"); - // set control name for Build button. It is not enough to link it with Button.SetFloaterToggle in xml - std::string vis_control_name = LLFloaterReg::declareVisibilityControl("build"); - // Set the button control value (toggle state) to the floater visibility control (Sets the value as well) - build_btn->setControlVariable(LLFloater::getControlGroup()->getControl(vis_control_name)); -} - -bool LLBottomTray::toggleShowButton(LLBottomTray::EResizeState button_type, const LLSD& new_visibility) -{ - if (LLBottomTray::instanceExists()) - { - LLBottomTray::getInstance()->setTrayButtonVisibleIfPossible(button_type, new_visibility.asBoolean()); - } - return true; -} - -bool LLBottomTray::showButton(EResizeState button_type, S32& available_width) -{ - LLPanel* panel = getButtonPanel(button_type); - if (NULL == panel) - { - return false; - } - - if (panel->getVisible()) - { - return false; - } - - // Check if none of the buttons to the left of the given one was auto-hidden. - // (we auto-show the buttons left to right). - if (!canButtonBeShown(button_type)) - { - return false; - } - - // Make sure we have enough room to show this button. - const S32 required_width = panel->getRect().getWidth(); - if (available_width < required_width) - { - lldebugs << "Need " << (required_width - available_width) << " more px to show " << resizeStateToString(button_type) << llendl; - return false; - } - - // All good. Show the button. - setTrayButtonVisible(button_type, true); - - // Let the caller know that there is now less available space. - available_width -= required_width; - - lldebugs << "Showing button " << resizeStateToString(button_type) - << ", remaining available width: " << available_width - << llendl; - setAutoHidden(button_type, false); - - return true; -} - -void LLBottomTray::setTrayButtonVisible(EResizeState shown_object_type, bool visible) -{ - LLPanel* panel = getButtonPanel(shown_object_type); - if (NULL == panel) - { - return; - } - - panel->setVisible(visible); -} - -void LLBottomTray::setTrayButtonVisibleIfPossible(EResizeState shown_object_type, bool visible, bool raise_notification) -{ - if (!setVisibleAndFitWidths(shown_object_type, visible) && visible && raise_notification) - { - LLNotificationsUtil::add("BottomTrayButtonCanNotBeShown", - LLSD(), - LLSD(), - LLNotificationFunctorRegistry::instance().DONOTHING); - } -} - -bool LLBottomTray::setVisibleAndFitWidths(EResizeState object_type, bool visible) -{ - // The Speak button is treated specially: if voice is enabled, - // the button should be displayed no matter how much space we've got. - if (object_type == RS_BUTTON_SPEAK) - { - showSpeakButton(visible); - return true; - } - - LLPanel* cur_panel = getButtonPanel(object_type); - if (NULL == cur_panel) - { - return false; - } - - bool is_set = true; - - if (visible) - { - // Assume that only chiclet panel can be auto-resized - const S32 available_width = getChicletPanelShrinkHeadroom(); - - S32 preferred_width = mObjectDefaultWidthMap[object_type]; - S32 current_width = cur_panel->getRect().getWidth(); - S32 result_width = 0; - bool decrease_width = false; - - if (preferred_width > 0 && available_width >= preferred_width) - { - result_width = preferred_width; - } - else if (available_width >= current_width) - { - result_width = current_width; - } - else - { - // Calculate the possible shrunk width as difference between current and minimal widths - const S32 chatbar_shrunk_width = - mChatBarContainer->getRect().getWidth() - get_panel_min_width(mToolbarStack, mChatBarContainer); - - S32 sum_of_min_widths = get_panel_min_width(mToolbarStack, mSpeakPanel); - S32 sum_of_curr_widths = get_curr_width(mSpeakPanel); - - resize_state_vec_t::const_iterator it = mButtonsProcessOrder.begin(); - const resize_state_vec_t::const_iterator it_end = mButtonsProcessOrder.end(); - - for (; it != it_end; ++it) - { - LLPanel* cur_panel = getButtonPanel(*it); - sum_of_min_widths += get_panel_min_width(mToolbarStack, cur_panel); - sum_of_curr_widths += get_curr_width(cur_panel); - } - - const S32 possible_shrunk_width = - chatbar_shrunk_width + (sum_of_curr_widths - sum_of_min_widths); - - // Minimal width of current panel - S32 minimal_width = 0; - mToolbarStack->getPanelMinSize(cur_panel->getName(), &minimal_width); - - if ( (available_width + possible_shrunk_width) >= minimal_width) - { - // There is enough space for minimal width, but set the result_width - // to preferred_width so buttons widths decreasing will be done in predefined order - result_width = (preferred_width > 0) ? preferred_width : current_width; - decrease_width = true; - } - else - { - lldebugs << "Need " << (minimal_width - available_width - possible_shrunk_width) - << " more px to show " << resizeStateToString(object_type) << llendl; - - // Make the button uppear when we have more available space. - setAutoHidden(object_type, true); - return false; - } - } - - if (result_width != current_width) - { - cur_panel->reshape(result_width, cur_panel->getRect().getHeight()); - current_width = result_width; - } - - is_set = showButton(object_type, current_width); - - // Shrink buttons if needed - if (is_set && decrease_width) - { - processWidthDecreased( -result_width); - } - } - else - { - const S32 delta_width = get_curr_width(cur_panel); - - setTrayButtonVisible(object_type, false); - - // Mark button NOT to show while future bottom tray extending - lldebugs << "Removing " << resizeStateToString(object_type) << " from mResizeState" << llendl; - setAutoHidden(object_type, false); - - // Extend other buttons if need - if (delta_width) - { - processWidthIncreased(delta_width); - } - } - return is_set; -} - -LLPanel* LLBottomTray::getButtonPanel(EResizeState button_type) -{ - // Don't use the operator[] because it inserts a NULL value if the key is not found. - if (mStateProcessedObjectMap.count(button_type) == 0) - { - llwarns << "Cannot find a panel for " << resizeStateToString(button_type) << llendl; - llassert(mStateProcessedObjectMap.count(button_type) == 1); - return NULL; - } - - return mStateProcessedObjectMap[button_type]; -} - -void LLBottomTray::showWellButton(EResizeState object_type, bool visible) -{ - llassert( ((RS_NOTIFICATION_WELL | RS_IM_WELL) & object_type) == object_type ); - - const std::string panel_name = RS_IM_WELL == object_type ? "im_well_panel" : "notification_well_panel"; - - LLView * panel = getChild<LLView>(panel_name); - - // if necessary visibility is set nothing to do here - if (panel->getVisible() == (BOOL)visible) return; - - S32 panel_width = panel->getRect().getWidth(); - panel->setVisible(visible); - - if (visible) - { - // method assumes that input param is a negative value - processWidthDecreased(-panel_width); - } - else - { - processWidthIncreased(panel_width); - } -} - -void LLBottomTray::processChatbarCustomization(S32 new_width) -{ - if (NULL == mNearbyChatBar) return; - - const S32 delta_width = mChatBarContainer->getRect().getWidth() - new_width; - - if (delta_width == 0) return; - - { - static unsigned dbg_cnt = 0; - lldebugs << llformat("*** (%03d) ************************************* %d", delta_width, ++dbg_cnt) << llendl; - } - - mDesiredNearbyChatWidth = new_width; - - const S32 available_chiclet_shrink_width = getChicletPanelShrinkHeadroom(); - llassert(available_chiclet_shrink_width >= 0); - - if (delta_width > 0) // panel gets narrowly - { - S32 total_possible_width = delta_width + available_chiclet_shrink_width; - processShowButtons(total_possible_width); - processExtendButtons(total_possible_width); - } - // here (delta_width < 0) // panel gets wider - else //if (-delta_width > available_chiclet_shrink_width) - { - S32 required_width = delta_width + available_chiclet_shrink_width; - S32 buttons_freed_width = 0; - processShrinkButtons(required_width, buttons_freed_width); - processHideButtons(required_width, buttons_freed_width); - } -} - -S32 LLBottomTray::getChicletPanelShrinkHeadroom() const -{ - static const S32 min_width = mChicletPanel->getMinWidth(); - const S32 cur_width = mChicletPanel->getParent()->getRect().getWidth(); - - S32 shrink_headroom = cur_width - min_width; - llassert(shrink_headroom >= 0); // the panel cannot get narrower than the minimum - return shrink_headroom; -} - -// static -std::string LLBottomTray::resizeStateToString(EResizeState state) -{ - const char *rs_string = "UNKNOWN_BUTTON"; - - switch (state) - { - case RS_NORESIZE: rs_string = "RS_NORESIZE"; break; - case RS_CHICLET_PANEL: rs_string = "RS_CHICLET_PANEL"; break; - case RS_CHATBAR_INPUT: rs_string = "RS_CHATBAR_INPUT"; break; - case RS_BUTTON_SNAPSHOT: rs_string = "RS_BUTTON_SNAPSHOT"; break; - case RS_BUTTON_CAMERA: rs_string = "RS_BUTTON_CAMERA"; break; - case RS_BUTTON_MOVEMENT: rs_string = "RS_BUTTON_MOVEMENT"; break; - case RS_BUTTON_GESTURES: rs_string = "RS_BUTTON_GESTURES"; break; - case RS_BUTTON_SPEAK: rs_string = "RS_BUTTON_SPEAK"; break; - case RS_IM_WELL: rs_string = "RS_IM_WELL"; break; - case RS_NOTIFICATION_WELL: rs_string = "RS_NOTIFICATION_WELL"; break; - case RS_BUTTON_BUILD: rs_string = "RS_BUTTON_BUILD"; break; - case RS_BUTTON_SEARCH: rs_string = "RS_BUTTON_SEARCH"; break; - case RS_BUTTON_WORLD_MAP: rs_string = "RS_BUTTON_WORLD_MAP"; break; - case RS_BUTTON_MINI_MAP: rs_string = "RS_BUTTON_MINI_MAP"; break; - case RS_BUTTON_DESTINATIONS: rs_string = "RS_BUTTON_DESTINATIONS"; break; - case RS_BUTTON_AVATARS: rs_string = "RS_BUTTON_AVATARS"; break; - case RS_BUTTON_PEOPLE: rs_string = "RS_BUTTON_PEOPLE"; break; - case RS_BUTTON_PROFILE: rs_string = "RS_BUTTON_PROFILE"; break; - case RS_BUTTON_HOWTO: rs_string = "RS_BUTTON_HOWTO"; break; - case RS_BUTTON_SPLITTER_1: rs_string = "RS_BUTTON_SPLITTER_1"; break; - case RS_BUTTON_SPLITTER_2: rs_string = "RS_BUTTON_SPLITTER_2"; break; - case RS_BUTTONS_CAN_BE_HIDDEN: rs_string = "RS_BUTTONS_CAN_BE_HIDDEN"; break; - // No default to track additions. - } - - return rs_string; -} - -// static -std::string LLBottomTray::resizeStateMaskToString(MASK mask) -{ - std::string res; - - bool add_delimiter = false; - for (U32 i = 0; i < 16; i++) - { - EResizeState state = (EResizeState) (1 << i); - if (mask & state) - { - if (!add_delimiter) - { - add_delimiter = true; - } - else - { - res += ", "; - } - - res += resizeStateToString(state); - } - } - - if (res.empty()) - { - res = resizeStateToString(RS_NORESIZE); - } - - res += llformat(" (0x%X)", mask); - return res; -} - -bool LLBottomTray::isAutoHidden(MASK button_types) const -{ - return (mResizeState & button_types) != 0; -} - -void LLBottomTray::setAutoHidden(MASK button_types, bool hide) -{ - if (hide) - { - mResizeState |= button_types; - } - else - { - mResizeState &= ~button_types; - } -} - -//EOF diff --git a/indra/newview/llbottomtray.h b/indra/newview/llbottomtray.h deleted file mode 100644 index e26b0792e93..00000000000 --- a/indra/newview/llbottomtray.h +++ /dev/null @@ -1,564 +0,0 @@ -/** -* @file llbottomtray.h -* @brief LLBottomTray class header file -* -* $LicenseInfo:firstyear=2009&license=viewerlgpl$ -* Second Life Viewer Source Code -* Copyright (C) 2010, Linden Research, Inc. -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU Lesser General Public -* License as published by the Free Software Foundation; -* version 2.1 of the License only. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* Lesser General Public License for more details. -* -* You should have received a copy of the GNU Lesser General Public -* License along with this library; if not, write to the Free Software -* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -* -* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA -* $/LicenseInfo$ -*/ - -#ifndef LL_LLBOTTOMPANEL_H -#define LL_LLBOTTOMPANEL_H - -#include "llpanel.h" -#include "llimview.h" -#include "llbutton.h" - -class LLChicletPanel; -class LLLayoutStack; -class LLSpeakButton; -class LLNearbyChatBar; -class LLIMChiclet; -class LLBottomTrayLite; -class LLLayoutPanel; -class LLMenuGL; -class LLNearbyChatBarListener; - -// Build time optimization, generate once in .cpp file -#ifndef LLBOTTOMTRAY_CPP -extern template class LLBottomTray* LLSingleton<class LLBottomTray>::getInstance(); -#endif - -/** - * Class for buttons that should have drag'n'drop ability in bottomtray. - * These buttons pass mouse events handling to bottomtray. - */ -class LLBottomtrayButton : public LLButton -{ -public: - struct Params : public LLInitParam::Block<Params, LLButton::Params> - { - Optional<bool> can_drag; - Params() - : can_drag("can_drag", true){} - }; - /*virtual*/ BOOL handleHover(S32 x, S32 y, MASK mask); - /*virtual*/ BOOL handleMouseUp(S32 x, S32 y, MASK mask); - /*virtual*/ BOOL handleMouseDown(S32 x, S32 y, MASK mask); - -protected: - LLBottomtrayButton(const Params& p) - : LLButton(p), - mCanDrag(p.can_drag) - { - - } - friend class LLUICtrlFactory; - - bool mCanDrag; -}; - -class LLBottomTray - : public LLSingleton<LLBottomTray> - , public LLPanel - , public LLIMSessionObserver - , public LLVoiceClientStatusObserver -{ - LOG_CLASS(LLBottomTray); - friend class LLSingleton<LLBottomTray>; - friend class LLBottomTrayLite; -public: - ~LLBottomTray(); - - BOOL postBuild(); - - LLChicletPanel* getChicletPanel() {return mChicletPanel;} - LLNearbyChatBar* getNearbyChatBar(); - - void onCommitGesture(LLUICtrl* ctrl); - - // LLIMSessionObserver observe triggers - virtual void sessionAdded(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id); - virtual void sessionRemoved(const LLUUID& session_id); - void sessionIDUpdated(const LLUUID& old_session_id, const LLUUID& new_session_id); - - S32 getTotalUnreadIMCount(); - - virtual void reshape(S32 width, S32 height, BOOL called_from_parent); - - virtual void setVisible(BOOL visible); - - /*virtual*/ S32 notifyParent(const LLSD& info); - - // Implements LLVoiceClientStatusObserver::onChange() to enable the speak - // button when voice is available - /*virtual*/ void onChange(EStatusType status, const std::string &channelURI, bool proximal); - - void showBottomTrayContextMenu(S32 x, S32 y, MASK mask); - - void showSpeakButton(bool visible); - - void toggleMovementControls(); - void toggleCameraControls(); - - void onMouselookModeIn(); - void onMouselookModeOut(); - - /** - * Creates IM Chiclet based on session type (IM chat or Group chat) - */ - LLIMChiclet* createIMChiclet(const LLUUID& session_id); - - // Below are methods that were introduced or overriden in bottomtray to handle drag'n'drop - - virtual void draw(); - - /** - * These three methods handle drag'n'drop, they may be called directly from child buttons. - * handleHover and other virtual handle* couldn't be used here, because we should call LLPanel::handle*, - * but x and y here are often outside of bottomtray. - */ - void onDraggableButtonHover(S32 x, S32 y); - void onDraggableButtonMouseDown(LLUICtrl* button, S32 x, S32 y); - void onDraggableButtonMouseUp(LLUICtrl* button, S32 x, S32 y); - - -private: - typedef enum e_resize_state - { - RS_NORESIZE = 0x0000, - RS_CHICLET_PANEL = 0x0001, - RS_CHATBAR_INPUT = 0x0002, - RS_BUTTON_SNAPSHOT = 0x0004, - RS_BUTTON_CAMERA = 0x0008, - RS_BUTTON_MOVEMENT = 0x0010, - RS_BUTTON_GESTURES = 0x0020, - RS_BUTTON_SPEAK = 0x0040, - RS_IM_WELL = 0x0080, - RS_NOTIFICATION_WELL = 0x0100, - RS_BUTTON_BUILD = 0x0200, - RS_BUTTON_SEARCH = 0x0400, - RS_BUTTON_WORLD_MAP = 0x0800, - RS_BUTTON_MINI_MAP = 0x1000, - RS_BUTTON_DESTINATIONS = 0x2000, - RS_BUTTON_AVATARS = 0x4000, - RS_BUTTON_PEOPLE = 0x8000, - RS_BUTTON_PROFILE = 0x10000, - RS_BUTTON_HOWTO = 0x20000, - RS_BUTTON_SPLITTER_1 = 0x40000, - RS_BUTTON_SPLITTER_2 = 0x80000, - - /* - Once new button that can be hidden on resize is added don't forget to update related places: - - RS_BUTTONS_CAN_BE_HIDDEN enum value below. - - initResizeStateContainers(): mStateProcessedObjectMap and mButtonsProcessOrder - */ - - /** - * Specifies buttons which can be hidden when bottom tray is shrunk. - * They are: Gestures, Movement (Move), Camera (View), Snapshot - * new: Build, Search, Map, World Map, Mini-Map, destinations, avatars - */ - RS_BUTTONS_CAN_BE_HIDDEN = RS_BUTTON_SNAPSHOT | RS_BUTTON_CAMERA | RS_BUTTON_MOVEMENT | RS_BUTTON_GESTURES - | RS_BUTTON_BUILD | RS_BUTTON_SEARCH | RS_BUTTON_WORLD_MAP | RS_BUTTON_MINI_MAP - | RS_BUTTON_DESTINATIONS | RS_BUTTON_AVATARS - }EResizeState; - - // Below are three methods that were introduced to handle drag'n'drop - - /** - * finds a panel under the specified LOCAL point - */ - LLPanel* findChildPanelByLocalCoords(S32 x, S32 y); - - /** - * checks whether the cursor is over an area where the dragged button may be dropped - */ - bool isCursorOverDraggableArea(S32 x, S32 y); - - /** - * Updates process(shrink/show/hide) order of buttons and order in which they'll be stored for further save/load. - * It is called when dragged button is dropped - */ - void updateButtonsOrdersAfterDnD(); - - // saves order of buttons to file on disk - void saveButtonsOrder(); - // reads order of buttons from file on disk - void loadButtonsOrder(); - - /** - * Updates child controls size and visibility when it is necessary to reduce total width. - * - * Process order: - * - reduce chiclet panel to its minimal width; - * - reduce chatbar to its minimal width; - * - reduce visible buttons from right to left to their minimal width; - * - hide visible buttons from right to left; - * When button is hidden chatbar extended to fill released space if it is necessary. - * - * @param[in] delta_width - value by which bottom tray should be shrunk. It is a negative value. - * @return positive value which bottom tray can not process when it reaches its minimal width. - * Zero if there was enough space to process delta_width. - */ - S32 processWidthDecreased(S32 delta_width); - - /** - * Updates child controls size and visibility when it is necessary to extend total width. - * - * Process order: - * - show invisible buttons should be shown from left to right if possible; - * - extend visible buttons from left to right to their default width; - * - extend chatbar to its maximal width; - * - extend chiclet panel to all available space; - * When chatbar & chiclet panels are wider then their minimal width they can be reduced to allow - * a button gets visible in case if passed delta_width is not enough (chatbar first). - * - * @param[in] delta_width - value by which bottom tray should be extended. It is a positive value. - */ - void processWidthIncreased(S32 delta_width); - - /** helper function to log debug messages */ - void log(LLView* panel, const std::string& descr); - - /** - * Tries to show hidden by resize buttons using available width. - * - * Gets buttons visible if there is enough space. Reduces available_width in this case. - * - * @params[in, out] available_width - reference to available width to be used to show buttons. - * @see processShowButton() - * @return consumed pixels (difference in available width). - */ - S32 processShowButtons(S32& available_width); - - /** - * Tries to show panel with specified button using available width. - * - * Shows button specified by type if there is enough space. Reduces available_width in this case. - * - * @params[in] shown_object_type - type of button to be shown. - * @params[in, out] available_width - reference to available width to be used to show button. - * - * @return true if button can be shown, false otherwise - */ - bool processShowButton(EResizeState shown_object_type, S32& available_width); - - /** - * Hides visible panels with all buttons that may be hidden by resize if it is necessary. - * - * When button gets hidden some space is released in bottom tray. - * This space is taken into account for several consecutive calls for several buttons. - * - * @params[in, out] required_width - reference to required width to be released. This is a negative value. - * Its absolute value is decreased by shown panel width. - * @params[in, out] buttons_freed_width - reference to value released over required one. - * If panel's width is more than required difference is added to buttons_freed_width. - * @see processHideButton() - */ - void processHideButtons(S32& required_width, S32& buttons_freed_width); - - /** - * Hides panel with specified button if it is visible. - * - * When button gets hidden some space is released in bottom tray. - * This space is taken into account for several consecutive calls for several buttons. - * - * @params[in] processed_object_type - type of button to be hide. - * @params[in, out] required_width - reference to required width to be released. This is a negative value. - * Its absolute value is decreased by panel width. - * @params[in, out] buttons_freed_width - reference to value released over required one. - * If panel's width is more than required difference is added to buttons_freed_width. - */ - void processHideButton(EResizeState processed_object_type, S32& required_width, S32& buttons_freed_width); - - /** - * Shrinks shown buttons to reduce total taken space. - * - * Shrinks buttons that may be shrunk smoothly first. Then shrinks Speak button. - * - * @param[in, out] required_width - reference to width value which should be released when buttons are shrunk. It is a negative value. - * It is increased on the value processed by buttons. - * @params[in, out] buttons_freed_width - reference to value released over required one. - * If width of panel with Speak button is more than required that difference is added - * to buttons_freed_width. - * This is because Speak button shrinks discretely unlike other buttons which are changed smoothly. - */ - void processShrinkButtons(S32& required_width, S32& buttons_freed_width); - - /** - * Shrinks panel with specified button if it is visible. - * - * @params[in] processed_object_type - type of button to be shrunk. - * @param[in, out] required_width - reference to width value which should be released when button is shrunk. It is a negative value. - * It is increased on the value released by the button. - */ - void processShrinkButton(EResizeState processed_object_type, S32& required_width); - - /** - * Extends shown buttons to increase total taken space. - * - * Extends buttons that may be extended smoothly first. Then extends Speak button. - * - * @param[in, out] available_width - reference to width value which buttons can use to be extended. - * It is a positive value. It is decreased on the value processed by buttons. - */ - void processExtendButtons(S32& available_width); - - /** - * Extends the Speak button if there is enough headroom. - * - * Unlike other buttons, the Speak buttons has only two possible widths: - * the minimal one (without label) and the maximal (default) one. - * - * If the button is at its minimum width there is not enough headroom to - * reshape it to the maximum width, the method does nothing. - * - * @param available_width Available headroom. - * @return false if the button requires extension but there's not enough headroom, true otherwise. - */ - bool processExtendSpeakButton(S32& available_width); - - /** - * Extends shown button to increase total taken space. - * - * @params[in] processed_object_type - type of button to be extended. - * @param[in, out] available_width - reference to width value which button can use to be extended. - * It is a positive value. It is decreased on the value processed by buttons. - */ - void processExtendButton(EResizeState processed_object_type, S32& available_width); - - /** - * Determines if specified by type object can be shown. It should be hidden by shrink before. - * - * Processes buttons a such way to show buttons in constant order: - * - Gestures, Move, View, Snapshot - */ - bool canButtonBeShown(EResizeState processed_object_type) const; - - /** - * Initializes all containers stored data related to children resize state. - * - * @see mStateProcessedObjectMap - * @see mObjectDefaultWidthMap - * @see mButtonsProcessOrder - */ - void initResizeStateContainers(); - - /** - * Initializes buttons' visibility depend on stored Control Settings. - */ - void initButtonsVisibility(); - - /** - * Initializes listeners of Control Settings to toggle appropriate buttons' visibility. - * - * @see toggleShowButton() - */ - void setButtonsControlsAndListeners(); - - /** - * Toggles visibility of specified button depend on passed value. - * - * @param button_type - type of button to be toggled - * @param new_visibility - new visibility of the button - * - * @see setButtonsControlsAndListeners() - */ - static bool toggleShowButton(EResizeState button_type, const LLSD& new_visibility); - - /** - * Show the button if there is enough space. - * - * @param[in] button_type - type of button to be shown. - * @param[in, out] available_width amount of available space on the bottom bar. - * - * @return true if button was shown, false that's not possible (not enough space, etc) - */ - bool showButton(EResizeState button_type, S32& available_width); - - /** - * Sets passed visibility to object specified by resize type. - */ - void setTrayButtonVisible(EResizeState shown_object_type, bool visible); - - /** - * Sets passed visibility to object specified by resize type if it is possible. - * - * If it is impossible to show required button due to there is no enough room in bottom tray - * it will no be shown. Is called via context menu commands. - * In this case Alert Dialog will be shown to notify user about that. - * - * Method also stores resize state to be processed while future bottom tray extending: - * - if hidden while resizing button should be hidden it will not be shown while extending; - * - if hidden via context menu button should be shown but there is no enough room for now - * it will be shown while extending. - */ - void setTrayButtonVisibleIfPossible(EResizeState shown_object_type, bool visible, bool raise_notification = true); - - /** - * Sets passed visibility to required button and fit widths of shown - * buttons(notice that method can shrink widths to - * allocate needed room in bottom tray). - * Returns true if visibility of required button was set. - */ - bool setVisibleAndFitWidths(EResizeState object_type, bool visible); - - /** - * Get panel containing the given button. - * - * @see mStateProcessedObjectMap - */ - LLPanel* getButtonPanel(EResizeState button_type); - - /** - * Shows/hides panel with specified well button (IM or Notification) - * - * @param[in] object_type - type of well button to be processed. - * Must be one of RS_IM_WELL or RS_NOTIFICATION_WELL. - * @param[in] visible - flag specified whether button should be shown or hidden. - */ - void showWellButton(EResizeState object_type, bool visible); - - /** - * Handles a customization of chatbar width. - * - * When chatbar gets wider layout stack will reduce chiclet panel (it is auto-resizable) - * But once chiclet panel reaches its minimal width Stack will force to reduce buttons width. - * including Speak button. The similar behavior is when chatbar gets narrowly. - * This methods force resize behavior to resize buttons properly in these cases. - */ - void processChatbarCustomization(S32 new_width); - - /** - * @return difference between current chiclet panel width and the minimum. - */ - S32 getChicletPanelShrinkHeadroom() const; - - /// Get button name for debugging. - static std::string resizeStateToString(EResizeState state); - - /// Dump a mask for debugging - static std::string resizeStateMaskToString(MASK mask); - - /// @return true if any of the the passed buttons have been auto-hidden due to lack of available space. - bool isAutoHidden(MASK button_types) const; - - /** - * (Un)Mark the buttons as hidden. - * - * Auto-hidden buttons are those that re-appear as soon as we have enough available space. - */ - void setAutoHidden(MASK button_types, bool hide); - - /// Buttons automatically hidden due to lack of space. - MASK mResizeState; - - /** - * Mapping of button types to the layout panels the buttons are wrapped in. - * - * Used by getButtonPanel(). - */ - typedef std::map<EResizeState, LLPanel*> state_object_map_t; - state_object_map_t mStateProcessedObjectMap; - - /// Default (maximum) widths of the layout panels. - typedef std::map<EResizeState, S32> state_object_width_map_t; - state_object_width_map_t mObjectDefaultWidthMap; - - typedef std::vector<EResizeState> resize_state_vec_t; - - /** - * Contains order in which child buttons should be processed in show/hide, extend/shrink methods. - */ - resize_state_vec_t mButtonsProcessOrder; - - /** - * Contains order in which child buttons are shown. - * It traces order of all bottomtray buttons that may change place via drag'n'drop and should - * save and load it between sessions. mButtonsProcessOrder is not enough for it because it contains only - * buttons that may be hidden. - */ - resize_state_vec_t mButtonsOrder; - -protected: - - LLBottomTray(const LLSD& key = LLSD()); - - static void* createNearbyChatBar(void* userdata); - - void updateContextMenu(S32 x, S32 y, MASK mask); - void onContextMenuItemClicked(const LLSD& userdata); - bool onContextMenuItemEnabled(const LLSD& userdata); - - // Either default or saved after user's manual resize width of nearby chat. - // Nearby chat will not always have it, because sometimes it can be shrunk on resize, - // but when possible it will be restored back to this value. - S32 mDesiredNearbyChatWidth; - LLChicletPanel* mChicletPanel; - LLPanel* mSpeakPanel; - LLSpeakButton* mSpeakBtn; - LLNearbyChatBar* mNearbyChatBar; - LLLayoutPanel* mChatBarContainer; - LLPanel* mNearbyCharResizeHandlePanel; - LLLayoutStack* mToolbarStack; - LLMenuGL* mBottomTrayContextMenu; - LLButton* mCamButton; - LLButton* mMovementButton; - LLBottomTrayLite* mBottomTrayLite; - bool mIsInLiteMode; - - // Drag'n'Drop - - /** - * Is true if mouse down happened on draggable button. - * Set false whether on drag start or on mouse up. - */ - bool mCheckForDrag; - /** - * These two variables hold corrdinates of mouse down on draggable button. - * They are used to compare with current coordinates of cursor and determine whether drag'n'drop should start. - */ - S32 mStartX; - S32 mStartY; - /** - * True if drag'n'drop is happening. - */ - bool mDragStarted; - - /** - * Pointer to panel which is currently dragged (though it seems to user that button is dragged, - * we are changing place of layout panel). - */ - LLPanel* mDraggedItem; - /** - * Panel before which the dragged button will be inserted. - */ - LLPanel* mLandingTab; - /** - * Image used to show position where dragged button will be dropped. - */ - LLUIImage* mImageDragIndication; - - // We want only one LLNearbyChatBarListener object, so it's tied to this singleton - boost::shared_ptr<LLNearbyChatBarListener> mListener; -}; - -#endif // LL_LLBOTTOMPANEL_H diff --git a/indra/newview/llchatbar.cpp b/indra/newview/llchatbar.cpp index fb3abb132b7..d6095cce07d 100644 --- a/indra/newview/llchatbar.cpp +++ b/indra/newview/llchatbar.cpp @@ -60,7 +60,6 @@ #include "llui.h" #include "llviewermenu.h" #include "lluictrlfactory.h" -#include "llbottomtray.h" // // Globals diff --git a/indra/newview/llfloatersounddevices.cpp b/indra/newview/llfloatersounddevices.cpp index e692f1735ae..56c08065467 100644 --- a/indra/newview/llfloatersounddevices.cpp +++ b/indra/newview/llfloatersounddevices.cpp @@ -28,7 +28,6 @@ #include "llfloatersounddevices.h" -#include "llbottomtray.h" #include "lldraghandle.h" #include "llpanelvoicedevicesettings.h" @@ -55,9 +54,6 @@ LLFloaterSoundDevices::~LLFloaterSoundDevices() BOOL LLFloaterSoundDevices::postBuild() { LLTransientDockableFloater::postBuild(); - - LLView *anchor_panel = LLBottomTray::getInstance()->getChild<LLView>("flyout_btn"); - setDockControl(new LLDockControl(anchor_panel, this, getDockTongue(), LLDockControl::TOP)); setIsChrome(TRUE); if (mDragHandle) diff --git a/indra/newview/llimpanel.cpp b/indra/newview/llimpanel.cpp index b3b0c93b995..0250af6a0ef 100644 --- a/indra/newview/llimpanel.cpp +++ b/indra/newview/llimpanel.cpp @@ -41,7 +41,6 @@ #include "llagent.h" #include "llbutton.h" -#include "llbottomtray.h" #include "llcallingcard.h" #include "llchannelmanager.h" #include "llchat.h" diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 441ea2923d1..64d5152ebe8 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -46,7 +46,6 @@ #include "llagentui.h" #include "llappviewer.h" #include "llavatariconctrl.h" -#include "llbottomtray.h" #include "llcallingcard.h" #include "llchat.h" #include "llimfloater.h" @@ -1680,13 +1679,6 @@ BOOL LLCallDialog::postBuild() if (!LLDockableFloater::postBuild()) return FALSE; - // dock the dialog to the Speak Button, where other sys messages appear - LLView *anchor_panel = LLBottomTray::getInstance()->getChild<LLView>("speak_panel"); - - setDockControl(new LLDockControl( - anchor_panel, this, - getDockTongue(), LLDockControl::TOP)); - return TRUE; } diff --git a/indra/newview/llnearbychathandler.cpp b/indra/newview/llnearbychathandler.cpp index 7503164fe64..49f2dc082c6 100644 --- a/indra/newview/llnearbychathandler.cpp +++ b/indra/newview/llnearbychathandler.cpp @@ -29,7 +29,6 @@ #include "llagentdata.h" // for gAgentID #include "llnearbychathandler.h" -#include "llbottomtray.h" #include "llchatitemscontainerctrl.h" #include "llfirstuse.h" #include "llfloaterscriptdebug.h" diff --git a/indra/newview/llspeakbutton.cpp b/indra/newview/llspeakbutton.cpp deleted file mode 100644 index bbe573c546e..00000000000 --- a/indra/newview/llspeakbutton.cpp +++ /dev/null @@ -1,165 +0,0 @@ -/** -* @file llspeakbutton.cpp -* @brief LLSpeakButton class implementation -* -* $LicenseInfo:firstyear=2002&license=viewerlgpl$ -* Second Life Viewer Source Code -* Copyright (C) 2010, Linden Research, Inc. -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU Lesser General Public -* License as published by the Free Software Foundation; -* version 2.1 of the License only. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* Lesser General Public License for more details. -* -* You should have received a copy of the GNU Lesser General Public -* License along with this library; if not, write to the Free Software -* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -* -* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA -* $/LicenseInfo$ -*/ - -#include "llviewerprecompiledheaders.h" // must be first include - -#include "llbutton.h" -#include "llfloaterreg.h" - -#include "llagent.h" -#include "llbottomtray.h" -#include "llcallfloater.h" -#include "lloutputmonitorctrl.h" -#include "lltransientfloatermgr.h" - -#include "llspeakbutton.h" - -#include "llbottomtray.h" -#include "llfirstuse.h" - -static LLDefaultChildRegistry::Register<LLSpeakButton> t1("talk_button"); - -////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////// - -LLSpeakButton::Params::Params() -: speak_button("speak_button"), - show_button("show_button"), - monitor("monitor") -{} - -LLSpeakButton::LLSpeakButton(const Params& p) -: LLUICtrl(p) -, mOutputMonitor(NULL) -, mSpeakBtn(NULL) -, mShowBtn(NULL) -{ - LLRect rect = p.rect(); - LLRect speak_rect(0, rect.getHeight(), rect.getWidth(), 0); - LLRect show_rect = p.show_button.rect(); - show_rect.set(0, rect.getHeight(), show_rect.getWidth(), 0); - - speak_rect.mRight -= show_rect.getWidth(); - show_rect.mLeft = speak_rect.getWidth(); - show_rect.mRight = rect.getWidth(); - - LLButton::Params speak_params = p.speak_button; - speak_params.rect(speak_rect); - mSpeakBtn = LLUICtrlFactory::create<LLButton>(speak_params); - addChild(mSpeakBtn); - LLTransientFloaterMgr::getInstance()->addControlView(mSpeakBtn); - - mSpeakBtn->setMouseDownCallback(boost::bind(&LLSpeakButton::onMouseDown_SpeakBtn, this)); - mSpeakBtn->setMouseUpCallback(boost::bind(&LLSpeakButton::onMouseUp_SpeakBtn, this)); - mSpeakBtn->setToggleState(FALSE); - - LLBottomtrayButton::Params show_params = p.show_button; - show_params.rect(show_rect); - mShowBtn = LLUICtrlFactory::create<LLBottomtrayButton>(show_params); - addChild(mShowBtn); - LLTransientFloaterMgr::getInstance()->addControlView(mShowBtn); - -// mShowBtn->setClickedCallback(boost::bind(&LLSpeakButton::onClick_ShowBtn, this)); -// mShowBtn->setToggleState(FALSE); - - static const S32 MONITOR_RIGHT_PAD = 2; - - LLRect monitor_rect = p.monitor.rect(); - S32 monitor_height = monitor_rect.getHeight(); - monitor_rect.mLeft = speak_rect.getWidth() - monitor_rect.getWidth() - MONITOR_RIGHT_PAD; - monitor_rect.mRight = speak_rect.getWidth() - MONITOR_RIGHT_PAD; - monitor_rect.mBottom = (rect.getHeight() / 2) - (monitor_height / 2); - monitor_rect.mTop = monitor_rect.mBottom + monitor_height; - - LLOutputMonitorCtrl::Params monitor_params = p.monitor; - monitor_params.draw_border(false); - monitor_params.rect(monitor_rect); - monitor_params.auto_update(true); - monitor_params.speaker_id(gAgentID); - mOutputMonitor = LLUICtrlFactory::create<LLOutputMonitorCtrl>(monitor_params); - mSpeakBtn->addChild(mOutputMonitor); - - // never show "muted" because you can't mute yourself - mOutputMonitor->setIsMuted(false); - mOutputMonitor->setIsAgentControl(true); - - //*TODO find a better place to do that - LLVoiceChannel::setCurrentVoiceChannelChangedCallback(boost::bind(&LLCallFloater::sOnCurrentChannelChanged, _1), true); -} - -LLSpeakButton::~LLSpeakButton() -{ - if(LLTransientFloaterMgr::instanceExists()) - { - LLTransientFloaterMgr::getInstance()->removeControlView(mSpeakBtn); - LLTransientFloaterMgr::getInstance()->removeControlView(mShowBtn); - } -} - -void LLSpeakButton::setSpeakToolTip(const std::string& msg) -{ - mSpeakBtn->setToolTip(msg); -} - -void LLSpeakButton::setShowToolTip(const std::string& msg) -{ - mShowBtn->setToolTip(msg); -} - -void LLSpeakButton::setLabelVisible(bool visible) -{ - static std::string label_selected = mSpeakBtn->getLabelSelected(); - static std::string label_unselected = mSpeakBtn->getLabelUnselected(); - - if (visible) - { - mSpeakBtn->setLabelSelected(label_selected); - mSpeakBtn->setLabelUnselected(label_unselected); - } - else - { - static LLStringExplicit empty_string(""); - mSpeakBtn->setLabelSelected(empty_string); - mSpeakBtn->setLabelUnselected(empty_string); - } -} - -////////////////////////////////////////////////////////////////////////// -/// PROTECTED SECTION -////////////////////////////////////////////////////////////////////////// -void LLSpeakButton::onMouseDown_SpeakBtn() -{ - bool down = true; - LLVoiceClient::getInstance()->inputUserControlState(down); // this method knows/care about whether this translates into a toggle-to-talk or down-to-talk - LLFirstUse::speak(false); -} -void LLSpeakButton::onMouseUp_SpeakBtn() -{ - bool down = false; - LLVoiceClient::getInstance()->inputUserControlState(down); -} - diff --git a/indra/newview/llspeakbutton.h b/indra/newview/llspeakbutton.h deleted file mode 100644 index 7db01112ef0..00000000000 --- a/indra/newview/llspeakbutton.h +++ /dev/null @@ -1,88 +0,0 @@ -/** -* @file llspeakbutton.h -* @brief LLSpeakButton class header file -* -* $LicenseInfo:firstyear=2002&license=viewerlgpl$ -* Second Life Viewer Source Code -* Copyright (C) 2010, Linden Research, Inc. -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU Lesser General Public -* License as published by the Free Software Foundation; -* version 2.1 of the License only. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* Lesser General Public License for more details. -* -* You should have received a copy of the GNU Lesser General Public -* License along with this library; if not, write to the Free Software -* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -* -* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA -* $/LicenseInfo$ -*/ - -#ifndef LL_LLSPEAKBUTTON_H -#define LL_LLSPEAKBUTTON_H - -#include "llinitparam.h" -#include "lluictrl.h" - -class LLCallFloater; -class LLButton; -class LLOutputMonitorCtrl; -class LLBottomtrayButton; - -/* - * Button displaying voice chat status. Displays voice chat options when - * clicked. -*/ -class LLSpeakButton : public LLUICtrl -{ -public: - - struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> - { - Optional<LLButton::Params> speak_button; - Optional<LLBottomtrayButton::Params> show_button; - Optional<LLOutputMonitorCtrl::Params> monitor; - - Params(); - }; - - /*virtual*/ ~LLSpeakButton(); - - // *HACK: Need to put tooltips in a translatable location, - // the panel that contains this button. - void setSpeakToolTip(const std::string& msg); - void setShowToolTip(const std::string& msg); - - /** - * Sets visibility of speak button's label according to passed parameter. - * - * It removes label/selected label if "visible" is false and restores otherwise. - * - * @param visible if true - show label and selected label. - * - * @see mSpeakBtn - * @see LLBottomTray::processShrinkButtons() - */ - void setLabelVisible(bool visible); - -protected: - friend class LLUICtrlFactory; - LLSpeakButton(const Params& p); - - void onMouseDown_SpeakBtn(); - void onMouseUp_SpeakBtn(); - -private: - LLButton* mSpeakBtn; - LLBottomtrayButton* mShowBtn; - LLHandle<LLFloater> mPrivateCallPanel; - LLOutputMonitorCtrl* mOutputMonitor; -}; - -#endif // LL_LLSPEAKBUTTON_H diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 5d215c7f6d8..6ce0c358a1f 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -42,7 +42,6 @@ #include "llagentcamera.h" #include "llagentwearables.h" #include "llagentpilot.h" -#include "llbottomtray.h" #include "llcompilequeue.h" #include "llconsole.h" #include "lldaycyclemanager.h" @@ -7795,7 +7794,7 @@ class LLWorldToggleMovementControls : public view_listener_t { bool handleEvent(const LLSD& userdata) { - LLBottomTray::getInstance()->toggleMovementControls(); + LLFloaterReg::toggleInstanceOrBringToFront("moveview"); return true; } }; @@ -7804,7 +7803,7 @@ class LLWorldToggleCameraControls : public view_listener_t { bool handleEvent(const LLSD& userdata) { - LLBottomTray::getInstance()->toggleCameraControls(); + LLFloaterReg::toggleInstanceOrBringToFront("camera"); return true; } }; diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 85f74c9fdd5..1f8bac50699 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -187,7 +187,6 @@ #include "llviewerjoystick.h" #include "llviewernetwork.h" #include "llpostprocess.h" -#include "llbottomtray.h" #include "llnearbychatbar.h" #include "llagentui.h" #include "llwearablelist.h" @@ -2163,10 +2162,10 @@ void LLViewerWindow::reshape(S32 width, S32 height) // Hide normal UI when a logon fails void LLViewerWindow::setNormalControlsVisible( BOOL visible ) { - if(LLBottomTray::instanceExists()) + if(LLChicletBar::instanceExists()) { - LLBottomTray::getInstance()->setVisible(visible); - LLBottomTray::getInstance()->setEnabled(visible); + LLChicletBar::getInstance()->setVisible(visible); + LLChicletBar::getInstance()->setEnabled(visible); } if ( gMenuBarView ) @@ -4921,8 +4920,8 @@ S32 LLViewerWindow::getChatConsoleBottomPad() { S32 offset = 0; - if(LLBottomTray::instanceExists()) - offset += LLBottomTray::getInstance()->getRect().getHeight(); + if(gToolBarView) + offset += gToolBarView->getChild<LLView>("bottom_toolbar_panel")->getRect().getHeight(); return offset; } diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp index 90a05cd9e5b..05cd1d79b0c 100644 --- a/indra/newview/llvoicevivox.cpp +++ b/indra/newview/llvoicevivox.cpp @@ -55,7 +55,7 @@ #include "llimview.h" // for LLIMMgr #include "llparcel.h" #include "llviewerparcelmgr.h" -//#include "llfirstuse.h" +#include "llfirstuse.h" #include "llspeakers.h" #include "lltrans.h" #include "llviewerwindow.h" @@ -6258,6 +6258,19 @@ void LLVivoxVoiceClient::notifyStatusObservers(LLVoiceClientStatusObserver::ESta it = mStatusObservers.upper_bound(observer); } + // skipped to avoid speak button blinking + if ( status != LLVoiceClientStatusObserver::STATUS_JOINING + && status != LLVoiceClientStatusObserver::STATUS_LEFT_CHANNEL) + { + bool voice_status = LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking(); + + gAgent.setVoiceConnected(voice_status); + + if (voice_status) + { + LLFirstUse::speak(true); + } + } } void LLVivoxVoiceClient::addObserver(LLFriendObserver* observer) diff --git a/indra/newview/skins/default/xui/en/panel_bottomtray.xml b/indra/newview/skins/default/xui/en/panel_bottomtray.xml deleted file mode 100644 index 2737746c0eb..00000000000 --- a/indra/newview/skins/default/xui/en/panel_bottomtray.xml +++ /dev/null @@ -1,530 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - background_visible="true" - bg_alpha_color="DkGray" - bg_opaque_color="DkGray" - chrome="true" - follows="left|bottom|right" - focus_root="true" - height="33" - layout="topleft" - left="0" - name="bottom_tray" - top="28" - width="1310"> - <string - name="DragIndicationImageName" - value="Accordion_ArrowOpened_Off" /> - <string - name="SpeakBtnToolTip" - value="Turns microphone on/off" /> - <string - name="VoiceControlBtnToolTip" - value="Shows/hides voice control panel" /> - <layout_stack - border_size="0" - clip="false" - follows="all" - height="28" - layout="topleft" - left="0" - mouse_opaque="false" - name="toolbar_stack" - orientation="horizontal" - top="0" - width="1310"> - <layout_panel - auto_resize="false" - user_resize="false" - min_width="2" - width="2" /> - <layout_panel - auto_resize="false" - layout="topleft" - max_width="320" - min_width="214" - height="28" - mouse_opaque="false" - name="chat_bar_layout_panel" - user_resize="true" - width="250" > - <panel - name="chat_bar" - filename="panel_nearby_chat_bar.xml" - left="0" - height="28" - width="248" - top="0" - mouse_opaque="false" - follows="left|right" - /> - </layout_panel> - <!-- - This 5px Panel is an indicator of where the resize handle is. - The panel provides a gap between the resize handle icon and a button to the right. - --> - <layout_panel - auto_resize="false" - layout="topleft" - max_width="5" - min_width="5" - name="chat_bar_resize_handle_panel" - user_resize="false" - width="5"> - <icon - follows="top|right" - height="25" - image_name="ChatBarHandle" - layout="topleft" - left="-7" - name="resize_handle" - top="4" - width="5" /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_height="28" - min_width="59" - mouse_opaque="false" - name="speak_panel" - top_delta="0" - user_resize="false" - width="108"> - <talk_button - follows="left|right" - height="23" - layout="topleft" - left="0" - name="talk" - top="5" - width="105"> - <show_button - tab_stop="true"> - <init_callback - function="Button.SetDockableFloaterToggle" - parameter="voice_controls" /> - </show_button> - <!-- do not remove halign attribute with default value. otherwise it can't be overridden in other locales. - & pad_right is default value for long label which can be right aligned. See EXT-6318 --> - <speak_button - halign="center" - label="Speak" - label_selected="Speak" - name="speak_btn" - pad_right="20" - tab_stop="true" - use_ellipses="true" /> - </talk_button> - </layout_panel> - <layout_panel - auto_resize="false" - follows="right" - height="28" - layout="topleft" - min_height="28" - min_width="65" - mouse_opaque="false" - name="gesture_panel" - top_delta="0" - user_resize="false" - width="85"> - <gesture_combo_list - follows="left|right" - height="23" - label="Gesture" - layout="topleft" - left="0" - name="Gesture" - tool_tip="Shows/hides gestures" - top="5" - width="82"> - <combo_button - pad_right="10" - use_ellipses="true" /> - <combo_list - page_lines="17" /> - </gesture_combo_list> - </layout_panel> - <layout_panel - auto_resize="false" - follows="right" - height="28" - layout="topleft" - min_height="28" - min_width="52" - mouse_opaque="false" - name="movement_panel" - user_resize="false" - width="83"> - <bottomtray_button - follows="left|right" - height="23" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - is_toggle="true" - label="Move" - layout="topleft" - name="movement_btn" - tool_tip="Shows/hides movement controls" - top="5" - use_ellipses="true" - width="80"> - <init_callback - function="Button.SetDockableFloaterToggle" - parameter="moveview" /> - </bottomtray_button> - - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_height="28" - min_width="52" - mouse_opaque="false" - name="cam_panel" - user_resize="false" - width="83"> - <bottomtray_button - follows="left|right" - height="23" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - is_toggle="true" - label="View" - layout="topleft" - left="0" - name="camera_btn" - tool_tip="Shows/hides camera controls" - top="5" - use_ellipses="true" - width="80"> - <init_callback - function="Button.SetDockableFloaterToggle" - parameter="camera" /> - </bottomtray_button> - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_width="40" - mouse_opaque="false" - name="snapshot_panel" - user_resize="false" - width="39"> - <bottomtray_button - follows="left|right" - height="23" - image_overlay="Snapshot_Off" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - is_toggle="true" - layout="topleft" - left="0" - name="snapshots" - tool_tip="Take snapshot" - top="5" - width="36"> - <init_callback - function="Button.SetFloaterToggle" - parameter="snapshot" /> - </bottomtray_button> - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_height="28" - min_width="52" - mouse_opaque="false" - name="build_btn_panel" - user_resize="false" - width="83"> - <!--*FIX: Build Floater is not opened with default registration. Will be fixed soon. -Disabled for now. ---> - <bottomtray_button - follows="left|right" - height="23" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - is_toggle="true" - label="Build" - layout="topleft" - left="0" - name="build_btn" - tool_tip="Shows/hides Build Tools" - top="5" - use_ellipses="true" - width="80"> - <commit_callback - function="Build.Toggle" - parameter="build" /> - </bottomtray_button> - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_height="28" - min_width="52" - mouse_opaque="false" - name="search_btn_panel" - user_resize="false" - width="83"> - <bottomtray_button - follows="left|right" - height="23" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - is_toggle="true" - label="Search" - layout="topleft" - left="0" - name="search_btn" - tool_tip="Shows/hides Search" - top="5" - use_ellipses="true" - width="80"> - <init_callback - function="Button.SetFloaterToggle" - parameter="search" /> - </bottomtray_button> - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_height="28" - min_width="52" - mouse_opaque="false" - name="world_map_btn_panel" - user_resize="false" - width="83"> - <bottomtray_button - follows="left|right" - height="23" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - is_toggle="true" - label="Map" - layout="topleft" - left="0" - name="world_map_btn" - tool_tip="Shows/hides World Map" - top="5" - use_ellipses="true" - width="80"> - <init_callback - function="Button.SetFloaterToggle" - parameter="world_map" /> - </bottomtray_button> - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_height="28" - min_width="62" - mouse_opaque="false" - name="mini_map_btn_panel" - user_resize="false" - width="83"> - <bottomtray_button - follows="left|right" - height="23" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - is_toggle="true" - label="Mini-map" - layout="topleft" - left="0" - name="mini_map_btn" - tool_tip="Shows/hides mini-map" - top="5" - use_ellipses="true" - width="80"> - <init_callback - function="Button.SetFloaterToggle" - parameter="mini_map" /> - </bottomtray_button> - </layout_panel> - <layout_panel - follows="left|right" - height="30" - layout="topleft" - min_width="95" - mouse_opaque="false" - name="chiclet_list_panel" - top="0" - user_resize="false" - width="189"> -<!--*NOTE: min_width of the chiclet_panel (chiclet_list) must be the same -as for parent layout_panel (chiclet_list_panel) to resize bottom tray properly. EXT-991--> - <chiclet_panel - chiclet_padding="4" - follows="left|right" - height="24" - layout="topleft" - left="1" - min_width="95" - mouse_opaque="false" - name="chiclet_list" - top="7" - width="189"> - <button - auto_resize="true" - follows="right" - height="29" - image_hover_selected="SegmentedBtn_Left_Over" - image_hover_unselected="SegmentedBtn_Left_Over" - image_overlay="Arrow_Small_Left" - image_pressed="SegmentedBtn_Left_Press" - image_pressed_selected="SegmentedBtn_Left_Press" - image_selected="SegmentedBtn_Left_Off" - image_unselected="SegmentedBtn_Left_Off" - layout="topleft" - name="chicklet_left_scroll_button" - tab_stop="false" - top="-28" - visible="false" - width="7" /> - <button - auto_resize="true" - follows="right" - height="29" - image_hover_selected="SegmentedBtn_Right_Over" - image_hover_unselected="SegmentedBtn_Right_Over" - image_overlay="Arrow_Small_Right" - image_pressed="SegmentedBtn_Right_Press" - image_pressed_selected="SegmentedBtn_Right_Press" - image_selected="SegmentedBtn_Right_Off" - image_unselected="SegmentedBtn_Right_Off" - layout="topleft" - name="chicklet_right_scroll_button" - tab_stop="false" - top="-28" - visible="false" - width="7" /> - </chiclet_panel> - </layout_panel> - <layout_panel auto_resize="false" - user_resize="false" - width="4" - min_width="4"/> - <layout_panel - auto_resize="false" - follows="right" - height="28" - layout="topleft" - min_height="28" - min_width="37" - name="im_well_panel" - top="0" - user_resize="false" - width="37"> - <chiclet_im_well - follows="right" - height="28" - layout="topleft" - left="0" - max_displayed_count="99" - name="im_well" - top="0" - width="35"> - <!-- -Emulate 4 states of button by background images, see details in EXT-3147. The same should be for notification_well button -xml attribute Description -image_unselected "Unlit" - there are no new messages -image_selected "Unlit" + "Selected" - there are no new messages and the Well is open -image_pressed "Lit" - there are new messages -image_pressed_selected "Lit" + "Selected" - there are new messages and the Well is open - --> - <button - auto_resize="true" - follows="right" - halign="center" - height="23" - image_overlay="Unread_IM" - image_overlay_alignment="center" - image_pressed="WellButton_Lit" - image_pressed_selected="WellButton_Lit_Selected" - image_selected="PushButton_Press" - label_color="Black" - left="0" - name="Unread IM messages" - tool_tip="Conversations" - width="34"> - <init_callback - function="Button.SetDockableFloaterToggle" - parameter="im_well_window" /> - </button> - </chiclet_im_well> - </layout_panel> - <layout_panel - auto_resize="false" - follows="right" - height="28" - layout="topleft" - min_height="28" - min_width="37" - name="notification_well_panel" - top="0" - user_resize="false" - width="37"> - <chiclet_notification - follows="right" - height="23" - layout="topleft" - left="0" - max_displayed_count="99" - name="notification_well" - top="5" - width="35"> - <button - auto_resize="true" - bottom_pad="3" - follows="right" - halign="center" - height="23" - image_overlay="Notices_Unread" - image_overlay_alignment="center" - image_pressed="WellButton_Lit" - image_pressed_selected="WellButton_Lit_Selected" - image_selected="PushButton_Press" - label_color="Black" - left="0" - name="Unread" - tool_tip="Notifications" - width="34"> - <init_callback - function="Button.SetDockableFloaterToggle" - parameter="notification_well_window" /> - </button> - </chiclet_notification> - </layout_panel> - <layout_panel - auto_resize="false" - user_resize="false" - min_width="4" - name="DUMMY2" - width="8" /> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/en/panel_side_tray.xml b/indra/newview/skins/default/xui/en/panel_side_tray.xml deleted file mode 100644 index 0f330a7b981..00000000000 --- a/indra/newview/skins/default/xui/en/panel_side_tray.xml +++ /dev/null @@ -1,174 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<!-- Side tray cannot show background because it is always - partially on screen to hold tab buttons. --> -<side_tray - name="sidebar" - background_visible="false" - mouse_opaque="true" - width="333" - collapsed="true" -> - <!-- Individual tabs must show background to have seemless - appearance up to tray panel header word like "Home". - Embedded panels are inset by a pixel and so their - backgrounds will not block the world fully. --> - - <sidetray_tab - name="sidebar_openclose" - help_topic="sidebar_openclose" - tab_title="Toggle Sidebar" - description="Toggle Sidebar." - image="TabIcon_Open_Off" - image_selected="TabIcon_Close_Off" - mouse_opaque="false" - background_visible="true" - > - <panel /> <!-- dummy panel, never to actually be seen --> - </sidetray_tab> - - <sidetray_tab - name="sidebar_home" - help_topic="sidebar_home" - tab_title="Home" - description="Home." - image="TabIcon_Home_Off" - image_selected="TabIcon_Home_Selected" - mouse_opaque="false" - background_visible="true" - > - <panel - class="panel_sidetray_home" - name="panel_home" - filename="panel_sidetray_home_tab.xml" - label="home" - /> - </sidetray_tab> - - <sidetray_tab - name="sidebar_me" - help_topic="sidebar_me" - tab_title="My Profile" - description="Edit your public profile and Picks." - image="TabIcon_Me_Off" - image_selected="TabIcon_Me_Selected" - mouse_opaque="false" - background_visible="true" - > - <panel_container - name="panel_container" - default_panel_name="panel_me" - width="333" - > - <panel - class="panel_me" - name="panel_me" - filename="panel_me.xml" - label="Me" - /> - - </panel_container> - </sidetray_tab> - - <sidetray_tab - name="sidebar_people" - help_topic="sidebar_people" - tab_title="People" - description="Find your friends, contacts and people nearby." - image="TabIcon_People_Off" - image_selected="TabIcon_People_Selected" - mouse_opaque="false" - background_visible="true" - > - <panel_container - name="panel_container" - default_panel_name="panel_people" - width="333" - > - <panel - class="panel_people" - name="panel_people" - filename="panel_people.xml" - /> - <panel - class="panel_profile_view" - name="panel_profile_view" - filename="panel_profile_view.xml" - /> - <panel - class="panel_group_info_sidetray" - name="panel_group_info_sidetray" - filename="panel_group_info_sidetray.xml" - label="Group Profile" - font="SansSerifBold" - /> - <panel - class="panel_block_list_sidetray" - name="panel_block_list_sidetray" - filename="panel_block_list_sidetray.xml" - label="Blocked Residents & Objects" - font="SansSerifBold" - /> - - </panel_container> - </sidetray_tab> - - <sidetray_tab - name="sidebar_places" - help_topic="sidebar_places" - tab_title="Places" - label="Places" - description="Find places to go and places you've visited before." - image="TabIcon_Places_Off" - image_selected="TabIcon_Places_Selected" - mouse_opaque="false" - background_visible="true" - > - <panel - class="panel_places" - name="panel_places" - filename="panel_places.xml" - label="Places" - font="SansSerifBold" - /> - </sidetray_tab> - - <sidetray_tab - name="sidebar_inventory" - help_topic="sidebar_inventory" - tab_title="My Inventory" - description="Browse your inventory." - image="TabIcon_Things_Off" - image_selected="TabIcon_Things_Selected" - mouse_opaque="false" - background_visible="true" - > - <badge location="top_left" location_percent_vcenter="50" location_percent_hcenter="95" /> - <panel - class="sidepanel_inventory" - name="sidepanel_inventory" - filename="sidepanel_inventory.xml" - label="Edit Inventory" - font="SansSerifBold" - /> - </sidetray_tab> - - <sidetray_tab - name="sidebar_appearance" - help_topic="sidebar_appearance" - tab_title="My Appearance" - description="Change your appearance and current look." - image="TabIcon_Appearance_Off" - image_selected="TabIcon_Appearance_Selected" - mouse_opaque="false" - background_visible="true" - > - <panel - class="sidepanel_appearance" - name="sidepanel_appearance" - filename="sidepanel_appearance.xml" - label="Edit Appearance" - font="SansSerifBold" - /> - </sidetray_tab> - -</side_tray> -- GitLab From 4c663ca8b997bd74fb3b646c3cb3870555dfeb91 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Thu, 13 Oct 2011 15:17:51 -0700 Subject: [PATCH 202/256] EXP-1314 FIX -- No floater for Marketplace EXP-1338 FIX -- Clicking on active Toybox buttons triggers clicking sound EXP-1339 FIX -- No minimum resize dimension for Place floater EXP-1340 FIX -- No minimum resize demension for Appearance floater EXP-1341 FIX -- Places Floater doesn't have Help button * Toybox buttons no longer have click sounds * Marketplace button opens external browser to marketplace url * Minimum sizes for places and appearance floaters * Marketplace URL's now all use https --- indra/newview/app_settings/commands.xml | 5 +- indra/newview/app_settings/settings.xml | 70 +++++++++---------- indra/newview/llviewermenu.cpp | 2 + .../default/xui/en/floater_my_appearance.xml | 2 + .../skins/default/xui/en/floater_places.xml | 3 + .../skins/default/xui/en/floater_toybox.xml | 1 + 6 files changed, 44 insertions(+), 39 deletions(-) diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index e4aaca1bd08..c83494df255 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -116,10 +116,7 @@ icon="Command_Marketplace_Icon" label_ref="Command_Marketplace_Label" tooltip_ref="Command_Marketplace_Tooltip" - execute_function="Floater.ToggleOrBringToFront" - execute_parameters="marketplace" - is_running_function="Floater.IsOpen" - is_running_parameters="marketplace" + execute_function="Avatar.OpenMarketplace" /> <command name="minimap" available_in_toybox="true" diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 2dbf9e714b8..da2161c8dec 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -5094,7 +5094,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/</string> + <string>https://marketplace.secondlife.com/</string> </map> <key>MarketplaceURL_objectFemale</key> <map> @@ -5105,7 +5105,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/attachments</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/attachments</string> </map> <key>MarketplaceURL_objectMale</key> <map> @@ -5116,7 +5116,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/attachments</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/attachments</string> </map> <key>MarketplaceURL_clothingFemale</key> <map> @@ -5127,7 +5127,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/clothing_female_avatar</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/clothing_female_avatar</string> </map> <key>MarketplaceURL_clothingMale</key> <map> @@ -5138,7 +5138,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/clothing_male_avatar</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/clothing_male_avatar</string> </map> <key>MarketplaceURL_bodypartFemale</key> <map> @@ -5149,7 +5149,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com</string> + <string>https://marketplace.secondlife.com/</string> </map> <key>MarketplaceURL_bodypartMale</key> <map> @@ -5160,7 +5160,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/</string> + <string>https://marketplace.secondlife.com/</string> </map> <key>MarketplaceURL_glovesMale</key> <map> @@ -5171,7 +5171,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/gloves_both_women_and_men</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/gloves_both_women_and_men</string> </map> <key>MarketplaceURL_glovesFemale</key> <map> @@ -5182,7 +5182,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/gloves_both_women_and_men</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/gloves_both_women_and_men</string> </map> <key>MarketplaceURL_jacketFemale</key> <map> @@ -5193,7 +5193,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/jacket_womens</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/jacket_womens</string> </map> <key>MarketplaceURL_jacketMale</key> <map> @@ -5204,7 +5204,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/jacket_mens</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/jacket_mens</string> </map> <key>MarketplaceURL_shirtFemale</key> <map> @@ -5215,7 +5215,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/shirt_womens</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/shirt_womens</string> </map> <key>MarketplaceURL_shirtMale</key> <map> @@ -5226,7 +5226,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/shirt_mens</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/shirt_mens</string> </map> <key>MarketplaceURL_undershirtFemale</key> <map> @@ -5237,7 +5237,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/undershirt_womens</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/undershirt_womens</string> </map> <key>MarketplaceURL_undershirtMale</key> <map> @@ -5248,7 +5248,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/undershirt_mens</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/undershirt_mens</string> </map> <key>MarketplaceURL_skirtFemale</key> <map> @@ -5259,7 +5259,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/skirts_women</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/skirts_women</string> </map> <key>MarketplaceURL_skirtMale</key> <map> @@ -5270,7 +5270,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/skirts_women</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/skirts_women</string> </map> <key>MarketplaceURL_pantsFemale</key> <map> @@ -5281,7 +5281,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/pants_women</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/pants_women</string> </map> <key>MarketplaceURL_pantsMale</key> <map> @@ -5292,7 +5292,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/pants_men</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/pants_men</string> </map> <key>MarketplaceURL_underpantsFemale</key> <map> @@ -5303,7 +5303,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/underwear_women</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/underwear_women</string> </map> <key>MarketplaceURL_underpantsMale</key> <map> @@ -5314,7 +5314,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/underwear_men</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/underwear_men</string> </map> <key>MarketplaceURL_shoesFemale</key> <map> @@ -5325,7 +5325,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/shoes_women</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/shoes_women</string> </map> <key>MarketplaceURL_shoesMale</key> <map> @@ -5336,7 +5336,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/shoes_men</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/shoes_men</string> </map> <key>MarketplaceURL_socksFemale</key> <map> @@ -5347,7 +5347,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/socks_women</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/socks_women</string> </map> <key>MarketplaceURL_socksMale</key> <map> @@ -5358,7 +5358,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/socks_women</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/socks_women</string> </map> <key>MarketplaceURL_tattooMale</key> <map> @@ -5369,7 +5369,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/tattoo_both_women_and_men</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/tattoo_both_women_and_men</string> </map> <key>MarketplaceURL_tattooFemale</key> <map> @@ -5380,7 +5380,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/tattoo_both_women_and_men</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/tattoo_both_women_and_men</string> </map> <key>MarketplaceURL_hairFemale</key> <map> @@ -5391,7 +5391,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/womens_hair</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/womens_hair</string> </map> <key>MarketplaceURL_hairMale</key> <map> @@ -5402,7 +5402,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/mens_hair</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/mens_hair</string> </map> <key>MarketplaceURL_eyesFemale</key> <map> @@ -5413,7 +5413,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/womens_eyes</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/womens_eyes</string> </map> <key>MarketplaceURL_eyesMale</key> <map> @@ -5424,7 +5424,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/mens_eyes</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/mens_eyes</string> </map> <key>MarketplaceURL_shapeFemale</key> <map> @@ -5435,7 +5435,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/womens_shape</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/womens_shape</string> </map> <key>MarketplaceURL_shapeMale</key> <map> @@ -5446,7 +5446,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/mens_shape</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/mens_shape</string> </map> <key>MarketplaceURL_skinFemale</key> <map> @@ -5457,7 +5457,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/womens_skin</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/womens_skin</string> </map> <key>MarketplaceURL_skinMale</key> <map> @@ -5468,7 +5468,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/mens_skin</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/mens_skin</string> </map> <key>MaxDragDistance</key> <map> diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 4b90f1952a7..5d215c7f6d8 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -8259,6 +8259,8 @@ void initialize_menus() view_listener_t::addMenu(new LLAvatarReportAbuse(), "Avatar.ReportAbuse"); view_listener_t::addMenu(new LLAvatarToggleMyProfile(), "Avatar.ToggleMyProfile"); enable.add("Avatar.IsMyProfileOpen", boost::bind(&my_profile_visible)); + + commit.add("Avatar.OpenMarketplace", boost::bind(&LLWeb::loadURLExternal, gSavedSettings.getString("MarketplaceURL"))); view_listener_t::addMenu(new LLAvatarEnableAddFriend(), "Avatar.EnableAddFriend"); enable.add("Avatar.EnableFreezeEject", boost::bind(&enable_freeze_eject, _2)); diff --git a/indra/newview/skins/default/xui/en/floater_my_appearance.xml b/indra/newview/skins/default/xui/en/floater_my_appearance.xml index 758a1d5be9c..74c4e228419 100644 --- a/indra/newview/skins/default/xui/en/floater_my_appearance.xml +++ b/indra/newview/skins/default/xui/en/floater_my_appearance.xml @@ -11,6 +11,8 @@ save_rect="true" single_instance="true" title="APPEARANCE" + min_height="230" + min_width="333" width="333"> <panel top="18" diff --git a/indra/newview/skins/default/xui/en/floater_places.xml b/indra/newview/skins/default/xui/en/floater_places.xml index 0c22f2d6ea5..b7cb86b468f 100644 --- a/indra/newview/skins/default/xui/en/floater_places.xml +++ b/indra/newview/skins/default/xui/en/floater_places.xml @@ -7,8 +7,11 @@ height="588" layout="topleft" name="floater_places" + help_topic="floater_places" save_rect="true" title="PLACES" + min_height="230" + min_width="333" width="333"> <panel top="18" diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index fbc16352ea2..c7e09bf45e2 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -76,6 +76,7 @@ flash_color="ButtonUnselectedFgColor" halign="left" hover_glow_amount="0.15" + sound_flags="0" display_pressed_state="false" /> </toolbar> <panel -- GitLab From c054f1faed8f87f7c6dfb83c2a13ae3cae97ec89 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Thu, 13 Oct 2011 16:48:59 -0700 Subject: [PATCH 203/256] * Hooked up build FUI toolbar button * Added Shop button to status bar * Changed "Inventory..." menu item to go to same window as toolbar inventory button --- indra/newview/app_settings/commands.xml | 2 +- indra/newview/llstatusbar.cpp | 5 +++- .../skins/default/textures/textures.xml | 1 + .../textures/toolbar_icons/mini_cart.png | Bin 0 -> 2987 bytes .../skins/default/xui/en/menu_viewer.xml | 18 ++---------- .../skins/default/xui/en/panel_status_bar.xml | 27 ++++++++++++++++-- 6 files changed, 33 insertions(+), 20 deletions(-) create mode 100644 indra/newview/skins/default/textures/toolbar_icons/mini_cart.png diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index c83494df255..7c6468459c0 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -35,7 +35,7 @@ icon="Command_Build_Icon" label_ref="Command_Build_Label" tooltip_ref="Command_Build_Tooltip" - execute_function="Floater.ToggleOrBringToFront" + execute_function="Build.Toggle" execute_parameters="build" is_enabled_function="Agent.IsActionAllowed" is_enabled_parameters="build" diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp index 1b8be7a5b23..75db269bde9 100644 --- a/indra/newview/llstatusbar.cpp +++ b/indra/newview/llstatusbar.cpp @@ -169,6 +169,8 @@ BOOL LLStatusBar::postBuild() getChild<LLUICtrl>("buyL")->setCommitCallback( boost::bind(&LLStatusBar::onClickBuyCurrency, this)); + getChild<LLUICtrl>("goShop")->setCommitCallback(boost::bind(&LLWeb::loadURLExternal, gSavedSettings.getString("MarketplaceURL"))); + mBoxBalance = getChild<LLTextBox>("balance"); mBoxBalance->setClickedCallback( &LLStatusBar::onClickBalance, this ); @@ -345,9 +347,10 @@ void LLStatusBar::setBalance(S32 balance) const S32 HPAD = 24; LLRect balance_rect = mBoxBalance->getTextBoundingRect(); LLRect buy_rect = getChildView("buyL")->getRect(); + LLRect shop_rect = getChildView("goShop")->getRect(); LLView* balance_bg_view = getChildView("balance_bg"); LLRect balance_bg_rect = balance_bg_view->getRect(); - balance_bg_rect.mLeft = balance_bg_rect.mRight - (buy_rect.getWidth() + balance_rect.getWidth() + HPAD); + balance_bg_rect.mLeft = balance_bg_rect.mRight - (buy_rect.getWidth() + shop_rect.getWidth() + balance_rect.getWidth() + HPAD); balance_bg_view->setShape(balance_bg_rect); } diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 25f19031318..ab1a8f09904 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -137,6 +137,7 @@ with the same filename but different name <texture name="Command_Inventory_Icon" file_name="toolbar_icons/inventory.png" preload="true" /> <texture name="Command_Map_Icon" file_name="toolbar_icons/map.png" preload="true" /> <texture name="Command_Marketplace_Icon" file_name="toolbar_icons/marketplace.png" preload="true" /> + <texture name="Command_MiniCart_Icon" file_name="toolbar_icons/mini_cart.png" preload="true" /> <texture name="Command_MiniMap_Icon" file_name="toolbar_icons/mini_map.png" preload="true" /> <texture name="Command_Move_Icon" file_name="toolbar_icons/move.png" preload="true" /> <texture name="Command_People_Icon" file_name="toolbar_icons/people.png" preload="true" /> diff --git a/indra/newview/skins/default/textures/toolbar_icons/mini_cart.png b/indra/newview/skins/default/textures/toolbar_icons/mini_cart.png new file mode 100644 index 0000000000000000000000000000000000000000..9fcf46794d1374c08e3b0407515867289a6c3f90 GIT binary patch literal 2987 zcmV;c3sm%pP)<h;3K|Lk000e1NJLTq000dD000UI1^@s6Z|>B@00009a7bBm000XU z000XU0RWnu7ytkYPiaF#P*7-ZbZ>KLZ*U+<Lqi~Na&Km7Y-Iodc-oy)XH-+^7Crag z^g>IBfRsybQWXdwQbLP>6p<z>Aqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uh<iVD~V z<RPMtgQJLw%KPDaqifc@_vX$1wbwr9tn;0-&j-K=43<bUQ8j=JsX`tR;Dg7+#^K~H zK!FM*Z~zbpvt%K2{UZSY_<lS*D<Z%Lz5oGu(+dayz)hRLFdT>f59&ghTmgWD0l;*T zI7<kC6aYYajzXpYKt=(8otP$50H6c_V9R4-;{Z@C0AMG7=F<Rxo%or10RUT+Ar%3j zkpLhQWr#!oXgdI`&sK^>09Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-<?i z0%4j!F2Z@488U%158(66005wo6%pWr^Zj_v4zAA5HjcIqUoGmt2LB>rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_<lS*MWK+n+1cgf z<k(8YLR(?VSAG6x!e78w{cQPuJpA|d;J)G{fihizM+Erb!p!tcr5w+a34~(Y=8s4G zw+sLL9n&JjNn*KJDiq^U5^;`1nvC-@r6P$!k}1U{(*I=Q-z@tBKHoI}uxdU5dyy@u zU1J0GOD7Ombim^G008p4Z^6_k2m^p<gW=D2|L;HjN1!DDfM!XOaR2~bL?kX$%CkSm z2mk;?pn)o|K^yeJ7%adB9Ki+L!3+FgHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_v zKpix|QD}yfa1JiQRk#j4a1Z)n2%f<xynzV>LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_Ifq<Ex{*7`05XF7hP+2Hl!3BQJ=6@fL%FCo z8iYoo3(#bAF`ADSpqtQgv>H8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ<AYmRsNLWl*PS{AOARHt#5!wki2?K;t z!Y3k=s7tgax)J%r7-BLphge7~Bi0g+6E6^Zh(p9TBoc{3GAFr^0!gu?RMHaCM$&Fl zBk3%un>0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 z<uv66WtcKSRim0x-Ke2d5jBrmLam{;Qm;{ms1r1GnmNsb7D-E`t)i9F8fX`2_i3-_ zbh;7Ul^#x)&{xvS=|||7=mYe33=M`AgU5(xC>fg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vF<Q0r40Q)j6=sE4X&sBct1q<&fbi3VB2Ov6t@q*0);U*o*SAPZv|vv@2aYYnT0 zb%8a+Cb7-ge0D0knEf5Qi#@8Tp*ce{N;6lpQuCB%KL_KOarm5cP6_8Ir<e17iry6O zDdH&`rZh~sF=bq9s+O0QSgS~@QL9Jmy*94xr=6y~MY~!1fet~(N+(<=M`w@D1)b+p z*;C!83a1uLJv#NSE~;y#8=<>IcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a<fJbF^|4I#xQ~n$Dc= zKYhjYmgz5NSkDm8*fZm{6U!;YX`NG>(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-k<Mujg;0Lz*3buG=3$G&ehepthlN*$KaOySSQ^nWmo<0M+(UEUMEXRQ zMBbZcF;6+KElM>iKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BK<z=<L*0kfKU@CX*zeqbYQT4(^U>T#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot<a{81DF0~rvGr5Xr~8u`lav1h z1DNytV>2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0002iNkl<Zc-oARQ4Iny42HiF1WW-NIRqeqbASUh-~bdLft&+S065q?kQ*3a4$8yz z$YmjfCC%1uf4{$zTWU{$16<|9lz*10qN?0d`?{uf-sit!JkTEmPWR^{s%iibND59M zC`9SrEk*;;5y;iV*8+_|Q~6K}tbsW5p$4`<5>@@E?vL~WA`q;UY~EmX2jo#P;=wK( zjD(Twd<HHhX$kC%0B`|3u&_oeU|WhD&|A!3K05>J(%#<oxl#H+JK7S#jSEp{ONiAZ hY=*X_6J?P69smXJZ~w^)%1r<O002ovPDHLkV1h^xhL->U literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 69029d2ab9c..833e8b9f32a 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -34,25 +34,13 @@ <menu_item_check label="Inventory..." name="Inventory" - shortcut="control|shift|I" - visible="false"> + shortcut="control|I" + visible="true"> <menu_item_check.on_check function="Floater.Visible" - parameter="inventory" /> - <menu_item_check.on_click - function="Floater.Toggle" - parameter="inventory" /> - </menu_item_check> - <menu_item_check - label="Inventory..." - name="ShowSidetrayInventory" - shortcut="control|I" - visible="true"> - <menu_item_check.on_check - function="SidetrayPanelVisible" parameter="my_inventory" /> <menu_item_check.on_click - function="ShowSidetrayPanel" + function="Floater.Toggle" parameter="my_inventory" /> </menu_item_check> <menu_item_check diff --git a/indra/newview/skins/default/xui/en/panel_status_bar.xml b/indra/newview/skins/default/xui/en/panel_status_bar.xml index 1f298cbe16e..c983e0792a7 100644 --- a/indra/newview/skins/default/xui/en/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml @@ -35,8 +35,8 @@ </panel.string> <panel height="18" - left="-315" - width="95" + left="-370" + width="150" top="1" follows="right|top" name="balance_bg" @@ -64,7 +64,7 @@ image_unselected="buy_off" image_pressed="buy_press" height="18" - label="BUY L$" + label="Buy L$" label_color="White" left_pad="0" label_shadow="true" @@ -74,6 +74,27 @@ tool_tip="Click to buy more L$" top="0" width="55" /> + <button + halign="left" + font="SansSerifSmall" + follows="right|top|bottom" + imgoverlay_label_space="7" + image_overlay="Command_MiniCart_Icon" + image_overlay_alignment="left" + image_hover_unselected="buy_over" + image_unselected="buy_off" + image_pressed="buy_press" + height="18" + label="Shop" + label_color="White" + left_pad="0" + label_shadow="true" + name="goShop" + pad_right="0" + pad_bottom="2" + tool_tip="Go shopping" + top="0" + width="55" /> </panel> <text type="string" -- GitLab From 989cea5facea0b30a954f7a623c4caff1899d5f8 Mon Sep 17 00:00:00 2001 From: eli <none@none> Date: Thu, 13 Oct 2011 17:29:35 -0700 Subject: [PATCH 204/256] sync with viewer-development --- .../default/xui/en/floater_build_options.xml | 2 +- .../default/xui/en/panel_region_covenant.xml | 8 +++---- .../default/xui/en/panel_region_debug.xml | 24 +++++++++---------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/indra/newview/skins/default/xui/en/floater_build_options.xml b/indra/newview/skins/default/xui/en/floater_build_options.xml index c247a12e7a1..afb79170431 100644 --- a/indra/newview/skins/default/xui/en/floater_build_options.xml +++ b/indra/newview/skins/default/xui/en/floater_build_options.xml @@ -37,7 +37,7 @@ layout="topleft" left="10" tool_tip="Grid opacity" - name="grid_opacity_label" + name="grid_mode_label" top_pad="30" width="123"> Mode diff --git a/indra/newview/skins/default/xui/en/panel_region_covenant.xml b/indra/newview/skins/default/xui/en/panel_region_covenant.xml index 2b2ea78fac4..df16f6fd373 100644 --- a/indra/newview/skins/default/xui/en/panel_region_covenant.xml +++ b/indra/newview/skins/default/xui/en/panel_region_covenant.xml @@ -107,13 +107,13 @@ <text_editor enabled="false" follows="left|top" - height="100" + height="180" layout="topleft" - left="110" + left="10" max_length="65535" name="covenant_editor" - top_delta="30" - width="340" + top_delta="20" + width="460" word_wrap="true"> There is no Covenant provided for this Estate. </text_editor> diff --git a/indra/newview/skins/default/xui/en/panel_region_debug.xml b/indra/newview/skins/default/xui/en/panel_region_debug.xml index 15df095efa4..45506031349 100644 --- a/indra/newview/skins/default/xui/en/panel_region_debug.xml +++ b/indra/newview/skins/default/xui/en/panel_region_debug.xml @@ -174,31 +174,31 @@ <button follows="left|top" height="20" - label="Get Top Scripts..." + label="Restart Region" layout="topleft" - left="10" - name="top_scripts_btn" - tool_tip="List of objects spending the most time running scripts" - top_pad="5" + left_pad="155" + name="restart_btn" + tool_tip="Give 2 minute countdown and restart region" + top_delta="0" width="150" /> <button follows="left|top" height="20" - label="Restart Region" + label="Get Top Scripts..." layout="topleft" left="10" - name="restart_btn" - tool_tip="Give 2 minute countdown and restart region" + name="top_scripts_btn" + tool_tip="List of objects spending the most time running scripts" top_pad="5" - width="130" /> + width="150" /> <button follows="left|top" height="20" label="Delay Restart" layout="topleft" - left="10" + left_pad="155" name="cancel_restart_btn" tool_tip="Delay region restart by one hour" - top_pad="5" - width="130" /> + top_delta="0" + width="150" /> </panel> -- GitLab From 064b1918b3afc766f14822ebd7ae950c0035cdd2 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Thu, 13 Oct 2011 19:16:31 -0700 Subject: [PATCH 205/256] fix build --- indra/llui/llsdparam.cpp | 5 +++-- indra/llui/tests/llurlentry_stub.cpp | 2 +- indra/llui/tests/llurlmatch_test.cpp | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/indra/llui/llsdparam.cpp b/indra/llui/llsdparam.cpp index 242b1fca7f7..b3bf5108764 100644 --- a/indra/llui/llsdparam.cpp +++ b/indra/llui/llsdparam.cpp @@ -104,7 +104,8 @@ void LLParamSDParser::writeSD(LLSD& sd, const LLInitParam::BaseBlock& block) { mNameStack.clear(); mWriteRootSD = &sd; - block.serializeBlock(*this); + name_stack_t name_stack; + block.serializeBlock(*this, name_stack); } /*virtual*/ std::string LLParamSDParser::getCurrentElementName() @@ -329,7 +330,7 @@ namespace LLInitParam p.writeValue<LLSD::String>(sd.asString(), name_stack); } - void ParamValue<LLSD, TypeValues<LLSD>, false>::serializeBlock(Parser& p, Parser::name_stack_t name_stack, const BaseBlock* diff_block) const + void ParamValue<LLSD, TypeValues<LLSD>, false>::serializeBlock(Parser& p, Parser::name_stack_t& name_stack, const BaseBlock* diff_block) const { // read from LLSD value and serialize out to parser (which could be LLSD, XUI, etc) Parser::name_stack_t stack; diff --git a/indra/llui/tests/llurlentry_stub.cpp b/indra/llui/tests/llurlentry_stub.cpp index c8303bfc894..4f251db93bb 100644 --- a/indra/llui/tests/llurlentry_stub.cpp +++ b/indra/llui/tests/llurlentry_stub.cpp @@ -125,7 +125,7 @@ namespace LLInitParam descriptor.mCurrentBlockPtr = this; } bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, bool new_name){ return true; } - void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t name_stack, const LLInitParam::BaseBlock* diff_block) const {} + void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t& name_stack, const LLInitParam::BaseBlock* diff_block) const {} bool BaseBlock::inspectBlock(Parser& parser, Parser::name_stack_t name_stack, S32 min_value, S32 max_value) const { return true; } bool BaseBlock::mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) { return true; } bool BaseBlock::validateBlock(bool emit_errors) const { return true; } diff --git a/indra/llui/tests/llurlmatch_test.cpp b/indra/llui/tests/llurlmatch_test.cpp index 9dbccf125a3..627f3129e93 100644 --- a/indra/llui/tests/llurlmatch_test.cpp +++ b/indra/llui/tests/llurlmatch_test.cpp @@ -97,7 +97,7 @@ namespace LLInitParam } bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, bool new_name){ return true; } - void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t name_stack, const LLInitParam::BaseBlock* diff_block) const {} + void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t& name_stack, const LLInitParam::BaseBlock* diff_block) const {} bool BaseBlock::inspectBlock(Parser& parser, Parser::name_stack_t name_stack, S32 min_count, S32 max_count) const { return true; } bool BaseBlock::mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) { return true; } bool BaseBlock::validateBlock(bool emit_errors) const { return true; } -- GitLab From d3ef6289529aafda3675b811ccc3ab9058d54dfa Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Thu, 13 Oct 2011 19:16:54 -0700 Subject: [PATCH 206/256] EXP-1319 FIX Nearby chat toasts should not underlap toolbars --- indra/newview/llchannelmanager.cpp | 27 +++----- indra/newview/llchannelmanager.h | 18 ++--- indra/newview/llnearbychathandler.cpp | 64 +++++++++--------- indra/newview/llnotificationalerthandler.cpp | 4 +- indra/newview/llscreenchannel.cpp | 69 +++++++++++--------- indra/newview/llscreenchannel.h | 33 ++++++---- 6 files changed, 101 insertions(+), 114 deletions(-) diff --git a/indra/newview/llchannelmanager.cpp b/indra/newview/llchannelmanager.cpp index 4ab3d8dc981..59842aeb6c8 100644 --- a/indra/newview/llchannelmanager.cpp +++ b/indra/newview/llchannelmanager.cpp @@ -68,7 +68,7 @@ LLChannelManager::~LLChannelManager() LLScreenChannel* LLChannelManager::createNotificationChannel() { // creating params for a channel - LLChannelManager::Params p; + LLScreenChannelBase::Params p; p.id = LLUUID(gSavedSettings.getString("NotificationChannelUUID")); p.channel_align = CA_RIGHT; @@ -106,7 +106,7 @@ void LLChannelManager::onLoginCompleted() else { // create a channel for the StartUp Toast - LLChannelManager::Params p; + LLScreenChannelBase::Params p; p.id = LLUUID(gSavedSettings.getString("StartUpChannelUUID")); p.channel_align = CA_RIGHT; mStartUpChannel = createChannel(p); @@ -164,26 +164,15 @@ LLScreenChannelBase* LLChannelManager::addChannel(LLScreenChannelBase* channel) return channel; } -LLScreenChannel* LLChannelManager::createChannel(LLChannelManager::Params& p) +LLScreenChannel* LLChannelManager::createChannel(LLScreenChannelBase::Params& p) { - LLScreenChannel* new_channel = new LLScreenChannel(p.id); + LLScreenChannel* new_channel = new LLScreenChannel(p); - if(!new_channel) - { - llerrs << "LLChannelManager::getChannel(LLChannelManager::Params& p) - can't create a channel!" << llendl; - } - else - { - new_channel->setToastAlignment(p.toast_align); - new_channel->setChannelAlignment(p.channel_align); - new_channel->setDisplayToastsAlways(p.display_toasts_always); - - addChannel(new_channel); - } + addChannel(new_channel); return new_channel; } -LLScreenChannelBase* LLChannelManager::getChannel(LLChannelManager::Params& p) +LLScreenChannelBase* LLChannelManager::getChannel(LLScreenChannelBase::Params& p) { LLScreenChannelBase* new_channel = findChannelByID(p.id); @@ -195,7 +184,7 @@ LLScreenChannelBase* LLChannelManager::getChannel(LLChannelManager::Params& p) } //-------------------------------------------------------------------------- -LLScreenChannelBase* LLChannelManager::findChannelByID(const LLUUID id) +LLScreenChannelBase* LLChannelManager::findChannelByID(const LLUUID& id) { std::vector<ChannelElem>::iterator it = find(mChannelList.begin(), mChannelList.end(), id); if(it != mChannelList.end()) @@ -207,7 +196,7 @@ LLScreenChannelBase* LLChannelManager::findChannelByID(const LLUUID id) } //-------------------------------------------------------------------------- -void LLChannelManager::removeChannelByID(const LLUUID id) +void LLChannelManager::removeChannelByID(const LLUUID& id) { std::vector<ChannelElem>::iterator it = find(mChannelList.begin(), mChannelList.end(), id); if(it != mChannelList.end()) diff --git a/indra/newview/llchannelmanager.h b/indra/newview/llchannelmanager.h index 1a0b98f6cf4..671e545465e 100644 --- a/indra/newview/llchannelmanager.h +++ b/indra/newview/llchannelmanager.h @@ -44,17 +44,7 @@ namespace LLNotificationsUI class LLChannelManager : public LLSingleton<LLChannelManager> { public: - struct Params - { - LLUUID id; - bool display_toasts_always; - EToastAlignment toast_align; - EChannelAlignment channel_align; - Params() - : id(LLUUID("")), display_toasts_always(false), toast_align(NA_BOTTOM), channel_align(CA_LEFT) - {} - }; struct ChannelElem { @@ -84,18 +74,18 @@ class LLChannelManager : public LLSingleton<LLChannelManager> void onStartUpToastClose(); // creates a new ScreenChannel according to the given parameters or returns existing if present - LLScreenChannelBase* getChannel(LLChannelManager::Params& p); + LLScreenChannelBase* getChannel(LLScreenChannelBase::Params& p); LLScreenChannelBase* addChannel(LLScreenChannelBase* channel); // returns a channel by its ID - LLScreenChannelBase* findChannelByID(const LLUUID id); + LLScreenChannelBase* findChannelByID(const LLUUID& id); // creator of the Notification channel, that is used in more than one handler LLScreenChannel* createNotificationChannel(); // remove channel methods - void removeChannelByID(const LLUUID id); + void removeChannelByID(const LLUUID& id); /** * Manages toasts showing for all channels. @@ -117,7 +107,7 @@ class LLChannelManager : public LLSingleton<LLChannelManager> std::vector<ChannelElem>& getChannelList() { return mChannelList;} private: - LLScreenChannel* createChannel(LLChannelManager::Params& p); + LLScreenChannel* createChannel(LLScreenChannelBase::Params& p); LLScreenChannel* mStartUpChannel; std::vector<ChannelElem> mChannelList; diff --git a/indra/newview/llnearbychathandler.cpp b/indra/newview/llnearbychathandler.cpp index 7503164fe64..573985b76eb 100644 --- a/indra/newview/llnearbychathandler.cpp +++ b/indra/newview/llnearbychathandler.cpp @@ -42,6 +42,8 @@ #include "llfloaterreg.h"//for LLFloaterReg::getTypedInstance #include "llviewerwindow.h"//for screen channel position #include "llnearbychatbar.h" +#include "llrootview.h" +#include "lllayoutstack.h" //add LLNearbyChatHandler to LLNotificationsUI namespace using namespace LLNotificationsUI; @@ -62,7 +64,7 @@ class LLNearbyChatScreenChannel: public LLScreenChannelBase typedef std::vector<LLHandle<LLToast> > toast_vec_t; typedef std::list<LLHandle<LLToast> > toast_list_t; - LLNearbyChatScreenChannel(const LLUUID& id):LLScreenChannelBase(id) + LLNearbyChatScreenChannel(const Params& p):LLScreenChannelBase(p) { mStopProcessing = false; @@ -81,7 +83,6 @@ class LLNearbyChatScreenChannel: public LLScreenChannelBase void addNotification (LLSD& notification); void arrangeToasts (); - void showToastsBottom (); typedef boost::function<LLToastPanelBase* (void )> create_toast_panel_callback_t; void setCreatePanelCallback(create_toast_panel_callback_t value) { m_create_toast_panel_callback_t = value;} @@ -150,6 +151,7 @@ class LLNearbyChatScreenChannel: public LLScreenChannelBase toast_list_t m_toast_pool; bool mStopProcessing; + bool mChannelRect; }; //----------------------------------------------------------------------------------------------- @@ -352,27 +354,6 @@ void LLNearbyChatScreenChannel::addNotification(LLSD& notification) arrangeToasts(); } -void LLNearbyChatScreenChannel::arrangeToasts() -{ - if(!isHovering()) - { - showToastsBottom(); - } - - if (m_active_toasts.empty()) - { - LLHints::registerHintTarget("incoming_chat", LLHandle<LLView>()); - } - else - { - LLToast* toast = m_active_toasts.front().get(); - if (toast) - { - LLHints::registerHintTarget("incoming_chat", m_active_toasts.front().get()->LLView::getHandle()); - } - } -} - static bool sort_toasts_predicate(LLHandle<LLToast> first, LLHandle<LLToast> second) { if (!first.get() || !second.get()) return false; // STORM-1352 @@ -382,14 +363,30 @@ static bool sort_toasts_predicate(LLHandle<LLToast> first, LLHandle<LLToast> sec return v1 > v2; } -void LLNearbyChatScreenChannel::showToastsBottom() +void LLNearbyChatScreenChannel::arrangeToasts() { - if(mStopProcessing) + if(mStopProcessing || isHovering()) + return; + LLLayoutStack::updateClass(); + LLView* floater_snap_region = gViewerWindow->getRootView()->getChildView("floater_snap_region"); + + if (!getParent()) + { + // connect to floater snap region to get resize events + floater_snap_region->addChild(this); + setFollows(FOLLOWS_ALL); + } + LLRect toast_rect; updateBottom(); - S32 channel_bottom = getRect().mBottom; + + LLRect channel_rect; + floater_snap_region->localRectToOtherView(floater_snap_region->getLocalRect(), &channel_rect, gFloaterView); + channel_rect.mRight = channel_rect.mLeft + 300; + + S32 channel_bottom = channel_rect.mBottom; S32 bottom = channel_bottom; S32 margin = gSavedSettings.getS32("ToastGap"); @@ -410,7 +407,7 @@ void LLNearbyChatScreenChannel::showToastsBottom() S32 toast_top = bottom + toast->getRect().getHeight() + margin; - if(toast_top > gFloaterView->getRect().getHeight()) + if(toast_top > channel_rect.getHeight()) { while(it!=m_active_toasts.end()) { @@ -421,7 +418,7 @@ void LLNearbyChatScreenChannel::showToastsBottom() } toast_rect = toast->getRect(); - toast_rect.setLeftTopAndSize(getRect().mLeft , bottom + toast_rect.getHeight(), toast_rect.getWidth() ,toast_rect.getHeight()); + toast_rect.setLeftTopAndSize(channel_rect.mLeft , bottom + toast_rect.getHeight(), toast_rect.getWidth() ,toast_rect.getHeight()); toast->setRect(toast_rect); bottom += toast_rect.getHeight() - toast->getTopPad() + margin; @@ -458,7 +455,9 @@ LLNearbyChatHandler::LLNearbyChatHandler(e_notification_type type, const LLSD& i mType = type; // Getting a Channel for our notifications - LLNearbyChatScreenChannel* channel = new LLNearbyChatScreenChannel(LLUUID(gSavedSettings.getString("NearByChatChannelUUID"))); + LLNearbyChatScreenChannel::Params p; + p.id = LLUUID(gSavedSettings.getString("NearByChatChannelUUID")); + LLNearbyChatScreenChannel* channel = new LLNearbyChatScreenChannel(p); LLNearbyChatScreenChannel::create_toast_panel_callback_t callback = createToastPanel; @@ -474,11 +473,8 @@ LLNearbyChatHandler::~LLNearbyChatHandler() void LLNearbyChatHandler::initChannel() { - LLNearbyChatBar* chat_bar = LLFloaterReg::getTypedInstance<LLNearbyChatBar>("chat_bar", LLSD()); - LLView* chat_box = chat_bar->getChatBox(); - LLNearbyChat* nearby_chat = LLNearbyChat::getInstance(); - S32 channel_right_bound = nearby_chat->getRect().mRight; - mChannel->init(chat_box->getRect().mLeft, channel_right_bound); + //LLRect snap_rect = gFloaterView->getSnapRect(); + //mChannel->init(snap_rect.mLeft, snap_rect.mLeft + 200); } diff --git a/indra/newview/llnotificationalerthandler.cpp b/indra/newview/llnotificationalerthandler.cpp index 9d824dcd592..cae7d02fedd 100644 --- a/indra/newview/llnotificationalerthandler.cpp +++ b/indra/newview/llnotificationalerthandler.cpp @@ -44,7 +44,7 @@ LLAlertHandler::LLAlertHandler(e_notification_type type, const LLSD& id) : mIsMo { mType = type; - LLChannelManager::Params p; + LLScreenChannelBase::Params p; p.id = LLUUID(gSavedSettings.getString("AlertChannelUUID")); p.display_toasts_always = true; p.toast_align = NA_CENTRE; @@ -114,7 +114,7 @@ bool LLAlertHandler::processNotification(const LLSD& notify) // Show alert in middle of progress view (during teleport) (EXT-1093) LLProgressView* progress = gViewerWindow->getProgressView(); LLRect rc = progress && progress->getVisible() ? progress->getRect() : gViewerWindow->getWorldViewRectScaled(); - mChannel->updatePositionAndSize(rc, rc); + mChannel->updatePositionAndSize(rc); LLScreenChannel* channel = dynamic_cast<LLScreenChannel*>(mChannel); if(channel) diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp index a3b0574bca3..71b6c18d8f7 100644 --- a/indra/newview/llscreenchannel.cpp +++ b/indra/newview/llscreenchannel.cpp @@ -48,29 +48,38 @@ using namespace LLNotificationsUI; bool LLScreenChannel::mWasStartUpToastShown = false; + +LLRect get_channel_rect() +{ + LLRect channel_rect; + LLView* floater_snap_region = LLUI::getRootView()->getChildView("floater_snap_region"); + floater_snap_region->localRectToScreen(floater_snap_region->getLocalRect(), &channel_rect); + return channel_rect; +} + + //-------------------------------------------------------------------------- ////////////////////// // LLScreenChannelBase ////////////////////// -LLScreenChannelBase::LLScreenChannelBase(const LLUUID& id) : - mToastAlignment(NA_BOTTOM) - ,mCanStoreToasts(true) - ,mHiddenToastsNum(0) - ,mHoveredToast(NULL) - ,mControlHovering(false) - ,mShowToasts(true) +LLScreenChannelBase::LLScreenChannelBase(const Params& p) +: LLUICtrl(p), + mToastAlignment(p.toast_align), + mCanStoreToasts(true), + mHiddenToastsNum(0), + mHoveredToast(NULL), + mControlHovering(false), + mShowToasts(true), + mID(p.id), + mDisplayToastsAlways(p.display_toasts_always), + mChannelAlignment(p.channel_align) { - mID = id; - mWorldViewRectConnection = gViewerWindow->setOnWorldViewRectUpdated(boost::bind(&LLScreenChannelBase::updatePositionAndSize, this, _1, _2)); + mID = p.id; setMouseOpaque( false ); setVisible(FALSE); } -LLScreenChannelBase::~LLScreenChannelBase() -{ - mWorldViewRectConnection.disconnect(); -} bool LLScreenChannelBase::isHovering() { @@ -82,21 +91,20 @@ bool LLScreenChannelBase::isHovering() return mHoveredToast->isHovered(); } -void LLScreenChannelBase::updatePositionAndSize(LLRect old_world_rect, LLRect new_world_rect) +void LLScreenChannelBase::updatePositionAndSize(LLRect rect) { - S32 top_delta = old_world_rect.mTop - new_world_rect.mTop; LLRect this_rect = getRect(); - this_rect.mTop -= top_delta; + this_rect.mTop = rect.mTop; switch(mChannelAlignment) { case CA_LEFT : break; case CA_CENTRE : - this_rect.setCenterAndSize( (new_world_rect.getWidth()) / 2, new_world_rect.getHeight() / 2, this_rect.getWidth(), this_rect.getHeight()); + this_rect.setCenterAndSize( (rect.getWidth()) / 2, rect.getHeight() / 2, this_rect.getWidth(), this_rect.getHeight()); break; case CA_RIGHT : - this_rect.setLeftTopAndSize(new_world_rect.mRight - this_rect.getWidth(), + this_rect.setLeftTopAndSize(rect.mRight - this_rect.getWidth(), this_rect.mTop, this_rect.getWidth(), this_rect.getHeight()); @@ -116,31 +124,30 @@ void LLScreenChannelBase::init(S32 channel_left, S32 channel_right) void LLScreenChannelBase::updateBottom() { - S32 channel_top = gViewerWindow->getWorldViewRectScaled().getHeight(); - S32 channel_bottom = gSavedSettings.getS32("ChannelBottomPanelMargin"); + S32 channel_top = get_channel_rect().mTop; + S32 channel_bottom = get_channel_rect().mBottom + gSavedSettings.getS32("ChannelBottomPanelMargin"); S32 channel_left = getRect().mLeft; S32 channel_right = getRect().mRight; setRect(LLRect(channel_left, channel_top, channel_right, channel_bottom)); } - //-------------------------------------------------------------------------- ////////////////////// // LLScreenChannel ////////////////////// //-------------------------------------------------------------------------- -LLScreenChannel::LLScreenChannel(LLUUID& id): -LLScreenChannelBase(id) -,mStartUpToastPanel(NULL) -{ +LLScreenChannel::LLScreenChannel(const Params& p) +: LLScreenChannelBase(p), + mStartUpToastPanel(NULL) +{ } //-------------------------------------------------------------------------- void LLScreenChannel::init(S32 channel_left, S32 channel_right) { LLScreenChannelBase::init(channel_left, channel_right); - LLRect world_rect = gViewerWindow->getWorldViewRectScaled(); - updatePositionAndSize(world_rect, world_rect); + LLRect channel_rect = get_channel_rect(); + updatePositionAndSize(channel_rect); } //-------------------------------------------------------------------------- @@ -177,7 +184,7 @@ std::list<LLToast*> LLScreenChannel::findToasts(const Matcher& matcher) } //-------------------------------------------------------------------------- -void LLScreenChannel::updatePositionAndSize(LLRect old_world_rect, LLRect new_world_rect) +void LLScreenChannel::updatePositionAndSize(LLRect new_world_rect) { LLRect this_rect = getRect(); @@ -187,7 +194,7 @@ void LLScreenChannel::updatePositionAndSize(LLRect old_world_rect, LLRect new_wo this_rect.mTop = (S32) (new_world_rect.getHeight() * getHeightRatio()); break; case CA_CENTRE : - LLScreenChannelBase::updatePositionAndSize(old_world_rect, new_world_rect); + LLScreenChannelBase::updatePositionAndSize(new_world_rect); return; case CA_RIGHT : this_rect.mTop = (S32) (new_world_rect.getHeight() * getHeightRatio()); @@ -511,9 +518,9 @@ void LLScreenChannel::showToastsBottom() (*it).toast->translate(0, shift); } - LLRect world_rect = gViewerWindow->getWorldViewRectScaled(); + LLRect channel_rect = get_channel_rect(); // don't show toasts if there is not enough space - if(toast_rect.mTop > world_rect.mTop) + if(toast_rect.mTop > channel_rect.mTop) { break; } diff --git a/indra/newview/llscreenchannel.h b/indra/newview/llscreenchannel.h index 8f11c82673b..4d8e3e9e931 100644 --- a/indra/newview/llscreenchannel.h +++ b/indra/newview/llscreenchannel.h @@ -53,21 +53,30 @@ class LLScreenChannelBase : public LLUICtrl { friend class LLChannelManager; public: - LLScreenChannelBase(const LLUUID& id); - ~LLScreenChannelBase(); + struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> + { + Mandatory<LLUUID> id; + Optional<bool> display_toasts_always; + Optional<EToastAlignment> toast_align; + Optional<EChannelAlignment> channel_align; + + Params() + : id("id", LLUUID("")), + display_toasts_always("display_toasts_always", false), + toast_align("toast_align", NA_BOTTOM), + channel_align("channel_align", CA_LEFT) + {} + }; + + LLScreenChannelBase(const Params&); // Channel's outfit-functions // update channel's size and position in the World View - virtual void updatePositionAndSize(LLRect old_world_rect, LLRect new_world_rect); + virtual void updatePositionAndSize(LLRect rect); // initialization of channel's shape and position virtual void init(S32 channel_left, S32 channel_right); - - virtual void setToastAlignment(EToastAlignment align) {mToastAlignment = align;} - - virtual void setChannelAlignment(EChannelAlignment align) {mChannelAlignment = align;} - // kill or modify a toast by its ID virtual void killToastByNotificationID(LLUUID id) {}; virtual void modifyToastNotificationByID(LLUUID id, LLSD data) {}; @@ -90,7 +99,6 @@ class LLScreenChannelBase : public LLUICtrl void setCanStoreToasts(bool store) { mCanStoreToasts = store; } - void setDisplayToastsAlways(bool display_toasts) { mDisplayToastsAlways = display_toasts; } bool getDisplayToastsAlways() { return mDisplayToastsAlways; } // get number of hidden notifications from a channel @@ -124,9 +132,6 @@ class LLScreenChannelBase : public LLUICtrl // channel's ID LLUUID mID; - - // store a connection to prevent futher crash that is caused by sending a signal to a destroyed channel - boost::signals2::connection mWorldViewRectConnection; }; @@ -137,7 +142,7 @@ class LLScreenChannel : public LLScreenChannelBase { friend class LLChannelManager; public: - LLScreenChannel(LLUUID& id); + LLScreenChannel(const Params&); virtual ~LLScreenChannel(); class Matcher @@ -152,7 +157,7 @@ class LLScreenChannel : public LLScreenChannelBase // Channel's outfit-functions // update channel's size and position in the World View - void updatePositionAndSize(LLRect old_world_rect, LLRect new_world_rect); + void updatePositionAndSize(LLRect new_rect); // initialization of channel's shape and position void init(S32 channel_left, S32 channel_right); -- GitLab From 8e3717e187766f0ad24f29886ae930be186a4394 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Thu, 13 Oct 2011 20:31:41 -0700 Subject: [PATCH 207/256] EXP-1323 FIX Mouselook text "Press ESC to return to World View" overlaps with bottom toolbar if mode is icon only hide toolbars in mouselook hide top_info_bar when hiding UI disable mouselook when hiding UI fixed layout of more button in navigation bar --- indra/newview/llagent.cpp | 3 +++ indra/newview/llagentcamera.cpp | 4 +++- indra/newview/llviewerwindow.cpp | 2 ++ .../skins/default/xui/en/panel_navigation_bar.xml | 10 ++++++---- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 31a73c8c317..edb536d337c 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -68,6 +68,7 @@ #include "llstatusbar.h" #include "llteleportflags.h" #include "lltool.h" +#include "lltoolbarview.h" #include "lltoolpie.h" #include "lltoolmgr.h" #include "lltrans.h" @@ -1862,6 +1863,7 @@ void LLAgent::endAnimationUpdateUI() // clean up UI from mode we're leaving if (gAgentCamera.getLastCameraMode() == CAMERA_MODE_MOUSELOOK ) { + gToolBarView->setToolBarsVisible(true); // show mouse cursor gViewerWindow->showCursor(); // show menus @@ -1972,6 +1974,7 @@ void LLAgent::endAnimationUpdateUI() if (gAgentCamera.getCameraMode() == CAMERA_MODE_MOUSELOOK) { // hide menus + gToolBarView->setToolBarsVisible(false); gMenuBarView->setVisible(FALSE); LLNavigationBar::getInstance()->setVisible(FALSE); gStatusBar->setVisibleForMouselook(false); diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp index f195c985c08..27e9aa32f24 100644 --- a/indra/newview/llagentcamera.cpp +++ b/indra/newview/llagentcamera.cpp @@ -2040,7 +2040,9 @@ void LLAgentCamera::resetCamera() //----------------------------------------------------------------------------- void LLAgentCamera::changeCameraToMouselook(BOOL animate) { - if (!gSavedSettings.getBOOL("EnableMouselook") || LLViewerJoystick::getInstance()->getOverrideCamera()) + if (!gSavedSettings.getBOOL("EnableMouselook") + || LLViewerJoystick::getInstance()->getOverrideCamera() + || !gViewerWindow->getUIVisibility()) { return; } diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 665b31a427e..92dc352cf44 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -4987,11 +4987,13 @@ void LLViewerWindow::setUIVisibility(bool visible) gToolBarView->setToolBarsVisible(visible); } + mRootView->getChildView("topinfo_bar_container")->setVisible(visible); mRootView->getChildView("nav_bar_container")->setVisible(visible); mRootView->getChildView("status_bar_container")->setVisible(visible); if (!visible) { + gAgentCamera.changeCameraToDefault(); gFloaterView->hideAllFloaters(); } else diff --git a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml index ab6fa36e6cb..7a8e872dc96 100644 --- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml @@ -188,10 +188,12 @@ <more_button follows="left|bottom" name=">>" - tab_stop="false" - tool_tip="Show more of My Favorites" - top="15" - width="50"> + tab_stop="false" + tool_tip="Show more of My Favorites" + top="13" + width="50" + bottom="0" + valign="bottom"> More ▼ </more_button> </favorites_bar> -- GitLab From 9f682772d93b4530ad7bcbf52adb2300cd91cd4d Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Thu, 13 Oct 2011 20:45:50 -0700 Subject: [PATCH 208/256] EXP-1323 FIX Mouselook text "Press ESC to return to World View" overlaps with bottom toolbar if mode is icon only fixed popping out of mouselook when turning off UI --- indra/newview/llviewerwindow.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 92dc352cf44..b8715bfa5b9 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -4982,24 +4982,24 @@ void LLViewerWindow::setUIVisibility(bool visible) { mUIVisible = visible; - if (gToolBarView) - { - gToolBarView->setToolBarsVisible(visible); - } - - mRootView->getChildView("topinfo_bar_container")->setVisible(visible); - mRootView->getChildView("nav_bar_container")->setVisible(visible); - mRootView->getChildView("status_bar_container")->setVisible(visible); - if (!visible) { - gAgentCamera.changeCameraToDefault(); + gAgentCamera.changeCameraToThirdPerson(FALSE); gFloaterView->hideAllFloaters(); } else { gFloaterView->showHiddenFloaters(); } + + if (gToolBarView) + { + gToolBarView->setToolBarsVisible(visible); + } + + mRootView->getChildView("topinfo_bar_container")->setVisible(visible); + mRootView->getChildView("nav_bar_container")->setVisible(visible); + mRootView->getChildView("status_bar_container")->setVisible(visible); } bool LLViewerWindow::getUIVisibility() -- GitLab From 5e85afeda9200e8c8b4f2f05b13542c170c02d52 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Thu, 13 Oct 2011 21:09:16 -0700 Subject: [PATCH 209/256] EXP-1321 FIX 3-way toolbar button functionality not enforced on "Profile" button. --- indra/newview/llviewermenu.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 5d215c7f6d8..2de70c52c7e 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -3115,7 +3115,8 @@ void handle_avatar_eject(const LLSD& avatar_id) bool my_profile_visible() { - return LLAvatarActions::profileVisible(gAgent.getID()); + LLFloater* floaterp = LLFloaterReg::findInstance("profile", LLSD().with("id", gAgent.getID())); + return floaterp && floaterp->isInVisibleChain(); } bool enable_freeze_eject(const LLSD& avatar_id) -- GitLab From 7c37132bf87c0c2bf8d7d7f2b6f8624c5160e9e8 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Fri, 14 Oct 2011 00:20:24 -0700 Subject: [PATCH 210/256] EXP-1272 FIX Move "How To" to a separate web floater --- indra/newview/app_settings/commands.xml | 3 +-- indra/newview/llviewerfloaterreg.cpp | 2 +- indra/newview/llviewermenu.cpp | 5 +++-- indra/newview/skins/default/xui/en/floater_search.xml | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 7c6468459c0..9d4d268075c 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -88,8 +88,7 @@ label_ref="Command_HowTo_Label" tooltip_ref="Command_HowTo_Tooltip" execute_function="Help.ToggleHowTo" - is_running_function="Floater.IsOpen" - is_running_parameters="help_browser" + is_running_function="Help.HowToVisible" /> <command name="inventory" available_in_toybox="true" diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index b5ed8b04bc4..e5a80f24208 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -289,7 +289,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("snapshot", "floater_snapshot.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSnapshot>); LLFloaterReg::add("search", "floater_search.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSearch>); LLFloaterReg::add("profile", "floater_web_content.xml", (LLFloaterBuildFunc)&LLFloaterWebContent::create); - LLFloaterReg::add("how_to", "floater_web_content.xml", (LLFloaterBuildFunc)&LLFloaterWebContent::create); + LLFloaterReg::add("how_to", "floater_how_to.xml", (LLFloaterBuildFunc)&LLFloaterWebContent::create); LLFloaterUIPreviewUtil::registerFloater(); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 2de70c52c7e..3dd5d26b6dd 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -4526,7 +4526,7 @@ bool enable_how_to_visible(const LLSD& param) { LLFloaterWebContent::Params p; p.target = "__help_how_to"; - return LLFloaterReg::instanceVisible(param, p); + return LLFloaterReg::instanceVisible("how_to", p); } class LLToolsEnableBuyOrTake : public view_listener_t @@ -6894,9 +6894,10 @@ class LLToggleHowTo : public view_listener_t { LLFloaterWebContent::Params p; p.url = gSavedSettings.getString("HowToHelpURL"); + p.show_chrome = false; p.target = "__help_how_to"; - LLFloaterReg::toggleInstanceOrBringToFront(userdata, p); + LLFloaterReg::toggleInstanceOrBringToFront("how_to", p); return true; } }; diff --git a/indra/newview/skins/default/xui/en/floater_search.xml b/indra/newview/skins/default/xui/en/floater_search.xml index b6fc7f150cc..896532e26b8 100644 --- a/indra/newview/skins/default/xui/en/floater_search.xml +++ b/indra/newview/skins/default/xui/en/floater_search.xml @@ -8,7 +8,7 @@ min_height="400" min_width="500" name="floater_web_content" - help_topic="floater_web_content" + help_topic="search" save_rect="true" save_visibility="true" title="" -- GitLab From 4331c112aba074562e9a8826fe6d271a94f790f0 Mon Sep 17 00:00:00 2001 From: Dave Parks <davep@lindenlab.com> Date: Fri, 14 Oct 2011 11:52:40 -0500 Subject: [PATCH 211/256] Backed out changeset b782a75c99e6 --- doc/contributions.txt | 9 +- indra/llaudio/llaudioengine_fmod.cpp | 2 +- indra/llaudio/llvorbisencode.cpp | 9 +- indra/llcharacter/llbvhloader.cpp | 3 +- indra/llcharacter/llkeyframemotionparam.cpp | 3 +- indra/llcharacter/llstatemachine.cpp | 3 +- indra/llcommon/CMakeLists.txt | 3 - indra/llcommon/llapp.cpp | 4 + indra/llcommon/llapr.cpp | 445 ++++++++++++++---- indra/llcommon/llapr.h | 107 ++++- indra/llcommon/llaprpool.cpp | 202 -------- indra/llcommon/llaprpool.h | 256 ---------- indra/llcommon/llcommon.cpp | 13 + indra/llcommon/llcommon.h | 2 + indra/llcommon/llerror.cpp | 3 - indra/llcommon/llerror.h | 1 + indra/llcommon/llfixedbuffer.cpp | 3 +- indra/llcommon/llscopedvolatileaprpool.h | 52 -- indra/llcommon/llthread.cpp | 151 +++--- indra/llcommon/llthread.h | 124 ++--- indra/llcommon/llthreadsafequeue.cpp | 15 +- indra/llcommon/llthreadsafequeue.h | 16 +- indra/llcommon/llworkerthread.cpp | 8 +- indra/llcommon/llworkerthread.h | 3 +- indra/llcrashlogger/llcrashlogger.cpp | 3 +- indra/llimage/llimage.cpp | 8 +- indra/llimage/llimagedimensionsinfo.cpp | 2 +- indra/llimage/llimagej2c.cpp | 3 +- indra/llimage/llimageworker.cpp | 8 +- indra/llimage/llimageworker.h | 2 +- indra/llmath/llvolumemgr.cpp | 4 +- indra/llmessage/llares.cpp | 17 +- indra/llmessage/llcurl.cpp | 2 +- indra/llmessage/lliohttpserver.cpp | 10 +- indra/llmessage/lliohttpserver.h | 2 +- indra/llmessage/lliosocket.cpp | 99 ++-- indra/llmessage/lliosocket.h | 33 +- indra/llmessage/llmail.cpp | 17 +- indra/llmessage/llmail.h | 4 +- indra/llmessage/llpumpio.cpp | 74 ++- indra/llmessage/llpumpio.h | 31 +- indra/llmessage/llurlrequest.cpp | 25 +- indra/llmessage/message.cpp | 17 +- indra/llmessage/tests/networkio.h | 9 +- indra/llplugin/llplugininstance.cpp | 6 +- indra/llplugin/llplugininstance.h | 2 - indra/llplugin/llpluginmessagepipe.cpp | 2 + indra/llplugin/llpluginprocesschild.cpp | 2 +- indra/llplugin/llpluginprocessparent.cpp | 57 ++- indra/llplugin/llpluginprocessparent.h | 2 - indra/llplugin/llpluginsharedmemory.cpp | 9 +- indra/llplugin/llpluginsharedmemory.h | 3 - indra/llplugin/slplugin/slplugin.cpp | 4 + indra/llvfs/lllfsthread.cpp | 10 +- indra/llvfs/llvfs.cpp | 5 +- .../gstreamer010/llmediaimplgstreamer.h | 1 + .../llmediaimplgstreamer_syms.cpp | 15 +- .../webkit/linux_volume_catcher.cpp | 14 +- indra/newview/llappviewer.cpp | 47 +- indra/newview/llappviewer.h | 2 +- indra/newview/llappviewerlinux.cpp | 1 - indra/newview/llappviewerlinux_api_dbus.cpp | 14 +- indra/newview/llappviewermacosx.cpp | 1 - indra/newview/llfloateranimpreview.cpp | 3 +- indra/newview/llmainlooprepeater.cpp | 2 +- indra/newview/lltexturecache.cpp | 61 +-- indra/newview/lltexturecache.h | 3 + indra/newview/lltexturefetch.cpp | 3 + indra/newview/llviewermenufile.cpp | 3 +- indra/newview/llvoavatar.cpp | 3 +- indra/newview/llvocache.cpp | 54 ++- indra/newview/llvocache.h | 5 +- indra/newview/llvoicevivox.cpp | 2 +- indra/newview/llwatchdog.cpp | 4 +- indra/newview/tests/llworldmap_test.cpp | 1 + indra/test/lltemplatemessagebuilder_tut.cpp | 2 + indra/test/message_tut.cpp | 2 + indra/test/test.cpp | 17 +- .../llplugintest/llmediaplugintest.cpp | 4 + .../updater/llupdateinstaller.cpp | 4 +- 80 files changed, 1080 insertions(+), 1097 deletions(-) delete mode 100644 indra/llcommon/llaprpool.cpp delete mode 100644 indra/llcommon/llaprpool.h delete mode 100644 indra/llcommon/llscopedvolatileaprpool.h diff --git a/doc/contributions.txt b/doc/contributions.txt index 03e4978dd06..8765240caa2 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -61,15 +61,11 @@ Aimee Trescothick Alejandro Rosenthal VWR-1184 Aleric Inglewood - SNOW-84 SNOW-240 - SNOW-477 SNOW-522 SNOW-626 - SNOW-744 SNOW-756 SNOW-764 - SNOW-766 VWR-10001 VWR-10579 VWR-10759 @@ -90,8 +86,11 @@ Aleric Inglewood VWR-24321 VWR-24354 VWR-24519 + SNOW-84 + SNOW-477 + SNOW-744 + SNOW-766 STORM-163 - STORM-864 Ales Beaumont VWR-9352 SNOW-240 diff --git a/indra/llaudio/llaudioengine_fmod.cpp b/indra/llaudio/llaudioengine_fmod.cpp index 88dfdb9c244..a40de9fa68b 100644 --- a/indra/llaudio/llaudioengine_fmod.cpp +++ b/indra/llaudio/llaudioengine_fmod.cpp @@ -673,7 +673,7 @@ bool LLAudioBufferFMOD::loadWAV(const std::string& filename) return false; } - if (!LLAPRFile::isExist(filename, LL_APR_RPB)) + if (!LLAPRFile::isExist(filename, NULL, LL_APR_RPB)) { // File not found, abort. return false; diff --git a/indra/llaudio/llvorbisencode.cpp b/indra/llaudio/llvorbisencode.cpp index 44eeea0ca41..0e0c80a4567 100644 --- a/indra/llaudio/llvorbisencode.cpp +++ b/indra/llaudio/llvorbisencode.cpp @@ -82,7 +82,8 @@ S32 check_for_invalid_wav_formats(const std::string& in_fname, std::string& erro error_msg.clear(); //******************************** - LLAPRFile infile(in_fname, LL_APR_RB); + LLAPRFile infile ; + infile.open(in_fname,LL_APR_RB); //******************************** if (!infile.getFileHandle()) { @@ -232,7 +233,8 @@ S32 encode_vorbis_file(const std::string& in_fname, const std::string& out_fname S32 data_left = 0; - LLAPRFile infile(in_fname,LL_APR_RB); + LLAPRFile infile ; + infile.open(in_fname,LL_APR_RB); if (!infile.getFileHandle()) { llwarns << "Couldn't open temporary ogg file for writing: " << in_fname @@ -240,7 +242,8 @@ S32 encode_vorbis_file(const std::string& in_fname, const std::string& out_fname return(LLVORBISENC_SOURCE_OPEN_ERR); } - LLAPRFile outfile(out_fname, LL_APR_WPB); + LLAPRFile outfile ; + outfile.open(out_fname,LL_APR_WPB); if (!outfile.getFileHandle()) { llwarns << "Couldn't open upload sound file for reading: " << in_fname diff --git a/indra/llcharacter/llbvhloader.cpp b/indra/llcharacter/llbvhloader.cpp index a39a344684c..532a2c1b0d7 100644 --- a/indra/llcharacter/llbvhloader.cpp +++ b/indra/llcharacter/llbvhloader.cpp @@ -219,7 +219,8 @@ ELoadStatus LLBVHLoader::loadTranslationTable(const char *fileName) //-------------------------------------------------------------------- std::string path = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS,fileName); - LLAPRFile infile(path, LL_APR_R); + LLAPRFile infile ; + infile.open(path, LL_APR_R); apr_file_t *fp = infile.getFileHandle(); if (!fp) return E_ST_NO_XLT_FILE; diff --git a/indra/llcharacter/llkeyframemotionparam.cpp b/indra/llcharacter/llkeyframemotionparam.cpp index c3d5dec8754..82fe8971f5a 100644 --- a/indra/llcharacter/llkeyframemotionparam.cpp +++ b/indra/llcharacter/llkeyframemotionparam.cpp @@ -351,7 +351,8 @@ BOOL LLKeyframeMotionParam::loadMotions() // open the file //------------------------------------------------------------------------- S32 fileSize = 0; - LLAPRFile infile(path, LL_APR_R, &fileSize); + LLAPRFile infile ; + infile.open(path, LL_APR_R, NULL, &fileSize); apr_file_t* fp = infile.getFileHandle() ; if (!fp || fileSize == 0) { diff --git a/indra/llcharacter/llstatemachine.cpp b/indra/llcharacter/llstatemachine.cpp index dcc4ff5f0e7..e0454131a52 100644 --- a/indra/llcharacter/llstatemachine.cpp +++ b/indra/llcharacter/llstatemachine.cpp @@ -204,7 +204,8 @@ LLFSMState* LLStateDiagram::getState(U32 state_id) BOOL LLStateDiagram::saveDotFile(const std::string& filename) { - LLAPRFile outfile(filename, LL_APR_W); + LLAPRFile outfile ; + outfile.open(filename, LL_APR_W); apr_file_t* dot_file = outfile.getFileHandle() ; if (!dot_file) diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt index d5b0a67533a..9342a22d46f 100644 --- a/indra/llcommon/CMakeLists.txt +++ b/indra/llcommon/CMakeLists.txt @@ -32,7 +32,6 @@ set(llcommon_SOURCE_FILES llallocator_heap_profile.cpp llapp.cpp llapr.cpp - llaprpool.cpp llassettype.cpp llavatarname.cpp llbase32.cpp @@ -81,7 +80,6 @@ set(llcommon_SOURCE_FILES llrand.cpp llrefcount.cpp llrun.cpp - llscopedvolatileaprpool.h llsd.cpp llsdserialize.cpp llsdserialize_xml.cpp @@ -123,7 +121,6 @@ set(llcommon_HEADER_FILES llavatarname.h llapp.h llapr.h - llaprpool.h llassettype.h llassoclist.h llavatarconstants.h diff --git a/indra/llcommon/llapp.cpp b/indra/llcommon/llapp.cpp index e5bd2bfa3da..39daefd1ad6 100644 --- a/indra/llcommon/llapp.cpp +++ b/indra/llcommon/llapp.cpp @@ -136,6 +136,10 @@ void LLApp::commonCtor() mOptions.append(sd); } + // Make sure we clean up APR when we exit + // Don't need to do this if we're cleaning up APR in the destructor + //atexit(ll_cleanup_apr); + // Set the application to this instance. sApplication = this; diff --git a/indra/llcommon/llapr.cpp b/indra/llcommon/llapr.cpp index 1e4a51102e7..d1c44c94032 100644 --- a/indra/llcommon/llapr.cpp +++ b/indra/llcommon/llapr.cpp @@ -29,8 +29,212 @@ #include "linden_common.h" #include "llapr.h" #include "apr_dso.h" -#include "llscopedvolatileaprpool.h" +apr_pool_t *gAPRPoolp = NULL; // Global APR memory pool +LLVolatileAPRPool *LLAPRFile::sAPRFilePoolp = NULL ; //global volatile APR memory pool. +apr_thread_mutex_t *gLogMutexp = NULL; +apr_thread_mutex_t *gCallStacksLogMutexp = NULL; + +const S32 FULL_VOLATILE_APR_POOL = 1024 ; //number of references to LLVolatileAPRPool + +void ll_init_apr() +{ + if (!gAPRPoolp) + { + // Initialize APR and create the global pool + apr_initialize(); + apr_pool_create(&gAPRPoolp, NULL); + + // Initialize the logging mutex + apr_thread_mutex_create(&gLogMutexp, APR_THREAD_MUTEX_UNNESTED, gAPRPoolp); + apr_thread_mutex_create(&gCallStacksLogMutexp, APR_THREAD_MUTEX_UNNESTED, gAPRPoolp); + } + + if(!LLAPRFile::sAPRFilePoolp) + { + LLAPRFile::sAPRFilePoolp = new LLVolatileAPRPool(FALSE) ; + } +} + + +void ll_cleanup_apr() +{ + LL_INFOS("APR") << "Cleaning up APR" << LL_ENDL; + + if (gLogMutexp) + { + // Clean up the logging mutex + + // All other threads NEED to be done before we clean up APR, so this is okay. + apr_thread_mutex_destroy(gLogMutexp); + gLogMutexp = NULL; + } + if (gCallStacksLogMutexp) + { + // Clean up the logging mutex + + // All other threads NEED to be done before we clean up APR, so this is okay. + apr_thread_mutex_destroy(gCallStacksLogMutexp); + gCallStacksLogMutexp = NULL; + } + if (gAPRPoolp) + { + apr_pool_destroy(gAPRPoolp); + gAPRPoolp = NULL; + } + if (LLAPRFile::sAPRFilePoolp) + { + delete LLAPRFile::sAPRFilePoolp ; + LLAPRFile::sAPRFilePoolp = NULL ; + } + apr_terminate(); +} + +// +// +//LLAPRPool +// +LLAPRPool::LLAPRPool(apr_pool_t *parent, apr_size_t size, BOOL releasePoolFlag) + : mParent(parent), + mReleasePoolFlag(releasePoolFlag), + mMaxSize(size), + mPool(NULL) +{ + createAPRPool() ; +} + +LLAPRPool::~LLAPRPool() +{ + releaseAPRPool() ; +} + +void LLAPRPool::createAPRPool() +{ + if(mPool) + { + return ; + } + + mStatus = apr_pool_create(&mPool, mParent); + ll_apr_warn_status(mStatus) ; + + if(mMaxSize > 0) //size is the number of blocks (which is usually 4K), NOT bytes. + { + apr_allocator_t *allocator = apr_pool_allocator_get(mPool); + if (allocator) + { + apr_allocator_max_free_set(allocator, mMaxSize) ; + } + } +} + +void LLAPRPool::releaseAPRPool() +{ + if(!mPool) + { + return ; + } + + if(!mParent || mReleasePoolFlag) + { + apr_pool_destroy(mPool) ; + mPool = NULL ; + } +} + +//virtual +apr_pool_t* LLAPRPool::getAPRPool() +{ + return mPool ; +} + +LLVolatileAPRPool::LLVolatileAPRPool(BOOL is_local, apr_pool_t *parent, apr_size_t size, BOOL releasePoolFlag) + : LLAPRPool(parent, size, releasePoolFlag), + mNumActiveRef(0), + mNumTotalRef(0), + mMutexPool(NULL), + mMutexp(NULL) +{ + //create mutex + if(!is_local) //not a local apr_pool, that is: shared by multiple threads. + { + apr_pool_create(&mMutexPool, NULL); // Create a pool for mutex + apr_thread_mutex_create(&mMutexp, APR_THREAD_MUTEX_UNNESTED, mMutexPool); + } +} + +LLVolatileAPRPool::~LLVolatileAPRPool() +{ + //delete mutex + if(mMutexp) + { + apr_thread_mutex_destroy(mMutexp); + apr_pool_destroy(mMutexPool); + } +} + +// +//define this virtual function to avoid any mistakenly calling LLAPRPool::getAPRPool(). +// +//virtual +apr_pool_t* LLVolatileAPRPool::getAPRPool() +{ + return LLVolatileAPRPool::getVolatileAPRPool() ; +} + +apr_pool_t* LLVolatileAPRPool::getVolatileAPRPool() +{ + LLScopedLock lock(mMutexp) ; + + mNumTotalRef++ ; + mNumActiveRef++ ; + + if(!mPool) + { + createAPRPool() ; + } + + return mPool ; +} + +void LLVolatileAPRPool::clearVolatileAPRPool() +{ + LLScopedLock lock(mMutexp) ; + + if(mNumActiveRef > 0) + { + mNumActiveRef--; + if(mNumActiveRef < 1) + { + if(isFull()) + { + mNumTotalRef = 0 ; + + //destroy the apr_pool. + releaseAPRPool() ; + } + else + { + //This does not actually free the memory, + //it just allows the pool to re-use this memory for the next allocation. + apr_pool_clear(mPool) ; + } + } + } + else + { + llassert_always(mNumActiveRef > 0) ; + } + + //paranoia check if the pool is jammed. + //will remove the check before going to release. + llassert_always(mNumTotalRef < (FULL_VOLATILE_APR_POOL << 2)) ; +} + +BOOL LLVolatileAPRPool::isFull() +{ + return mNumTotalRef > FULL_VOLATILE_APR_POOL ; +} //--------------------------------------------------------------------- // // LLScopedLock @@ -109,17 +313,15 @@ void ll_apr_assert_status(apr_status_t status, apr_dso_handle_t *handle) // LLAPRFile::LLAPRFile() : mFile(NULL), - mVolatileFilePoolp(NULL), - mRegularFilePoolp(NULL) + mCurrentFilePoolp(NULL) { } -LLAPRFile::LLAPRFile(std::string const& filename, apr_int32_t flags, S32* sizep, access_t access_type) +LLAPRFile::LLAPRFile(const std::string& filename, apr_int32_t flags, LLVolatileAPRPool* pool) : mFile(NULL), - mVolatileFilePoolp(NULL), - mRegularFilePoolp(NULL) + mCurrentFilePoolp(NULL) { - open(filename, flags, access_type, sizep); + open(filename, flags, pool); } LLAPRFile::~LLAPRFile() @@ -136,58 +338,36 @@ apr_status_t LLAPRFile::close() mFile = NULL ; } - if (mVolatileFilePoolp) + if(mCurrentFilePoolp) { - mVolatileFilePoolp->clearVolatileAPRPool() ; - mVolatileFilePoolp = NULL ; - } - - if (mRegularFilePoolp) - { - delete mRegularFilePoolp; - mRegularFilePoolp = NULL; + mCurrentFilePoolp->clearVolatileAPRPool() ; + mCurrentFilePoolp = NULL ; } return ret ; } -apr_status_t LLAPRFile::open(std::string const& filename, apr_int32_t flags, access_t access_type, S32* sizep) +apr_status_t LLAPRFile::open(const std::string& filename, apr_int32_t flags, LLVolatileAPRPool* pool, S32* sizep) { - llassert_always(!mFile); - llassert_always(!mVolatileFilePoolp && !mRegularFilePoolp); + apr_status_t s ; - apr_status_t status; - { - apr_pool_t* apr_file_open_pool; // The use of apr_pool_t is OK here. - // This is a temporary variable for a pool that is passed directly to apr_file_open below. - if (access_type == short_lived) - { - // Use a "volatile" thread-local pool. - mVolatileFilePoolp = &LLThreadLocalData::tldata().mVolatileAPRPool; - // Access the pool and increment its reference count. - // The reference count of LLVolatileAPRPool objects will be decremented - // again in LLAPRFile::close by calling mVolatileFilePoolp->clearVolatileAPRPool(). - apr_file_open_pool = mVolatileFilePoolp->getVolatileAPRPool(); - } - else - { - mRegularFilePoolp = new LLAPRPool(LLThreadLocalData::tldata().mRootPool); - apr_file_open_pool = (*mRegularFilePoolp)(); - } - status = apr_file_open(&mFile, filename.c_str(), flags, APR_OS_DEFAULT, apr_file_open_pool); - } - if (status != APR_SUCCESS || !mFile) + //check if already open some file + llassert_always(!mFile) ; + llassert_always(!mCurrentFilePoolp) ; + + apr_pool_t* apr_pool = pool ? pool->getVolatileAPRPool() : NULL ; + s = apr_file_open(&mFile, filename.c_str(), flags, APR_OS_DEFAULT, getAPRFilePool(apr_pool)); + + if (s != APR_SUCCESS || !mFile) { mFile = NULL ; - close() ; + if (sizep) { *sizep = 0; } - return status; } - - if (sizep) + else if (sizep) { S32 file_size = 0; apr_off_t offset = 0; @@ -201,7 +381,49 @@ apr_status_t LLAPRFile::open(std::string const& filename, apr_int32_t flags, acc *sizep = file_size; } - return status; + if(!mCurrentFilePoolp) + { + mCurrentFilePoolp = pool ; + + if(!mFile) + { + close() ; + } + } + + return s ; +} + +//use gAPRPoolp. +apr_status_t LLAPRFile::open(const std::string& filename, apr_int32_t flags, BOOL use_global_pool) +{ + apr_status_t s; + + //check if already open some file + llassert_always(!mFile) ; + llassert_always(!mCurrentFilePoolp) ; + llassert_always(use_global_pool) ; //be aware of using gAPRPoolp. + + s = apr_file_open(&mFile, filename.c_str(), flags, APR_OS_DEFAULT, gAPRPoolp); + if (s != APR_SUCCESS || !mFile) + { + mFile = NULL ; + close() ; + return s; + } + + return s; +} + +apr_pool_t* LLAPRFile::getAPRFilePool(apr_pool_t* pool) +{ + if(!pool) + { + mCurrentFilePoolp = sAPRFilePoolp ; + return mCurrentFilePoolp->getVolatileAPRPool() ; + } + + return pool ; } // File I/O @@ -259,6 +481,45 @@ S32 LLAPRFile::seek(apr_seek_where_t where, S32 offset) //static components of LLAPRFile // +//static +apr_status_t LLAPRFile::close(apr_file_t* file_handle, LLVolatileAPRPool* pool) +{ + apr_status_t ret = APR_SUCCESS ; + if(file_handle) + { + ret = apr_file_close(file_handle); + file_handle = NULL ; + } + + if(pool) + { + pool->clearVolatileAPRPool() ; + } + + return ret ; +} + +//static +apr_file_t* LLAPRFile::open(const std::string& filename, LLVolatileAPRPool* pool, apr_int32_t flags) +{ + apr_status_t s; + apr_file_t* file_handle ; + + pool = pool ? pool : LLAPRFile::sAPRFilePoolp ; + + s = apr_file_open(&file_handle, filename.c_str(), flags, APR_OS_DEFAULT, pool->getVolatileAPRPool()); + if (s != APR_SUCCESS || !file_handle) + { + ll_apr_warn_status(s); + LL_WARNS("APR") << " Attempting to open filename: " << filename << LL_ENDL; + file_handle = NULL ; + close(file_handle, pool) ; + return NULL; + } + + return file_handle ; +} + //static S32 LLAPRFile::seek(apr_file_t* file_handle, apr_seek_where_t where, S32 offset) { @@ -292,15 +553,13 @@ S32 LLAPRFile::seek(apr_file_t* file_handle, apr_seek_where_t where, S32 offset) } //static -S32 LLAPRFile::readEx(const std::string& filename, void *buf, S32 offset, S32 nbytes) +S32 LLAPRFile::readEx(const std::string& filename, void *buf, S32 offset, S32 nbytes, LLVolatileAPRPool* pool) { - apr_file_t* file_handle; - LLScopedVolatileAPRPool pool; - apr_status_t s = apr_file_open(&file_handle, filename.c_str(), APR_READ|APR_BINARY, APR_OS_DEFAULT, pool); - if (s != APR_SUCCESS || !file_handle) + //***************************************** + apr_file_t* file_handle = open(filename, pool, APR_READ|APR_BINARY); + //***************************************** + if (!file_handle) { - ll_apr_warn_status(s); - LL_WARNS("APR") << " while attempting to open file \"" << filename << '"' << LL_ENDL; return 0; } @@ -330,13 +589,14 @@ S32 LLAPRFile::readEx(const std::string& filename, void *buf, S32 offset, S32 nb } } - apr_file_close(file_handle); - + //***************************************** + close(file_handle, pool) ; + //***************************************** return (S32)bytes_read; } //static -S32 LLAPRFile::writeEx(const std::string& filename, void *buf, S32 offset, S32 nbytes) +S32 LLAPRFile::writeEx(const std::string& filename, void *buf, S32 offset, S32 nbytes, LLVolatileAPRPool* pool) { apr_int32_t flags = APR_CREATE|APR_WRITE|APR_BINARY; if (offset < 0) @@ -345,13 +605,11 @@ S32 LLAPRFile::writeEx(const std::string& filename, void *buf, S32 offset, S32 n offset = 0; } - apr_file_t* file_handle; - LLScopedVolatileAPRPool pool; - apr_status_t s = apr_file_open(&file_handle, filename.c_str(), flags, APR_OS_DEFAULT, pool); - if (s != APR_SUCCESS || !file_handle) + //***************************************** + apr_file_t* file_handle = open(filename, pool, flags); + //***************************************** + if (!file_handle) { - ll_apr_warn_status(s); - LL_WARNS("APR") << " while attempting to open file \"" << filename << '"' << LL_ENDL; return 0; } @@ -381,18 +639,21 @@ S32 LLAPRFile::writeEx(const std::string& filename, void *buf, S32 offset, S32 n } } - apr_file_close(file_handle); + //***************************************** + LLAPRFile::close(file_handle, pool); + //***************************************** return (S32)bytes_written; } //static -bool LLAPRFile::remove(const std::string& filename) +bool LLAPRFile::remove(const std::string& filename, LLVolatileAPRPool* pool) { apr_status_t s; - LLScopedVolatileAPRPool pool; - s = apr_file_remove(filename.c_str(), pool); + pool = pool ? pool : LLAPRFile::sAPRFilePoolp ; + s = apr_file_remove(filename.c_str(), pool->getVolatileAPRPool()); + pool->clearVolatileAPRPool() ; if (s != APR_SUCCESS) { @@ -404,12 +665,13 @@ bool LLAPRFile::remove(const std::string& filename) } //static -bool LLAPRFile::rename(const std::string& filename, const std::string& newname) +bool LLAPRFile::rename(const std::string& filename, const std::string& newname, LLVolatileAPRPool* pool) { apr_status_t s; - LLScopedVolatileAPRPool pool; - s = apr_file_rename(filename.c_str(), newname.c_str(), pool); + pool = pool ? pool : LLAPRFile::sAPRFilePoolp ; + s = apr_file_rename(filename.c_str(), newname.c_str(), pool->getVolatileAPRPool()); + pool->clearVolatileAPRPool() ; if (s != APR_SUCCESS) { @@ -421,44 +683,49 @@ bool LLAPRFile::rename(const std::string& filename, const std::string& newname) } //static -bool LLAPRFile::isExist(const std::string& filename, apr_int32_t flags) +bool LLAPRFile::isExist(const std::string& filename, LLVolatileAPRPool* pool, apr_int32_t flags) { - apr_file_t* file_handle; + apr_file_t* apr_file; apr_status_t s; - LLScopedVolatileAPRPool pool; - s = apr_file_open(&file_handle, filename.c_str(), flags, APR_OS_DEFAULT, pool); + pool = pool ? pool : LLAPRFile::sAPRFilePoolp ; + s = apr_file_open(&apr_file, filename.c_str(), flags, APR_OS_DEFAULT, pool->getVolatileAPRPool()); - if (s != APR_SUCCESS || !file_handle) + if (s != APR_SUCCESS || !apr_file) { + pool->clearVolatileAPRPool() ; return false; } else { - apr_file_close(file_handle); + apr_file_close(apr_file) ; + pool->clearVolatileAPRPool() ; return true; } } //static -S32 LLAPRFile::size(const std::string& filename) +S32 LLAPRFile::size(const std::string& filename, LLVolatileAPRPool* pool) { - apr_file_t* file_handle; + apr_file_t* apr_file; apr_finfo_t info; apr_status_t s; - LLScopedVolatileAPRPool pool; - s = apr_file_open(&file_handle, filename.c_str(), APR_READ, APR_OS_DEFAULT, pool); + pool = pool ? pool : LLAPRFile::sAPRFilePoolp ; + s = apr_file_open(&apr_file, filename.c_str(), APR_READ, APR_OS_DEFAULT, pool->getVolatileAPRPool()); - if (s != APR_SUCCESS || !file_handle) + if (s != APR_SUCCESS || !apr_file) { + pool->clearVolatileAPRPool() ; + return 0; } else { - apr_status_t s = apr_file_info_get(&info, APR_FINFO_SIZE, file_handle); + apr_status_t s = apr_file_info_get(&info, APR_FINFO_SIZE, apr_file); - apr_file_close(file_handle) ; + apr_file_close(apr_file) ; + pool->clearVolatileAPRPool() ; if (s == APR_SUCCESS) { @@ -472,29 +739,31 @@ S32 LLAPRFile::size(const std::string& filename) } //static -bool LLAPRFile::makeDir(const std::string& dirname) +bool LLAPRFile::makeDir(const std::string& dirname, LLVolatileAPRPool* pool) { apr_status_t s; - LLScopedVolatileAPRPool pool; - s = apr_dir_make(dirname.c_str(), APR_FPROT_OS_DEFAULT, pool); + pool = pool ? pool : LLAPRFile::sAPRFilePoolp ; + s = apr_dir_make(dirname.c_str(), APR_FPROT_OS_DEFAULT, pool->getVolatileAPRPool()); + pool->clearVolatileAPRPool() ; if (s != APR_SUCCESS) { ll_apr_warn_status(s); - LL_WARNS("APR") << " while attempting to make directory: " << dirname << LL_ENDL; + LL_WARNS("APR") << " Attempting to make directory: " << dirname << LL_ENDL; return false; } return true; } //static -bool LLAPRFile::removeDir(const std::string& dirname) +bool LLAPRFile::removeDir(const std::string& dirname, LLVolatileAPRPool* pool) { apr_status_t s; - LLScopedVolatileAPRPool pool; - s = apr_file_remove(dirname.c_str(), pool); + pool = pool ? pool : LLAPRFile::sAPRFilePoolp ; + s = apr_file_remove(dirname.c_str(), pool->getVolatileAPRPool()); + pool->clearVolatileAPRPool() ; if (s != APR_SUCCESS) { diff --git a/indra/llcommon/llapr.h b/indra/llcommon/llapr.h index 3f846f13145..af33ce666f1 100644 --- a/indra/llcommon/llapr.h +++ b/indra/llcommon/llapr.h @@ -50,9 +50,71 @@ #include "apr_atomic.h" #include "llstring.h" +extern LL_COMMON_API apr_thread_mutex_t* gLogMutexp; +extern apr_thread_mutex_t* gCallStacksLogMutexp; + struct apr_dso_handle_t; -class LLAPRPool; -class LLVolatileAPRPool; + +/** + * @brief initialize the common apr constructs -- apr itself, the + * global pool, and a mutex. + */ +void LL_COMMON_API ll_init_apr(); + +/** + * @brief Cleanup those common apr constructs. + */ +void LL_COMMON_API ll_cleanup_apr(); + +// +//LL apr_pool +//manage apr_pool_t, destroy allocated apr_pool in the destruction function. +// +class LL_COMMON_API LLAPRPool +{ +public: + LLAPRPool(apr_pool_t *parent = NULL, apr_size_t size = 0, BOOL releasePoolFlag = TRUE) ; + virtual ~LLAPRPool() ; + + virtual apr_pool_t* getAPRPool() ; + apr_status_t getStatus() {return mStatus ; } + +protected: + void releaseAPRPool() ; + void createAPRPool() ; + +protected: + apr_pool_t* mPool ; //pointing to an apr_pool + apr_pool_t* mParent ; //parent pool + apr_size_t mMaxSize ; //max size of mPool, mPool should return memory to system if allocated memory beyond this limit. However it seems not to work. + apr_status_t mStatus ; //status when creating the pool + BOOL mReleasePoolFlag ; //if set, mPool is destroyed when LLAPRPool is deleted. default value is true. +}; + +// +//volatile LL apr_pool +//which clears memory automatically. +//so it can not hold static data or data after memory is cleared +// +class LL_COMMON_API LLVolatileAPRPool : public LLAPRPool +{ +public: + LLVolatileAPRPool(BOOL is_local = TRUE, apr_pool_t *parent = NULL, apr_size_t size = 0, BOOL releasePoolFlag = TRUE); + virtual ~LLVolatileAPRPool(); + + /*virtual*/ apr_pool_t* getAPRPool() ; //define this virtual function to avoid any mistakenly calling LLAPRPool::getAPRPool(). + apr_pool_t* getVolatileAPRPool() ; + void clearVolatileAPRPool() ; + + BOOL isFull() ; + +private: + S32 mNumActiveRef ; //number of active pointers pointing to the apr_pool. + S32 mNumTotalRef ; //number of total pointers pointing to the apr_pool since last creating. + + apr_thread_mutex_t *mMutexp; + apr_pool_t *mMutexPool; +} ; /** * @class LLScopedLock @@ -143,20 +205,15 @@ class LL_COMMON_API LLAPRFile : boost::noncopyable // make this non copyable since a copy closes the file private: apr_file_t* mFile ; - LLVolatileAPRPool* mVolatileFilePoolp; // (Thread local) APR pool currently in use. - LLAPRPool* mRegularFilePoolp; // ...or a regular pool. + LLVolatileAPRPool *mCurrentFilePoolp ; //currently in use apr_pool, could be one of them: sAPRFilePoolp, or a temp pool. public: - enum access_t { - long_lived, // Use a global pool for long-lived file accesses. - short_lived // Use a volatile pool for short-lived file accesses. - }; - LLAPRFile() ; - LLAPRFile(std::string const& filename, apr_int32_t flags, S32* sizep = NULL, access_t access_type = short_lived); + LLAPRFile(const std::string& filename, apr_int32_t flags, LLVolatileAPRPool* pool = NULL); ~LLAPRFile() ; - - apr_status_t open(const std::string& filename, apr_int32_t flags, access_t access_type, S32* sizep = NULL); + + apr_status_t open(const std::string& filename, apr_int32_t flags, LLVolatileAPRPool* pool = NULL, S32* sizep = NULL); + apr_status_t open(const std::string& filename, apr_int32_t flags, BOOL use_global_pool); //use gAPRPoolp. apr_status_t close() ; // Returns actual offset, -1 if seek fails @@ -169,24 +226,32 @@ class LL_COMMON_API LLAPRFile : boost::noncopyable apr_file_t* getFileHandle() {return mFile;} +private: + apr_pool_t* getAPRFilePool(apr_pool_t* pool) ; + // //******************************************************************************************************************************* //static components // +public: + static LLVolatileAPRPool *sAPRFilePoolp ; //a global apr_pool for APRFile, which is used only when local pool does not exist. + private: + static apr_file_t* open(const std::string& filename, LLVolatileAPRPool* pool, apr_int32_t flags); + static apr_status_t close(apr_file_t* file, LLVolatileAPRPool* pool) ; static S32 seek(apr_file_t* file, apr_seek_where_t where, S32 offset); public: // returns false if failure: - static bool remove(const std::string& filename); - static bool rename(const std::string& filename, const std::string& newname); - static bool isExist(const std::string& filename, apr_int32_t flags = APR_READ); - static S32 size(const std::string& filename); - static bool makeDir(const std::string& dirname); - static bool removeDir(const std::string& dirname); + static bool remove(const std::string& filename, LLVolatileAPRPool* pool = NULL); + static bool rename(const std::string& filename, const std::string& newname, LLVolatileAPRPool* pool = NULL); + static bool isExist(const std::string& filename, LLVolatileAPRPool* pool = NULL, apr_int32_t flags = APR_READ); + static S32 size(const std::string& filename, LLVolatileAPRPool* pool = NULL); + static bool makeDir(const std::string& dirname, LLVolatileAPRPool* pool = NULL); + static bool removeDir(const std::string& dirname, LLVolatileAPRPool* pool = NULL); // Returns bytes read/written, 0 if read/write fails: - static S32 readEx(const std::string& filename, void *buf, S32 offset, S32 nbytes); - static S32 writeEx(const std::string& filename, void *buf, S32 offset, S32 nbytes); // offset<0 means append + static S32 readEx(const std::string& filename, void *buf, S32 offset, S32 nbytes, LLVolatileAPRPool* pool = NULL); + static S32 writeEx(const std::string& filename, void *buf, S32 offset, S32 nbytes, LLVolatileAPRPool* pool = NULL); // offset<0 means append //******************************************************************************************************************************* }; @@ -202,4 +267,6 @@ bool LL_COMMON_API ll_apr_warn_status(apr_status_t status, apr_dso_handle_t* han void LL_COMMON_API ll_apr_assert_status(apr_status_t status); void LL_COMMON_API ll_apr_assert_status(apr_status_t status, apr_dso_handle_t* handle); +extern "C" LL_COMMON_API apr_pool_t* gAPRPoolp; // Global APR memory pool + #endif // LL_LLAPR_H diff --git a/indra/llcommon/llaprpool.cpp b/indra/llcommon/llaprpool.cpp deleted file mode 100644 index 6f21b61b65e..00000000000 --- a/indra/llcommon/llaprpool.cpp +++ /dev/null @@ -1,202 +0,0 @@ -/** - * @file llaprpool.cpp - * - * $LicenseInfo:firstyear=2011&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2011, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - * - * CHANGELOG - * and additional copyright holders. - * - * 04/04/2010 - * - Initial version, written by Aleric Inglewood @ SL - * - * 10/11/2010 - * - Added APR_HAS_THREADS #if's to allow creation and destruction - * of subpools by threads other than the parent pool owner. - */ - -#include "linden_common.h" - -#include "llerror.h" -#include "llaprpool.h" -#include "llthread.h" - -// Create a subpool from parent. -void LLAPRPool::create(LLAPRPool& parent) -{ - llassert(!mPool); // Must be non-initialized. - mParent = &parent; - if (!mParent) // Using the default parameter? - { - // By default use the root pool of the current thread. - mParent = &LLThreadLocalData::tldata().mRootPool; - } - llassert(mParent->mPool); // Parent must be initialized. -#if APR_HAS_THREADS - // As per the documentation of APR (ie http://apr.apache.org/docs/apr/1.4/apr__pools_8h.html): - // - // Note that most operations on pools are not thread-safe: a single pool should only be - // accessed by a single thread at any given time. The one exception to this rule is creating - // a subpool of a given pool: one or more threads can safely create subpools at the same - // time that another thread accesses the parent pool. - // - // In other words, it's safe for any thread to create a (sub)pool, independent of who - // owns the parent pool. - mOwner = apr_os_thread_current(); -#else - mOwner = mParent->mOwner; - llassert(apr_os_thread_equal(mOwner, apr_os_thread_current())); -#endif - apr_status_t const apr_pool_create_status = apr_pool_create(&mPool, mParent->mPool); - llassert_always(apr_pool_create_status == APR_SUCCESS); - llassert(mPool); // Initialized. - apr_pool_cleanup_register(mPool, this, &s_plain_cleanup, &apr_pool_cleanup_null); -} - -// Destroy the (sub)pool, if any. -void LLAPRPool::destroy(void) -{ - // Only do anything if we are not already (being) destroyed. - if (mPool) - { -#if !APR_HAS_THREADS - // If we are a root pool, then every thread may destruct us: in that case - // we have to assume that no other thread will use this pool concurrently, - // of course. Otherwise, if we are a subpool, only the thread that owns - // the parent may destruct us, since that is the pool that is still alive, - // possibly being used by others and being altered here. - llassert(!mParent || apr_os_thread_equal(mParent->mOwner, apr_os_thread_current())); -#endif - apr_pool_t* pool = mPool; // The use of apr_pool_t is OK here. - // Temporary store before destroying the pool. - mPool = NULL; // Mark that we are BEING destructed. - apr_pool_cleanup_kill(pool, this, &s_plain_cleanup); - apr_pool_destroy(pool); - } -} - -bool LLAPRPool::parent_is_being_destructed(void) -{ - return mParent && (!mParent->mPool || mParent->parent_is_being_destructed()); -} - -LLAPRInitialization::LLAPRInitialization(void) -{ - static bool apr_initialized = false; - - if (!apr_initialized) - { - apr_initialize(); - } - - apr_initialized = true; -} - -bool LLAPRRootPool::sCountInitialized = false; -apr_uint32_t volatile LLAPRRootPool::sCount; - -apr_thread_mutex_t* gLogMutexp; -apr_thread_mutex_t* gCallStacksLogMutexp; - -LLAPRRootPool::LLAPRRootPool(void) : LLAPRInitialization(), LLAPRPool(0) -{ - // sCountInitialized don't need locking because when we get here there is still only a single thread. - if (!sCountInitialized) - { - // Initialize the logging mutex - apr_thread_mutex_create(&gLogMutexp, APR_THREAD_MUTEX_UNNESTED, mPool); - apr_thread_mutex_create(&gCallStacksLogMutexp, APR_THREAD_MUTEX_UNNESTED, mPool); - - apr_status_t status = apr_atomic_init(mPool); - llassert_always(status == APR_SUCCESS); - apr_atomic_set32(&sCount, 1); // Set to 1 to account for the global root pool. - sCountInitialized = true; - - // Initialize thread-local APR pool support. - // Because this recursively calls LLAPRRootPool::LLAPRRootPool(void) - // it must be done last, so that sCount is already initialized. - LLThreadLocalData::init(); - } - apr_atomic_inc32(&sCount); -} - -LLAPRRootPool::~LLAPRRootPool() -{ - if (!apr_atomic_dec32(&sCount)) - { - // The last pool was destructed. Cleanup remainder of APR. - LL_INFOS("APR") << "Cleaning up APR" << LL_ENDL; - - if (gLogMutexp) - { - // Clean up the logging mutex - - // All other threads NEED to be done before we clean up APR, so this is okay. - apr_thread_mutex_destroy(gLogMutexp); - gLogMutexp = NULL; - } - if (gCallStacksLogMutexp) - { - // Clean up the logging mutex - - // All other threads NEED to be done before we clean up APR, so this is okay. - apr_thread_mutex_destroy(gCallStacksLogMutexp); - gCallStacksLogMutexp = NULL; - } - - // Must destroy ALL, and therefore this last LLAPRRootPool, before terminating APR. - static_cast<LLAPRRootPool*>(this)->destroy(); - - apr_terminate(); - } -} - -//static -// Return a global root pool that is independent of LLThreadLocalData. -// Normally you should NOT use this. Only use for early initialization -// (before main) and deinitialization (after main). -LLAPRRootPool& LLAPRRootPool::get(void) -{ - static LLAPRRootPool global_APRpool(0); - return global_APRpool; -} - -void LLVolatileAPRPool::clearVolatileAPRPool() -{ - llassert_always(mNumActiveRef > 0); - if (--mNumActiveRef == 0) - { - if (isOld()) - { - destroy(); - mNumTotalRef = 0 ; - } - else - { - // This does not actually free the memory, - // it just allows the pool to re-use this memory for the next allocation. - clear(); - } - } - - // Paranoia check if the pool is jammed. - llassert(mNumTotalRef < (FULL_VOLATILE_APR_POOL << 2)) ; -} diff --git a/indra/llcommon/llaprpool.h b/indra/llcommon/llaprpool.h deleted file mode 100644 index bf4102c5849..00000000000 --- a/indra/llcommon/llaprpool.h +++ /dev/null @@ -1,256 +0,0 @@ -/** - * @file llaprpool.h - * @brief Implementation of LLAPRPool - * - * $LicenseInfo:firstyear=2011&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2011, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - * - * CHANGELOG - * and additional copyright holders. - * - * 04/04/2010 - * - Initial version, written by Aleric Inglewood @ SL - * - * 10/11/2010 - * - Added APR_HAS_THREADS #if's to allow creation and destruction - * of subpools by threads other than the parent pool owner. - * - * 05/02/2011 - * - Fixed compilation on windows: Suppress compile warning 4996 - * and include <winsock2.h> before including <ws2tcpip.h>, - * by Merov Linden @ SL. - */ - -#ifndef LL_LLAPRPOOL_H -#define LL_LLAPRPOOL_H - -#ifdef LL_WINDOWS -#pragma warning(push) -#pragma warning(disable:4996) -#include <winsock2.h> -#include <ws2tcpip.h> // Needed before including apr_portable.h -#pragma warning(pop) -#endif - -#include "apr_portable.h" -#include "apr_pools.h" -#include "llerror.h" - -extern void ll_init_apr(); - -/** - * @brief A wrapper around the APR memory pool API. - * - * Usage of this class should be restricted to passing it to libapr-1 function calls that need it. - * - */ -class LL_COMMON_API LLAPRPool -{ -protected: - //! Pointer to the underlaying pool. NULL if not initialized. - apr_pool_t* mPool; // The use of apr_pool_t is OK here. - // This is the wrapped pointer that it is all about! - //! Pointer to the parent pool, if any. Only valid when mPool is non-zero. - LLAPRPool* mParent; - //! The thread that owns this memory pool. Only valid when mPool is non-zero. - apr_os_thread_t mOwner; - -public: - /// Construct an uninitialized (destructed) pool. - LLAPRPool(void) : mPool(NULL) { } - - /// Construct a subpool from an existing pool. - /// This is not a copy-constructor, this class doesn't have one! - LLAPRPool(LLAPRPool& parent) : mPool(NULL) { create(parent); } - - /// Destruct the memory pool (free all of its subpools and allocated memory). - ~LLAPRPool() { destroy(); } - -protected: - /// Create a pool that is allocated from the Operating System. Only used by LLAPRRootPool. - LLAPRPool(int) : mPool(NULL), mParent(NULL), mOwner(apr_os_thread_current()) - { - apr_status_t const apr_pool_create_status = apr_pool_create(&mPool, NULL); - llassert_always(apr_pool_create_status == APR_SUCCESS); - llassert(mPool); - apr_pool_cleanup_register(mPool, this, &s_plain_cleanup, &apr_pool_cleanup_null); - } - -public: - /// Create a subpool from parent. May only be called for an uninitialized/destroyed pool. - /// The default parameter causes the root pool of the current thread to be used. - void create(LLAPRPool& parent = *static_cast<LLAPRPool*>(NULL)); - - /// Destroy the (sub)pool, if any. - void destroy(void); - - // Use some safebool idiom (http://www.artima.com/cppsource/safebool.html) rather than operator bool. - typedef LLAPRPool* const LLAPRPool::* const bool_type; - /// Return true if the pool is initialized. - operator bool_type() const { return mPool ? &LLAPRPool::mParent : 0; } - - /// Painful, but we have to either provide access to this, or wrap - /// every APR function call that needs an apr pool as argument. - /// NEVER destroy a pool that is returned by this function! - apr_pool_t* operator()(void) const // The use of apr_pool_t is OK here. - // This is the accessor for passing the pool to libapr-1 functions. - { - llassert(mPool); - llassert(apr_os_thread_equal(mOwner, apr_os_thread_current())); - return mPool; - } - - /// Free all memory without destructing the pool. - void clear(void) - { - llassert(mPool); - llassert(apr_os_thread_equal(mOwner, apr_os_thread_current())); - apr_pool_clear(mPool); - } - -// These methods would make this class 'complete' (as wrapper around the libapr -// pool functions), but we don't use memory pools in the viewer (only when -// we are forced to pass one to a libapr call), so don't define them in order -// not to encourage people to use them. -#if 0 - void* palloc(size_t size) - { - llassert(mPool); - llassert(apr_os_thread_equal(mOwner, apr_os_thread_current())); - return apr_palloc(mPool, size); - } - void* pcalloc(size_t size) - { - llassert(mPool); - llassert(apr_os_thread_equal(mOwner, apr_os_thread_current())); - return apr_pcalloc(mPool, size); - } -#endif - -private: - bool parent_is_being_destructed(void); - static apr_status_t s_plain_cleanup(void* userdata) { return static_cast<LLAPRPool*>(userdata)->plain_cleanup(); } - - apr_status_t plain_cleanup(void) - { - if (mPool && // We are not being destructed, - parent_is_being_destructed()) // but our parent is. - // This means the pool is being destructed recursively by libapr - // because one of its parents is being destructed. - { - mPool = NULL; // Stop destroy() from destructing the pool again. - } - return APR_SUCCESS; - } -}; - -class LLAPRInitialization -{ -public: - LLAPRInitialization(void); -}; - -/** - * @brief Root memory pool (allocates memory from the operating system). - * - * This class should only be used by LLThreadLocalData - * (and LLMutexRootPool when APR_HAS_THREADS isn't defined). - */ -class LL_COMMON_API LLAPRRootPool : public LLAPRInitialization, public LLAPRPool -{ -private: - /// Construct a root memory pool. Should only be used by LLThreadLocalData and LLMutexRootPool. - friend class LLThreadLocalData; -#if !APR_HAS_THREADS - friend class LLMutexRootPool; -#endif - /// Construct a root memory pool. - /// Should only be used by LLThreadLocalData. - LLAPRRootPool(void); - ~LLAPRRootPool(); - -private: - // Keep track of how many root pools exist and when the last one is destructed. - static bool sCountInitialized; - static apr_uint32_t volatile sCount; - -public: - // Return a global root pool that is independent of LLThreadLocalData. - // Normally you should not use this. Only use for early initialization - // (before main) and deinitialization (after main). - static LLAPRRootPool& get(void); - -#if APR_POOL_DEBUG - void grab_ownership(void) - { - // You need a patched libapr to use this. - // See http://web.archiveorange.com/archive/v/5XO9y2zoxUOMt6Gmi1OI - apr_pool_owner_set(mPool); - } -#endif - -private: - // Used for constructing the Special Global Root Pool (returned by LLAPRRootPool::get). - // It is the same as the default constructor but omits to increment sCount. As a result, - // we must be sure that at least one other LLAPRRootPool is created before termination - // of the application (which is the case: we create one LLAPRRootPool per thread). - LLAPRRootPool(int) : LLAPRInitialization(), LLAPRPool(0) { } -}; - -/** Volatile memory pool - * - * 'Volatile' APR memory pool which normally only clears memory, - * and does not destroy the pool (the same pool is reused) for - * greater efficiency. However, as a safe guard the apr pool - * is destructed every FULL_VOLATILE_APR_POOL uses to allow - * the system memory to be allocated more efficiently and not - * get scattered through RAM. - */ -class LL_COMMON_API LLVolatileAPRPool : protected LLAPRPool -{ -public: - LLVolatileAPRPool(void) : mNumActiveRef(0), mNumTotalRef(0) { } - - void clearVolatileAPRPool(void); - - bool isOld(void) const { return mNumTotalRef > FULL_VOLATILE_APR_POOL; } - bool isUnused() const { return mNumActiveRef == 0; } - -private: - friend class LLScopedVolatileAPRPool; - friend class LLAPRFile; - apr_pool_t* getVolatileAPRPool(void) // The use of apr_pool_t is OK here. - { - if (!mPool) create(); - ++mNumActiveRef; - ++mNumTotalRef; - return LLAPRPool::operator()(); - } - -private: - S32 mNumActiveRef; // Number of active uses of the pool. - S32 mNumTotalRef; // Number of total uses of the pool since last creation. - - // Maximum number of references to LLVolatileAPRPool until the pool is recreated. - static S32 const FULL_VOLATILE_APR_POOL = 1024; -}; - -#endif // LL_LLAPRPOOL_H diff --git a/indra/llcommon/llcommon.cpp b/indra/llcommon/llcommon.cpp index b8a73948525..8be9e4f4de2 100644 --- a/indra/llcommon/llcommon.cpp +++ b/indra/llcommon/llcommon.cpp @@ -30,10 +30,18 @@ #include "llmemory.h" #include "llthread.h" +//static +BOOL LLCommon::sAprInitialized = FALSE; + //static void LLCommon::initClass() { LLMemory::initClass(); + if (!sAprInitialized) + { + ll_init_apr(); + sAprInitialized = TRUE; + } LLTimer::initClass(); LLThreadSafeRefCount::initThreadSafeRefCount(); // LLWorkerThread::initClass(); @@ -47,5 +55,10 @@ void LLCommon::cleanupClass() // LLWorkerThread::cleanupClass(); LLThreadSafeRefCount::cleanupThreadSafeRefCount(); LLTimer::cleanupClass(); + if (sAprInitialized) + { + ll_cleanup_apr(); + sAprInitialized = FALSE; + } LLMemory::cleanupClass(); } diff --git a/indra/llcommon/llcommon.h b/indra/llcommon/llcommon.h index 171590f3d80..ca9cad5d05e 100644 --- a/indra/llcommon/llcommon.h +++ b/indra/llcommon/llcommon.h @@ -35,6 +35,8 @@ class LL_COMMON_API LLCommon public: static void initClass(); static void cleanupClass(); +private: + static BOOL sAprInitialized; }; #endif diff --git a/indra/llcommon/llerror.cpp b/indra/llcommon/llerror.cpp index 75048073ca4..bb64152407e 100644 --- a/indra/llcommon/llerror.cpp +++ b/indra/llcommon/llerror.cpp @@ -866,9 +866,6 @@ You get: */ -extern apr_thread_mutex_t* gLogMutexp; -extern apr_thread_mutex_t* gCallStacksLogMutexp; - namespace { bool checkLevelMap(const LevelMap& map, const std::string& key, LLError::ELevel& level) diff --git a/indra/llcommon/llerror.h b/indra/llcommon/llerror.h index 15d167c32ed..4a42241c4f2 100644 --- a/indra/llcommon/llerror.h +++ b/indra/llcommon/llerror.h @@ -296,4 +296,5 @@ typedef LLError::NoClassInfo _LL_CLASS_TO_LOG; Such computation is done iff the message will be logged. */ + #endif // LL_LLERROR_H diff --git a/indra/llcommon/llfixedbuffer.cpp b/indra/llcommon/llfixedbuffer.cpp index 4b5cdbe2885..d394f179fb5 100644 --- a/indra/llcommon/llfixedbuffer.cpp +++ b/indra/llcommon/llfixedbuffer.cpp @@ -30,7 +30,8 @@ LLFixedBuffer::LLFixedBuffer(const U32 max_lines) : LLLineBuffer(), - mMaxLines(max_lines) + mMaxLines(max_lines), + mMutex(NULL) { mTimer.reset(); } diff --git a/indra/llcommon/llscopedvolatileaprpool.h b/indra/llcommon/llscopedvolatileaprpool.h deleted file mode 100644 index dbaf4edcad9..00000000000 --- a/indra/llcommon/llscopedvolatileaprpool.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - * @file llscopedvolatileaprpool.h - * @brief Implementation of LLScopedVolatileAPRPool - * - * $LicenseInfo:firstyear=2010&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2011, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#ifndef LL_LLSCOPEDVOLATILEAPRPOOL_H -#define LL_LLSCOPEDVOLATILEAPRPOOL_H - -#include "llthread.h" - -/** Scoped volatile memory pool. - * - * As the LLVolatileAPRPool should never keep allocations very - * long, its most common use is for allocations with a lifetime - * equal to it's scope. - * - * This is a convenience class that makes just a little easier to type. - */ -class LL_COMMON_API LLScopedVolatileAPRPool -{ -private: - LLVolatileAPRPool& mPool; - apr_pool_t* mScopedAPRpool; // The use of apr_pool_t is OK here. -public: - LLScopedVolatileAPRPool() : mPool(LLThreadLocalData::tldata().mVolatileAPRPool), mScopedAPRpool(mPool.getVolatileAPRPool()) { } - ~LLScopedVolatileAPRPool() { mPool.clearVolatileAPRPool(); } - //! @attention Only use this to pass the underlaying pointer to a libapr-1 function that requires it. - operator apr_pool_t*() const { return mScopedAPRpool; } // The use of apr_pool_t is OK here. -}; - -#endif diff --git a/indra/llcommon/llthread.cpp b/indra/llcommon/llthread.cpp index 4917e3b9351..49d05ef4114 100644 --- a/indra/llcommon/llthread.cpp +++ b/indra/llcommon/llthread.cpp @@ -63,9 +63,6 @@ void *APR_THREAD_FUNC LLThread::staticRun(apr_thread_t *apr_threadp, void *datap { LLThread *threadp = (LLThread *)datap; - // Create a thread local data. - LLThreadLocalData::create(threadp); - // Run the user supplied function threadp->run(); @@ -78,20 +75,38 @@ void *APR_THREAD_FUNC LLThread::staticRun(apr_thread_t *apr_threadp, void *datap } -LLThread::LLThread(std::string const& name) : - mPaused(false), +LLThread::LLThread(const std::string& name, apr_pool_t *poolp) : + mPaused(FALSE), mName(name), mAPRThreadp(NULL), - mStatus(STOPPED), - mThreadLocalData(NULL) + mStatus(STOPPED) { - mRunCondition = new LLCondition; + // Thread creation probably CAN be paranoid about APR being initialized, if necessary + if (poolp) + { + mIsLocalPool = FALSE; + mAPRPoolp = poolp; + } + else + { + mIsLocalPool = TRUE; + apr_pool_create(&mAPRPoolp, NULL); // Create a subpool for this thread + } + mRunCondition = new LLCondition(mAPRPoolp); + + mLocalAPRFilePoolp = NULL ; } LLThread::~LLThread() { shutdown(); + + if(mLocalAPRFilePoolp) + { + delete mLocalAPRFilePoolp ; + mLocalAPRFilePoolp = NULL ; + } } void LLThread::shutdown() @@ -128,7 +143,7 @@ void LLThread::shutdown() if (!isStopped()) { // This thread just wouldn't stop, even though we gave it time - llwarns << "LLThread::shutdown() exiting thread before clean exit!" << llendl; + llwarns << "LLThread::~LLThread() exiting thread before clean exit!" << llendl; // Put a stake in its heart. apr_thread_exit(mAPRThreadp, -1); return; @@ -138,8 +153,15 @@ void LLThread::shutdown() delete mRunCondition; mRunCondition = 0; + + if (mIsLocalPool && mAPRPoolp) + { + apr_pool_destroy(mAPRPoolp); + mAPRPoolp = 0; + } } + void LLThread::start() { llassert(isStopped()); @@ -148,7 +170,7 @@ void LLThread::start() mStatus = RUNNING; apr_status_t status = - apr_thread_create(&mAPRThreadp, NULL, staticRun, (void *)this, tldata().mRootPool()); + apr_thread_create(&mAPRThreadp, NULL, staticRun, (void *)this, mAPRPoolp); if(status == APR_SUCCESS) { @@ -173,7 +195,7 @@ void LLThread::pause() if (!mPaused) { // this will cause the thread to stop execution as soon as checkPause() is called - mPaused = true; // Does not need to be atomic since this is only set/unset from the main thread + mPaused = 1; // Does not need to be atomic since this is only set/unset from the main thread } } @@ -181,7 +203,7 @@ void LLThread::unpause() { if (mPaused) { - mPaused = false; + mPaused = 0; } wake(); // wake up the thread if necessary @@ -258,76 +280,85 @@ void LLThread::wakeLocked() } } -#ifdef SHOW_ASSERT -// This allows the use of llassert(is_main_thread()) to assure the current thread is the main thread. -static apr_os_thread_t main_thread_id; -LL_COMMON_API bool is_main_thread(void) { return apr_os_thread_equal(main_thread_id, apr_os_thread_current()); } -#endif - -// The thread private handle to access the LLThreadLocalData instance. -apr_threadkey_t* LLThreadLocalData::sThreadLocalDataKey; +//============================================================================ -//static -void LLThreadLocalData::init(void) +LLMutex::LLMutex(apr_pool_t *poolp) : + mAPRMutexp(NULL) { - // Only do this once. - if (sThreadLocalDataKey) + //if (poolp) + //{ + // mIsLocalPool = FALSE; + // mAPRPoolp = poolp; + //} + //else { - return; + mIsLocalPool = TRUE; + apr_pool_create(&mAPRPoolp, NULL); // Create a subpool for this thread } + apr_thread_mutex_create(&mAPRMutexp, APR_THREAD_MUTEX_UNNESTED, mAPRPoolp); +} - apr_status_t status = apr_threadkey_private_create(&sThreadLocalDataKey, &LLThreadLocalData::destroy, LLAPRRootPool::get()()); - ll_apr_assert_status(status); // Or out of memory, or system-imposed limit on the - // total number of keys per process {PTHREAD_KEYS_MAX} - // has been exceeded. - - // Create the thread-local data for the main thread (this function is called by the main thread). - LLThreadLocalData::create(NULL); -#ifdef SHOW_ASSERT - // This function is called by the main thread. - main_thread_id = apr_os_thread_current(); +LLMutex::~LLMutex() +{ +#if MUTEX_DEBUG + llassert_always(!isLocked()); // better not be locked! #endif + apr_thread_mutex_destroy(mAPRMutexp); + mAPRMutexp = NULL; + if (mIsLocalPool) + { + apr_pool_destroy(mAPRPoolp); + } } -// This is called once for every thread when the thread is destructed. -//static -void LLThreadLocalData::destroy(void* thread_local_data) + +void LLMutex::lock() { - delete static_cast<LLThreadLocalData*>(thread_local_data); + apr_thread_mutex_lock(mAPRMutexp); +#if MUTEX_DEBUG + // Have to have the lock before we can access the debug info + U32 id = LLThread::currentID(); + if (mIsLocked[id] != FALSE) + llerrs << "Already locked in Thread: " << id << llendl; + mIsLocked[id] = TRUE; +#endif } -//static -void LLThreadLocalData::create(LLThread* threadp) +void LLMutex::unlock() { - LLThreadLocalData* new_tld = new LLThreadLocalData; - if (threadp) - { - threadp->mThreadLocalData = new_tld; - } - apr_status_t status = apr_threadkey_private_set(new_tld, sThreadLocalDataKey); - llassert_always(status == APR_SUCCESS); +#if MUTEX_DEBUG + // Access the debug info while we have the lock + U32 id = LLThread::currentID(); + if (mIsLocked[id] != TRUE) + llerrs << "Not locked in Thread: " << id << llendl; + mIsLocked[id] = FALSE; +#endif + apr_thread_mutex_unlock(mAPRMutexp); } -//static -LLThreadLocalData& LLThreadLocalData::tldata(void) +bool LLMutex::isLocked() { - if (!sThreadLocalDataKey) + apr_status_t status = apr_thread_mutex_trylock(mAPRMutexp); + if (APR_STATUS_IS_EBUSY(status)) { - LLThreadLocalData::init(); + return true; + } + else + { + apr_thread_mutex_unlock(mAPRMutexp); + return false; } - - void* data; - apr_status_t status = apr_threadkey_private_get(&data, sThreadLocalDataKey); - llassert_always(status == APR_SUCCESS); - return *static_cast<LLThreadLocalData*>(data); } //============================================================================ -LLCondition::LLCondition(LLAPRPool& parent) : LLMutex(parent) +LLCondition::LLCondition(apr_pool_t *poolp) : + LLMutex(poolp) { - apr_thread_cond_create(&mAPRCondp, mPool()); + // base class (LLMutex) has already ensured that mAPRPoolp is set up. + + apr_thread_cond_create(&mAPRCondp, mAPRPoolp); } @@ -365,7 +396,7 @@ void LLThreadSafeRefCount::initThreadSafeRefCount() { if (!sMutex) { - sMutex = new LLMutex; + sMutex = new LLMutex(0); } } diff --git a/indra/llcommon/llthread.h b/indra/llcommon/llthread.h index 757832b8ca4..f1c6cd75af3 100644 --- a/indra/llcommon/llthread.h +++ b/indra/llcommon/llthread.h @@ -29,34 +29,12 @@ #include "llapp.h" #include "llapr.h" -#include "llmemory.h" #include "apr_thread_cond.h" -#include "llaprpool.h" - -#ifdef SHOW_ASSERT -extern LL_COMMON_API bool is_main_thread(void); -#endif class LLThread; class LLMutex; class LLCondition; -class LL_COMMON_API LLThreadLocalData -{ -private: - static apr_threadkey_t* sThreadLocalDataKey; - -public: - // Thread-local memory pools. - LLAPRRootPool mRootPool; - LLVolatileAPRPool mVolatileAPRPool; - - static void init(void); - static void destroy(void* thread_local_data); - static void create(LLThread* pthread); - static LLThreadLocalData& tldata(void); -}; - class LL_COMMON_API LLThread { public: @@ -67,7 +45,7 @@ class LL_COMMON_API LLThread QUITTING= 2 // Someone wants this thread to quit } EThreadStatus; - LLThread(std::string const& name); + LLThread(const std::string& name, apr_pool_t *poolp = NULL); virtual ~LLThread(); // Warning! You almost NEVER want to destroy a thread unless it's in the STOPPED state. virtual void shutdown(); // stops the thread @@ -82,7 +60,7 @@ class LL_COMMON_API LLThread // Called from MAIN THREAD. void pause(); void unpause(); - bool isPaused() { return isStopped() || mPaused; } + bool isPaused() { return isStopped() || mPaused == TRUE; } // Cause the thread to wake up and check its condition void wake(); @@ -96,11 +74,11 @@ class LL_COMMON_API LLThread // this kicks off the apr thread void start(void); - // Return thread-local data for the current thread. - static LLThreadLocalData& tldata(void) { return LLThreadLocalData::tldata(); } + apr_pool_t *getAPRPool() { return mAPRPoolp; } + LLVolatileAPRPool* getLocalAPRFilePool() { return mLocalAPRFilePoolp ; } private: - bool mPaused; + BOOL mPaused; // static function passed to APR thread creation routine static void *APR_THREAD_FUNC staticRun(apr_thread_t *apr_threadp, void *datap); @@ -110,10 +88,14 @@ class LL_COMMON_API LLThread LLCondition* mRunCondition; apr_thread_t *mAPRThreadp; + apr_pool_t *mAPRPoolp; + BOOL mIsLocalPool; EThreadStatus mStatus; - friend void LLThreadLocalData::create(LLThread* threadp); - LLThreadLocalData* mThreadLocalData; + //a local apr_pool for APRFile operations in this thread. If it exists, LLAPRFile::sAPRFilePoolp should not be used. + //Note: this pool is used by APRFile ONLY, do NOT use it for any other purposes. + // otherwise it will cause severe memory leaking!!! --bao + LLVolatileAPRPool *mLocalAPRFilePoolp ; void setQuitting(); @@ -143,80 +125,30 @@ class LL_COMMON_API LLThread #define MUTEX_DEBUG (LL_DEBUG || LL_RELEASE_WITH_DEBUG_INFO) -#ifdef MUTEX_DEBUG -// We really shouldn't be using recursive locks. Make sure of that in debug mode. -#define MUTEX_FLAG APR_THREAD_MUTEX_UNNESTED -#else -// Use the fastest platform-optimal lock behavior (can be recursive or non-recursive). -#define MUTEX_FLAG APR_THREAD_MUTEX_DEFAULT -#endif - -class LL_COMMON_API LLMutexBase -{ -public: - void lock() { apr_thread_mutex_lock(mAPRMutexp); } - void unlock() { apr_thread_mutex_unlock(mAPRMutexp); } - // Returns true if lock was obtained successfully. - bool trylock() { return !APR_STATUS_IS_EBUSY(apr_thread_mutex_trylock(mAPRMutexp)); } - - // non-blocking, but does do a lock/unlock so not free - bool isLocked() { bool is_not_locked = trylock(); if (is_not_locked) unlock(); return !is_not_locked; } - -protected: - // mAPRMutexp is initialized and uninitialized in the derived class. - apr_thread_mutex_t* mAPRMutexp; -}; - -class LL_COMMON_API LLMutex : public LLMutexBase +class LL_COMMON_API LLMutex { public: - LLMutex(LLAPRPool& parent = LLThread::tldata().mRootPool) : mPool(parent) - { - apr_thread_mutex_create(&mAPRMutexp, MUTEX_FLAG, mPool()); - } - ~LLMutex() - { - llassert(!isLocked()); // better not be locked! - apr_thread_mutex_destroy(mAPRMutexp); - mAPRMutexp = NULL; - } - + LLMutex(apr_pool_t *apr_poolp); // NULL pool constructs a new pool for the mutex + virtual ~LLMutex(); + + void lock(); // blocks + void unlock(); + bool isLocked(); // non-blocking, but does do a lock/unlock so not free + protected: - LLAPRPool mPool; -}; - -#if APR_HAS_THREADS -// No need to use a root pool in this case. -typedef LLMutex LLMutexRootPool; -#else // APR_HAS_THREADS -class LL_COMMON_API LLMutexRootPool : public LLMutexBase -{ -public: - LLMutexRootPool(void) - { - apr_thread_mutex_create(&mAPRMutexp, MUTEX_FLAG, mRootPool()); - } - ~LLMutexRootPool() - { -#if APR_POOL_DEBUG - // It is allowed to destruct root pools from a different thread. - mRootPool.grab_ownership(); + apr_thread_mutex_t *mAPRMutexp; + apr_pool_t *mAPRPoolp; + BOOL mIsLocalPool; +#if MUTEX_DEBUG + std::map<U32, BOOL> mIsLocked; #endif - llassert(!isLocked()); - apr_thread_mutex_destroy(mAPRMutexp); - mAPRMutexp = NULL; - } - -protected: - LLAPRRootPool mRootPool; }; -#endif // APR_HAS_THREADS // Actually a condition/mutex pair (since each condition needs to be associated with a mutex). class LL_COMMON_API LLCondition : public LLMutex { public: - LLCondition(LLAPRPool& parent = LLThread::tldata().mRootPool); + LLCondition(apr_pool_t *apr_poolp); // Defaults to global pool, could use the thread pool as well. ~LLCondition(); void wait(); // blocks @@ -227,10 +159,10 @@ class LL_COMMON_API LLCondition : public LLMutex apr_thread_cond_t *mAPRCondp; }; -class LL_COMMON_API LLMutexLock +class LLMutexLock { public: - LLMutexLock(LLMutexBase* mutex) + LLMutexLock(LLMutex* mutex) { mMutex = mutex; mMutex->lock(); @@ -240,7 +172,7 @@ class LL_COMMON_API LLMutexLock mMutex->unlock(); } private: - LLMutexBase* mMutex; + LLMutex* mMutex; }; //============================================================================ diff --git a/indra/llcommon/llthreadsafequeue.cpp b/indra/llcommon/llthreadsafequeue.cpp index 05d24944f3e..8a73e632a9a 100644 --- a/indra/llcommon/llthreadsafequeue.cpp +++ b/indra/llcommon/llthreadsafequeue.cpp @@ -34,11 +34,19 @@ //----------------------------------------------------------------------------- -LLThreadSafeQueueImplementation::LLThreadSafeQueueImplementation(unsigned int capacity): +LLThreadSafeQueueImplementation::LLThreadSafeQueueImplementation(apr_pool_t * pool, unsigned int capacity): + mOwnsPool(pool == 0), + mPool(pool), mQueue(0) { - mPool.create(); - apr_status_t status = apr_queue_create(&mQueue, capacity, mPool()); + if(mOwnsPool) { + apr_status_t status = apr_pool_create(&mPool, 0); + if(status != APR_SUCCESS) throw LLThreadSafeQueueError("failed to allocate pool"); + } else { + ; // No op. + } + + apr_status_t status = apr_queue_create(&mQueue, capacity, mPool); if(status != APR_SUCCESS) throw LLThreadSafeQueueError("failed to allocate queue"); } @@ -51,6 +59,7 @@ LLThreadSafeQueueImplementation::~LLThreadSafeQueueImplementation() " elements;" << "memory will be leaked" << LL_ENDL; apr_queue_term(mQueue); } + if(mOwnsPool && (mPool != 0)) apr_pool_destroy(mPool); } diff --git a/indra/llcommon/llthreadsafequeue.h b/indra/llcommon/llthreadsafequeue.h index 43d0b396f24..58cac38769c 100644 --- a/indra/llcommon/llthreadsafequeue.h +++ b/indra/llcommon/llthreadsafequeue.h @@ -30,9 +30,9 @@ #include <string> #include <stdexcept> -#include "llaprpool.h" +struct apr_pool_t; // From apr_pools.h class LLThreadSafeQueueImplementation; // See below. @@ -75,7 +75,7 @@ struct apr_queue_t; // From apr_queue.h class LL_COMMON_API LLThreadSafeQueueImplementation { public: - LLThreadSafeQueueImplementation(unsigned int capacity); + LLThreadSafeQueueImplementation(apr_pool_t * pool, unsigned int capacity); ~LLThreadSafeQueueImplementation(); void pushFront(void * element); bool tryPushFront(void * element); @@ -84,7 +84,8 @@ class LL_COMMON_API LLThreadSafeQueueImplementation size_t size(); private: - LLAPRPool mPool; // The pool used for mQueue. + bool mOwnsPool; + apr_pool_t * mPool; apr_queue_t * mQueue; }; @@ -98,8 +99,9 @@ class LLThreadSafeQueue public: typedef ElementT value_type; - // Constructor. - LLThreadSafeQueue(unsigned int capacity = 1024); + // If the pool is set to NULL one will be allocated and managed by this + // queue. + LLThreadSafeQueue(apr_pool_t * pool = 0, unsigned int capacity = 1024); // Add an element to the front of queue (will block if the queue has // reached capacity). @@ -137,8 +139,8 @@ class LLThreadSafeQueue template<typename ElementT> -LLThreadSafeQueue<ElementT>::LLThreadSafeQueue(unsigned int capacity) : - mImplementation(capacity) +LLThreadSafeQueue<ElementT>::LLThreadSafeQueue(apr_pool_t * pool, unsigned int capacity): + mImplementation(pool, capacity) { ; // No op. } diff --git a/indra/llcommon/llworkerthread.cpp b/indra/llcommon/llworkerthread.cpp index 6b308bb9179..3ac50832fda 100644 --- a/indra/llcommon/llworkerthread.cpp +++ b/indra/llcommon/llworkerthread.cpp @@ -37,7 +37,12 @@ LLWorkerThread::LLWorkerThread(const std::string& name, bool threaded) : LLQueuedThread(name, threaded) { - mDeleteMutex = new LLMutex; + mDeleteMutex = new LLMutex(NULL); + + if(!mLocalAPRFilePoolp) + { + mLocalAPRFilePoolp = new LLVolatileAPRPool() ; + } } LLWorkerThread::~LLWorkerThread() @@ -199,6 +204,7 @@ LLWorkerClass::LLWorkerClass(LLWorkerThread* workerthread, const std::string& na mWorkerClassName(name), mRequestHandle(LLWorkerThread::nullHandle()), mRequestPriority(LLWorkerThread::PRIORITY_NORMAL), + mMutex(NULL), mWorkFlags(0) { if (!mWorkerThread) diff --git a/indra/llcommon/llworkerthread.h b/indra/llcommon/llworkerthread.h index bef5ef53fe4..9bff18303eb 100644 --- a/indra/llcommon/llworkerthread.h +++ b/indra/llcommon/llworkerthread.h @@ -94,6 +94,7 @@ class LL_COMMON_API LLWorkerThread : public LLQueuedThread private: void deleteWorker(LLWorkerClass* workerclass); // schedule for deletion + }; //============================================================================ @@ -193,7 +194,7 @@ class LL_COMMON_API LLWorkerClass U32 mRequestPriority; // last priority set private: - LLMutexRootPool mMutex; // Use LLMutexRootPool since this object is created and destructed by multiple threads. + LLMutex mMutex; LLAtomicU32 mWorkFlags; }; diff --git a/indra/llcrashlogger/llcrashlogger.cpp b/indra/llcrashlogger/llcrashlogger.cpp index 8f7916f5655..68e45f36e4f 100644 --- a/indra/llcrashlogger/llcrashlogger.cpp +++ b/indra/llcrashlogger/llcrashlogger.cpp @@ -390,7 +390,8 @@ bool LLCrashLogger::init() return false; } - gServicePump = new LLPumpIO; + gServicePump = new LLPumpIO(gAPRPoolp); + gServicePump->prime(gAPRPoolp); LLHTTPClient::setPump(*gServicePump); //If we've opened the crash logger, assume we can delete the marker file if it exists diff --git a/indra/llimage/llimage.cpp b/indra/llimage/llimage.cpp index f4399d4ed41..39211bf7fa5 100644 --- a/indra/llimage/llimage.cpp +++ b/indra/llimage/llimage.cpp @@ -51,7 +51,7 @@ LLMutex* LLImage::sMutex = NULL; //static void LLImage::initClass() { - sMutex = new LLMutex; + sMutex = new LLMutex(NULL); } //static @@ -1557,7 +1557,8 @@ BOOL LLImageFormatted::load(const std::string &filename) resetLastError(); S32 file_size = 0; - LLAPRFile infile(filename, LL_APR_RB, &file_size); + LLAPRFile infile ; + infile.open(filename, LL_APR_RB, NULL, &file_size); apr_file_t* apr_file = infile.getFileHandle(); if (!apr_file) { @@ -1592,7 +1593,8 @@ BOOL LLImageFormatted::save(const std::string &filename) { resetLastError(); - LLAPRFile outfile(filename, LL_APR_WB); + LLAPRFile outfile ; + outfile.open(filename, LL_APR_WB); if (!outfile.getFileHandle()) { setLastError("Unable to open file for writing", filename); diff --git a/indra/llimage/llimagedimensionsinfo.cpp b/indra/llimage/llimagedimensionsinfo.cpp index 8a10956a5b7..835664c60ff 100644 --- a/indra/llimage/llimagedimensionsinfo.cpp +++ b/indra/llimage/llimagedimensionsinfo.cpp @@ -40,7 +40,7 @@ bool LLImageDimensionsInfo::load(const std::string& src_filename,U32 codec) mSrcFilename = src_filename; S32 file_size = 0; - apr_status_t s = mInfile.open(src_filename, LL_APR_RB, LLAPRFile::long_lived, &file_size); + apr_status_t s = mInfile.open(src_filename, LL_APR_RB, NULL, &file_size); if (s != APR_SUCCESS) { diff --git a/indra/llimage/llimagej2c.cpp b/indra/llimage/llimagej2c.cpp index 5f488a6764c..cb2a85fa917 100644 --- a/indra/llimage/llimagej2c.cpp +++ b/indra/llimage/llimagej2c.cpp @@ -358,7 +358,8 @@ BOOL LLImageJ2C::loadAndValidate(const std::string &filename) resetLastError(); S32 file_size = 0; - LLAPRFile infile(filename, LL_APR_RB, &file_size); + LLAPRFile infile ; + infile.open(filename, LL_APR_RB, NULL, &file_size); apr_file_t* apr_file = infile.getFileHandle() ; if (!apr_file) { diff --git a/indra/llimage/llimageworker.cpp b/indra/llimage/llimageworker.cpp index 2c6d6f31ead..28dc3bd3133 100644 --- a/indra/llimage/llimageworker.cpp +++ b/indra/llimage/llimageworker.cpp @@ -35,18 +35,20 @@ LLImageDecodeThread::LLImageDecodeThread(bool threaded) : LLQueuedThread("imagedecode", threaded) { + mCreationMutex = new LLMutex(getAPRPool()); } //virtual LLImageDecodeThread::~LLImageDecodeThread() { + delete mCreationMutex ; } // MAIN THREAD // virtual S32 LLImageDecodeThread::update(U32 max_time_ms) { - LLMutexLock lock(&mCreationMutex); + LLMutexLock lock(mCreationMutex); for (creation_list_t::iterator iter = mCreationList.begin(); iter != mCreationList.end(); ++iter) { @@ -69,7 +71,7 @@ S32 LLImageDecodeThread::update(U32 max_time_ms) LLImageDecodeThread::handle_t LLImageDecodeThread::decodeImage(LLImageFormatted* image, U32 priority, S32 discard, BOOL needs_aux, Responder* responder) { - LLMutexLock lock(&mCreationMutex); + LLMutexLock lock(mCreationMutex); handle_t handle = generateHandle(); mCreationList.push_back(creation_info(handle, image, priority, discard, needs_aux, responder)); return handle; @@ -79,7 +81,7 @@ LLImageDecodeThread::handle_t LLImageDecodeThread::decodeImage(LLImageFormatted* // Returns the size of the mutex guarded list as an indication of sanity S32 LLImageDecodeThread::tut_size() { - LLMutexLock lock(&mCreationMutex); + LLMutexLock lock(mCreationMutex); S32 res = mCreationList.size(); return res; } diff --git a/indra/llimage/llimageworker.h b/indra/llimage/llimageworker.h index 6a24b7522ab..c684222fa5f 100644 --- a/indra/llimage/llimageworker.h +++ b/indra/llimage/llimageworker.h @@ -98,7 +98,7 @@ class LLImageDecodeThread : public LLQueuedThread }; typedef std::list<creation_info> creation_list_t; creation_list_t mCreationList; - LLMutex mCreationMutex; + LLMutex* mCreationMutex; }; #endif diff --git a/indra/llmath/llvolumemgr.cpp b/indra/llmath/llvolumemgr.cpp index 734440d312a..88c195936cd 100644 --- a/indra/llmath/llvolumemgr.cpp +++ b/indra/llmath/llvolumemgr.cpp @@ -49,7 +49,7 @@ LLVolumeMgr::LLVolumeMgr() { // the LLMutex magic interferes with easy unit testing, // so you now must manually call useMutex() to use it - //mDataMutex = new LLMutex; + //mDataMutex = new LLMutex(gAPRPoolp); } LLVolumeMgr::~LLVolumeMgr() @@ -216,7 +216,7 @@ void LLVolumeMgr::useMutex() { if (!mDataMutex) { - mDataMutex = new LLMutex; + mDataMutex = new LLMutex(gAPRPoolp); } } diff --git a/indra/llmessage/llares.cpp b/indra/llmessage/llares.cpp index fab9858b697..5a67035ed15 100644 --- a/indra/llmessage/llares.cpp +++ b/indra/llmessage/llares.cpp @@ -28,7 +28,6 @@ #include "linden_common.h" #include "llares.h" -#include "llscopedvolatileaprpool.h" #include <ares_dns.h> #include <ares_version.h> @@ -465,6 +464,11 @@ void LLAres::search(const std::string &query, LLResType type, bool LLAres::process(U64 timeout) { + if (!gAPRPoolp) + { + ll_init_apr(); + } + ares_socket_t socks[ARES_GETSOCK_MAXNUM]; apr_pollfd_t aprFds[ARES_GETSOCK_MAXNUM]; apr_int32_t nsds = 0; @@ -478,7 +482,10 @@ bool LLAres::process(U64 timeout) return nsds > 0; } - LLScopedVolatileAPRPool scoped_pool; + apr_status_t status; + LLAPRPool pool; + status = pool.getStatus() ; + ll_apr_assert_status(status); for (int i = 0; i < ARES_GETSOCK_MAXNUM; i++) { @@ -495,7 +502,7 @@ bool LLAres::process(U64 timeout) apr_socket_t *aprSock = NULL; - apr_status_t status = apr_os_sock_put(&aprSock, (apr_os_sock_t *) &socks[i], scoped_pool); + status = apr_os_sock_put(&aprSock, (apr_os_sock_t *) &socks[i], pool.getAPRPool()); if (status != APR_SUCCESS) { ll_apr_warn_status(status); @@ -504,7 +511,7 @@ bool LLAres::process(U64 timeout) aprFds[nactive].desc.s = aprSock; aprFds[nactive].desc_type = APR_POLL_SOCKET; - aprFds[nactive].p = scoped_pool; + aprFds[nactive].p = pool.getAPRPool(); aprFds[nactive].rtnevents = 0; aprFds[nactive].client_data = &socks[i]; @@ -513,7 +520,7 @@ bool LLAres::process(U64 timeout) if (nactive > 0) { - apr_status_t status = apr_poll(aprFds, nactive, &nsds, timeout); + status = apr_poll(aprFds, nactive, &nsds, timeout); if (status != APR_SUCCESS && status != APR_TIMEUP) { diff --git a/indra/llmessage/llcurl.cpp b/indra/llmessage/llcurl.cpp index 4d3b382f7a6..a485fa01608 100644 --- a/indra/llmessage/llcurl.cpp +++ b/indra/llmessage/llcurl.cpp @@ -1039,7 +1039,7 @@ void LLCurl::initClass() S32 mutex_count = CRYPTO_num_locks(); for (S32 i=0; i<mutex_count; i++) { - sSSLMutex.push_back(new LLMutex); + sSSLMutex.push_back(new LLMutex(NULL)); } CRYPTO_set_id_callback(&LLCurl::ssl_thread_id); CRYPTO_set_locking_callback(&LLCurl::ssl_locking_callback); diff --git a/indra/llmessage/lliohttpserver.cpp b/indra/llmessage/lliohttpserver.cpp index d441492cf23..3b18a9177cf 100644 --- a/indra/llmessage/lliohttpserver.cpp +++ b/indra/llmessage/lliohttpserver.cpp @@ -954,9 +954,13 @@ class LLHTTPResponseFactory : public LLChainIOFactory // static -LLHTTPNode& LLIOHTTPServer::create(LLPumpIO& pump, U16 port) +LLHTTPNode& LLIOHTTPServer::create( + apr_pool_t* pool, LLPumpIO& pump, U16 port) { - LLSocket::ptr_t socket = LLSocket::create(LLSocket::STREAM_TCP, port); + LLSocket::ptr_t socket = LLSocket::create( + pool, + LLSocket::STREAM_TCP, + port); if(!socket) { llerrs << "Unable to initialize socket" << llendl; @@ -965,7 +969,7 @@ LLHTTPNode& LLIOHTTPServer::create(LLPumpIO& pump, U16 port) LLHTTPResponseFactory* factory = new LLHTTPResponseFactory; boost::shared_ptr<LLChainIOFactory> factory_ptr(factory); - LLIOServerSocket* server = new LLIOServerSocket(socket, factory_ptr); + LLIOServerSocket* server = new LLIOServerSocket(pool, socket, factory_ptr); LLPumpIO::chain_t chain; chain.push_back(LLIOPipe::ptr_t(server)); diff --git a/indra/llmessage/lliohttpserver.h b/indra/llmessage/lliohttpserver.h index 2294e4b8ae2..5c1b0531ff2 100644 --- a/indra/llmessage/lliohttpserver.h +++ b/indra/llmessage/lliohttpserver.h @@ -50,7 +50,7 @@ class LLIOHTTPServer public: typedef void (*timing_callback_t)(const char* hashed_name, F32 time, void* data); - static LLHTTPNode& create(LLPumpIO& pump, U16 port); + static LLHTTPNode& create(apr_pool_t* pool, LLPumpIO& pump, U16 port); /**< Creates an HTTP wire server on the pump for the given TCP port. * * Returns the root node of the new server. Add LLHTTPNode instances diff --git a/indra/llmessage/lliosocket.cpp b/indra/llmessage/lliosocket.cpp index e802d9b3a6e..ca84fa8bb80 100644 --- a/indra/llmessage/lliosocket.cpp +++ b/indra/llmessage/lliosocket.cpp @@ -35,7 +35,6 @@ #include "llhost.h" #include "llmemtype.h" #include "llpumpio.h" -#include "llthread.h" // // constants @@ -99,31 +98,51 @@ void ll_debug_socket(const char* msg, apr_socket_t* apr_sock) /// // static -LLSocket::ptr_t LLSocket::create(EType type, U16 port) +LLSocket::ptr_t LLSocket::create(apr_pool_t* pool, EType type, U16 port) { LLMemType m1(LLMemType::MTYPE_IO_TCP); + LLSocket::ptr_t rv; + apr_socket_t* socket = NULL; + apr_pool_t* new_pool = NULL; apr_status_t status = APR_EGENERAL; - LLSocket::ptr_t rv(new LLSocket); + + // create a pool for the socket + status = apr_pool_create(&new_pool, pool); + if(ll_apr_warn_status(status)) + { + if(new_pool) apr_pool_destroy(new_pool); + return rv; + } if(STREAM_TCP == type) { - status = apr_socket_create(&rv->mSocket, APR_INET, SOCK_STREAM, APR_PROTO_TCP, rv->mPool()); + status = apr_socket_create( + &socket, + APR_INET, + SOCK_STREAM, + APR_PROTO_TCP, + new_pool); } else if(DATAGRAM_UDP == type) { - status = apr_socket_create(&rv->mSocket, APR_INET, SOCK_DGRAM, APR_PROTO_UDP, rv->mPool()); + status = apr_socket_create( + &socket, + APR_INET, + SOCK_DGRAM, + APR_PROTO_UDP, + new_pool); } else { - rv.reset(); + if(new_pool) apr_pool_destroy(new_pool); return rv; } if(ll_apr_warn_status(status)) { - rv->mSocket = NULL; - rv.reset(); + if(new_pool) apr_pool_destroy(new_pool); return rv; } + rv = ptr_t(new LLSocket(socket, new_pool)); if(port > 0) { apr_sockaddr_t* sa = NULL; @@ -133,7 +152,7 @@ LLSocket::ptr_t LLSocket::create(EType type, U16 port) APR_UNSPEC, port, 0, - rv->mPool()); + new_pool); if(ll_apr_warn_status(status)) { rv.reset(); @@ -141,8 +160,8 @@ LLSocket::ptr_t LLSocket::create(EType type, U16 port) } // This allows us to reuse the address on quick down/up. This // is unlikely to create problems. - ll_apr_warn_status(apr_socket_opt_set(rv->mSocket, APR_SO_REUSEADDR, 1)); - status = apr_socket_bind(rv->mSocket, sa); + ll_apr_warn_status(apr_socket_opt_set(socket, APR_SO_REUSEADDR, 1)); + status = apr_socket_bind(socket, sa); if(ll_apr_warn_status(status)) { rv.reset(); @@ -156,7 +175,7 @@ LLSocket::ptr_t LLSocket::create(EType type, U16 port) // to keep a queue of incoming connections for ACCEPT. lldebugs << "Setting listen state for socket." << llendl; status = apr_socket_listen( - rv->mSocket, + socket, LL_DEFAULT_LISTEN_BACKLOG); if(ll_apr_warn_status(status)) { @@ -177,28 +196,21 @@ LLSocket::ptr_t LLSocket::create(EType type, U16 port) } // static -LLSocket::ptr_t LLSocket::create(apr_status_t& status, LLSocket::ptr_t& listen_socket) +LLSocket::ptr_t LLSocket::create(apr_socket_t* socket, apr_pool_t* pool) { LLMemType m1(LLMemType::MTYPE_IO_TCP); - if (!listen_socket->getSocket()) - { - status = APR_ENOSOCKET; - return LLSocket::ptr_t(); - } - LLSocket::ptr_t rv(new LLSocket); - lldebugs << "accepting socket" << llendl; - status = apr_socket_accept(&rv->mSocket, listen_socket->getSocket(), rv->mPool()); - if (status != APR_SUCCESS) + LLSocket::ptr_t rv; + if(!socket) { - rv->mSocket = NULL; - rv.reset(); return rv; } + rv = ptr_t(new LLSocket(socket, pool)); rv->mPort = PORT_EPHEMERAL; rv->setOptions(); return rv; } + bool LLSocket::blockingConnect(const LLHost& host) { if(!mSocket) return false; @@ -211,7 +223,7 @@ bool LLSocket::blockingConnect(const LLHost& host) APR_UNSPEC, host.getPort(), 0, - mPool()))) + mPool))) { return false; } @@ -222,11 +234,13 @@ bool LLSocket::blockingConnect(const LLHost& host) return true; } -LLSocket::LLSocket() : - mSocket(NULL), - mPool(LLThread::tldata().mRootPool), +LLSocket::LLSocket(apr_socket_t* socket, apr_pool_t* pool) : + mSocket(socket), + mPool(pool), mPort(PORT_INVALID) { + ll_debug_socket("Constructing wholely formed socket", mSocket); + LLMemType m1(LLMemType::MTYPE_IO_TCP); } LLSocket::~LLSocket() @@ -238,6 +252,10 @@ LLSocket::~LLSocket() ll_debug_socket("Destroying socket", mSocket); apr_socket_close(mSocket); } + if(mPool) + { + apr_pool_destroy(mPool); + } } void LLSocket::setOptions() @@ -498,8 +516,10 @@ LLIOPipe::EStatus LLIOSocketWriter::process_impl( /// LLIOServerSocket::LLIOServerSocket( + apr_pool_t* pool, LLIOServerSocket::socket_t listener, factory_t factory) : + mPool(pool), mListenSocket(listener), mReactor(factory), mInitialized(false), @@ -559,15 +579,21 @@ LLIOPipe::EStatus LLIOServerSocket::process_impl( lldebugs << "accepting socket" << llendl; PUMP_DEBUG; - apr_status_t status; - LLSocket::ptr_t llsocket(LLSocket::create(status, mListenSocket)); + apr_pool_t* new_pool = NULL; + apr_status_t status = apr_pool_create(&new_pool, mPool); + apr_socket_t* socket = NULL; + status = apr_socket_accept( + &socket, + mListenSocket->getSocket(), + new_pool); + LLSocket::ptr_t llsocket(LLSocket::create(socket, new_pool)); //EStatus rv = STATUS_ERROR; - if(llsocket && status == APR_SUCCESS) + if(llsocket) { PUMP_DEBUG; apr_sockaddr_t* remote_addr; - apr_socket_addr_get(&remote_addr, APR_REMOTE, llsocket->getSocket()); + apr_socket_addr_get(&remote_addr, APR_REMOTE, socket); char* remote_host_string; apr_sockaddr_ip_get(&remote_host_string, remote_addr); @@ -582,6 +608,7 @@ LLIOPipe::EStatus LLIOServerSocket::process_impl( { chain.push_back(LLIOPipe::ptr_t(new LLIOSocketWriter(llsocket))); pump->addChain(chain, mResponseTimeout); + status = STATUS_OK; } else { @@ -590,8 +617,7 @@ LLIOPipe::EStatus LLIOServerSocket::process_impl( } else { - char buf[256]; - llwarns << "Unable to accept linden socket: " << apr_strerror(status, buf, sizeof(buf)) << llendl; + llwarns << "Unable to create linden socket." << llendl; } PUMP_DEBUG; @@ -604,10 +630,11 @@ LLIOPipe::EStatus LLIOServerSocket::process_impl( #if 0 LLIODataSocket::LLIODataSocket( U16 suggested_port, - U16 start_discovery_port) : + U16 start_discovery_port, + apr_pool_t* pool) : mSocket(NULL) { - if(PORT_INVALID == suggested_port) return; + if(!pool || (PORT_INVALID == suggested_port)) return; if(ll_apr_warn_status(apr_socket_create(&mSocket, APR_INET, SOCK_DGRAM, APR_PROTO_UDP, pool))) return; apr_sockaddr_t* sa = NULL; if(ll_apr_warn_status(apr_sockaddr_info_get(&sa, APR_ANYADDR, APR_UNSPEC, suggested_port, 0, pool))) return; diff --git a/indra/llmessage/lliosocket.h b/indra/llmessage/lliosocket.h index 1e352255123..6806e5084a4 100644 --- a/indra/llmessage/lliosocket.h +++ b/indra/llmessage/lliosocket.h @@ -38,6 +38,7 @@ */ #include "lliopipe.h" +#include "apr_pools.h" #include "apr_network_io.h" #include "llchainio.h" @@ -87,22 +88,34 @@ class LLSocket * socket. If you intend the socket to be known to external * clients without prior port notification, do not use * PORT_EPHEMERAL. + * @param pool The apr pool to use. A child pool will be created + * and associated with the socket. * @param type The type of socket to create * @param port The port for the socket * @return A valid socket shared pointer if the call worked. */ static ptr_t create( + apr_pool_t* pool, EType type, U16 port = PORT_EPHEMERAL); /** - * @brief Create a LLSocket by accepting a connection from a listen socket. + * @brief Create a LLSocket when you already have an apr socket. * - * @param status Output. Status of the accept if a valid listen socket was passed. - * @param listen_socket The listen socket to use. + * This method assumes an ephemeral port. This is typically used + * by calls which spawn a socket such as a call to + * <code>accept()</code> as in the server socket. This call should + * not fail if you have a valid apr socket. + * Because of the nature of how accept() works, you are expected + * to create a new pool for the socket, use that pool for the + * accept, and pass it in here where it will be bound with the + * socket and destroyed at the same time. + * @param socket The apr socket to use + * @param pool The pool used to create the socket. *NOTE: The pool + * passed in will be DESTROYED. * @return A valid socket shared pointer if the call worked. */ - static ptr_t create(apr_status_t& status, ptr_t& listen_socket); + static ptr_t create(apr_socket_t* socket, apr_pool_t* pool); /** * @brief Perform a blocking connect to a host. Do not use in production. @@ -137,7 +150,7 @@ class LLSocket * @brief Protected constructor since should only make sockets * with one of the two <code>create()</code> calls. */ - LLSocket(void); + LLSocket(apr_socket_t* socket, apr_pool_t* pool); /** * @brief Set default socket options. @@ -154,8 +167,8 @@ class LLSocket // The apr socket. apr_socket_t* mSocket; - // Our memory pool. - LLAPRPool mPool; + // our memory pool + apr_pool_t* mPool; // The port if we know it. U16 mPort; @@ -280,7 +293,7 @@ class LLIOServerSocket : public LLIOPipe public: typedef LLSocket::ptr_t socket_t; typedef boost::shared_ptr<LLChainIOFactory> factory_t; - LLIOServerSocket(socket_t listener, factory_t reactor); + LLIOServerSocket(apr_pool_t* pool, socket_t listener, factory_t reactor); virtual ~LLIOServerSocket(); /** @@ -312,6 +325,7 @@ class LLIOServerSocket : public LLIOPipe //@} protected: + apr_pool_t* mPool; socket_t mListenSocket; factory_t mReactor; bool mInitialized; @@ -345,7 +359,8 @@ class LLIODataSocket : public LLIOSocket */ LLIODataSocket( U16 suggested_port, - U16 start_discovery_port); + U16 start_discovery_port, + apr_pool_t* pool); virtual ~LLIODataSocket(); protected: diff --git a/indra/llmessage/llmail.cpp b/indra/llmessage/llmail.cpp index 8a898ab1b0b..08b31e9c7a2 100644 --- a/indra/llmessage/llmail.cpp +++ b/indra/llmessage/llmail.cpp @@ -50,7 +50,6 @@ #include "llstring.h" #include "lluuid.h" #include "net.h" -#include "llaprpool.h" // // constants @@ -58,7 +57,7 @@ const size_t LL_MAX_KNOWN_GOOD_MAIL_SIZE = 4096; static bool gMailEnabled = true; -static LLAPRPool gMailPool; +static apr_pool_t* gMailPool; static apr_sockaddr_t* gSockAddr; static apr_socket_t* gMailSocket; @@ -83,7 +82,7 @@ bool connect_smtp() gSockAddr->sa.sin.sin_family, SOCK_STREAM, APR_PROTO_TCP, - gMailPool()); + gMailPool); if(ll_apr_warn_status(status)) return false; status = apr_socket_connect(gMailSocket, gSockAddr); if(ll_apr_warn_status(status)) @@ -140,19 +139,19 @@ BOOL LLMail::send( } // static -void LLMail::init(const std::string& hostname) +void LLMail::init(const std::string& hostname, apr_pool_t* pool) { gMailSocket = NULL; - if (hostname.empty()) + if(hostname.empty() || !pool) { + gMailPool = NULL; gSockAddr = NULL; - gMailPool.destroy(); } else { - gMailPool.create(); + gMailPool = pool; - // Collect all the information into a sockaddr structure. the + // collect all the information into a socaddr sturcture. the // documentation is a bit unclear, but I either have to // specify APR_UNSPEC or not specify any flags. I am not sure // which option is better. @@ -162,7 +161,7 @@ void LLMail::init(const std::string& hostname) APR_UNSPEC, 25, APR_IPV4_ADDR_OK, - gMailPool()); + gMailPool); ll_apr_warn_status(status); } } diff --git a/indra/llmessage/llmail.h b/indra/llmessage/llmail.h index 0a5c5320883..37917143639 100644 --- a/indra/llmessage/llmail.h +++ b/indra/llmessage/llmail.h @@ -27,13 +27,15 @@ #ifndef LL_LLMAIL_H #define LL_LLMAIL_H +typedef struct apr_pool_t apr_pool_t; + #include "llsd.h" class LLMail { public: // if hostname is NULL, then the host is resolved as 'mail' - static void init(const std::string& hostname); + static void init(const std::string& hostname, apr_pool_t* pool); // Allow all email transmission to be disabled/enabled. static void enable(bool mail_enabled); diff --git a/indra/llmessage/llpumpio.cpp b/indra/llmessage/llpumpio.cpp index 89cfd66e1b2..a8d2a0a2240 100644 --- a/indra/llmessage/llpumpio.cpp +++ b/indra/llmessage/llpumpio.cpp @@ -37,7 +37,6 @@ #include "llmemtype.h" #include "llstl.h" #include "llstat.h" -#include "llthread.h" // These should not be enabled in production, but they can be // intensely useful during development for finding certain kinds of @@ -163,12 +162,14 @@ struct ll_delete_apr_pollset_fd_client_data /** * LLPumpIO */ -LLPumpIO::LLPumpIO(void) : +LLPumpIO::LLPumpIO(apr_pool_t* pool) : mState(LLPumpIO::NORMAL), mRebuildPollset(false), mPollset(NULL), mPollsetClientID(0), mNextLock(0), + mPool(NULL), + mCurrentPool(NULL), mCurrentPoolReallocCount(0), mChainsMutex(NULL), mCallbackMutex(NULL), @@ -177,24 +178,21 @@ LLPumpIO::LLPumpIO(void) : mCurrentChain = mRunningChains.end(); LLMemType m1(LLMemType::MTYPE_IO_PUMP); - initialize(); + initialize(pool); } LLPumpIO::~LLPumpIO() { LLMemType m1(LLMemType::MTYPE_IO_PUMP); -#if LL_THREADS_APR - if (mChainsMutex) apr_thread_mutex_destroy(mChainsMutex); - if (mCallbackMutex) apr_thread_mutex_destroy(mCallbackMutex); -#endif - mChainsMutex = NULL; - mCallbackMutex = NULL; - if(mPollset) - { -// lldebugs << "cleaning up pollset" << llendl; - apr_pollset_destroy(mPollset); - mPollset = NULL; - } + cleanup(); +} + +bool LLPumpIO::prime(apr_pool_t* pool) +{ + LLMemType m1(LLMemType::MTYPE_IO_PUMP); + cleanup(); + initialize(pool); + return ((pool == NULL) ? false : true); } bool LLPumpIO::addChain(const chain_t& chain, F32 timeout) @@ -354,7 +352,8 @@ bool LLPumpIO::setConditional(LLIOPipe* pipe, const apr_pollfd_t* poll) { // each fd needs a pool to work with, so if one was // not specified, use this pool. - value.second.p = (*mCurrentChain).mDescriptorsPool->operator()(); + // *FIX: Should it always be this pool? + value.second.p = mPool; } value.second.client_data = new S32(++mPollsetClientID); (*mCurrentChain).mDescriptors.push_back(value); @@ -826,15 +825,39 @@ void LLPumpIO::control(LLPumpIO::EControl op) } } -void LLPumpIO::initialize(void) +void LLPumpIO::initialize(apr_pool_t* pool) { LLMemType m1(LLMemType::MTYPE_IO_PUMP); - mPool.create(); + if(!pool) return; #if LL_THREADS_APR // SJB: Windows defaults to NESTED and OSX defaults to UNNESTED, so use UNNESTED explicitly. - apr_thread_mutex_create(&mChainsMutex, APR_THREAD_MUTEX_UNNESTED, mPool()); - apr_thread_mutex_create(&mCallbackMutex, APR_THREAD_MUTEX_UNNESTED, mPool()); + apr_thread_mutex_create(&mChainsMutex, APR_THREAD_MUTEX_UNNESTED, pool); + apr_thread_mutex_create(&mCallbackMutex, APR_THREAD_MUTEX_UNNESTED, pool); +#endif + mPool = pool; +} + +void LLPumpIO::cleanup() +{ + LLMemType m1(LLMemType::MTYPE_IO_PUMP); +#if LL_THREADS_APR + if(mChainsMutex) apr_thread_mutex_destroy(mChainsMutex); + if(mCallbackMutex) apr_thread_mutex_destroy(mCallbackMutex); #endif + mChainsMutex = NULL; + mCallbackMutex = NULL; + if(mPollset) + { +// lldebugs << "cleaning up pollset" << llendl; + apr_pollset_destroy(mPollset); + mPollset = NULL; + } + if(mCurrentPool) + { + apr_pool_destroy(mCurrentPool); + mCurrentPool = NULL; + } + mPool = NULL; } void LLPumpIO::rebuildPollset() @@ -862,19 +885,21 @@ void LLPumpIO::rebuildPollset() if(mCurrentPool && (0 == (++mCurrentPoolReallocCount % POLLSET_POOL_RECYCLE_COUNT))) { - mCurrentPool.destroy(); + apr_pool_destroy(mCurrentPool); + mCurrentPool = NULL; mCurrentPoolReallocCount = 0; } if(!mCurrentPool) { - mCurrentPool.create(mPool); + apr_status_t status = apr_pool_create(&mCurrentPool, mPool); + (void)ll_apr_warn_status(status); } // add all of the file descriptors run_it = mRunningChains.begin(); LLChainInfo::conditionals_t::iterator fd_it; LLChainInfo::conditionals_t::iterator fd_end; - apr_pollset_create(&mPollset, size, mCurrentPool(), 0); + apr_pollset_create(&mPollset, size, mCurrentPool, 0); for(; run_it != run_end; ++run_it) { fd_it = (*run_it).mDescriptors.begin(); @@ -1132,8 +1157,7 @@ bool LLPumpIO::handleChainError( LLPumpIO::LLChainInfo::LLChainInfo() : mInit(false), mLock(0), - mEOS(false), - mDescriptorsPool(new LLAPRPool(LLThread::tldata().mRootPool)) + mEOS(false) { LLMemType m1(LLMemType::MTYPE_IO_PUMP); mTimer.setTimerExpirySec(DEFAULT_CHAIN_EXPIRY_SECS); diff --git a/indra/llmessage/llpumpio.h b/indra/llmessage/llpumpio.h index 75c35ae7ab9..9303c9d7fcf 100644 --- a/indra/llmessage/llpumpio.h +++ b/indra/llmessage/llpumpio.h @@ -30,12 +30,11 @@ #define LL_LLPUMPIO_H #include <set> -#include <boost/shared_ptr.hpp> #if LL_LINUX // needed for PATH_MAX in APR. #include <sys/param.h> #endif -#include "llaprpool.h" +#include "apr_pools.h" #include "llbuffer.h" #include "llframetimer.h" #include "lliopipe.h" @@ -59,8 +58,9 @@ extern const F32 NEVER_CHAIN_EXPIRY_SECS; * <code>pump()</code> on a thread used for IO and call * <code>respond()</code> on a thread that is expected to do higher * level processing. You can call almost any other method from any - * thread - see notes for each method for details. - * + * thread - see notes for each method for details. In order for the + * threading abstraction to work, you need to call <code>prime()</code> + * with a valid apr pool. * A pump instance manages much of the state for the pipe, including * the list of pipes in the chain, the channel for each element in the * chain, the buffer, and if any pipe has marked the stream or process @@ -79,13 +79,24 @@ class LLPumpIO /** * @brief Constructor. */ - LLPumpIO(void); + LLPumpIO(apr_pool_t* pool); /** * @brief Destructor. */ ~LLPumpIO(); + /** + * @brief Prepare this pump for usage. + * + * If you fail to call this method prior to use, the pump will + * try to work, but will not come with any thread locking + * mechanisms. + * @param pool The apr pool to use. + * @return Returns true if the pump is primed. + */ + bool prime(apr_pool_t* pool); + /** * @brief Typedef for having a chain of pipes. */ @@ -357,7 +368,6 @@ class LLPumpIO typedef std::pair<LLIOPipe::ptr_t, apr_pollfd_t> pipe_conditional_t; typedef std::vector<pipe_conditional_t> conditionals_t; conditionals_t mDescriptors; - boost::shared_ptr<LLAPRPool> mDescriptorsPool; }; // All the running chains & info @@ -376,9 +386,9 @@ class LLPumpIO callbacks_t mPendingCallbacks; callbacks_t mCallbacks; - // Memory pool for pollsets & mutexes. - LLAPRPool mPool; - LLAPRPool mCurrentPool; + // memory allocator for pollsets & mutexes. + apr_pool_t* mPool; + apr_pool_t* mCurrentPool; S32 mCurrentPoolReallocCount; #if LL_THREADS_APR @@ -390,7 +400,8 @@ class LLPumpIO #endif protected: - void initialize(); + void initialize(apr_pool_t* pool); + void cleanup(); /** * @brief Given the internal state of the chains, rebuild the pollset diff --git a/indra/llmessage/llurlrequest.cpp b/indra/llmessage/llurlrequest.cpp index 83b6f7cf719..cb9d1c3731f 100644 --- a/indra/llmessage/llurlrequest.cpp +++ b/indra/llmessage/llurlrequest.cpp @@ -40,7 +40,6 @@ #include "llstring.h" #include "apr_env.h" #include "llapr.h" -#include "llscopedvolatileaprpool.h" static const U32 HTTP_STATUS_PIPE_ERROR = 499; /** @@ -211,31 +210,27 @@ void LLURLRequest::setCallback(LLURLRequestComplete* callback) // is called with use_proxy = FALSE void LLURLRequest::useProxy(bool use_proxy) { - static std::string env_proxy; + static char *env_proxy; - if (use_proxy && env_proxy.empty()) + if (use_proxy && (env_proxy == NULL)) { - char* env_proxy_str; - LLScopedVolatileAPRPool scoped_pool; - apr_status_t status = apr_env_get(&env_proxy_str, "ALL_PROXY", scoped_pool); + apr_status_t status; + LLAPRPool pool; + status = apr_env_get(&env_proxy, "ALL_PROXY", pool.getAPRPool()); if (status != APR_SUCCESS) { - status = apr_env_get(&env_proxy_str, "http_proxy", scoped_pool); + status = apr_env_get(&env_proxy, "http_proxy", pool.getAPRPool()); } if (status != APR_SUCCESS) { - use_proxy = false; + use_proxy = FALSE; } - else - { - // env_proxy_str is stored in the scoped_pool, so we have to make a copy. - env_proxy = env_proxy_str; - } } - lldebugs << "use_proxy = " << (use_proxy?'Y':'N') << ", env_proxy = \"" << env_proxy << "\"" << llendl; - if (use_proxy) + lldebugs << "use_proxy = " << (use_proxy?'Y':'N') << ", env_proxy = " << (env_proxy ? env_proxy : "(null)") << llendl; + + if (env_proxy && use_proxy) { mDetail->mCurlRequest->setoptString(CURLOPT_PROXY, env_proxy); } diff --git a/indra/llmessage/message.cpp b/indra/llmessage/message.cpp index 302cfc7ca2f..2f0d815be52 100644 --- a/indra/llmessage/message.cpp +++ b/indra/llmessage/message.cpp @@ -97,10 +97,8 @@ std::string get_shared_secret(); class LLMessagePollInfo { public: - LLMessagePollInfo(void) : mPool(LLThread::tldata().mRootPool) { } apr_socket_t *mAPRSocketp; apr_pollfd_t mPollFD; - LLAPRPool mPool; }; namespace @@ -289,13 +287,20 @@ LLMessageSystem::LLMessageSystem(const std::string& filename, U32 port, } // LL_DEBUGS("Messaging") << << "*** port: " << mPort << llendl; - mPollInfop = new LLMessagePollInfo; - + // + // Create the data structure that we can poll on + // + if (!gAPRPoolp) + { + LL_ERRS("Messaging") << "No APR pool before message system initialization!" << llendl; + ll_init_apr(); + } apr_socket_t *aprSocketp = NULL; - apr_os_sock_put(&aprSocketp, (apr_os_sock_t*)&mSocket, mPollInfop->mPool()); + apr_os_sock_put(&aprSocketp, (apr_os_sock_t*)&mSocket, gAPRPoolp); + mPollInfop = new LLMessagePollInfo; mPollInfop->mAPRSocketp = aprSocketp; - mPollInfop->mPollFD.p = mPollInfop->mPool(); + mPollInfop->mPollFD.p = gAPRPoolp; mPollInfop->mPollFD.desc_type = APR_POLL_SOCKET; mPollInfop->mPollFD.reqevents = APR_POLLIN; mPollInfop->mPollFD.rtnevents = 0; diff --git a/indra/llmessage/tests/networkio.h b/indra/llmessage/tests/networkio.h index 23e1c791f47..2aff90ca1ef 100644 --- a/indra/llmessage/tests/networkio.h +++ b/indra/llmessage/tests/networkio.h @@ -30,6 +30,7 @@ #define LL_NETWORKIO_H #include "llmemory.h" // LLSingleton +#include "llapr.h" #include "llares.h" #include "llpumpio.h" #include "llhttpclient.h" @@ -47,8 +48,14 @@ class NetworkIO: public LLSingleton<NetworkIO> mServicePump(NULL), mDone(false) { + ll_init_apr(); + if (! gAPRPoolp) + { + throw std::runtime_error("Can't initialize APR"); + } + // Create IO Pump to use for HTTP Requests. - mServicePump = new LLPumpIO; + mServicePump = new LLPumpIO(gAPRPoolp); LLHTTPClient::setPump(*mServicePump); if (ll_init_ares() == NULL || !gAres->isInitialized()) { diff --git a/indra/llplugin/llplugininstance.cpp b/indra/llplugin/llplugininstance.cpp index 9c9909a0174..c326961db4a 100644 --- a/indra/llplugin/llplugininstance.cpp +++ b/indra/llplugin/llplugininstance.cpp @@ -29,7 +29,8 @@ #include "linden_common.h" #include "llplugininstance.h" -#include "llthread.h" // Needed for LLThread::tldata().mRootPool + +#include "llapr.h" /** Virtual destructor. */ LLPluginInstanceMessageListener::~LLPluginInstanceMessageListener() @@ -47,7 +48,6 @@ const char *LLPluginInstance::PLUGIN_INIT_FUNCTION_NAME = "LLPluginInitEntryPoin * @param[in] owner Plugin instance. TODO:DOC is this a good description of what "owner" is? */ LLPluginInstance::LLPluginInstance(LLPluginInstanceMessageListener *owner) : - mDSOHandlePool(LLThread::tldata().mRootPool), mDSOHandle(NULL), mPluginUserData(NULL), mPluginSendMessageFunction(NULL) @@ -79,7 +79,7 @@ int LLPluginInstance::load(std::string &plugin_file) int result = apr_dso_load(&mDSOHandle, plugin_file.c_str(), - mDSOHandlePool()); + gAPRPoolp); if(result != APR_SUCCESS) { char buf[1024]; diff --git a/indra/llplugin/llplugininstance.h b/indra/llplugin/llplugininstance.h index 1c3898e2e71..50531ca77f2 100644 --- a/indra/llplugin/llplugininstance.h +++ b/indra/llplugin/llplugininstance.h @@ -30,7 +30,6 @@ #include "llstring.h" #include "llapr.h" -#include "llaprpool.h" #include "apr_dso.h" @@ -89,7 +88,6 @@ class LLPluginInstance static void staticReceiveMessage(const char *message_string, void **user_data); void receiveMessage(const char *message_string); - LLAPRPool mDSOHandlePool; apr_dso_handle_t *mDSOHandle; void *mPluginUserData; diff --git a/indra/llplugin/llpluginmessagepipe.cpp b/indra/llplugin/llpluginmessagepipe.cpp index dd47300b9c6..8d13e38ad5c 100644 --- a/indra/llplugin/llpluginmessagepipe.cpp +++ b/indra/llplugin/llpluginmessagepipe.cpp @@ -92,6 +92,8 @@ void LLPluginMessagePipeOwner::killMessagePipe(void) } LLPluginMessagePipe::LLPluginMessagePipe(LLPluginMessagePipeOwner *owner, LLSocket::ptr_t socket): + mInputMutex(gAPRPoolp), + mOutputMutex(gAPRPoolp), mOwner(owner), mSocket(socket) { diff --git a/indra/llplugin/llpluginprocesschild.cpp b/indra/llplugin/llpluginprocesschild.cpp index 2fa5dcdd016..45a86476ac3 100644 --- a/indra/llplugin/llpluginprocesschild.cpp +++ b/indra/llplugin/llpluginprocesschild.cpp @@ -40,7 +40,7 @@ LLPluginProcessChild::LLPluginProcessChild() { mState = STATE_UNINITIALIZED; mInstance = NULL; - mSocket = LLSocket::create(LLSocket::STREAM_TCP); + mSocket = LLSocket::create(gAPRPoolp, LLSocket::STREAM_TCP); mSleepTime = PLUGIN_IDLE_SECONDS; // default: send idle messages at 100Hz mCPUElapsed = 0.0f; mBlockingRequest = false; diff --git a/indra/llplugin/llpluginprocessparent.cpp b/indra/llplugin/llpluginprocessparent.cpp index eaf7ec4bf39..c002de04627 100644 --- a/indra/llplugin/llpluginprocessparent.cpp +++ b/indra/llplugin/llpluginprocessparent.cpp @@ -33,7 +33,6 @@ #include "llpluginmessageclasses.h" #include "llapr.h" -#include "llscopedvolatileaprpool.h" //virtual LLPluginProcessParentOwner::~LLPluginProcessParentOwner() @@ -43,7 +42,6 @@ LLPluginProcessParentOwner::~LLPluginProcessParentOwner() bool LLPluginProcessParent::sUseReadThread = false; apr_pollset_t *LLPluginProcessParent::sPollSet = NULL; -LLAPRPool LLPluginProcessParent::sPollSetPool; bool LLPluginProcessParent::sPollsetNeedsRebuild = false; LLMutex *LLPluginProcessParent::sInstancesMutex; std::list<LLPluginProcessParent*> LLPluginProcessParent::sInstances; @@ -54,7 +52,7 @@ class LLPluginProcessParentPollThread: public LLThread { public: LLPluginProcessParentPollThread() : - LLThread("LLPluginProcessParentPollThread") + LLThread("LLPluginProcessParentPollThread", gAPRPoolp) { } protected: @@ -79,11 +77,12 @@ class LLPluginProcessParentPollThread: public LLThread }; -LLPluginProcessParent::LLPluginProcessParent(LLPluginProcessParentOwner* owner) +LLPluginProcessParent::LLPluginProcessParent(LLPluginProcessParentOwner *owner): + mIncomingQueueMutex(gAPRPoolp) { if(!sInstancesMutex) { - sInstancesMutex = new LLMutex; + sInstancesMutex = new LLMutex(gAPRPoolp); } mOwner = owner; @@ -96,7 +95,6 @@ LLPluginProcessParent::LLPluginProcessParent(LLPluginProcessParentOwner* owner) mBlocked = false; mPolledInput = false; mPollFD.client_data = NULL; - mPollFDPool.create(); mPluginLaunchTimeout = 60.0f; mPluginLockupTimeout = 15.0f; @@ -171,28 +169,44 @@ void LLPluginProcessParent::init(const std::string &launcher_filename, const std bool LLPluginProcessParent::accept() { bool result = false; + apr_status_t status = APR_EGENERAL; + apr_socket_t *new_socket = NULL; + + status = apr_socket_accept( + &new_socket, + mListenSocket->getSocket(), + gAPRPoolp); - mSocket = LLSocket::create(status, mListenSocket); if(status == APR_SUCCESS) { // llinfos << "SUCCESS" << llendl; // Success. Create a message pipe on the new socket + + // we MUST create a new pool for the LLSocket, since it will take ownership of it and delete it in its destructor! + apr_pool_t* new_pool = NULL; + status = apr_pool_create(&new_pool, gAPRPoolp); + + mSocket = LLSocket::create(new_socket, new_pool); new LLPluginMessagePipe(this, mSocket); result = true; } + else if(APR_STATUS_IS_EAGAIN(status)) + { +// llinfos << "EAGAIN" << llendl; + + // No incoming connections. This is not an error. + status = APR_SUCCESS; + } else { - mSocket.reset(); - // EAGAIN means "No incoming connections". This is not an error. - if (!APR_STATUS_IS_EAGAIN(status)) - { - // Some other error. - ll_apr_warn_status(status); - errorState(); - } +// llinfos << "Error:" << llendl; + ll_apr_warn_status(status); + + // Some other error. + errorState(); } return result; @@ -258,10 +272,10 @@ void LLPluginProcessParent::idle(void) case STATE_INITIALIZED: { + apr_status_t status = APR_SUCCESS; - LLScopedVolatileAPRPool addr_pool; apr_sockaddr_t* addr = NULL; - mListenSocket = LLSocket::create(LLSocket::STREAM_TCP); + mListenSocket = LLSocket::create(gAPRPoolp, LLSocket::STREAM_TCP); mBoundPort = 0; // This code is based on parts of LLSocket::create() in lliosocket.cpp. @@ -272,7 +286,7 @@ void LLPluginProcessParent::idle(void) APR_INET, 0, // port 0 = ephemeral ("find me a port") 0, - addr_pool); + gAPRPoolp); if(ll_apr_warn_status(status)) { @@ -584,7 +598,7 @@ void LLPluginProcessParent::setMessagePipe(LLPluginMessagePipe *message_pipe) if(message_pipe != NULL) { // Set up the apr_pollfd_t - mPollFD.p = mPollFDPool(); + mPollFD.p = gAPRPoolp; mPollFD.desc_type = APR_POLL_SOCKET; mPollFD.reqevents = APR_POLLIN|APR_POLLERR|APR_POLLHUP; mPollFD.rtnevents = 0; @@ -631,7 +645,6 @@ void LLPluginProcessParent::updatePollset() // delete the existing pollset. apr_pollset_destroy(sPollSet); sPollSet = NULL; - sPollSetPool.destroy(); } std::list<LLPluginProcessParent*>::iterator iter; @@ -654,14 +667,12 @@ void LLPluginProcessParent::updatePollset() { #ifdef APR_POLLSET_NOCOPY // The pollset doesn't exist yet. Create it now. - sPollSetPool.create(); - apr_status_t status = apr_pollset_create(&sPollSet, count, sPollSetPool(), APR_POLLSET_NOCOPY); + apr_status_t status = apr_pollset_create(&sPollSet, count, gAPRPoolp, APR_POLLSET_NOCOPY); if(status != APR_SUCCESS) { #endif // APR_POLLSET_NOCOPY LL_WARNS("PluginPoll") << "Couldn't create pollset. Falling back to non-pollset mode." << LL_ENDL; sPollSet = NULL; - sPollSetPool.destroy(); #ifdef APR_POLLSET_NOCOPY } else diff --git a/indra/llplugin/llpluginprocessparent.h b/indra/llplugin/llpluginprocessparent.h index 6beeb64c7ef..32394809ef2 100644 --- a/indra/llplugin/llpluginprocessparent.h +++ b/indra/llplugin/llpluginprocessparent.h @@ -176,9 +176,7 @@ class LLPluginProcessParent : public LLPluginMessagePipeOwner static bool sUseReadThread; apr_pollfd_t mPollFD; - LLAPRPool mPollFDPool; static apr_pollset_t *sPollSet; - static LLAPRPool sPollSetPool; static bool sPollsetNeedsRebuild; static LLMutex *sInstancesMutex; static std::list<LLPluginProcessParent*> sInstances; diff --git a/indra/llplugin/llpluginsharedmemory.cpp b/indra/llplugin/llpluginsharedmemory.cpp index e2ff645a9c5..63ff5085c6e 100644 --- a/indra/llplugin/llpluginsharedmemory.cpp +++ b/indra/llplugin/llpluginsharedmemory.cpp @@ -187,8 +187,7 @@ bool LLPluginSharedMemory::create(size_t size) mName += createName(); mSize = size; - mPool.create(); - apr_status_t status = apr_shm_create( &(mImpl->mAprSharedMemory), mSize, mName.c_str(), mPool()); + apr_status_t status = apr_shm_create( &(mImpl->mAprSharedMemory), mSize, mName.c_str(), gAPRPoolp ); if(ll_apr_warn_status(status)) { @@ -211,7 +210,7 @@ bool LLPluginSharedMemory::destroy(void) } mImpl->mAprSharedMemory = NULL; } - mPool.destroy(); + return true; } @@ -220,8 +219,7 @@ bool LLPluginSharedMemory::attach(const std::string &name, size_t size) mName = name; mSize = size; - mPool.create(); - apr_status_t status = apr_shm_attach( &(mImpl->mAprSharedMemory), mName.c_str(), mPool() ); + apr_status_t status = apr_shm_attach( &(mImpl->mAprSharedMemory), mName.c_str(), gAPRPoolp ); if(ll_apr_warn_status(status)) { @@ -243,7 +241,6 @@ bool LLPluginSharedMemory::detach(void) } mImpl->mAprSharedMemory = NULL; } - mPool.destroy(); return true; } diff --git a/indra/llplugin/llpluginsharedmemory.h b/indra/llplugin/llpluginsharedmemory.h index 84b7a58c328..c6cd49cabb7 100644 --- a/indra/llplugin/llpluginsharedmemory.h +++ b/indra/llplugin/llpluginsharedmemory.h @@ -28,8 +28,6 @@ #ifndef LL_LLPLUGINSHAREDMEMORY_H #define LL_LLPLUGINSHAREDMEMORY_H -#include "llaprpool.h" - class LLPluginSharedMemoryPlatformImpl; /** @@ -110,7 +108,6 @@ class LLPluginSharedMemory bool close(void); bool unlink(void); - LLAPRPool mPool; std::string mName; size_t mSize; void *mMappedAddress; diff --git a/indra/llplugin/slplugin/slplugin.cpp b/indra/llplugin/slplugin/slplugin.cpp index ff86e4e1351..516a58db883 100644 --- a/indra/llplugin/slplugin/slplugin.cpp +++ b/indra/llplugin/slplugin/slplugin.cpp @@ -176,6 +176,8 @@ int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdL int main(int argc, char **argv) #endif { + ll_init_apr(); + // Set up llerror logging { LLError::initForApplication("."); @@ -391,6 +393,8 @@ int main(int argc, char **argv) delete plugin; + ll_cleanup_apr(); + return 0; } diff --git a/indra/llvfs/lllfsthread.cpp b/indra/llvfs/lllfsthread.cpp index bf49b9668e6..3d3ed9f6d4d 100644 --- a/indra/llvfs/lllfsthread.cpp +++ b/indra/llvfs/lllfsthread.cpp @@ -67,6 +67,10 @@ LLLFSThread::LLLFSThread(bool threaded) : LLQueuedThread("LFS", threaded), mPriorityCounter(PRIORITY_LOWBITS) { + if(!mLocalAPRFilePoolp) + { + mLocalAPRFilePoolp = new LLVolatileAPRPool() ; + } } LLLFSThread::~LLLFSThread() @@ -178,7 +182,8 @@ bool LLLFSThread::Request::processRequest() if (mOperation == FILE_READ) { llassert(mOffset >= 0); - LLAPRFile infile(mFileName, LL_APR_RB); + LLAPRFile infile ; // auto-closes + infile.open(mFileName, LL_APR_RB, mThread->getLocalAPRFilePool()); if (!infile.getFileHandle()) { llwarns << "LLLFS: Unable to read file: " << mFileName << llendl; @@ -200,7 +205,8 @@ bool LLLFSThread::Request::processRequest() apr_int32_t flags = APR_CREATE|APR_WRITE|APR_BINARY; if (mOffset < 0) flags |= APR_APPEND; - LLAPRFile outfile(mFileName, flags); + LLAPRFile outfile ; // auto-closes + outfile.open(mFileName, flags, mThread->getLocalAPRFilePool()); if (!outfile.getFileHandle()) { llwarns << "LLLFS: Unable to write file: " << mFileName << llendl; diff --git a/indra/llvfs/llvfs.cpp b/indra/llvfs/llvfs.cpp index 1a64623028c..c1fe21c57df 100644 --- a/indra/llvfs/llvfs.cpp +++ b/indra/llvfs/llvfs.cpp @@ -234,7 +234,7 @@ LLVFS::LLVFS(const std::string& index_filename, const std::string& data_filename mDataFP(NULL), mIndexFP(NULL) { - mDataMutex = new LLMutex; + mDataMutex = new LLMutex(0); S32 i; for (i = 0; i < VFSLOCK_COUNT; i++) @@ -2094,7 +2094,8 @@ void LLVFS::dumpFiles() std::string filename = id.asString() + extension; llinfos << " Writing " << filename << llendl; - LLAPRFile outfile(filename, LL_APR_WB); + LLAPRFile outfile; + outfile.open(filename, LL_APR_WB); outfile.write(&buffer[0], size); outfile.close(); diff --git a/indra/media_plugins/gstreamer010/llmediaimplgstreamer.h b/indra/media_plugins/gstreamer010/llmediaimplgstreamer.h index 77d6d196633..6bc272c009a 100644 --- a/indra/media_plugins/gstreamer010/llmediaimplgstreamer.h +++ b/indra/media_plugins/gstreamer010/llmediaimplgstreamer.h @@ -37,6 +37,7 @@ extern "C" { #include <stdio.h> #include <gst/gst.h> +#include "apr_pools.h" #include "apr_dso.h" } diff --git a/indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms.cpp b/indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms.cpp index 93a10424dde..2e4baaa9eb2 100644 --- a/indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms.cpp +++ b/indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms.cpp @@ -28,18 +28,16 @@ #if LL_GSTREAMER010_ENABLED -#include "linden_common.h" - #include <string> extern "C" { #include <gst/gst.h> +#include "apr_pools.h" #include "apr_dso.h" } #include "llmediaimplgstreamertriviallogging.h" -#include "llaprpool.h" #define LL_GST_SYM(REQ, GSTSYM, RTN, ...) RTN (*ll##GSTSYM)(__VA_ARGS__) = NULL #include "llmediaimplgstreamer_syms_raw.inc" @@ -58,7 +56,7 @@ void ll_gst_debug_register_funcptr(GstDebugFuncPtr func, gchar* ptrname) } static bool sSymsGrabbed = false; -static LLAPRPool sSymGSTDSOMemoryPool; +static apr_pool_t *sSymGSTDSOMemoryPool = NULL; static apr_dso_handle_t *sSymGSTDSOHandleG = NULL; static apr_dso_handle_t *sSymGSTDSOHandleV = NULL; @@ -80,11 +78,11 @@ bool grab_gst_syms(std::string gst_dso_name, #define LL_GST_SYM(REQ, GSTSYM, RTN, ...) do{rv = apr_dso_sym((apr_dso_handle_sym_t*)&ll##GSTSYM, sSymGSTDSOHandle, #GSTSYM); if (rv != APR_SUCCESS) {INFOMSG("Failed to grab symbol: %s", #GSTSYM); if (REQ) sym_error = true;} else DEBUGMSG("grabbed symbol: %s from %p", #GSTSYM, (void*)ll##GSTSYM);}while(0) //attempt to load the shared libraries - sSymGSTDSOMemoryPool.create(); + apr_pool_create(&sSymGSTDSOMemoryPool, NULL); if ( APR_SUCCESS == (rv = apr_dso_load(&sSymGSTDSOHandle, gst_dso_name.c_str(), - sSymGSTDSOMemoryPool()) )) + sSymGSTDSOMemoryPool) )) { INFOMSG("Found DSO: %s", gst_dso_name.c_str()); #include "llmediaimplgstreamer_syms_raw.inc" @@ -98,7 +96,7 @@ bool grab_gst_syms(std::string gst_dso_name, if ( APR_SUCCESS == (rv = apr_dso_load(&sSymGSTDSOHandle, gst_dso_name_vid.c_str(), - sSymGSTDSOMemoryPool()) )) + sSymGSTDSOMemoryPool) )) { INFOMSG("Found DSO: %s", gst_dso_name_vid.c_str()); #include "llmediaimplgstreamer_syms_rawv.inc" @@ -152,7 +150,8 @@ void ungrab_gst_syms() if ( sSymGSTDSOMemoryPool ) { - sSymGSTDSOMemoryPool.destroy(); + apr_pool_destroy(sSymGSTDSOMemoryPool); + sSymGSTDSOMemoryPool = NULL; } // NULL-out all of the symbols we'd grabbed diff --git a/indra/media_plugins/webkit/linux_volume_catcher.cpp b/indra/media_plugins/webkit/linux_volume_catcher.cpp index 94dfd807003..91be3a89e9a 100644 --- a/indra/media_plugins/webkit/linux_volume_catcher.cpp +++ b/indra/media_plugins/webkit/linux_volume_catcher.cpp @@ -65,7 +65,7 @@ extern "C" { #undef LL_PA_SYM static bool sSymsGrabbed = false; -static LLAPRPool sSymPADSOMemoryPool; +static apr_pool_t *sSymPADSOMemoryPool = NULL; static apr_dso_handle_t *sSymPADSOHandleG = NULL; bool grab_pa_syms(std::string pulse_dso_name) @@ -84,11 +84,11 @@ bool grab_pa_syms(std::string pulse_dso_name) #define LL_PA_SYM(REQUIRED, PASYM, RTN, ...) do{rv = apr_dso_sym((apr_dso_handle_sym_t*)&ll##PASYM, sSymPADSOHandle, #PASYM); if (rv != APR_SUCCESS) {INFOMSG("Failed to grab symbol: %s", #PASYM); if (REQUIRED) sym_error = true;} else DEBUGMSG("grabbed symbol: %s from %p", #PASYM, (void*)ll##PASYM);}while(0) //attempt to load the shared library - sSymPADSOMemoryPool.create(); + apr_pool_create(&sSymPADSOMemoryPool, NULL); if ( APR_SUCCESS == (rv = apr_dso_load(&sSymPADSOHandle, pulse_dso_name.c_str(), - sSymPADSOMemoryPool()) )) + sSymPADSOMemoryPool) )) { INFOMSG("Found DSO: %s", pulse_dso_name.c_str()); @@ -130,8 +130,12 @@ void ungrab_pa_syms() apr_dso_unload(sSymPADSOHandleG); sSymPADSOHandleG = NULL; } - - sSymPADSOMemoryPool.destroy(); + + if ( sSymPADSOMemoryPool ) + { + apr_pool_destroy(sSymPADSOMemoryPool); + sSymPADSOMemoryPool = NULL; + } // NULL-out all of the symbols we'd grabbed #define LL_PA_SYM(REQUIRED, PASYM, RTN, ...) do{ll##PASYM = NULL;}while(0) diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 1f76e2af400..a23f809b712 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1026,7 +1026,7 @@ bool LLAppViewer::mainLoop() //------------------------------------------- // Create IO Pump to use for HTTP Requests. - gServicePump = new LLPumpIO; + gServicePump = new LLPumpIO(gAPRPoolp); LLHTTPClient::setPump(*gServicePump); LLCurl::setCAFile(gDirUtilp->getCAFile()); @@ -1387,16 +1387,16 @@ bool LLAppViewer::cleanup() } // *TODO - generalize this and move DSO wrangling to a helper class -brad - for(std::map<apr_dso_handle_t*, boost::shared_ptr<LLAPRPool> >::iterator plugin = mPlugins.begin(); - plugin != mPlugins.end(); ++plugin) + std::set<struct apr_dso_handle_t *>::const_iterator i; + for(i = mPlugins.begin(); i != mPlugins.end(); ++i) { int (*ll_plugin_stop_func)(void) = NULL; - apr_status_t rv = apr_dso_sym((apr_dso_handle_sym_t*)&ll_plugin_stop_func, plugin->first, "ll_plugin_stop"); + apr_status_t rv = apr_dso_sym((apr_dso_handle_sym_t*)&ll_plugin_stop_func, *i, "ll_plugin_stop"); ll_plugin_stop_func(); - rv = apr_dso_unload(plugin->first); + rv = apr_dso_unload(*i); } - mPlugins.clear(); // Forget handles and destroy all memory pools. + mPlugins.clear(); //flag all elements as needing to be destroyed immediately // to ensure shutdown order @@ -1828,7 +1828,7 @@ bool LLAppViewer::initThreads() if (LLFastTimer::sLog || LLFastTimer::sMetricLog) { - LLFastTimer::sLogLock = new LLMutex; + LLFastTimer::sLogLock = new LLMutex(NULL); mFastTimerLogThread = new LLFastTimerLogThread(LLFastTimer::sLogName); mFastTimerLogThread->start(); } @@ -2969,7 +2969,8 @@ void LLAppViewer::handleViewerCrash() else crash_file_name = gDirUtilp->getExpandedFilename(LL_PATH_LOGS,ERROR_MARKER_FILE_NAME); llinfos << "Creating crash marker file " << crash_file_name << llendl; - LLAPRFile crash_file(crash_file_name, LL_APR_W); + LLAPRFile crash_file ; + crash_file.open(crash_file_name, LL_APR_W); if (crash_file.getFileHandle()) { LL_INFOS("MarkerFile") << "Created crash marker file " << crash_file_name << LL_ENDL; @@ -3033,10 +3034,11 @@ bool LLAppViewer::anotherInstanceRunning() LL_DEBUGS("MarkerFile") << "Checking marker file for lock..." << LL_ENDL; //Freeze case checks - if (LLAPRFile::isExist(marker_file, LL_APR_RB)) + if (LLAPRFile::isExist(marker_file, NULL, LL_APR_RB)) { // File exists, try opening with write permissions - LLAPRFile outfile(marker_file, LL_APR_WB); + LLAPRFile outfile ; + outfile.open(marker_file, LL_APR_WB); apr_file_t* fMarker = outfile.getFileHandle() ; if (!fMarker) { @@ -3075,25 +3077,25 @@ void LLAppViewer::initMarkerFile() std::string llerror_marker_file = gDirUtilp->getExpandedFilename(LL_PATH_LOGS, LLERROR_MARKER_FILE_NAME); std::string error_marker_file = gDirUtilp->getExpandedFilename(LL_PATH_LOGS, ERROR_MARKER_FILE_NAME); - if (LLAPRFile::isExist(mMarkerFileName, LL_APR_RB) && !anotherInstanceRunning()) + if (LLAPRFile::isExist(mMarkerFileName, NULL, LL_APR_RB) && !anotherInstanceRunning()) { gLastExecEvent = LAST_EXEC_FROZE; LL_INFOS("MarkerFile") << "Exec marker found: program froze on previous execution" << LL_ENDL; } - if(LLAPRFile::isExist(logout_marker_file, LL_APR_RB)) + if(LLAPRFile::isExist(logout_marker_file, NULL, LL_APR_RB)) { gLastExecEvent = LAST_EXEC_LOGOUT_FROZE; LL_INFOS("MarkerFile") << "Last exec LLError crashed, setting LastExecEvent to " << gLastExecEvent << LL_ENDL; LLAPRFile::remove(logout_marker_file); } - if(LLAPRFile::isExist(llerror_marker_file, LL_APR_RB)) + if(LLAPRFile::isExist(llerror_marker_file, NULL, LL_APR_RB)) { if(gLastExecEvent == LAST_EXEC_LOGOUT_FROZE) gLastExecEvent = LAST_EXEC_LOGOUT_CRASH; else gLastExecEvent = LAST_EXEC_LLERROR_CRASH; LL_INFOS("MarkerFile") << "Last exec LLError crashed, setting LastExecEvent to " << gLastExecEvent << LL_ENDL; LLAPRFile::remove(llerror_marker_file); } - if(LLAPRFile::isExist(error_marker_file, LL_APR_RB)) + if(LLAPRFile::isExist(error_marker_file, NULL, LL_APR_RB)) { if(gLastExecEvent == LAST_EXEC_LOGOUT_FROZE) gLastExecEvent = LAST_EXEC_LOGOUT_CRASH; else gLastExecEvent = LAST_EXEC_OTHER_CRASH; @@ -3109,7 +3111,7 @@ void LLAppViewer::initMarkerFile() // Create the marker file for this execution & lock it apr_status_t s; - s = mMarkerFile.open(mMarkerFileName, LL_APR_W, LLAPRFile::long_lived); + s = mMarkerFile.open(mMarkerFileName, LL_APR_W, TRUE); if (s == APR_SUCCESS && mMarkerFile.getFileHandle()) { @@ -4325,7 +4327,8 @@ void LLAppViewer::sendLogoutRequest() gLogoutInProgress = TRUE; mLogoutMarkerFileName = gDirUtilp->getExpandedFilename(LL_PATH_LOGS,LOGOUT_MARKER_FILE_NAME); - LLAPRFile outfile(mLogoutMarkerFileName, LL_APR_W); + LLAPRFile outfile ; + outfile.open(mLogoutMarkerFileName, LL_APR_W); mLogoutMarkerFile = outfile.getFileHandle() ; if (mLogoutMarkerFile) { @@ -4775,15 +4778,14 @@ void LLAppViewer::loadEventHostModule(S32 listen_port) } #endif // LL_WINDOWS - boost::shared_ptr<LLAPRPool> eventhost_dso_memory_pool_ptr(new LLAPRPool); - LLAPRPool& eventhost_dso_memory_pool(*eventhost_dso_memory_pool_ptr); - apr_dso_handle_t* eventhost_dso_handle = NULL; + apr_dso_handle_t * eventhost_dso_handle = NULL; + apr_pool_t * eventhost_dso_memory_pool = NULL; //attempt to load the shared library - eventhost_dso_memory_pool.create(); + apr_pool_create(&eventhost_dso_memory_pool, NULL); apr_status_t rv = apr_dso_load(&eventhost_dso_handle, dso_path.c_str(), - eventhost_dso_memory_pool()); + eventhost_dso_memory_pool); llassert_always(! ll_apr_warn_status(rv, eventhost_dso_handle)); llassert_always(eventhost_dso_handle != NULL); @@ -4803,8 +4805,7 @@ void LLAppViewer::loadEventHostModule(S32 listen_port) llerrs << "problem loading eventhost plugin, status: " << status << llendl; } - // Store the handle and link it to the pool that was used to allocate it. - mPlugins[eventhost_dso_handle] = eventhost_dso_memory_pool_ptr; + mPlugins.insert(eventhost_dso_handle); } void LLAppViewer::launchUpdater() diff --git a/indra/newview/llappviewer.h b/indra/newview/llappviewer.h index 00b12d50aed..a18e6cbb028 100644 --- a/indra/newview/llappviewer.h +++ b/indra/newview/llappviewer.h @@ -266,7 +266,7 @@ class LLAppViewer : public LLApp LLAllocator mAlloc; - std::map<apr_dso_handle_t*, boost::shared_ptr<LLAPRPool> > mPlugins; + std::set<struct apr_dso_handle_t*> mPlugins; U32 mAvailPhysicalMemInKB ; U32 mAvailVirtualMemInKB ; diff --git a/indra/newview/llappviewerlinux.cpp b/indra/newview/llappviewerlinux.cpp index d4c6131c803..898cc1c0ba8 100644 --- a/indra/newview/llappviewerlinux.cpp +++ b/indra/newview/llappviewerlinux.cpp @@ -110,7 +110,6 @@ int main( int argc, char **argv ) } delete viewer_app_ptr; viewer_app_ptr = NULL; - return 0; } diff --git a/indra/newview/llappviewerlinux_api_dbus.cpp b/indra/newview/llappviewerlinux_api_dbus.cpp index 1ae469dfcfd..32e7e0a83d5 100644 --- a/indra/newview/llappviewerlinux_api_dbus.cpp +++ b/indra/newview/llappviewerlinux_api_dbus.cpp @@ -27,11 +27,11 @@ #if LL_DBUS_ENABLED #include "linden_common.h" -#include "llaprpool.h" extern "C" { #include <dbus/dbus-glib.h> +#include "apr_pools.h" #include "apr_dso.h" } @@ -44,7 +44,7 @@ extern "C" { #undef LL_DBUS_SYM static bool sSymsGrabbed = false; -static LLAPRPool sSymDBUSDSOMemoryPool; +static apr_pool_t *sSymDBUSDSOMemoryPool = NULL; static apr_dso_handle_t *sSymDBUSDSOHandleG = NULL; bool grab_dbus_syms(std::string dbus_dso_name) @@ -63,11 +63,11 @@ bool grab_dbus_syms(std::string dbus_dso_name) #define LL_DBUS_SYM(REQUIRED, DBUSSYM, RTN, ...) do{rv = apr_dso_sym((apr_dso_handle_sym_t*)&ll##DBUSSYM, sSymDBUSDSOHandle, #DBUSSYM); if (rv != APR_SUCCESS) {INFOMSG("Failed to grab symbol: %s", #DBUSSYM); if (REQUIRED) sym_error = true;} else DEBUGMSG("grabbed symbol: %s from %p", #DBUSSYM, (void*)ll##DBUSSYM);}while(0) //attempt to load the shared library - sSymDBUSDSOMemoryPool.create(); + apr_pool_create(&sSymDBUSDSOMemoryPool, NULL); if ( APR_SUCCESS == (rv = apr_dso_load(&sSymDBUSDSOHandle, dbus_dso_name.c_str(), - sSymDBUSDSOMemoryPool()) )) + sSymDBUSDSOMemoryPool) )) { INFOMSG("Found DSO: %s", dbus_dso_name.c_str()); @@ -109,7 +109,11 @@ void ungrab_dbus_syms() sSymDBUSDSOHandleG = NULL; } - sSymDBUSDSOMemoryPool.destroy(); + if ( sSymDBUSDSOMemoryPool ) + { + apr_pool_destroy(sSymDBUSDSOMemoryPool); + sSymDBUSDSOMemoryPool = NULL; + } // NULL-out all of the symbols we'd grabbed #define LL_DBUS_SYM(REQUIRED, DBUSSYM, RTN, ...) do{ll##DBUSSYM = NULL;}while(0) diff --git a/indra/newview/llappviewermacosx.cpp b/indra/newview/llappviewermacosx.cpp index 13c8745eaff..1cd80986d8c 100644 --- a/indra/newview/llappviewermacosx.cpp +++ b/indra/newview/llappviewermacosx.cpp @@ -113,7 +113,6 @@ int main( int argc, char **argv ) } delete viewer_app_ptr; viewer_app_ptr = NULL; - return 0; } diff --git a/indra/newview/llfloateranimpreview.cpp b/indra/newview/llfloateranimpreview.cpp index 9b96332c100..deebd69ec10 100644 --- a/indra/newview/llfloateranimpreview.cpp +++ b/indra/newview/llfloateranimpreview.cpp @@ -223,7 +223,8 @@ BOOL LLFloaterAnimPreview::postBuild() // now load bvh file S32 file_size; - LLAPRFile infile(mFilenameAndPath, LL_APR_RB, &file_size); + LLAPRFile infile ; + infile.open(mFilenameAndPath, LL_APR_RB, NULL, &file_size); if (!infile.getFileHandle()) { diff --git a/indra/newview/llmainlooprepeater.cpp b/indra/newview/llmainlooprepeater.cpp index d73048a28b1..5c020e6d982 100644 --- a/indra/newview/llmainlooprepeater.cpp +++ b/indra/newview/llmainlooprepeater.cpp @@ -46,7 +46,7 @@ void LLMainLoopRepeater::start(void) { if(mQueue != 0) return; - mQueue = new LLThreadSafeQueue<LLSD>(1024); + mQueue = new LLThreadSafeQueue<LLSD>(gAPRPoolp, 1024); mMainLoopConnection = LLEventPumps::instance(). obtain("mainloop").listen(LLEventPump::inventName(), boost::bind(&LLMainLoopRepeater::onMainLoop, this, _1)); mRepeaterConnection = LLEventPumps::instance(). diff --git a/indra/newview/lltexturecache.cpp b/indra/newview/lltexturecache.cpp index a47ea8581a9..f54214b95cb 100644 --- a/indra/newview/lltexturecache.cpp +++ b/indra/newview/lltexturecache.cpp @@ -176,7 +176,7 @@ class LLTextureCacheLocalFileWorker : public LLTextureCacheWorker bool LLTextureCacheLocalFileWorker::doRead() { - S32 local_size = LLAPRFile::size(mFileName); + S32 local_size = LLAPRFile::size(mFileName, mCache->getLocalAPRFilePool()); if (local_size > 0 && mFileName.size() > 4) { @@ -250,7 +250,7 @@ bool LLTextureCacheLocalFileWorker::doRead() } mReadData = new U8[mDataSize]; - S32 bytes_read = LLAPRFile::readEx(mFileName, mReadData, mOffset, mDataSize); + S32 bytes_read = LLAPRFile::readEx(mFileName, mReadData, mOffset, mDataSize, mCache->getLocalAPRFilePool()); if (bytes_read != mDataSize) { @@ -331,7 +331,7 @@ bool LLTextureCacheRemoteWorker::doRead() // Is it a JPEG2000 file? { local_filename = filename + ".j2c"; - local_size = LLAPRFile::size(local_filename); + local_size = LLAPRFile::size(local_filename, mCache->getLocalAPRFilePool()); if (local_size > 0) { mImageFormat = IMG_CODEC_J2C; @@ -341,7 +341,7 @@ bool LLTextureCacheRemoteWorker::doRead() if (local_size == 0) { local_filename = filename + ".jpg"; - local_size = LLAPRFile::size(local_filename); + local_size = LLAPRFile::size(local_filename, mCache->getLocalAPRFilePool()); if (local_size > 0) { mImageFormat = IMG_CODEC_JPEG; @@ -352,7 +352,7 @@ bool LLTextureCacheRemoteWorker::doRead() if (local_size == 0) { local_filename = filename + ".tga"; - local_size = LLAPRFile::size(local_filename); + local_size = LLAPRFile::size(local_filename, mCache->getLocalAPRFilePool()); if (local_size > 0) { mImageFormat = IMG_CODEC_TGA; @@ -378,7 +378,8 @@ bool LLTextureCacheRemoteWorker::doRead() } // Allocate read buffer mReadData = new U8[mDataSize]; - S32 bytes_read = LLAPRFile::readEx(local_filename, mReadData, mOffset, mDataSize); + S32 bytes_read = LLAPRFile::readEx(local_filename, + mReadData, mOffset, mDataSize, mCache->getLocalAPRFilePool()); if (bytes_read != mDataSize) { llwarns << "Error reading file from local cache: " << local_filename @@ -429,7 +430,8 @@ bool LLTextureCacheRemoteWorker::doRead() size = llmin(size, mDataSize); // Allocate the read buffer mReadData = new U8[size]; - S32 bytes_read = LLAPRFile::readEx(mCache->mHeaderDataFileName, mReadData, offset, size); + S32 bytes_read = LLAPRFile::readEx(mCache->mHeaderDataFileName, + mReadData, offset, size, mCache->getLocalAPRFilePool()); if (bytes_read != size) { llwarns << "LLTextureCacheWorker: " << mID @@ -455,7 +457,7 @@ bool LLTextureCacheRemoteWorker::doRead() if (!done && (mState == BODY)) { std::string filename = mCache->getTextureFileName(mID); - S32 filesize = LLAPRFile::size(filename); + S32 filesize = LLAPRFile::size(filename, mCache->getLocalAPRFilePool()); if (filesize && (filesize + TEXTURE_CACHE_ENTRY_SIZE) > mOffset) { @@ -497,7 +499,8 @@ bool LLTextureCacheRemoteWorker::doRead() // Read the data at last S32 bytes_read = LLAPRFile::readEx(filename, mReadData + data_offset, - file_offset, file_size); + file_offset, file_size, + mCache->getLocalAPRFilePool()); if (bytes_read != file_size) { llwarns << "LLTextureCacheWorker: " << mID @@ -598,13 +601,13 @@ bool LLTextureCacheRemoteWorker::doWrite() U8* padBuffer = new U8[TEXTURE_CACHE_ENTRY_SIZE]; memset(padBuffer, 0, TEXTURE_CACHE_ENTRY_SIZE); // Init with zeros memcpy(padBuffer, mWriteData, mDataSize); // Copy the write buffer - bytes_written = LLAPRFile::writeEx(mCache->mHeaderDataFileName, padBuffer, offset, size); + bytes_written = LLAPRFile::writeEx(mCache->mHeaderDataFileName, padBuffer, offset, size, mCache->getLocalAPRFilePool()); delete [] padBuffer; } else { // Write the header record (== first TEXTURE_CACHE_ENTRY_SIZE bytes of the raw file) in the header file - bytes_written = LLAPRFile::writeEx(mCache->mHeaderDataFileName, mWriteData, offset, size); + bytes_written = LLAPRFile::writeEx(mCache->mHeaderDataFileName, mWriteData, offset, size, mCache->getLocalAPRFilePool()); } if (bytes_written <= 0) @@ -639,7 +642,8 @@ bool LLTextureCacheRemoteWorker::doWrite() // llinfos << "Writing Body: " << filename << " Bytes: " << file_offset+file_size << llendl; S32 bytes_written = LLAPRFile::writeEx( filename, mWriteData + TEXTURE_CACHE_ENTRY_SIZE, - 0, file_size); + 0, file_size, + mCache->getLocalAPRFilePool()); if (bytes_written <= 0) { llwarns << "LLTextureCacheWorker: " << mID @@ -736,6 +740,9 @@ void LLTextureCacheWorker::endWork(S32 param, bool aborted) LLTextureCache::LLTextureCache(bool threaded) : LLWorkerThread("TextureCache", threaded), + mWorkersMutex(NULL), + mHeaderMutex(NULL), + mListMutex(NULL), mHeaderAPRFile(NULL), mReadOnly(TRUE), //do not allow to change the texture cache until setReadOnly() is called. mTexturesSizeTotal(0), @@ -839,7 +846,7 @@ BOOL LLTextureCache::isInLocal(const LLUUID& id) // Is it a JPEG2000 file? { local_filename = filename + ".j2c"; - local_size = LLAPRFile::size(local_filename); + local_size = LLAPRFile::size(local_filename, getLocalAPRFilePool()); if (local_size > 0) { return TRUE ; @@ -849,7 +856,7 @@ BOOL LLTextureCache::isInLocal(const LLUUID& id) // If not, is it a jpeg file? { local_filename = filename + ".jpg"; - local_size = LLAPRFile::size(local_filename); + local_size = LLAPRFile::size(local_filename, getLocalAPRFilePool()); if (local_size > 0) { return TRUE ; @@ -859,7 +866,7 @@ BOOL LLTextureCache::isInLocal(const LLUUID& id) // Hmm... What about a targa file? (used for UI texture mostly) { local_filename = filename + ".tga"; - local_size = LLAPRFile::size(local_filename); + local_size = LLAPRFile::size(local_filename, getLocalAPRFilePool()); if (local_size > 0) { return TRUE ; @@ -905,10 +912,10 @@ void LLTextureCache::purgeCache(ELLPath location) if(LLFile::isdir(mTexturesDirName)) { std::string file_name = gDirUtilp->getExpandedFilename(location, entries_filename); - LLAPRFile::remove(file_name); + LLAPRFile::remove(file_name, getLocalAPRFilePool()); file_name = gDirUtilp->getExpandedFilename(location, cache_filename); - LLAPRFile::remove(file_name); + LLAPRFile::remove(file_name, getLocalAPRFilePool()); purgeAllTextures(true); } @@ -984,9 +991,7 @@ LLAPRFile* LLTextureCache::openHeaderEntriesFile(bool readonly, S32 offset) { llassert_always(mHeaderAPRFile == NULL); apr_int32_t flags = readonly ? APR_READ|APR_BINARY : APR_READ|APR_WRITE|APR_BINARY; - // All code calling openHeaderEntriesFile, immediately calls closeHeaderEntriesFile, - // so this file is very short-lived. - mHeaderAPRFile = new LLAPRFile(mHeaderEntriesFileName, flags); + mHeaderAPRFile = new LLAPRFile(mHeaderEntriesFileName, flags, getLocalAPRFilePool()); if(offset > 0) { mHeaderAPRFile->seek(APR_SET, offset); @@ -1009,9 +1014,10 @@ void LLTextureCache::readEntriesHeader() { // mHeaderEntriesInfo initializes to default values so safe not to read it llassert_always(mHeaderAPRFile == NULL); - if (LLAPRFile::isExist(mHeaderEntriesFileName)) + if (LLAPRFile::isExist(mHeaderEntriesFileName, getLocalAPRFilePool())) { - LLAPRFile::readEx(mHeaderEntriesFileName, (U8*)&mHeaderEntriesInfo, 0, sizeof(EntriesInfo)); + LLAPRFile::readEx(mHeaderEntriesFileName, (U8*)&mHeaderEntriesInfo, 0, sizeof(EntriesInfo), + getLocalAPRFilePool()); } else //create an empty entries header. { @@ -1026,7 +1032,8 @@ void LLTextureCache::writeEntriesHeader() llassert_always(mHeaderAPRFile == NULL); if (!mReadOnly) { - LLAPRFile::writeEx(mHeaderEntriesFileName, (U8*)&mHeaderEntriesInfo, 0, sizeof(EntriesInfo)); + LLAPRFile::writeEx(mHeaderEntriesFileName, (U8*)&mHeaderEntriesInfo, 0, sizeof(EntriesInfo), + getLocalAPRFilePool()); } } @@ -1616,7 +1623,7 @@ void LLTextureCache::purgeTextures(bool validate) if (uuididx == validate_idx) { LL_DEBUGS("TextureCache") << "Validating: " << filename << "Size: " << entries[idx].mBodySize << LL_ENDL; - S32 bodysize = LLAPRFile::size(filename); + S32 bodysize = LLAPRFile::size(filename, getLocalAPRFilePool()); if (bodysize != entries[idx].mBodySize) { LL_WARNS("TextureCache") << "TEXTURE CACHE BODY HAS BAD SIZE: " << bodysize << " != " << entries[idx].mBodySize @@ -1851,7 +1858,7 @@ void LLTextureCache::removeCachedTexture(const LLUUID& id) mTexturesSizeMap.erase(id); } mHeaderIDMap.erase(id); - LLAPRFile::remove(getTextureFileName(id)); + LLAPRFile::remove(getTextureFileName(id), getLocalAPRFilePool()); } //called after mHeaderMutex is locked. @@ -1863,7 +1870,7 @@ void LLTextureCache::removeEntry(S32 idx, Entry& entry, std::string& filename) { if (entry.mBodySize == 0) // Always attempt to remove when mBodySize > 0. { - if (LLAPRFile::isExist(filename)) // Sanity check. Shouldn't exist when body size is 0. + if (LLAPRFile::isExist(filename, getLocalAPRFilePool())) // Sanity check. Shouldn't exist when body size is 0. { LL_WARNS("TextureCache") << "Entry has body size of zero but file " << filename << " exists. Deleting this file, too." << LL_ENDL; } @@ -1884,7 +1891,7 @@ void LLTextureCache::removeEntry(S32 idx, Entry& entry, std::string& filename) if (file_maybe_exists) { - LLAPRFile::remove(filename); + LLAPRFile::remove(filename, getLocalAPRFilePool()); } } diff --git a/indra/newview/lltexturecache.h b/indra/newview/lltexturecache.h index 79f5ba58358..64e3a2658c3 100644 --- a/indra/newview/lltexturecache.h +++ b/indra/newview/lltexturecache.h @@ -142,6 +142,9 @@ class LLTextureCache : public LLWorkerThread std::string getTextureFileName(const LLUUID& id); void addCompleted(Responder* responder, bool success); +protected: + //void setFileAPRPool(apr_pool_t* pool) { mFileAPRPool = pool ; } + private: void setDirNames(ELLPath location); void readHeaderCache(); diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index 139b434aeb4..18c3a3b87dd 100644 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -674,6 +674,7 @@ LLTextureFetchWorker::LLTextureFetchWorker(LLTextureFetch* fetcher, mRetryAttempt(0), mActiveCount(0), mGetStatus(0), + mWorkMutex(NULL), mFirstPacket(0), mLastPacket(-1), mTotalPackets(0), @@ -1815,6 +1816,8 @@ LLTextureFetch::LLTextureFetch(LLTextureCache* cache, LLImageDecodeThread* image mDebugPause(FALSE), mPacketCount(0), mBadPacketCount(0), + mQueueMutex(getAPRPool()), + mNetworkQueueMutex(getAPRPool()), mTextureCache(cache), mImageDecodeThread(imagedecodethread), mTextureBandwidth(0), diff --git a/indra/newview/llviewermenufile.cpp b/indra/newview/llviewermenufile.cpp index 6bee7556cd1..fda291f3c1c 100644 --- a/indra/newview/llviewermenufile.cpp +++ b/indra/newview/llviewermenufile.cpp @@ -736,7 +736,8 @@ void upload_new_resource(const std::string& src_filename, std::string name, uuid = tid.makeAssetID(gAgent.getSecureSessionID()); // copy this file into the vfs for upload S32 file_size; - LLAPRFile infile(filename, LL_APR_RB, &file_size); + LLAPRFile infile ; + infile.open(filename, LL_APR_RB, NULL, &file_size); if (infile.getFileHandle()) { LLVFile file(gVFS, uuid, asset_type, LLVFile::WRITE); diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 2cd9b099324..fd89044995a 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -7190,7 +7190,8 @@ void LLVOAvatar::useBakedTexture( const LLUUID& id ) // static void LLVOAvatar::dumpArchetypeXML( void* ) { - LLAPRFile outfile(gDirUtilp->getExpandedFilename(LL_PATH_CHARACTER, "new archetype.xml"), LL_APR_WB); + LLAPRFile outfile; + outfile.open(gDirUtilp->getExpandedFilename(LL_PATH_CHARACTER,"new archetype.xml"), LL_APR_WB ); apr_file_t* file = outfile.getFileHandle() ; if (!file) { diff --git a/indra/newview/llvocache.cpp b/indra/newview/llvocache.cpp index d25831b4f11..a9335007062 100644 --- a/indra/newview/llvocache.cpp +++ b/indra/newview/llvocache.cpp @@ -30,14 +30,14 @@ #include "llregionhandle.h" #include "llviewercontrol.h" -static BOOL check_read(LLAPRFile& apr_file, void* src, S32 n_bytes) +BOOL check_read(LLAPRFile* apr_file, void* src, S32 n_bytes) { - return apr_file.read(src, n_bytes) == n_bytes ; + return apr_file->read(src, n_bytes) == n_bytes ; } -static BOOL check_write(LLAPRFile& apr_file, void* src, S32 n_bytes) +BOOL check_write(LLAPRFile* apr_file, void* src, S32 n_bytes) { - return apr_file.write(src, n_bytes) == n_bytes ; + return apr_file->write(src, n_bytes) == n_bytes ; } @@ -70,7 +70,7 @@ LLVOCacheEntry::LLVOCacheEntry() mDP.assignBuffer(mBuffer, 0); } -LLVOCacheEntry::LLVOCacheEntry(LLAPRFile& apr_file) +LLVOCacheEntry::LLVOCacheEntry(LLAPRFile* apr_file) { S32 size = -1; BOOL success; @@ -185,7 +185,7 @@ void LLVOCacheEntry::dump() const << llendl; } -BOOL LLVOCacheEntry::writeToFile(LLAPRFile& apr_file) const +BOOL LLVOCacheEntry::writeToFile(LLAPRFile* apr_file) const { BOOL success; success = check_write(apr_file, (void*)&mLocalID, sizeof(U32)); @@ -266,6 +266,7 @@ LLVOCache::LLVOCache(): mCacheSize(1) { mEnabled = gSavedSettings.getBOOL("ObjectCacheEnabled"); + mLocalAPRFilePoolp = new LLVolatileAPRPool() ; } LLVOCache::~LLVOCache() @@ -275,6 +276,7 @@ LLVOCache::~LLVOCache() writeCacheHeader(); clearCacheInMemory(); } + delete mLocalAPRFilePoolp; } void LLVOCache::setDirNames(ELLPath location) @@ -435,7 +437,7 @@ void LLVOCache::removeFromCache(HeaderEntryInfo* entry) std::string filename; getObjectCacheFilename(entry->mHandle, filename); - LLAPRFile::remove(filename); + LLAPRFile::remove(filename, mLocalAPRFilePoolp); entry->mTime = INVALID_TIME ; updateEntry(entry) ; //update the head file. } @@ -452,12 +454,12 @@ void LLVOCache::readCacheHeader() clearCacheInMemory(); bool success = true ; - if (LLAPRFile::isExist(mHeaderFileName)) + if (LLAPRFile::isExist(mHeaderFileName, mLocalAPRFilePoolp)) { - LLAPRFile apr_file(mHeaderFileName, APR_READ|APR_BINARY); + LLAPRFile apr_file(mHeaderFileName, APR_READ|APR_BINARY, mLocalAPRFilePoolp); //read the meta element - success = check_read(apr_file, &mMetaInfo, sizeof(HeaderMetaInfo)) ; + success = check_read(&apr_file, &mMetaInfo, sizeof(HeaderMetaInfo)) ; if(success) { @@ -470,7 +472,7 @@ void LLVOCache::readCacheHeader() { entry = new HeaderEntryInfo() ; } - success = check_read(apr_file, entry, sizeof(HeaderEntryInfo)); + success = check_read(&apr_file, entry, sizeof(HeaderEntryInfo)); if(!success) //failed { @@ -539,17 +541,17 @@ void LLVOCache::writeCacheHeader() bool success = true ; { - LLAPRFile apr_file(mHeaderFileName, APR_CREATE|APR_WRITE|APR_BINARY); + LLAPRFile apr_file(mHeaderFileName, APR_CREATE|APR_WRITE|APR_BINARY, mLocalAPRFilePoolp); //write the meta element - success = check_write(apr_file, &mMetaInfo, sizeof(HeaderMetaInfo)) ; + success = check_write(&apr_file, &mMetaInfo, sizeof(HeaderMetaInfo)) ; mNumEntries = 0 ; for(header_entry_queue_t::iterator iter = mHeaderEntryQueue.begin() ; success && iter != mHeaderEntryQueue.end(); ++iter) { (*iter)->mIndex = mNumEntries++ ; - success = check_write(apr_file, (void*)*iter, sizeof(HeaderEntryInfo)); + success = check_write(&apr_file, (void*)*iter, sizeof(HeaderEntryInfo)); } mNumEntries = mHeaderEntryQueue.size() ; @@ -560,7 +562,7 @@ void LLVOCache::writeCacheHeader() for(S32 i = mNumEntries ; success && i < MAX_NUM_OBJECT_ENTRIES ; i++) { //fill the cache with the default entry. - success = check_write(apr_file, entry, sizeof(HeaderEntryInfo)) ; + success = check_write(&apr_file, entry, sizeof(HeaderEntryInfo)) ; } delete entry ; @@ -577,10 +579,10 @@ void LLVOCache::writeCacheHeader() BOOL LLVOCache::updateEntry(const HeaderEntryInfo* entry) { - LLAPRFile apr_file(mHeaderFileName, APR_WRITE|APR_BINARY); - apr_file.seek(APR_SET, entry->mIndex * sizeof(HeaderEntryInfo) + sizeof(HeaderMetaInfo)); + LLAPRFile apr_file(mHeaderFileName, APR_WRITE|APR_BINARY, mLocalAPRFilePoolp); + apr_file.seek(APR_SET, entry->mIndex * sizeof(HeaderEntryInfo) + sizeof(HeaderMetaInfo)) ; - return check_write(apr_file, (void*)entry, sizeof(HeaderEntryInfo)) ; + return check_write(&apr_file, (void*)entry, sizeof(HeaderEntryInfo)) ; } void LLVOCache::readFromCache(U64 handle, const LLUUID& id, LLVOCacheEntry::vocache_entry_map_t& cache_entry_map) @@ -603,10 +605,10 @@ void LLVOCache::readFromCache(U64 handle, const LLUUID& id, LLVOCacheEntry::voca { std::string filename; getObjectCacheFilename(handle, filename); - LLAPRFile apr_file(filename, APR_READ|APR_BINARY); + LLAPRFile apr_file(filename, APR_READ|APR_BINARY, mLocalAPRFilePoolp); LLUUID cache_id ; - success = check_read(apr_file, cache_id.mData, UUID_BYTES) ; + success = check_read(&apr_file, cache_id.mData, UUID_BYTES) ; if(success) { @@ -619,11 +621,11 @@ void LLVOCache::readFromCache(U64 handle, const LLUUID& id, LLVOCacheEntry::voca if(success) { S32 num_entries; - success = check_read(apr_file, &num_entries, sizeof(S32)) ; + success = check_read(&apr_file, &num_entries, sizeof(S32)) ; for (S32 i = 0; success && i < num_entries; i++) { - LLVOCacheEntry* entry = new LLVOCacheEntry(apr_file); + LLVOCacheEntry* entry = new LLVOCacheEntry(&apr_file); if (!entry->getLocalID()) { llwarns << "Aborting cache file load for " << filename << ", cache file corruption!" << llendl; @@ -722,19 +724,19 @@ void LLVOCache::writeToCache(U64 handle, const LLUUID& id, const LLVOCacheEntry: { std::string filename; getObjectCacheFilename(handle, filename); - LLAPRFile apr_file(filename, APR_CREATE|APR_WRITE|APR_BINARY); + LLAPRFile apr_file(filename, APR_CREATE|APR_WRITE|APR_BINARY, mLocalAPRFilePoolp); - success = check_write(apr_file, (void*)id.mData, UUID_BYTES) ; + success = check_write(&apr_file, (void*)id.mData, UUID_BYTES) ; if(success) { S32 num_entries = cache_entry_map.size() ; - success = check_write(apr_file, &num_entries, sizeof(S32)); + success = check_write(&apr_file, &num_entries, sizeof(S32)); for (LLVOCacheEntry::vocache_entry_map_t::const_iterator iter = cache_entry_map.begin(); success && iter != cache_entry_map.end(); ++iter) { - success = iter->second->writeToFile(apr_file) ; + success = iter->second->writeToFile(&apr_file) ; } } } diff --git a/indra/newview/llvocache.h b/indra/newview/llvocache.h index 76456b9e987..14e3b4c7935 100644 --- a/indra/newview/llvocache.h +++ b/indra/newview/llvocache.h @@ -41,7 +41,7 @@ class LLVOCacheEntry { public: LLVOCacheEntry(U32 local_id, U32 crc, LLDataPackerBinaryBuffer &dp); - LLVOCacheEntry(LLAPRFile& apr_file); + LLVOCacheEntry(LLAPRFile* apr_file); LLVOCacheEntry(); ~LLVOCacheEntry(); @@ -51,7 +51,7 @@ class LLVOCacheEntry S32 getCRCChangeCount() const { return mCRCChangeCount; } void dump() const; - BOOL writeToFile(LLAPRFile& apr_file) const; + BOOL writeToFile(LLAPRFile* apr_file) const; void assignCRC(U32 crc, LLDataPackerBinaryBuffer &dp); LLDataPackerBinaryBuffer *getDP(U32 crc); void recordHit(); @@ -142,6 +142,7 @@ class LLVOCache U32 mNumEntries; std::string mHeaderFileName ; std::string mObjectCacheDirName; + LLVolatileAPRPool* mLocalAPRFilePoolp ; header_entry_queue_t mHeaderEntryQueue; handle_entry_map_t mHandleEntryMap; diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp index 828207ce1ab..08e242af8eb 100644 --- a/indra/newview/llvoicevivox.cpp +++ b/indra/newview/llvoicevivox.cpp @@ -961,7 +961,7 @@ void LLVivoxVoiceClient::stateMachine() if(!mSocket) { - mSocket = LLSocket::create(LLSocket::STREAM_TCP); + mSocket = LLSocket::create(gAPRPoolp, LLSocket::STREAM_TCP); } mConnected = mSocket->blockingConnect(mDaemonHost); diff --git a/indra/newview/llwatchdog.cpp b/indra/newview/llwatchdog.cpp index d982ca50200..16941268028 100644 --- a/indra/newview/llwatchdog.cpp +++ b/indra/newview/llwatchdog.cpp @@ -178,8 +178,8 @@ void LLWatchdog::init(killer_event_callback func) mKillerCallback = func; if(!mSuspectsAccessMutex && !mTimer) { - mSuspectsAccessMutex = new LLMutex; - mTimer = new LLWatchdogTimerThread; + mSuspectsAccessMutex = new LLMutex(NULL); + mTimer = new LLWatchdogTimerThread(); mTimer->setSleepTime(WATCHDOG_SLEEP_TIME_USEC / 1000); mLastClockCount = LLTimer::getTotalTime(); diff --git a/indra/newview/tests/llworldmap_test.cpp b/indra/newview/tests/llworldmap_test.cpp index 102294959a3..acc6e814bc7 100644 --- a/indra/newview/tests/llworldmap_test.cpp +++ b/indra/newview/tests/llworldmap_test.cpp @@ -27,6 +27,7 @@ // Dependencies #include "linden_common.h" +#include "llapr.h" #include "llsingleton.h" #include "lltrans.h" #include "lluistring.h" diff --git a/indra/test/lltemplatemessagebuilder_tut.cpp b/indra/test/lltemplatemessagebuilder_tut.cpp index 532f26ee608..09beb53869d 100644 --- a/indra/test/lltemplatemessagebuilder_tut.cpp +++ b/indra/test/lltemplatemessagebuilder_tut.cpp @@ -29,6 +29,7 @@ #include "linden_common.h" #include "lltut.h" +#include "llapr.h" #include "llmessagetemplate.h" #include "llquaternion.h" #include "lltemplatemessagebuilder.h" @@ -52,6 +53,7 @@ namespace tut static bool init = false; if(! init) { + ll_init_apr(); const F32 circuit_heartbeat_interval=5; const F32 circuit_timeout=100; diff --git a/indra/test/message_tut.cpp b/indra/test/message_tut.cpp index 9a6ccd4d681..d971b334752 100644 --- a/indra/test/message_tut.cpp +++ b/indra/test/message_tut.cpp @@ -29,6 +29,7 @@ #include "linden_common.h" #include "lltut.h" +#include "llapr.h" #include "llmessageconfig.h" #include "llsdserialize.h" #include "llversionserver.h" @@ -61,6 +62,7 @@ namespace tut static bool init = false; if(!init) { + ll_init_apr(); //init_prehash_data(); init = true; } diff --git a/indra/test/test.cpp b/indra/test/test.cpp index 45e8aef99a9..ffdb0cb976a 100644 --- a/indra/test/test.cpp +++ b/indra/test/test.cpp @@ -37,8 +37,8 @@ #include "linden_common.h" #include "llerrorcontrol.h" #include "lltut.h" -#include "llaprpool.h" +#include "apr_pools.h" #include "apr_getopt.h" // the CTYPE_WORKAROUND is needed for linux dev stations that don't @@ -349,12 +349,17 @@ int main(int argc, char **argv) ctype_workaround(); #endif - LLAPRPool pool; - pool.create(); + apr_initialize(); + apr_pool_t* pool = NULL; + if(APR_SUCCESS != apr_pool_create(&pool, NULL)) + { + std::cerr << "Unable to initialize pool" << std::endl; + return 1; + } apr_getopt_t* os = NULL; - if(APR_SUCCESS != apr_getopt_init(&os, pool(), argc, argv)) + if(APR_SUCCESS != apr_getopt_init(&os, pool, argc, argv)) { - std::cerr << "Unable to initialize the arguments for parsing by apr_getopt()." << std::endl; + std::cerr << "Unable to pool" << std::endl; return 1; } @@ -472,6 +477,8 @@ int main(int argc, char **argv) s.close(); } + apr_terminate(); + int retval = (success ? 0 : 1); return retval; diff --git a/indra/test_apps/llplugintest/llmediaplugintest.cpp b/indra/test_apps/llplugintest/llmediaplugintest.cpp index fd46626ff11..4a2272032b0 100644 --- a/indra/test_apps/llplugintest/llmediaplugintest.cpp +++ b/indra/test_apps/llplugintest/llmediaplugintest.cpp @@ -27,6 +27,7 @@ #include "linden_common.h" #include "indra_constants.h" +#include "llapr.h" #include "llerrorcontrol.h" #include <math.h> @@ -185,6 +186,9 @@ LLMediaPluginTest::LLMediaPluginTest( int app_window, int window_width, int wind std::cout << "Unable to read bookmarks from file: " << bookmarks_filename << std::endl; }; + // initialize linden lab APR module + ll_init_apr(); + // Set up llerror logging { LLError::initForApplication("."); diff --git a/indra/viewer_components/updater/llupdateinstaller.cpp b/indra/viewer_components/updater/llupdateinstaller.cpp index 6aa87d1be6e..d450c068ade 100644 --- a/indra/viewer_components/updater/llupdateinstaller.cpp +++ b/indra/viewer_components/updater/llupdateinstaller.cpp @@ -26,7 +26,6 @@ #include "linden_common.h" #include <apr_file_io.h> #include "llapr.h" -#include "llscopedvolatileaprpool.h" #include "llprocesslauncher.h" #include "llupdateinstaller.h" #include "lldir.h" @@ -46,8 +45,7 @@ namespace { { std::string scriptFile = gDirUtilp->getBaseFileName(path); std::string newPath = gDirUtilp->getExpandedFilename(LL_PATH_TEMP, scriptFile); - LLScopedVolatileAPRPool pool; - apr_status_t status = apr_file_copy(path.c_str(), newPath.c_str(), APR_FILE_SOURCE_PERMS, pool); + apr_status_t status = apr_file_copy(path.c_str(), newPath.c_str(), APR_FILE_SOURCE_PERMS, gAPRPoolp); if(status != APR_SUCCESS) throw RelocateError(); return newPath; -- GitLab From 667c241177b9a23c305816fafb4feb81b0a93ba0 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 14 Oct 2011 10:31:00 -0700 Subject: [PATCH 212/256] * Changed "Buy L$" and "Shop" buttons to gray per design. * Removed "marketplace" button from toybox and default toolbar configuration --- indra/newview/app_settings/commands.xml | 2 +- indra/newview/app_settings/toolbars.xml | 3 +-- .../skins/default/textures/textures.xml | 1 + .../skins/default/xui/en/panel_status_bar.xml | 18 +++++++++--------- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 9d4d268075c..3d3c13f5d81 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -111,7 +111,7 @@ is_running_parameters="world_map" /> <command name="marketplace" - available_in_toybox="true" + available_in_toybox="false" icon="Command_Marketplace_Icon" label_ref="Command_Marketplace_Label" tooltip_ref="Command_Marketplace_Tooltip" diff --git a/indra/newview/app_settings/toolbars.xml b/indra/newview/app_settings/toolbars.xml index 8eb438b857c..f2192a75ad4 100644 --- a/indra/newview/app_settings/toolbars.xml +++ b/indra/newview/app_settings/toolbars.xml @@ -18,8 +18,7 @@ <command name="inventory"/> <command name="search"/> <command name="places"/> - <command name="marketplace"/> <command name="voice"/> <command name="minimap"/> </left_toolbar> -</toolbars> \ No newline at end of file +</toolbars> diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index ab1a8f09904..53a5de0189e 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -461,6 +461,7 @@ with the same filename but different name <texture name="PushButton_Off" file_name="widgets/PushButton_Off.png" preload="true" scale.left="4" scale.top="19" scale.right="28" scale.bottom="4" /> <texture name="PushButton_On" file_name="widgets/PushButton_On.png" preload="true" scale.left="4" scale.top="19" scale.right="28" scale.bottom="4" /> <texture name="PushButton_On_Selected" file_name="widgets/PushButton_On_Selected.png" preload="true" scale.left="4" scale.top="19" scale.right="28" scale.bottom="4" /> + <texture name="PushButton_Over" file_name="widgets/PushButton_Over.png" preload="true" scale.left="4" scale.top="19" scale.right="28" scale.bottom="4" /> <texture name="PushButton_Press" file_name="widgets/PushButton_Press.png" preload="true" scale.left="4" scale.top="19" scale.right="28" scale.bottom="4" /> <texture name="PushButton_Selected" file_name="widgets/PushButton_Selected.png" preload="true" scale.left="4" scale.top="19" scale.right="28" scale.bottom="4" /> <texture name="PushButton_Selected_Press" file_name="widgets/PushButton_Selected_Press.png" preload="true" scale.left="4" scale.top="19" scale.right="28" scale.bottom="4" /> diff --git a/indra/newview/skins/default/xui/en/panel_status_bar.xml b/indra/newview/skins/default/xui/en/panel_status_bar.xml index c983e0792a7..422bbada7ff 100644 --- a/indra/newview/skins/default/xui/en/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml @@ -36,7 +36,7 @@ <panel height="18" left="-370" - width="150" + width="160" top="1" follows="right|top" name="balance_bg" @@ -60,9 +60,9 @@ halign="center" font="SansSerifSmall" follows="right|top|bottom" - image_hover_unselected="buy_over" - image_unselected="buy_off" - image_pressed="buy_press" + image_hover_unselected="PushButton_Over" + image_unselected="PushButton_Off" + image_pressed="PushButton_Press" height="18" label="Buy L$" label_color="White" @@ -81,9 +81,9 @@ imgoverlay_label_space="7" image_overlay="Command_MiniCart_Icon" image_overlay_alignment="left" - image_hover_unselected="buy_over" - image_unselected="buy_off" - image_pressed="buy_press" + image_hover_unselected="PushButton_Over" + image_unselected="PushButton_Off" + image_pressed="PushButton_Press" height="18" label="Shop" label_color="White" @@ -92,9 +92,9 @@ name="goShop" pad_right="0" pad_bottom="2" - tool_tip="Go shopping" + tool_tip="Open Second Life Marketplace" top="0" - width="55" /> + width="65" /> </panel> <text type="string" -- GitLab From 4924f0c99b021869967f4587df703084d2bdc8ed Mon Sep 17 00:00:00 2001 From: Dave Parks <davep@lindenlab.com> Date: Fri, 14 Oct 2011 12:38:48 -0500 Subject: [PATCH 213/256] b782a75c99e6 backout cleanup --- indra/llcommon/llmemory.cpp | 2 +- indra/llcommon/llthread.cpp | 100 ++++++++++++------------ indra/llcommon/llthread.h | 14 +++- indra/llimage/llimagedxt.cpp | 1 + indra/llimage/llimagej2c.cpp | 1 + indra/llmessage/llcurl.cpp | 6 +- indra/llmessage/lliosocket.h | 6 -- indra/llmessage/llproxy.cpp | 4 +- indra/newview/llfloatermodelpreview.cpp | 4 +- indra/newview/llmeshrepository.cpp | 14 ++-- indra/newview/lltexturecache.cpp | 1 + indra/newview/llviewermenufile.cpp | 2 +- 12 files changed, 84 insertions(+), 71 deletions(-) diff --git a/indra/llcommon/llmemory.cpp b/indra/llcommon/llmemory.cpp index 3b27a1639a0..3c5c20d0bf2 100644 --- a/indra/llcommon/llmemory.cpp +++ b/indra/llcommon/llmemory.cpp @@ -1325,7 +1325,7 @@ LLPrivateMemoryPool::LLPrivateMemoryPool(S32 type, U32 max_pool_size) : { if(type == STATIC_THREADED || type == VOLATILE_THREADED) { - mMutexp = new LLMutex ; + mMutexp = new LLMutex(NULL) ; } for(S32 i = 0 ; i < SUPER_ALLOCATION ; i++) diff --git a/indra/llcommon/llthread.cpp b/indra/llcommon/llthread.cpp index ed4f9eb376f..4063cc730b4 100644 --- a/indra/llcommon/llthread.cpp +++ b/indra/llcommon/llthread.cpp @@ -36,12 +36,6 @@ #include <sched.h> #endif -#if !LL_DARWIN -U32 ll_thread_local local_thread_ID = 0; -#endif - -U32 LLThread::sIDIter = 0; - //---------------------------------------------------------------------------- // Usage: // void run_func(LLThread* thread) @@ -62,6 +56,12 @@ U32 LLThread::sIDIter = 0; // //---------------------------------------------------------------------------- +#if !LL_DARWIN +U32 ll_thread_local sThreadID = 0; +#endif + +U32 LLThread::sIDIter = 0; + LL_COMMON_API void assert_main_thread() { static U32 s_thread_id = LLThread::currentID(); @@ -79,7 +79,7 @@ void *APR_THREAD_FUNC LLThread::staticRun(apr_thread_t *apr_threadp, void *datap LLThread *threadp = (LLThread *)datap; #if !LL_DARWIN - local_thread_ID = threadp->mID; + sThreadID = threadp->mID; #endif // Run the user supplied function @@ -100,6 +100,8 @@ LLThread::LLThread(const std::string& name, apr_pool_t *poolp) : mAPRThreadp(NULL), mStatus(STOPPED) { + mID = ++sIDIter; + // Thread creation probably CAN be paranoid about APR being initialized, if necessary if (poolp) { @@ -162,7 +164,7 @@ void LLThread::shutdown() if (!isStopped()) { // This thread just wouldn't stop, even though we gave it time - //llwarns << "LLThread::shutdown() exiting thread before clean exit!" << llendl; + //llwarns << "LLThread::~LLThread() exiting thread before clean exit!" << llendl; // Put a stake in its heart. apr_thread_exit(mAPRThreadp, -1); return; @@ -302,7 +304,7 @@ void LLThread::wakeLocked() //============================================================================ LLMutex::LLMutex(apr_pool_t *poolp) : - mAPRMutexp(NULL) + mAPRMutexp(NULL), mCount(0), mLockingThread(NO_THREAD) { //if (poolp) //{ @@ -321,7 +323,8 @@ LLMutex::LLMutex(apr_pool_t *poolp) : LLMutex::~LLMutex() { #if MUTEX_DEBUG - llassert_always(!isLocked()); // better not be locked! + //bad assertion, the subclass LLSignal might be "locked", and that's OK + //llassert_always(!isLocked()); // better not be locked! #endif apr_thread_mutex_destroy(mAPRMutexp); mAPRMutexp = NULL; @@ -334,7 +337,18 @@ LLMutex::~LLMutex() void LLMutex::lock() { +#if LL_DARWIN + if (mLockingThread == LLThread::currentID()) +#else + if (mLockingThread == sThreadID) +#endif + { //redundant lock + mCount++; + return; + } + apr_thread_mutex_lock(mAPRMutexp); + #if MUTEX_DEBUG // Have to have the lock before we can access the debug info U32 id = LLThread::currentID(); @@ -342,10 +356,22 @@ void LLMutex::lock() llerrs << "Already locked in Thread: " << id << llendl; mIsLocked[id] = TRUE; #endif + +#if LL_DARWIN + mLockingThread = LLThread::currentID(); +#else + mLockingThread = sThreadID; +#endif } void LLMutex::unlock() { + if (mCount > 0) + { //not the root unlock + mCount--; + return; + } + #if MUTEX_DEBUG // Access the debug info while we have the lock U32 id = LLThread::currentID(); @@ -353,6 +379,8 @@ void LLMutex::unlock() llerrs << "Not locked in Thread: " << id << llendl; mIsLocked[id] = FALSE; #endif + + mLockingThread = NO_THREAD; apr_thread_mutex_unlock(mAPRMutexp); } @@ -370,6 +398,11 @@ bool LLMutex::isLocked() } } +U32 LLMutex::lockingThread() const +{ + return mLockingThread; +} + //============================================================================ LLCondition::LLCondition(apr_pool_t *poolp) : @@ -390,6 +423,15 @@ LLCondition::~LLCondition() void LLCondition::wait() { + if (!isLocked()) + { //mAPRMutexp MUST be locked before calling apr_thread_cond_wait + apr_thread_mutex_lock(mAPRMutexp); +#if MUTEX_DEBUG + // avoid asserts on destruction in non-release builds + U32 id = LLThread::currentID(); + mIsLocked[id] = TRUE; +#endif + } apr_thread_cond_wait(mAPRCondp, mAPRMutexp); } @@ -404,44 +446,6 @@ void LLCondition::broadcast() } //============================================================================ -LLMutexBase::LLMutexBase() : - mLockingThread(NO_THREAD), - mCount(0) -{ -} - -void LLMutexBase::lock() -{ -#if LL_DARWIN - if (mLockingThread == LLThread::currentID()) -#else - if (mLockingThread == local_thread_ID) -#endif - { //redundant lock - mCount++; - return; - } - - apr_thread_mutex_lock(mAPRMutexp); - -#if LL_DARWIN - mLockingThread = LLThread::currentID(); -#else - mLockingThread = local_thread_ID; -#endif -} - -void LLMutexBase::unlock() -{ - if (mCount > 0) - { //not the root unlock - mCount--; - return; - } - mLockingThread = NO_THREAD; - - apr_thread_mutex_unlock(mAPRMutexp); -} //---------------------------------------------------------------------------- diff --git a/indra/llcommon/llthread.h b/indra/llcommon/llthread.h index ad4a6523a1f..40291a25693 100644 --- a/indra/llcommon/llthread.h +++ b/indra/llcommon/llthread.h @@ -86,6 +86,8 @@ class LL_COMMON_API LLThread apr_pool_t *getAPRPool() { return mAPRPoolp; } LLVolatileAPRPool* getLocalAPRFilePool() { return mLocalAPRFilePoolp ; } + U32 getID() const { return mID; } + private: BOOL mPaused; @@ -101,7 +103,7 @@ class LL_COMMON_API LLThread BOOL mIsLocalPool; EThreadStatus mStatus; U32 mID; - + //a local apr_pool for APRFile operations in this thread. If it exists, LLAPRFile::sAPRFilePoolp should not be used. //Note: this pool is used by APRFile ONLY, do NOT use it for any other purposes. // otherwise it will cause severe memory leaking!!! --bao @@ -138,17 +140,27 @@ class LL_COMMON_API LLThread class LL_COMMON_API LLMutex { public: + typedef enum + { + NO_THREAD = 0xFFFFFFFF + } e_locking_thread; + LLMutex(apr_pool_t *apr_poolp); // NULL pool constructs a new pool for the mutex virtual ~LLMutex(); void lock(); // blocks void unlock(); bool isLocked(); // non-blocking, but does do a lock/unlock so not free + U32 lockingThread() const; //get ID of locking thread protected: apr_thread_mutex_t *mAPRMutexp; + mutable U32 mCount; + mutable U32 mLockingThread; + apr_pool_t *mAPRPoolp; BOOL mIsLocalPool; + #if MUTEX_DEBUG std::map<U32, BOOL> mIsLocked; #endif diff --git a/indra/llimage/llimagedxt.cpp b/indra/llimage/llimagedxt.cpp index 2867f5e6f0a..34c67935221 100644 --- a/indra/llimage/llimagedxt.cpp +++ b/indra/llimage/llimagedxt.cpp @@ -26,6 +26,7 @@ #include "linden_common.h" #include "llimagedxt.h" +#include "llmemory.h" //static void LLImageDXT::checkMinWidthHeight(EFileFormat format, S32& width, S32& height) diff --git a/indra/llimage/llimagej2c.cpp b/indra/llimage/llimagej2c.cpp index c44a66f5528..cc8cb66d739 100644 --- a/indra/llimage/llimagej2c.cpp +++ b/indra/llimage/llimagej2c.cpp @@ -29,6 +29,7 @@ #include "llmemtype.h" #include "lltimer.h" #include "llmath.h" +#include "llmemory.h" typedef LLImageJ2CImpl* (*CreateLLImageJ2CFunction)(); typedef void (*DestroyLLImageJ2CFunction)(LLImageJ2CImpl*); diff --git a/indra/llmessage/llcurl.cpp b/indra/llmessage/llcurl.cpp index 6e063818e2b..330028c9268 100644 --- a/indra/llmessage/llcurl.cpp +++ b/indra/llmessage/llcurl.cpp @@ -531,7 +531,7 @@ LLCurl::Multi::Multi() mThreaded = LLCurl::sMultiThreaded && LLThread::currentID() == sMainThreadID; if (mThreaded) { - mSignal = new LLCondition(); + mSignal = new LLCondition(NULL); } else { @@ -1189,8 +1189,8 @@ void LLCurl::initClass(bool multi_threaded) check_curl_code(code); - Easy::sHandleMutex = new LLMutex(); - Easy::sMultiMutex = new LLMutex(); + Easy::sHandleMutex = new LLMutex(NULL); + Easy::sMultiMutex = new LLMutex(NULL); #if SAFE_SSL S32 mutex_count = CRYPTO_num_locks(); diff --git a/indra/llmessage/lliosocket.h b/indra/llmessage/lliosocket.h index d8ee4e9f98c..be0f7dfcc65 100644 --- a/indra/llmessage/lliosocket.h +++ b/indra/llmessage/lliosocket.h @@ -145,12 +145,6 @@ class LLSocket */ apr_socket_t* getSocket() const { return mSocket; } - /** - * @brief Protected constructor since should only make sockets - * with one of the two <code>create()</code> calls. - */ - LLSocket(apr_socket_t* socket, apr_pool_t* pool); - /** * @brief Set default socket options, with SO_NONBLOCK = 0 and a timeout in us. * @param timeout Number of microseconds to wait on this socket. Any diff --git a/indra/llmessage/llproxy.cpp b/indra/llmessage/llproxy.cpp index 4a7d326c0e6..9988fcd9c0f 100644 --- a/indra/llmessage/llproxy.cpp +++ b/indra/llmessage/llproxy.cpp @@ -49,7 +49,7 @@ static void tcp_close_channel(LLSocket::ptr_t* handle_ptr); // Close an open TCP LLProxy::LLProxy(): mHTTPProxyEnabled(false), - mProxyMutex(), + mProxyMutex(NULL), mUDPProxy(), mTCPProxy(), mHTTPProxy(), @@ -524,7 +524,7 @@ static apr_status_t tcp_blocking_handshake(LLSocket::ptr_t handle, char * dataou */ static LLSocket::ptr_t tcp_open_channel(LLHost host) { - LLSocket::ptr_t socket = LLSocket::create(LLSocket::STREAM_TCP); + LLSocket::ptr_t socket = LLSocket::create(NULL, LLSocket::STREAM_TCP); bool connected = socket->blockingConnect(host); if (!connected) { diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp index 5869cf6fee2..881f087d7b7 100644 --- a/indra/newview/llfloatermodelpreview.cpp +++ b/indra/newview/llfloatermodelpreview.cpp @@ -388,7 +388,7 @@ mCalculateBtn(NULL) mLastMouseX = 0; mLastMouseY = 0; mGLName = 0; - mStatusLock = new LLMutex(); + mStatusLock = new LLMutex(NULL); mModelPreview = NULL; mLODMode[LLModel::LOD_HIGH] = 0; @@ -3077,7 +3077,7 @@ LLColor4 LLModelLoader::getDaeColor(daeElement* element) //----------------------------------------------------------------------------- LLModelPreview::LLModelPreview(S32 width, S32 height, LLFloater* fmp) -: LLViewerDynamicTexture(width, height, 3, ORDER_MIDDLE, FALSE), LLMutex() +: LLViewerDynamicTexture(width, height, 3, ORDER_MIDDLE, FALSE), LLMutex(NULL) , mPelvisZOffset( 0.0f ) , mLegacyRigValid( false ) , mRigValidJointUpload( false ) diff --git a/indra/newview/llmeshrepository.cpp b/indra/newview/llmeshrepository.cpp index e12f1407477..a97e256c899 100644 --- a/indra/newview/llmeshrepository.cpp +++ b/indra/newview/llmeshrepository.cpp @@ -447,9 +447,9 @@ LLMeshRepoThread::LLMeshRepoThread() : LLThread("mesh repo") { mWaiting = false; - mMutex = new LLMutex(); - mHeaderMutex = new LLMutex(); - mSignal = new LLCondition(); + mMutex = new LLMutex(NULL); + mHeaderMutex = new LLMutex(NULL); + mSignal = new LLCondition(NULL); } LLMeshRepoThread::~LLMeshRepoThread() @@ -1198,7 +1198,7 @@ LLMeshUploadThread::LLMeshUploadThread(LLMeshUploadThread::instance_list& data, mUploadTextures = upload_textures; mUploadSkin = upload_skin; mUploadJoints = upload_joints; - mMutex = new LLMutex(); + mMutex = new LLMutex(NULL); mCurlRequest = NULL; mPendingUploads = 0; mFinished = false; @@ -2043,7 +2043,7 @@ LLMeshRepository::LLMeshRepository() void LLMeshRepository::init() { - mMeshMutex = new LLMutex(); + mMeshMutex = new LLMutex(NULL); LLConvexDecomposition::getInstance()->initSystem(); @@ -2866,8 +2866,8 @@ LLPhysicsDecomp::LLPhysicsDecomp() mQuitting = false; mDone = false; - mSignal = new LLCondition(); - mMutex = new LLMutex(); + mSignal = new LLCondition(NULL); + mMutex = new LLMutex(NULL); } LLPhysicsDecomp::~LLPhysicsDecomp() diff --git a/indra/newview/lltexturecache.cpp b/indra/newview/lltexturecache.cpp index 9e2aede3ef6..70b0a31308b 100644 --- a/indra/newview/lltexturecache.cpp +++ b/indra/newview/lltexturecache.cpp @@ -36,6 +36,7 @@ // Included to allow LLTextureCache::purgeTextures() to pause watchdog timeout #include "llappviewer.h" +#include "llmemory.h" // Cache organization: // cache/texture.entries diff --git a/indra/newview/llviewermenufile.cpp b/indra/newview/llviewermenufile.cpp index 2f9a555903d..b9293b3b310 100644 --- a/indra/newview/llviewermenufile.cpp +++ b/indra/newview/llviewermenufile.cpp @@ -149,7 +149,7 @@ void LLFilePickerThread::run() //static void LLFilePickerThread::initClass() { - sMutex = new LLMutex(); + sMutex = new LLMutex(NULL); } //static -- GitLab From aa7245fa2b5441285d2de384a9629782456af88a Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 14 Oct 2011 11:46:38 -0700 Subject: [PATCH 214/256] EXP-1361 FIX -- Repositioning Viewer Window on mac triggers click to walk * Mouse clicks outside the root view are now discarded before they can cause problems. Reviewed by Richard --- indra/newview/llviewerwindow.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index b8715bfa5b9..0873e4f6ea3 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -938,6 +938,11 @@ BOOL LLViewerWindow::handleAnyMouseClick(LLWindow *window, LLCoordGL pos, MASK // } //} + // Mark the click as handled and return if we aren't within the root view to avoid spurious bugs + if( !mRootView->pointInView(x, y) ) + { + return TRUE; + } // Give the UI views a chance to process the click if( mRootView->handleAnyMouseClick(x, y, mask, clicktype, down) ) { -- GitLab From b1fa752282408abb3f8f665453d256c2f6f21e15 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 14 Oct 2011 12:13:49 -0700 Subject: [PATCH 215/256] EXP-1368 FIX -- Crash on Exit in FUI viewer --- indra/newview/llappviewer.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 5d2b900510c..20fa26915b3 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -4293,10 +4293,7 @@ void LLAppViewer::idle() return; } - if (!quitRequested()) - { - gViewerWindow->updateUI(); - } + gViewerWindow->updateUI(); /////////////////////////////////////// // Agent and camera movement -- GitLab From 59c45442a121a56918409fcaa6364937374014ad Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 14 Oct 2011 12:45:35 -0700 Subject: [PATCH 216/256] EXP-1372 PROGRESS -- Places and Appearance floaters minimum sizes are different from other fui floaters --- indra/newview/skins/default/xui/en/floater_my_appearance.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/en/floater_my_appearance.xml b/indra/newview/skins/default/xui/en/floater_my_appearance.xml index 74c4e228419..d9f3f1e13f6 100644 --- a/indra/newview/skins/default/xui/en/floater_my_appearance.xml +++ b/indra/newview/skins/default/xui/en/floater_my_appearance.xml @@ -11,7 +11,7 @@ save_rect="true" single_instance="true" title="APPEARANCE" - min_height="230" + min_height="260" min_width="333" width="333"> <panel -- GitLab From 1d53e59befeea6547567b9f6e3c254846048250c Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 14 Oct 2011 12:51:42 -0700 Subject: [PATCH 217/256] EXP-1369 FIX Click to walk pan icon shown and action when click, holding, and dragging on top of UI chrome --- indra/newview/skins/default/xui/en/main_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index 2c07e8e35fb..4d3d431b3a7 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -22,7 +22,7 @@ name="menu_stack" orientation="vertical" top="0"> - <layout_panel mouse_opaque="false" + <layout_panel mouse_opaque="true" follows="left|right|top" name="status_bar_container" tab_stop="false" -- GitLab From 0d215ba34fa479bd1a9c0b589c2f1e42448dfe63 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 14 Oct 2011 13:10:02 -0700 Subject: [PATCH 218/256] EXP-1323 FIX Mouselook text "Press ESC to return to World View" overlaps with bottom toolbar if mode is icon only made mouselook work when hiding ui by unhiding UI first --- indra/newview/llagentcamera.cpp | 5 ++--- indra/newview/llviewermenu.cpp | 1 + 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp index 27e9aa32f24..751b73e1eb0 100644 --- a/indra/newview/llagentcamera.cpp +++ b/indra/newview/llagentcamera.cpp @@ -2041,12 +2041,11 @@ void LLAgentCamera::resetCamera() void LLAgentCamera::changeCameraToMouselook(BOOL animate) { if (!gSavedSettings.getBOOL("EnableMouselook") - || LLViewerJoystick::getInstance()->getOverrideCamera() - || !gViewerWindow->getUIVisibility()) + || LLViewerJoystick::getInstance()->getOverrideCamera()) { return; } - + // visibility changes at end of animation gViewerWindow->getWindow()->resetBusyCount(); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 3dd5d26b6dd..cfbe32a871c 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -6896,6 +6896,7 @@ class LLToggleHowTo : public view_listener_t p.url = gSavedSettings.getString("HowToHelpURL"); p.show_chrome = false; p.target = "__help_how_to"; + p.show_page_title = false; LLFloaterReg::toggleInstanceOrBringToFront("how_to", p); return true; -- GitLab From 32e7a0d52262896c424fa77009a7f454d606322b Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 14 Oct 2011 13:10:15 -0700 Subject: [PATCH 219/256] EXP-1323 FIX Mouselook text "Press ESC to return to World View" overlaps with bottom toolbar if mode is icon only made mouselook work when hiding ui by unhiding UI first --- indra/newview/llagent.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index edb536d337c..5fc95f123a7 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -1973,7 +1973,11 @@ void LLAgent::endAnimationUpdateUI() //--------------------------------------------------------------------- if (gAgentCamera.getCameraMode() == CAMERA_MODE_MOUSELOOK) { - // hide menus + // clean up UI + // first show anything hidden by UI toggle + gViewerWindow->setUIVisibility(TRUE); + + // then hide stuff we want hidden for mouselook gToolBarView->setToolBarsVisible(false); gMenuBarView->setVisible(FALSE); LLNavigationBar::getInstance()->setVisible(FALSE); -- GitLab From 172662ce2a456b76d5c748ea9c5f3f2b4c6f3b2b Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 14 Oct 2011 13:49:48 -0700 Subject: [PATCH 220/256] EXP-1272 FIX Move "How To" to a separate web floater fixed title of how to window to always say "How To" instead of showing url --- indra/newview/llfloaterwebcontent.cpp | 17 +++++++++++------ indra/newview/llfloaterwebcontent.h | 18 ++++++++++-------- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/indra/newview/llfloaterwebcontent.cpp b/indra/newview/llfloaterwebcontent.cpp index c76aeb0498a..f410c31f44f 100644 --- a/indra/newview/llfloaterwebcontent.cpp +++ b/indra/newview/llfloaterwebcontent.cpp @@ -48,13 +48,15 @@ LLFloaterWebContent::_Params::_Params() show_chrome("show_chrome", true), allow_address_entry("allow_address_entry", true), preferred_media_size("preferred_media_size"), - trusted_content("trusted_content", false) + trusted_content("trusted_content", false), + show_page_title("show_page_title", true) {} LLFloaterWebContent::LLFloaterWebContent( const Params& params ) : LLFloater( params ), LLInstanceTracker<LLFloaterWebContent, std::string>(params.id()), - mUUID(params.id()) + mUUID(params.id()), + mShowPageTitle(params.show_page_title) { mCommitCallbackRegistrar.add( "WebContent.Back", boost::bind( &LLFloaterWebContent::onClickBack, this )); mCommitCallbackRegistrar.add( "WebContent.Forward", boost::bind( &LLFloaterWebContent::onClickForward, this )); @@ -359,10 +361,13 @@ void LLFloaterWebContent::handleMediaEvent(LLPluginClassMedia* self, EMediaEvent { std::string page_title = self->getMediaName(); // simulate browser behavior - title is empty, use the current URL - if ( page_title.length() > 0 ) - setTitle( page_title ); - else - setTitle( mCurrentURL ); + if (mShowPageTitle) + { + if ( page_title.length() > 0 ) + setTitle( page_title ); + else + setTitle( mCurrentURL ); + } } else if(event == MEDIA_EVENT_LINK_HOVERED ) { diff --git a/indra/newview/llfloaterwebcontent.h b/indra/newview/llfloaterwebcontent.h index 36e214b7a98..6fc66d1ad8c 100644 --- a/indra/newview/llfloaterwebcontent.h +++ b/indra/newview/llfloaterwebcontent.h @@ -53,7 +53,8 @@ class LLFloaterWebContent : id; Optional<bool> show_chrome, allow_address_entry, - trusted_content; + trusted_content, + show_page_title; Optional<LLRect> preferred_media_size; _Params(); @@ -91,13 +92,14 @@ class LLFloaterWebContent : void open_media(const Params& ); void set_current_url(const std::string& url); - LLMediaCtrl* mWebBrowser; - LLComboBox* mAddressCombo; - LLIconCtrl *mSecureLockIcon; - LLTextBox* mStatusBarText; - LLProgressBar* mStatusBarProgress; - std::string mCurrentURL; - std::string mUUID; + LLMediaCtrl* mWebBrowser; + LLComboBox* mAddressCombo; + LLIconCtrl* mSecureLockIcon; + LLTextBox* mStatusBarText; + LLProgressBar* mStatusBarProgress; + std::string mCurrentURL; + std::string mUUID; + bool mShowPageTitle; }; #endif // LL_LLFLOATERWEBCONTENT_H -- GitLab From 93ed1489a5da6781c6bdd5ee2263e6b6147835c8 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 14 Oct 2011 13:54:33 -0700 Subject: [PATCH 221/256] EXP-1366 FIX UI Hints available from Help > Enable Hints menu --- indra/newview/skins/default/xui/en/menu_viewer.xml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 833e8b9f32a..d65deb87ec3 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -1145,14 +1145,6 @@ function="ShowHelp" parameter="f1_help" /> </menu_item_call> - <menu_item_check - label="Enable Hints" - name="Enable Hints"> - <on_check - control="EnableUIHints"/> - <on_click - function="ToggleUIHints"/> - </menu_item_check> <!-- <menu_item_call label="Tutorial" name="Tutorial"> -- GitLab From c224e589d072e733ec5b95f95b3770d5bf0584f0 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 14 Oct 2011 14:23:06 -0700 Subject: [PATCH 222/256] EXP-1272 FIX Move "How To" to a separate web floater added missing file and updated size of floater --- indra/llui/llfloater.cpp | 4 +++- indra/newview/llviewermenu.cpp | 1 + .../skins/default/xui/en/floater_how_to.xml | 17 +++++++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 indra/newview/skins/default/xui/en/floater_how_to.xml diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index fa533e81532..d1d840729d6 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -3048,7 +3048,9 @@ bool LLFloater::initFloaterXML(LLXMLNodePtr node, LLView *parent, const std::str return FALSE; } - parser.readXUI(referenced_xml, params, LLUICtrlFactory::getInstance()->getCurFileName()); + Params referenced_params; + parser.readXUI(referenced_xml, referenced_params, LLUICtrlFactory::getInstance()->getCurFileName()); + params.fillFrom(referenced_params); // add children using dimensions from referenced xml for consistent layout setShape(params.rect); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index cfbe32a871c..10563971b30 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -6897,6 +6897,7 @@ class LLToggleHowTo : public view_listener_t p.show_chrome = false; p.target = "__help_how_to"; p.show_page_title = false; + p.preferred_media_size = LLRect(0, 460, 335, 0); LLFloaterReg::toggleInstanceOrBringToFront("how_to", p); return true; diff --git a/indra/newview/skins/default/xui/en/floater_how_to.xml b/indra/newview/skins/default/xui/en/floater_how_to.xml new file mode 100644 index 00000000000..0369ecbeff4 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_how_to.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + legacy_header_height="18" + can_resize="true" + can_minimize="true" + height="775" + layout="topleft" + min_height="360" + left="10000" + top="10" + min_width="335" + name="floater_how_to" + single_instance="true" + save_rect="true" + title="HOW TO" + width="780" + filename="floater_web_content.xml"/> \ No newline at end of file -- GitLab From 93b6be6288036681c583e23be3b43ed23732352c Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 14 Oct 2011 14:46:21 -0700 Subject: [PATCH 223/256] New icon love for FUI --- indra/llui/llbutton.cpp | 2 +- .../textures/toolbar_icons/mini_map.png | Bin 1645 -> 1766 bytes .../textures/toolbar_icons/nearbyvoice.png | Bin 3160 -> 1460 bytes .../textures/toolbar_icons/preferences.png | Bin 1427 -> 1587 bytes .../default/textures/toolbar_icons/view.png | Bin 1618 -> 1487 bytes 5 files changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 3572d18860d..64fd14ecc9d 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -817,7 +817,7 @@ void LLButton::draw() LLColor4 overlay_color = mImageOverlayColor.get(); if (!enabled) { - overlay_color.mV[VALPHA] = 0.5f; + overlay_color.mV[VALPHA] = 0.3f; } else if (!getToggleState()) { diff --git a/indra/newview/skins/default/textures/toolbar_icons/mini_map.png b/indra/newview/skins/default/textures/toolbar_icons/mini_map.png index b66af223bb27c0b1f6a6de76d4009a740436b8f7..ab0a6540563a128313e4437fec57cee2eed02097 100644 GIT binary patch delta 1161 zcmaFM^Ne?bCu7D$ugMCA3T7sHh9(A<CYCx1Mh1ok`i4gO2Ijhk23Dr#RtAO>|CUUi z#h5ZVi&3+_z}MHxzbG?3GcPg6B|o_|H#M)s)5TV)BDX*<B{Rj!$;86M&CSHw$;rsn z%)-#n$=Sus!r9rv&DGr0!ra1KNdc%5Xa+XDrp|7T7N%~lF6OQ#hK8;NPR7oz7Orjv zCP1A|P6if0y_0pBBo(0QTyUwI{EJbIN6%2fH!(RguOz=XWAY*<gBVjIHv@AgGglW^ zBQxwSD=rC2O|wcN!&j5_n4Rj~txtC`FffaFx;TbZ+$sr)^$1Rsu$z~9<C0Ehj!J7s zO2?vS{432b_IiKhUvq$KZDr!dPhLt*DyKQR1d<b<EpqKxd1LCdw!2rBIZbK0X_Q@@ zoSj|lXD(W5Z@a!GeN8L7+_~Sj_dnbH-uHda`$bHR4B|iEJoqWH$EeXoq4A<#{Q)MQ zpG=KA{}(CoXsmpdR$TncwN=SiYpPsdU!UKiy=Tw*F20*Lzjj&Jc?WaeSEf9%3sbBF z8=voJ{`BaPSpV_Qtl6>`IG!+U<gx6zT)Fq&`6aIB6cytQZkDfH_>i>N69hp3_Wz z%)LA!@~NFmm+V~>Vz=bZgo~a#_hjbgzGbg}6q56XF-v~y_VU{~+sf<q-+%D=XHVGb z(k~mmt~T%eyhKs=X~4T_g0kmRj9zZkaM#h&(b$n^B9)$yz_gq}s6oWRbI!qp8EU+l z2Tz_&`)vN{LEiQ)Cc1ihbxPNnjcyjsIkaozMn_Yx1_d#TV;e%X-_-u-ZQn9w^M(x{ zCfe-i{8<0-yIA*At%<dJ_cB|&lRqNlb>`HWJzuwM{><B$l&01^vwO>w<~voN9z1*g z{P_k8CzV$T&Na=CPIYx{TDnw~|B*st(xVLi+yyGSNA;#_b1waH(o%-+_mwA4@{~TR z)>y4IoB!zJM#HHIN)3f~CinI6TnegLxK5Aldhv&h9S>H%%BnZ~DsujFVAj?u{i81> zCAXb;Cu*@bZoXesS77i=50y`!cdTE!Xw#+%C$3(-y8h<Pn_FMpk=PiqhKsE^?O;pN zqYdgO&z`kyUp7b8PGA51kzc=d%`D!1_w1{6dc0gGAFoKCHhubA&66juGzhJE+-TKS z@#xg)Q|}%(S6qyqzLNFV?_X{80rRS_Oz8Am9xN{}9_~`!wm|yrhrL^tEa5%mlE}i5 zo}IPsp-SEr_wKD8S`$x%hlS0#GDk+c==bV*^XgPC*}P?W$MEIor^CG$CggvVOSGM4 zW@Ka26XToV(hzHL@(Opa+hMna`W=oEE;)SN@3w8TbFclHvtVa|;8mCQ-+ouLMa;h5 zmYCR?l2PzMReIr-`epV^U&1eLn=3ehjb{VD;G_Rs1`HQo-q^FhSpGT#5O})!xvX<a GXaWF<2>wC< delta 994 zcmaFH`<7>dC!^9tugMAq3TB3ShQ=o5=H@yIMh1ok`UXb&hDN%E=2pf=Rt5$W|CUU? z!>BYli!pohE+!=|1>eNv%)FBP;*7~vOfm{?ZkA?F=8opBmL`sdhOP!qmKM$y1}=_f z7OpO?7RH8??GTDAa4LGiWB@bC6sIB!X1H}`I2DyJJJoLsoFK};!1U15#WAGf)|!xb zkIR7~_pWU5iE`^y*qo#^xmRrU#_0znLY$i|yVG{0d|tVzU8ee_q6WvILvd=nSrROE ztac|7>XoLp9a?f^%d<KAER=jMnx(z^_q{e-+PS9W!{2v1pVvI!{d`{a41?Kcx%eK1 zA3Ptoanq(vk0YcS>UjcYmLHd7s!KJR>7f~~A@WaLOHkvuQmKVZ@7}$8y>4`dXq6h3 zC%GQY@8aX-t!38dvF12f64-N9KxCrV(pNKQ&eZ<!f6cme^Nv>etPPV_y7>P4@(nJJ zKkiVP>(@Qi>*?_XgBQysv`=*=C{H+<qBS9opNHp!2v=)eZS7y#KXLU57XAKTOwG+- zpHvLjn;xH%w{F6pseTnU^X7g0`0@Gf-Mg;`Tvd)a$^G9rL8X8B7gnZ5b!%(usG?ZC z=@WN0IW5jLiw-xM`NmAD_pL={SxL#3z~z_k#z#lbK45Cbc}rGS_WPZ@?~yX!=EgiT zF#jI$r^RWZxyHtt#KeQWTSb>h*DD-V$a?+${eIsIekwwN#|~tkFFrjpTEyw{y+u0? zU(7H$Vy&;M>+7mCF|qkzL1|UhE$0hu?`@Nx9EeNeEADnWefo6Y&YhNp7Bce`IBjoy z`B}4lL;B>+EV;iVl+#N~zj7DPh|V#qns9{s&rxGJ$Iqu6{%qc{<3><;xVXj{&)VAh zzx=->PM?ofEuNu$!e2|>xcfm_ZtmNQ%a$#hwrbTX!M$<!TO}7=D0N`3-n4o1X6cRm zGZZ6zeR<E{IksR~_xf#Hw|>2mVifD<{CiK_df(Mo=N&w0_h$bmDVCgbS3{zsZ)X-6 zaPgl_E7o3@rTLAcrETieso_$+ZcW!`ZMpq6Y@$bf3FAL+R>cQXT$CpA^YMLa{2aM7 zsB_|Hp}N480)^>0Id9fo&9Y^`y>;WpM18@NielZ78?AK3x(~f9nUyHbH91zx#b(C* z`R@<*o-dyFjca4kks~wmgm<$3uXAc)tJv7@!D#+n&WZP-<KK;cg%cRUPd5D(Ut%7^ P00f?{elF{nof4V=eC(;^ diff --git a/indra/newview/skins/default/textures/toolbar_icons/nearbyvoice.png b/indra/newview/skins/default/textures/toolbar_icons/nearbyvoice.png index 46e299cb94235afffdf70d3c3c3b7b2e852c2815..22d88af352496bc05d717e828447033dbfc15c31 100644 GIT binary patch literal 1460 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%o&*>5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W~g9hqGxDg zU}<8hqhMrUXrOOsq;FuZYiM9)YHnp<r~m~@K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mih)p`bI{&Koz>hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT-VtFWlg~VrW1CgG|37u|VHY&p<yn7vwLn>f(~1RD?6IsxA(xEJ)Q4 zN-fSWElLK)N18HBGcfG%TLe-Fbd8mNQ6?}_5_4SglS^|`^GZBjY?XjAdMTMHR!$}s zCT?yf&Q4B7re+p~hEC2dW){xQ7H+QQrWWQF<}fp`>UDN=F>^98bTM}^HZ*iKa58pw zwQzMaFahdxax$=h>GjMjE=kNwPKDW<39=WW*8s0xE9aur#FG4?ko^1{SPBTp$S=t+ z&d4uNa1J)rGgR<ROwP;$iGU&q;$N54qRg_?6t|-MTm^6lTV-N#fvJ(3fw_~JtBb3V z8FrsT^rny#YWhIO=!236QgVR_0n;Fe2~Ye$4m|s$<^l6e5ioPyesJzS0|VnDPZ!6K zid#v4et#EdHf7*8b4*J!lT%1#JMzjwhwq5O?Kq~7vI=&rTmD$LsZHpfU??E*^3|&? z?{9BU|NH#Bd>-@BfB*meef)a1x&Hb!vAe65uUh5B8_=uMW@qBON6mNE2DT-FC+>3` z$#lqJJEG_i!+zxa{<^<ktnBRa*iIac;ALVu{`dEHxnG~3Ketx6FMZcdBaQ7*)&$qh zX=iV=<Vc(mxOjDS_`ClfAHP;si05lpJaL0F<wlR><!uaKKON>hb;84+dDjzt4@SYZ z0|gcrHr!`q{P%IgjPzT3tB*gtzCM19+Cc$>e;*#ceYLl`T$Xj_!37Hx^cj2R>K||@ zVd3I9G^dN7nNeQgGsDee4z=-)X&atAeJTY^Ykwa<cwmu|oqhS+>+AY%30A9Ew0?DK zf0UG#4rM&dIAxkt<171yGYJ~n+Oc(ie_gFsn7yy&=a09)zv~}3@at&Xc~=F~_xJbz z<VcdYE_)($g2yeOsX6Kh$B`2`Y%(k7aXz_K4-7T-UoD)=+B>h<Jbm@*6z8=QM_Q63 zg*W*gk(e?;;CS<rcFCIx1q+yj#f=TwA|oUJI-OcxVB6zyl;iXN|NrBSjg0CTHckC7 zgEi>8h(|r+s?dXJ0vsHTA`acWH4XBwChPCuQIck0kzjbKc|AVnW2p(K9QAbdb6Mw< G&;$UuI~G^~ delta 3155 zcmV-Z46O6C3)mQtB!3BTNLh0L01FcU01FcV0GgZ_000V4X+uL$P-t&-Z*ypGa3D!T zLm+T+Z)Rz1WdHzp+MQEpR8#2|J@?-9LQ9B%luK_?6$l_wLW_VDktQl32@pz%A)(n7 zQNa;KMFbnjpojyGj)066Q7jCK3fKqaA)=0hqlk*i`{8?|Yk$_f_vX$1wbwr9tn;0- z&j-K=43<bUQ8j=JsX`tR;Dg7+#^K~HK!FM*Z~zbpvt%K2{UZSY_<lS*D<Z%Lz5oGu z(+dayz)hRLFdT>f59&ghTmgWD0l;*TI7<kC6aYYajzXpYKt=(8otP$50H6c_V9R4- z;{Z@C0AMG7=6}-wfSvf6djSAjlpz%XppgI|6J>}*0BAb^tj|`8MF3bZ02F3R#5n-i zEdVe{S7t~6u(trf&JYW-00;~KFj0twDF6g}0AR=?BX|IWnE(_<@>e|ZE3OddDgXd@ znX){&BsoQaTL>+22Uk}v9w^R97b_GtVFF>AKrX_0nSU8Ffiw@`^UMGMppg|3;Dhu1 zc+L*4&dxTDwhmt{>c0m6B4T3W{^ifBa6kY6;dFk{{wy!E8h|?nfNlPwCGG@hUJIag z_lst-4?wj5py}FI^KkfnJUm6Akh$5}<>chpO2k52Vaiv1{%68pz*qfj`F=e7_x0eu z;v|7GU4MZ`1o+^>%=Ap99M6&ogks$0k4OBs3;+Bb(;~!4V!2o<6ys46agIcqjPo+3 zB8fthDa9qy|77CdEc*jK-!%ZRYCZvbku9iQV*~a}ClFY4z~c7+0P?$U!PF=S1Au6Q z;m>#f??3%Vpd|o+W=WE9003S@Bra6Svp>fO0Dk~Ppn)o|K^yeJ7%adB9Ki+L!3+Fg zHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_vKpix|QD}yfa1JiQRk#j4a1Z)n2%f<x zynzV>LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxWizFb)h!jyGOOZ85F;a?DAXP{m@;!0_ zIe&*-M!JzZ$N(~e{D!<oF_eL_Q9aZQwL`h6HyVUSq6^SubTOKb7NDEZa<m#fj5eX? z(5q+<+K)a%$1uR?7zZ=NY%ngy!$Pq*ED4ii%dsM?46DW(uvV-CyNUH<&#`v|5`jg) z2{r_GLLgxtK}c9kSWehTs3069G!fbfH-8BOgi*pLB9o{~v?jU{`NSAvGBJl(NGv1P z5|0xv5POJ2#5W`oi9<3cxsU=$v7}Ve64FM}Zc-!ZEUB9`NE#!P$=YOVvIjYoEFde$ zh2)*&!{jsM8{{GKTMC_GKyjq_Q{pI6%4$j(<q+jG<pyP#GC@_Nno`}Up;QqykAGT1 zt)aG3uTh7n6Et<2In9F>NlT@zqLtGcXcuVrX|L#Xx)I%#9!{6gSJKPrN9dR61N3(c z4Tcqi$B1Vr8Jidf7-t!G7_XR2rWw<V8OKyGH!<s&=a~<gZ&g?-wkmuTk;)2{N|h#+ z8!9hUsj8-`-l_{#^Hs}KkEvc$eSfY-RWnoLsR`7Ut5vF<Q0r40Q)j6=sE4X&sBct1 zq<&fbi3VB2Ov6t@q*0);U*o*SAPZv|vv@2aYYnT0b%8a+Cb7-ge0D0knEf5Qi#@8T zp*ce{N;6lpQuCB%KL_KOarm5cP6_8Ir<e17iry6ODdH&`rZh~sF=bq9s(+T3mRPGu zt5K^*>%BIv?Wdily+ylO`+*KY$4Vz$Cr4+G&IO(4Q`uA9rwXSQO+7mGt}d!;r5mBU zM0dY#r|y`ZzFvTyOmC;&dA;ZQ9DOhSRQ+xGr}ak+SO&8UBnI0I&KNw!HF0k|9WTe* z@liuv!$3o&VU=N*;e?U7(SJOn)kcj*4~%KXT;n9;ZN_cJqb3F>Atp;r>P_yNQcbz0 zDW*G2J50yT%*~?B)|oY%Ju%lZ=bPu7*PGwBU|M)uEVih&xMfMQ<XWa#?zX&cg<3gT zrC3#3U9(25ovkI-yREyY5vRFMlTNFi)@Q@8@wUmfska%h<=6(>u79>|wtZn|Vi#w( z#jeBdlf9FDx_yoPJqHbk*$%56S{;6Kv~m<WRyy9A&YbQ)eZ};a=`Uwk&k)bpGvl@s z%PGWZol~3BM`ssjxpRZ_h>M9!g3B(KJ}#RZ#@)!h<Vtk)ab4kh()FF2vzx;0sN1jZ zHtuQehuojcG@mJ+S${Kg(8I_>;8Eq#KMS9gFl*neeosSBfoHYnBQIkwkyowPu(zdm zs`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMeBmZRodjHV?r+_5^X9J0W zL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0?0=B0A@}E)&XLY(4uw#D z=+@8&Vdi0r!+s1Wg@=V#hChyQh*%oYF_$%W(cD9G-$eREmPFp0XE9GXuPsV7Dn6<% zYCPIEx-_~!#x7=A%+*+(SV?S4962s3t~PFLzTf=q^M~S{;tS(@7nm=|U2u7!&cgJC zrxvL$5-d8FKz~e#PB@hCK@cja7K|nG6L%$!3VFgE!e=5c(KgYD*h5?@9!~N|DouKl z?2)`Rc_hU%r7Y#SgeR$xyi5&D-J3d|7MgY-Z8AMNy)lE5k&tmhsv%92wrA>R=4N)w ztYw9={>5&Kw=W)*2gz%*kgNq+Eef_mrsz~!DAy_nvVUh~S7yJ>iOM;atDY;(?aZ^v z+mJV$@1Ote62cPUlD4IWOIIx&SmwQ~YB{nzae3Pc;}r!fhE@iwJh+OsDs9zItL;~p zu715HdQEGAUct(O!L<Qv>kCy1<%NCg+}G`0PgpNm-?d@-hMgNe6^V+j6x$b<6@S<$ z+<4_1hktL%znR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX4c}I@?e+FW+b@^R zDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i&_B8C(+grT%{XWUQ z+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?SIDu(gXbmBM!FLxzyDi(mhmCkJc;e zM-ImyzW$x>cP$Mz4ONYt#^NJzM0w=t_X*$k9t}F$c8q(h;Rn+nb{%IOFKR-X@|s4Q zQ=0o*Vq3aT%s$c9>fU<%N829{oHRUHc}nwC$!Xf@g42^{^3RN&m7RTlF8SPG+oHC6 z=YM0)-)awU@466l;nGF_i|0GMJI-A4xODQe+vO8ixL2C5I$v$-bm~0*lhaSfyPUh4 zuDM)mx$b(swR>jw=^LIm&fWCAdGQwi*43UlJ>9+YdT;l|_x0Zv-F|W>{m#p~*>@-I zt-MdXU-UrjLD@syht)q@{@mE_+<$7ocYmPs(cDM(28Dyq{*m>M4?_iynUBkc4TkHU zI6gT!;y-fz>HMcd&t%Ugo)`Y2{>!cx7B7DI)$7;J(U{Spm-3gBzioV_{p!H$8L!*M z!p0uH$#^p{Ui4P`?ZJ24cOCDe-w#jZd?0@)|7iKK^;6KN`;!@ylm7$*nDhK&Gk-1H z0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F}0004lNkl<Z zc-qXAu}cC`9LIm}&h*fNlxT_Y#DZ`QthN8ZmO!wrEpiQ{L1>fv7hDS(T3ou#C0zm& zNkWJ_L<s8epoe-#cYIrv%nUtn=zjxmc|U$1c)$03j{%@XAkczXn1}$7$K&l1(FqZ) z|LC6~QYJT4RaNTs`g10eIiFXg;JXkZq5~pYa~$UqfLX0pAH(7B<}8tdAw)#ETrO2C z7R%{$ItxJJoYySNG75#l=`@itS{Q?fh;x1hz$}-`4@BhGG%X9jER{+(zkfvdgW((^ zhG9HemSyDg`He=Su{RhD-de3zZPY*4^)tr0olfT^5D19LWO7B<b+g~^TaqOCz2?Z@ z?RJ-mh@#QxXS>~&T-RlSAb1O;EX#+oEXQ2ebrOlhJLh~W6bc1=KHtYL5gTJtRH;;s zVzJn&ZQCki%o0U06$}QK08HG^O!maEj{)2Q*pA2JDP7k!+qPc;?9Y{KOer**&1(Q= tuh+Zs@<gV|F96&D*clhGfA=4K4FEc0SS-%SMT`Id002ovPDHLkV1jBp=~Vy# diff --git a/indra/newview/skins/default/textures/toolbar_icons/preferences.png b/indra/newview/skins/default/textures/toolbar_icons/preferences.png index df80d926b583a0fe3b25041f0ea024dc8ace6bb6..4ccd7b8ae1eb24466c9eaeee91ae28498c92ae2c 100644 GIT binary patch delta 970 zcmbQty_si%Cu7<~ugMCA3T7sHh9(A<CYCx1Mh1ok`i4gO2Ijhk23Dr#RtAO>|CUUi z#h5ZVi&3+_z}MHxzbG?3GcPg6B|o_|H#M)s)5TV)BDX*<B{Rj!$;86M&CSHw$;rsn z%)-#n$=Sus!r9rv&DGr0!ra1KNdc%5Xa-ij&TcMdPR1@S<}SvDhOP!q#?G!5u5Jb< zK%Gub1{OfQlXaOS6`UaIoN=j}{EN|W@?s|a7-u(A6DK1J6GL+&1CV1Z%njX~4NT1q zTwDxXom_y9DJ}_0O|wcN!y}XRn4Rj4p0xdDU|>r2ba4!+xV2`AZ%0s|$Z_|x5;MIx z&J-F41?ZVXiSR5^(D3kEtuRwU<(9;j6S3VZ62*4vY)akYk*0cW%@!BeqrIwEJenme zTr_XJSaE)RV9K8v|I#atT|RcqRlM%~z4CK=pZ`0*^SkZ61cMnr!ykYC`S}IQ0`_;! z>GcnEZXAwEvv_~xjN#d|&AR4Ny`Lktye_f2z9s7Ix}cSN?!5nQe`xQ&bR|tIt}Uzu zwi7*ER$a|fp6XTG{x=~zTl;R-)>|7Ra+v?A8u))!*ZNdp)2%e|1!MnlYjv@1f8mty zl_BCQ+ZS<9^mrm@R@rs^kcw%OgTjWUDXW$=J=NV&&%Vbwdh^YcKXvviAIVFeNHOwU z6ZU#`ja~c_)}1kWC%%ezANAc7yen<<zP=FARR%-T1JdHU(Ee7onRTs>E{_a1+Y zy+HqR6Yg^iiaRFxsBMpQwKkgh#xO^_XlKpV0F5ap<$B%rA1HfSpsRi&wE5tIYZ)f| zOM_OLig2whDqmZF{k5-^;gzMPTNXa}y)@{h+S=zAnWyKSds}Ajzx=XL_t8x^UY2}2 z{P2U?8+%c%)|lm&?@HN+{)m75^_M`K;{lmffvc~UKl)fv6vG(QJ^l34?|1XegH~US zo3Qt8p8d<ORre2^p1A1(v)3P!l|d_OT>ZEI(A%57`Q}?6wc^=bCvVx;Z%*bEC}940 z^ZiTluLlzh+CORrBuFe%6X9~@YggtEm;J+V{YGKuyC)v&M0l;E1CLngB^=J%p8um} zpZ^jL&9@8o8@@FDrEMBkCUZYvYOzxFjfBiu3d+aNZ{nNg*tB=bq)g_IeZS>>Z~u#4 daG!~X!7zH><%dh3aWVjbr>ma}%Q~loCIHy(nBf2b delta 786 zcmdnYGnspWC!^9tugMAq3TB3ShQ=o5=H@yIMh1ok`UXb&hDN%E=2pf=Rt5$W|CUU? z!>BYli!pohE+*Z{)lAX~#*QY&PKL$?u9hZFhK8;NPL>wV76vYkW)`k4t`^3IlkJ#f zV2TWJDtg9b5CbvE$Q73&C57UWpwu+0l>Fq<+|;}hPZwLIirfOdl*|+>s9rZ*dM6h# zJJm<zSifOlU}E=laSW-rmGtNTe|zRo22M6kra~rxVx~eKf$jren$I>Een?ah(ACxb zx})~@H)d7UrRP?MufI3XAhAh1AckXETc^Zw7Z;Z$TpS!rR;^fZ;{M+1?LOY#-mD(S ztE#Kh7gh8M{QLR&d7#4I|G&S#U*8yVeSQ4?d(A)U9e(LJiW?dku`zFy?U0p|+sEvZ ze}CU!m4KYz>tc7Gb2vIZp;S;ng?Xc<z~}jPwZH!CDt*1J;n2ggv(3vL^eTRTd;9z9 z>Tvmr|Ns87ui!3E<b4A)IexxX=_|3|;LHE=9T-d=tlhi!?-FJAzL+0BK0ZGD-{S$$ zC7cdk+(#8M>O;Kd+E$l+ua|l7<mBYrjd~W_%HPNND}3h>@K&~NVom9qKR=$&+IqK& zwDfG7bq0?gJqqgU?!L|6W6P|rt}eWW^V9wP_0uQjg1p7AU@F{kdtpw>2G;DTW}}LC zKq;<epRTM7-kiv_Aje=w<>zOf3-0FJ;7Mw7+bVDH;YMQpx;^FZ=P?DG5$xFOm@~t| z;4a6h6DLw0oyi7z_E!6wvITAT7i8SqoPIu2K-%}6k==Sr#*H7l#r69hc5OZ0FW<Z; zkLSoMi@j_tzZ-tMnQ5Fp??Knr<^J>QSXVMWnhg{`eBcIiB`_*i*ZlqUmD8ZVmTi-0 zqXm0M|HIS$JsD5c1*J877QV?+xW@D-Bgu=Sfq|Lf1xNWtjS2Eo7=Xaj)z4*}Q$iB} D;@3up diff --git a/indra/newview/skins/default/textures/toolbar_icons/view.png b/indra/newview/skins/default/textures/toolbar_icons/view.png index 5425af87e0e2624a0d4e35c16156a53318ae8364..ddf0df7c26fd9a54a44eb77cc27878aacc3df5b8 100644 GIT binary patch delta 868 zcmcb_bDn#GCu7<~ugMCA3T7sHh9(A<CYCx1Mh1ok`i4gO2Ijhk23Dr#RtAO>|CUUi z#h5ZVi&3+_z}MHxzbG?3GcPg6B|o_|H#M)s)5TV)BDX*<B{Rj!$;86M&CSHw$;rsn z%)-#n$=Sus!r9rv&DGr0!ra1KNdc%5Xa-ij&TcMdPR5ol<}SvDhOP!q#?G!5u5Jb< zK%Gub1{OfQlXaP-<RQu|a4DPoi_viMVkZ3<XE#$5CnF0JLvteokXtOw4c(j#OwA2k zTnt>DT!3yVE(uCavq~YuACvW%o$6U;SA{SzF#h*+aSW-rbtc5#gDFwu`za%pmL`Q0 zOCBhw^eIiBpui(7vn1-MZj{WDMaNnkyabG-nig!E!=lM`yloT5^g|s6ilzn=eNGz% zS+Bn@US1R{$SY|3<L=|S_wV<<uXQh!QU4w8^f%1?lmAT3Rg9~+U$99vhBdI}RnDnj z{Nw5N&IwDx7hmkTk+V&1^UXD(tFKP+TDnLu;@tDk*C%=`dGPtC-h*<6@3J3GW*Pj? zG(E85_S<_^Z4HmLrk-NHqGQ0p!^~IUe`K1ETCiAmDzD*Qm4CMEl^RpMf(;~W9#&{h z^;#aFTOh-f)}Xn7KPG)+M33<Na1KqLIPEi$()AoHeJv_0PB~qCQ2nRwzn$Gn!|A8* zR@=<WEy%5D4=uEinf)L-#cz4BbB@RI%Ys1%Uw_pr7Ao8sBYb4q*|cD$cE0Yg)unD> z8X`eS&kHPSeC7yu9$9A+Xd+cA7;Pih-&Lt{Z}LW+*J6`5M!b<)Yt}sfiQQ>~9NC#Z z&-@PcPfV=8KK=C5S3MIJBpJ<oCefC8Xtn>7Jsw;)-hLDHob>b6O2)MkpJpZ~9$$U= zrI>(4f{B#mtYs&Q_#}DSR6WgCANtt6p5x}D)Py;E658}5_8kt;C|Mk!k@dBz)_U5O zc)jV@71jEe&S|@Sti5$ggU(H>3BQuu!W)D$rXBnH<dV@IyWjGYZ^wU*{=e9qk&VG# WRzEPeH2)q05O})!xvX<aXaWF9>r!3- delta 976 zcmX@leTip+C!^9tugMAq3TB3ShQ=o5=H@yIMh1ok`UXb&hDN%E=2pf=Rt5$W|CUU? z!>BYli!pohE+*Z{)l4$-KxGyN&W5g*CQgQit_Dt)7S0w1E{<jvt}d<?#)gyam}H@9 zjBu)X#$*uV1UAUY4VNM%h2oN+)HJJ<{N&Qy)VvZ;7h9!@+ycFn%oHn#US|VbdM6h# zJJnwe+au1vz;w*h#WAGf){&5SkKjU)dpc~9{;djM6r3(J|9&hc(WbFRj;G}3qDKm% z=1mLxm0mcs99kKW79p@xPR-1PP4`5ofR)tNsHew{nZ4&I-nlmS-T!BI3hwQ@Ur=zh zO4#bd!N2F;&nZ4{x&M8fneXK_lQ$S$<Gh(EH@*5w{c%Q>2A&-p9~yWMu<I~=c6bz_ zY81tJXVxsWi2*wd&CJq1|Nfi3d-raUKP3wTZuA^YD(iJi-V+x8-u;ejT3n%RkJ8*t z`}UdWu>A8|ebsJCS!v|M<?FkTzFzh5<8loPZkA=smtTJv&t%cgb?~Brk&TRFfY2WC zn!K!{OPe-t-t1Oyb?W)&E8VTE-3{mKWqaN94{m)`VkH~yvS@pUZKzI5yK&LZ8sX%Y zhdX%mq9Y@JcAn!2T3Ir+L?tu#uUP-_={aVz<rnkIl`Q-caHT)0@qyz;fwXxy?%nHa z=;%y#TKa3M*V21;a`Mb1d)+Px<Zg|687<UlDZ{tF-o#iq@r~Qo`aOHz96G&3XKU2l zgG%z#`E2F<8@J?}&CXm_yEWpQEZ=e7``5176`wqr@@Z+%%ASn|PTThGtzA+w;q+6k z7n9uO4d3L~FWA4oagH(f)~#D#8qM_C#N$%GbzPo7)he~36KR|Gty;Az-Q&lhDV$<? z{!1?}_V^Y1NijVuBf}#iF0O8ReaKpu@QK%^iCL$uW!Uc<IECN(mk3wuiAh17E{Cq% zy!espapghLC(9asTg}ZAo|`q(Y7#3GV|{S4vS2jxj~D}q5-pJ~Q@j4@hu_wg?~D;s z(S5W>%xJ^wufKZt?%f-Dq==7GXb1aUm+I;&A&zSjJZ+vmo@Vo!P3&g-EK}d{sxtkJ zaqH<12lE-uP5pG!eP5mCk2Sa7ezOT*ecq`=d{11ys*auj2h-iVcPr)Q$Dd8xJhfx) z-{;%Q8a^Lj_`rC>YKO_9x%~$;0zOWklPvr9|No2fjBE_N_p&QKi1IZt0D-5gpUXO@ GgeCwkvZBoZ -- GitLab From 9f9734359e402d7c4077b98298411476750f0534 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 14 Oct 2011 14:52:22 -0700 Subject: [PATCH 224/256] New nearbyvoice icon --- .../textures/toolbar_icons/nearbyvoice.png | Bin 1460 -> 1479 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/indra/newview/skins/default/textures/toolbar_icons/nearbyvoice.png b/indra/newview/skins/default/textures/toolbar_icons/nearbyvoice.png index 22d88af352496bc05d717e828447033dbfc15c31..77a7cd5f442ee8b3a81eb54f4bf0eaa18b68d2c5 100644 GIT binary patch delta 576 zcmV-G0>AyV3&#tvS^^9;Lq<V3HZU?oH$^m)W&$t_HA6;0I5sdbL^nk=v!VhN0e{1S ztCs)(0rg2lK~#9!oRmFC0$~`(@4XXAiX@@Nh_Iz7!<G`46vrTOYpAH!qL!d&sHrWQ zibA9zYAcXLXpEW~3bM)V$Uf*pJv=?%Jg@&Nmt3Z0J@Dh+ujluEazs@rR~aUgxdER6 z&<)x^4!nU|a8oEy<y#UH86kvg?|<lMUkQhg4>OtcHQKW8@5+5L`Et3p7dk-SGRD{| z^C~5SGc!{=iXy+DehNIG6?B6!a3#yq^ZfkWKE@7J6){OLxO;-xWz?rDXEd-5v`{D* zMUL}}2o24;L_yv6gXELRLLpB#H#d%u+gKI_0{#G{xxBu7t{yPyB91`ucz=fdWf2bc z1c!N1uS7?Xq~vWR5{{HaSeoVG;qD1H<o~0HOQl|?5()8<ZI8n(_2u(fiVh1JT7dO8 z0XtLBgtC?8;uiZ&Uaz-TlB9&qX3M$V?o~=D!Gm1Fqf@yW;dDBeRaIq=bS<4uiw=jQ z#}tdjM!LG}S%|o3G%_n7%ztL{3VW-yMCa#c3krgX;_<jFisC3?Z$j@Uz*w#tSS`<1 zTPzke9`TvObAJq<&u1wm^8A;{c;ig<h$be+n+!REQB*pM?d>h09+AuCD*rC9#c~cY z{6+*#)1C<-DU>^ZaItX-d@~qpuO?z)V*>#FWnor*Cz)EJf5(Ra0~G*fFzxMy+C+u` O0000<MNUMnLSTXj1O#6I delta 557 zcmV+|0@D4*3$zQcS^^A0Lq<e4LNqZ%H$*d&W&$t_LPJJGHbOKoL^nh;v!VhN0e{=z z&ffq40pdwSK~#9!V*LB}7Xvi_3pPP!W;PxmWd_9RKr9Z#AlqI7@f{#O1+@G-h9;1U zkTDP#>FVmV@7uR${pZggZUe>s|Ni~s>zg+(udH3WdZ((YN)1qrEQUTbL%b$Uny?0> z5y;;N#A!fm2E-viTnEI@zkdDnI)6SsZU)H3SPcRK$Nl^F9{Tg==Q|+Z8{I}IW(MMF zkVUg*&Dex&7|amS)vH(T|MBDNBOqT6hat$=31rxe8Pm1^_430F%E(Ah1G?ldNC6Rs zz;HOwu-^dz{_(JwXWG4c$KltnU#up<5HSAm;qB_Zdv_fLnZcl-ATI%ooqsRDKy(BO z2*R9-4+8-o5c2@p#z1{vL1wVz<>eYPF){t);NUo9YirZ?>(?(vU^=P<D*B5n@fjN% zRRO~Rl$IKS>OX+YU??jqU4H%g)q5bDzI^%k?fdsHz`**&hR;PHHSgcQ`3PbkJ9gv} z$P7kMf`eMb2*k*21{|rL34i3;fB*jd2l|8wriY2tJmu=@$_duU#DroQ6S7Uj7?h9@ z$AhGY8QCCkpaK&YGcg8PSy}x;%BOHWj7Y@@^Z)<<Uo$c?egLwS@R$Ws_Y_Ef0jgEO vW)KJnffPWC4Sawf>XR?H3?dr<1Q-D6Dc4_I@pUu+0000<MNUMnLIPld+dKiW -- GitLab From 96a94a5840dca8a453ec14611dd8b2eb385deebb Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Fri, 14 Oct 2011 23:53:43 +0200 Subject: [PATCH 225/256] EXP-1311 FIXED (Modified My Profile floater to become Picks floater: removed unused profile panel.) - Modified My Profile floater to become Picks floater: removed unused profile panel. --- indra/newview/llpanelme.cpp | 8 +--- indra/newview/llpanelme.h | 1 - indra/newview/llpanelprofile.cpp | 35 +-------------- indra/newview/llpanelprofile.h | 5 --- indra/newview/llviewerfloaterreg.cpp | 2 +- ...oater_my_profile.xml => floater_picks.xml} | 6 +-- .../newview/skins/default/xui/en/panel_me.xml | 45 +++---------------- .../skins/default/xui/en/panel_pick_info.xml | 2 +- .../skins/default/xui/en/panel_picks.xml | 17 +++---- 9 files changed, 22 insertions(+), 99 deletions(-) rename indra/newview/skins/default/xui/en/{floater_my_profile.xml => floater_picks.xml} (86%) diff --git a/indra/newview/llpanelme.cpp b/indra/newview/llpanelme.cpp index 0b687009bf8..7e47a96f44e 100644 --- a/indra/newview/llpanelme.cpp +++ b/indra/newview/llpanelme.cpp @@ -84,7 +84,7 @@ void LLPanelMe::buildEditPanel() // All profile editing should go through the web. //mEditPanel->childSetAction("save_btn", boost::bind(&LLPanelMe::onSaveChangesClicked, this), this); - mEditPanel->childSetAction("cancel_btn", boost::bind(&LLPanelMe::onCancelClicked, this), this); + //mEditPanel->childSetAction("cancel_btn", boost::bind(&LLPanelMe::onCancelClicked, this), this); } } @@ -92,12 +92,6 @@ void LLPanelMe::buildEditPanel() void LLPanelMe::onEditProfileClicked() { buildEditPanel(); - togglePanel(mEditPanel, getAvatarId()); // open -} - -void LLPanelMe::onCancelClicked() -{ - togglePanel(mEditPanel); // close } ////////////////////////////////////////////////////////////////////////// diff --git a/indra/newview/llpanelme.h b/indra/newview/llpanelme.h index 22cbb9e055a..b0f5d184cc8 100644 --- a/indra/newview/llpanelme.h +++ b/indra/newview/llpanelme.h @@ -57,7 +57,6 @@ class LLPanelMe : public LLPanelProfile void buildEditPanel(); void onEditProfileClicked(); - void onCancelClicked(); LLPanelMyProfileEdit * mEditPanel; diff --git a/indra/newview/llpanelprofile.cpp b/indra/newview/llpanelprofile.cpp index 27390fca784..5ce59d89599 100755 --- a/indra/newview/llpanelprofile.cpp +++ b/indra/newview/llpanelprofile.cpp @@ -261,7 +261,6 @@ void LLPanelProfile::ChildStack::dump() LLPanelProfile::LLPanelProfile() : LLPanel() - , mTabCtrl(NULL) , mAvatarId(LLUUID::null) { mChildStack.setParent(this); @@ -269,10 +268,6 @@ LLPanelProfile::LLPanelProfile() BOOL LLPanelProfile::postBuild() { - mTabCtrl = getChild<LLTabContainer>("tabs"); - - getTabCtrl()->setCommitCallback(boost::bind(&LLPanelProfile::onTabSelected, this, _2)); - LLPanelPicks* panel_picks = findChild<LLPanelPicks>(PANEL_PICKS); panel_picks->setProfilePanel(this); @@ -293,18 +288,7 @@ void LLPanelProfile::reshape(S32 width, S32 height, BOOL called_from_parent) void LLPanelProfile::onOpen(const LLSD& key) { - // open the desired panel - if (key.has("open_tab_name")) - { - getTabContainer()[PANEL_PICKS]->onClosePanel(); - - // onOpen from selected panel will be called from onTabSelected callback - getTabCtrl()->selectTabByName(key["open_tab_name"]); - } - else - { - getTabCtrl()->getCurrentPanel()->onOpen(getAvatarId()); - } + getTabContainer()[PANEL_PICKS]->onOpen(getAvatarId()); // support commands to open further pieces of UI if (key.has("show_tab_panel")) @@ -362,23 +346,6 @@ void LLPanelProfile::onOpen(const LLSD& key) } } -void LLPanelProfile::togglePanel(LLPanel* panel, const LLSD& key) -{ - // TRUE - we need to open/expand "panel" - bool expand = getChildList()->front() != panel; // mTabCtrl->getVisible(); - - if (expand) - { - openPanel(panel, key); - } - else - { - closePanel(panel); - - getTabCtrl()->getCurrentPanel()->onOpen(getAvatarId()); - } -} - void LLPanelProfile::onTabSelected(const LLSD& param) { std::string tab_name = param.asString(); diff --git a/indra/newview/llpanelprofile.h b/indra/newview/llpanelprofile.h index fca359f51e1..bd4457c240b 100755 --- a/indra/newview/llpanelprofile.h +++ b/indra/newview/llpanelprofile.h @@ -46,8 +46,6 @@ class LLPanelProfile : public LLPanel /*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); /*virtual*/ void onOpen(const LLSD& key); - virtual void togglePanel(LLPanel*, const LLSD& key = LLSD()); - virtual void openPanel(LLPanel* panel, const LLSD& params); virtual void closePanel(LLPanel* panel); @@ -60,8 +58,6 @@ class LLPanelProfile : public LLPanel virtual void onTabSelected(const LLSD& param); - LLTabContainer* getTabCtrl() { return mTabCtrl; } - const LLUUID& getAvatarId() { return mAvatarId; } void setAvatarId(const LLUUID& avatar_id) { mAvatarId = avatar_id; } @@ -97,7 +93,6 @@ class LLPanelProfile : public LLPanel }; //-- ChildStack ends ------------------------------------------------------ - LLTabContainer* mTabCtrl; profile_tabs_t mTabContainer; ChildStack mChildStack; LLUUID mAvatarId; diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index e5a80f24208..390c2f1ee99 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -234,7 +234,6 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("mute_object_by_name", "floater_mute_object.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterGetBlockedObjectName>); LLFloaterReg::add("mini_map", "floater_map.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMap>); LLFloaterReg::add("my_inventory", "floater_my_inventory.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); - LLFloaterReg::add("my_profile", "floater_my_profile.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("notifications_console", "floater_notifications_console.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterNotificationConsole>); LLFloaterReg::add("notification_well_window", "floater_sys_well.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLNotificationWellWindow>); @@ -251,6 +250,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("prefs_proxy", "floater_preferences_proxy.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPreferenceProxy>); LLFloaterReg::add("prefs_hardware_settings", "floater_hardware_settings.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterHardwareSettings>); LLFloaterReg::add("perm_prefs", "floater_perm_prefs.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPerms>); + LLFloaterReg::add("picks", "floater_picks.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("pref_joystick", "floater_joystick.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterJoystick>); LLFloaterReg::add("preview_anim", "floater_preview_animation.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLPreviewAnim>, "preview"); LLFloaterReg::add("preview_gesture", "floater_preview_gesture.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLPreviewGesture>, "preview"); diff --git a/indra/newview/skins/default/xui/en/floater_my_profile.xml b/indra/newview/skins/default/xui/en/floater_picks.xml similarity index 86% rename from indra/newview/skins/default/xui/en/floater_my_profile.xml rename to indra/newview/skins/default/xui/en/floater_picks.xml index 713515d0419..2d307028e46 100644 --- a/indra/newview/skins/default/xui/en/floater_my_profile.xml +++ b/indra/newview/skins/default/xui/en/floater_picks.xml @@ -3,14 +3,14 @@ open_positioning="cascading" can_close="true" can_resize="true" - height="570" + height="572" help_topic="sidebar_me" min_width="333" min_height="440" - name="floater_profile" + name="floater_picks" save_rect="true" save_visibility="true" - title="MY PROFILE" + title="Picks" width="333" > <panel class="panel_me" diff --git a/indra/newview/skins/default/xui/en/panel_me.xml b/indra/newview/skins/default/xui/en/panel_me.xml index 84b5d11ba71..23e7814cada 100644 --- a/indra/newview/skins/default/xui/en/panel_me.xml +++ b/indra/newview/skins/default/xui/en/panel_me.xml @@ -10,43 +10,10 @@ name="panel_me" top="0" width="333"> - <!--<text - type="string" - follows="top|left|right" - font="SansSerifHugeBold" - height="20" - layout="topleft" - left="15" - name="user_name" - text_color="white" - top="0" - mouse_opaque="true" - width="280"> - (Loading...) - </text> --> - <tab_container - follows="all" - height="555" - halign="center" - layout="topleft" - left="5" - name="tabs" - tab_min_width="95" - tab_height="30" - tab_position="top" - top_pad="10" - width="317"> - <panel - class="panel_my_profile" - filename="panel_my_profile.xml" - label="MY PROFILE" - help_topic="panel_my_profile_tab" - name="panel_profile" /> - <panel - class="panel_picks" - filename="panel_picks.xml" - label="MY PICKS" - help_topic="panel_my_picks_tab" - name="panel_picks" /> - </tab_container> + <panel + class="panel_picks" + filename="panel_picks.xml" + label="MY PICKS" + help_topic="panel_my_picks_tab" + name="panel_picks"/> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_pick_info.xml b/indra/newview/skins/default/xui/en/panel_pick_info.xml index 7daa52b2d98..24046d5cca6 100644 --- a/indra/newview/skins/default/xui/en/panel_pick_info.xml +++ b/indra/newview/skins/default/xui/en/panel_pick_info.xml @@ -117,7 +117,7 @@ </scroll_container> <panel follows="left|right|bottom" - height="35" + height="23" layout="topleft" top_pad="5" left="8" diff --git a/indra/newview/skins/default/xui/en/panel_picks.xml b/indra/newview/skins/default/xui/en/panel_picks.xml index 87e263726d2..85f402dfa24 100644 --- a/indra/newview/skins/default/xui/en/panel_picks.xml +++ b/indra/newview/skins/default/xui/en/panel_picks.xml @@ -4,12 +4,12 @@ bg_opaque_color="DkGray2" background_visible="true" background_opaque="true" follows="all" - height="548" + height="571" label="Picks" layout="topleft" - left="0" + left="8" name="panel_picks" - top="0" + top_pad="0" width="313"> <string name="no_picks" @@ -30,7 +30,7 @@ bg_opaque_color="DkGray2" <accordion fit_parent="true" follows="all" - height="485" + height="514" layout="topleft" left="0" name="accordion" @@ -81,10 +81,10 @@ bg_opaque_color="DkGray2" left="1" height="27" label="bottom_panel" - layout="bottom" + layout="topleft" name="edit_panel" - top_pad="-2" - width="313"> + top_pad="0" + width="312"> <layout_stack follows="bottom|left|right" @@ -149,8 +149,9 @@ bg_opaque_color="DkGray2" follows="bottom|left|right" layout="topleft" left="0" - height="40" + height="30" name="buttons_cucks" + top_pad="0" width="313"> <layout_stack -- GitLab From c289c081937395c0866841932627634a7e3f24ac Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 14 Oct 2011 15:17:35 -0700 Subject: [PATCH 226/256] EXP-1308 FIX Search floater and profile floater have same help ID --- indra/newview/llviewerfloaterreg.cpp | 2 +- indra/newview/skins/default/xui/en/floater_search.xml | 4 ++-- indra/newview/skins/default/xui/en/floater_web_profile.xml | 6 ++++++ 3 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 indra/newview/skins/default/xui/en/floater_web_profile.xml diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index e5a80f24208..76218069180 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -288,7 +288,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("stop_queue", "floater_script_queue.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterNotRunQueue>); LLFloaterReg::add("snapshot", "floater_snapshot.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSnapshot>); LLFloaterReg::add("search", "floater_search.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSearch>); - LLFloaterReg::add("profile", "floater_web_content.xml", (LLFloaterBuildFunc)&LLFloaterWebContent::create); + LLFloaterReg::add("profile", "floater_web_profile.xml", (LLFloaterBuildFunc)&LLFloaterWebContent::create); LLFloaterReg::add("how_to", "floater_how_to.xml", (LLFloaterBuildFunc)&LLFloaterWebContent::create); diff --git a/indra/newview/skins/default/xui/en/floater_search.xml b/indra/newview/skins/default/xui/en/floater_search.xml index 896532e26b8..dd818e2e065 100644 --- a/indra/newview/skins/default/xui/en/floater_search.xml +++ b/indra/newview/skins/default/xui/en/floater_search.xml @@ -7,8 +7,8 @@ layout="topleft" min_height="400" min_width="500" - name="floater_web_content" - help_topic="search" + name="floater_search" + help_topic="floater_search" save_rect="true" save_visibility="true" title="" diff --git a/indra/newview/skins/default/xui/en/floater_web_profile.xml b/indra/newview/skins/default/xui/en/floater_web_profile.xml new file mode 100644 index 00000000000..d0225f78a9b --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_web_profile.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="floater_web_profile" + help_topic="web_profile" + width="780" + height="775" + filename="floater_web_content.xml"/> \ No newline at end of file -- GitLab From 7bc1eaf22f3c8bde69922215fb61b448afa8967a Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 14 Oct 2011 15:22:53 -0700 Subject: [PATCH 227/256] EXP-1342 FIX -- Update avatar picker and destination guide urls * URL's are in place with the [GRID_LOWERCASE] used in the link to go to the proper page based on the grid. * Added "GRID_LOWERCASE" substitution for URL's since it is case sensitive --- indra/newview/app_settings/settings.xml | 6 +++--- indra/newview/llviewermenu.cpp | 3 ++- indra/newview/llviewerwindow.cpp | 10 +++++++--- indra/newview/llweb.cpp | 1 + 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index da2161c8dec..52aa2a3be39 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -619,7 +619,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://drofnas.components.pdp48.lindenlab.com/avatars.html</string> + <string>http://lecs-viewer-web-components.s3.amazonaws.com/v3.0/[GRID_LOWERCASE]/avatars.html</string> </map> <key>AvatarBakedTextureUploadTimeout</key> <map> @@ -2717,7 +2717,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://drofnas.components.pdp48.lindenlab.com/guide.html</string> + <string>http://lecs-viewer-web-components.s3.amazonaws.com/v3.0/[GRID_LOWERCASE]/guide.html</string> </map> <key>DisableCameraConstraints</key> <map> @@ -4037,7 +4037,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/howto/index.html</string> + <string>http://lecs-viewer-web-components.s3.amazonaws.com/v3.0/[GRID_LOWERCASE]/howto/index.html</string> </map> <key>HomeSidePanelURL</key> <map> diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 10563971b30..57ff62f60fc 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -6893,7 +6893,8 @@ class LLToggleHowTo : public view_listener_t bool handleEvent(const LLSD& userdata) { LLFloaterWebContent::Params p; - p.url = gSavedSettings.getString("HowToHelpURL"); + std::string url = gSavedSettings.getString("HowToHelpURL"); + p.url = LLWeb::expandURLSubstitutions(url, LLSD()); p.show_chrome = false; p.target = "__help_how_to"; p.show_page_title = false; diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 0873e4f6ea3..1d64e22db27 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1947,13 +1947,17 @@ void LLViewerWindow::initWorldUI() if (destinations) { destinations->setErrorPageURL(gSavedSettings.getString("GenericErrorPageURL")); - destinations->navigateTo(gSavedSettings.getString("DestinationGuideURL"), "text/html"); + std::string url = gSavedSettings.getString("DestinationGuideURL"); + url = LLWeb::expandURLSubstitutions(url, LLSD()); + destinations->navigateTo(url, "text/html"); } LLMediaCtrl* avatar_picker = LLFloaterReg::getInstance("avatar")->findChild<LLMediaCtrl>("avatar_picker_contents"); if (avatar_picker) { avatar_picker->setErrorPageURL(gSavedSettings.getString("GenericErrorPageURL")); - avatar_picker->navigateTo(gSavedSettings.getString("AvatarPickerURL"), "text/html"); + std::string url = gSavedSettings.getString("AvatarPickerURL"); + url = LLWeb::expandURLSubstitutions(url, LLSD()); + avatar_picker->navigateTo(url, "text/html"); } } @@ -1980,7 +1984,7 @@ void LLViewerWindow::shutdownViews() // *TODO: Make LLNavigationBar part of gViewerWindow if (LLNavigationBar::instanceExists()) { - delete LLNavigationBar::getInstance(); + delete LLNavigationBar::getInstance(); } // destroy menus after instantiating navbar above, as it needs diff --git a/indra/newview/llweb.cpp b/indra/newview/llweb.cpp index 7bc54536883..b2f35892d0a 100644 --- a/indra/newview/llweb.cpp +++ b/indra/newview/llweb.cpp @@ -210,6 +210,7 @@ std::string LLWeb::expandURLSubstitutions(const std::string &url, substitution["VERSION_BUILD"] = LLVersionInfo::getBuild(); substitution["CHANNEL"] = LLVersionInfo::getChannel(); substitution["GRID"] = LLGridManager::getInstance()->getGridLabel(); + substitution["GRID_LOWERCASE"] = utf8str_tolower(LLGridManager::getInstance()->getGridLabel()); substitution["OS"] = LLAppViewer::instance()->getOSInfo().getOSStringSimple(); substitution["SESSION_ID"] = gAgent.getSessionID(); substitution["FIRST_LOGIN"] = gAgent.isFirstLogin(); -- GitLab From c69131be77b40ee2b0bc39303439c26b44b6a49d Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 14 Oct 2011 15:26:48 -0700 Subject: [PATCH 228/256] EXP-1378 FIX Build tooltip does not match wiki text --- indra/newview/skins/default/xui/en/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 04fc5c868c0..78e10d207c5 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -3683,7 +3683,7 @@ Try enclosing path to the editor with double quotes. <string name="Command_AboutLand_Tooltip">Information about the land you're visiting</string> <string name="Command_Appearance_Tooltip">Change your avatar</string> <string name="Command_Avatar_Tooltip">Choose a complete avatar</string> - <string name="Command_Build_Tooltip">Building objects and reshaping them</string> + <string name="Command_Build_Tooltip">Building objects and reshaping terrain</string> <string name="Command_Chat_Tooltip">Chat with people nearby using text</string> <string name="Command_Compass_Tooltip">Compass</string> <string name="Command_Destinations_Tooltip">Destinations of interest</string> -- GitLab From f426ed5f284e1694e821a56a6e7a4e41e9b37b3d Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 14 Oct 2011 15:43:45 -0700 Subject: [PATCH 229/256] EXP-1355 PROGRESS -- Chat toast can be covered by chat floater in default position * Moved chat, move and view floaters to new default positions. --- indra/newview/skins/default/xui/en/floater_camera.xml | 4 ++-- indra/newview/skins/default/xui/en/floater_chat_bar.xml | 4 ++-- indra/newview/skins/default/xui/en/floater_moveview.xml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/indra/newview/skins/default/xui/en/floater_camera.xml b/indra/newview/skins/default/xui/en/floater_camera.xml index 20d0fa1c91a..afe8584a2d3 100644 --- a/indra/newview/skins/default/xui/en/floater_camera.xml +++ b/indra/newview/skins/default/xui/en/floater_camera.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater open_positioning="specified" - specified_left="683" - specified_bottom="0" + specified_left="320" + specified_bottom="80" legacy_header_height="18" can_minimize="true" can_close="true" diff --git a/indra/newview/skins/default/xui/en/floater_chat_bar.xml b/indra/newview/skins/default/xui/en/floater_chat_bar.xml index 92297418012..989b4a05802 100644 --- a/indra/newview/skins/default/xui/en/floater_chat_bar.xml +++ b/indra/newview/skins/default/xui/en/floater_chat_bar.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater open_positioning="specified" - specified_left="150" - specified_bottom="0" + specified_left="320" + specified_bottom="10" height="60" layout="topleft" legacy_header_height="25" diff --git a/indra/newview/skins/default/xui/en/floater_moveview.xml b/indra/newview/skins/default/xui/en/floater_moveview.xml index cbbd68beb3d..b7370580af4 100644 --- a/indra/newview/skins/default/xui/en/floater_moveview.xml +++ b/indra/newview/skins/default/xui/en/floater_moveview.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater open_positioning="specified" - specified_left="535" - specified_bottom="0" + specified_left="558" + specified_bottom="80" legacy_header_height="18" can_dock="false" can_minimize="true" -- GitLab From a0a3790f1c08522a8b8e6fa6fc76eb9fcb0f2120 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 14 Oct 2011 16:06:29 -0700 Subject: [PATCH 230/256] updated chat toast with 10 pixel padding --- indra/newview/llnearbychathandler.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/indra/newview/llnearbychathandler.cpp b/indra/newview/llnearbychathandler.cpp index 573985b76eb..d39f83875e2 100644 --- a/indra/newview/llnearbychathandler.cpp +++ b/indra/newview/llnearbychathandler.cpp @@ -374,7 +374,7 @@ void LLNearbyChatScreenChannel::arrangeToasts() if (!getParent()) { - // connect to floater snap region to get resize events + // connect to floater snap region just to get resize events, we don't care about being a proper widget floater_snap_region->addChild(this); setFollows(FOLLOWS_ALL); } @@ -384,11 +384,12 @@ void LLNearbyChatScreenChannel::arrangeToasts() LLRect channel_rect; floater_snap_region->localRectToOtherView(floater_snap_region->getLocalRect(), &channel_rect, gFloaterView); + channel_rect.mLeft += 10; channel_rect.mRight = channel_rect.mLeft + 300; S32 channel_bottom = channel_rect.mBottom; - S32 bottom = channel_bottom; + S32 bottom = channel_bottom + 10; S32 margin = gSavedSettings.getS32("ToastGap"); //sort active toasts -- GitLab From 9c454b6afacd2ffe07525261b698e77a6b99f4da Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 14 Oct 2011 16:10:11 -0700 Subject: [PATCH 231/256] EXP-1380 FIX Hud attached to avatar can be covered by location/favorites bar huds follow ui now --- indra/newview/skins/default/xui/en/main_view.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index 4d3d431b3a7..b4be17e677b 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -8,13 +8,6 @@ tab_stop="false" name="main_view" width="1024"> - <view top="0" - follows="all" - height="768" - left="0" - mouse_opaque="false" - name="world_view_rect" - width="1024"/> <layout_stack border_size="0" follows="all" mouse_opaque="false" @@ -57,6 +50,13 @@ tab_stop="false" name="world_panel" width="1024"> + <view top="0" + follows="all" + height="500" + left="0" + mouse_opaque="false" + name="world_view_rect" + width="1024"/> <panel follows="left|top|right" height="19" left="0" -- GitLab From cf98cdf69f481dd473363d4a80a80f27e96f87e8 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 14 Oct 2011 16:43:43 -0700 Subject: [PATCH 232/256] fix for crash on exit --- indra/newview/llchannelmanager.cpp | 23 ++++++++++++++++------- indra/newview/llchannelmanager.h | 6 +++--- indra/newview/llscreenchannel.h | 2 ++ 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/indra/newview/llchannelmanager.cpp b/indra/newview/llchannelmanager.cpp index 59842aeb6c8..ca635eaa8f7 100644 --- a/indra/newview/llchannelmanager.cpp +++ b/indra/newview/llchannelmanager.cpp @@ -58,7 +58,10 @@ LLChannelManager::~LLChannelManager() { for(std::vector<ChannelElem>::iterator it = mChannelList.begin(); it != mChannelList.end(); ++it) { - delete (*it).channel; + LLScreenChannelBase* channel = it->channel.get(); + if (!channel) continue; + + delete channel; } mChannelList.clear(); @@ -84,16 +87,19 @@ void LLChannelManager::onLoginCompleted() // calc a number of all offline notifications for(std::vector<ChannelElem>::iterator it = mChannelList.begin(); it != mChannelList.end(); ++it) { + LLScreenChannelBase* channel = it->channel.get(); + if (!channel) continue; + // don't calc notifications for Nearby Chat - if((*it).channel->getChannelID() == LLUUID(gSavedSettings.getString("NearByChatChannelUUID"))) + if(channel->getChannelID() == LLUUID(gSavedSettings.getString("NearByChatChannelUUID"))) { continue; } // don't calc notifications for channels that always show their notifications - if(!(*it).channel->getDisplayToastsAlways()) + if(!channel->getDisplayToastsAlways()) { - away_notifications +=(*it).channel->getNumberOfHiddenToasts(); + away_notifications +=channel->getNumberOfHiddenToasts(); } } @@ -157,7 +163,7 @@ LLScreenChannelBase* LLChannelManager::addChannel(LLScreenChannelBase* channel) ChannelElem new_elem; new_elem.id = channel->getChannelID(); - new_elem.channel = channel; + new_elem.channel = channel->getHandle(); mChannelList.push_back(new_elem); @@ -189,7 +195,7 @@ LLScreenChannelBase* LLChannelManager::findChannelByID(const LLUUID& id) std::vector<ChannelElem>::iterator it = find(mChannelList.begin(), mChannelList.end(), id); if(it != mChannelList.end()) { - return (*it).channel; + return (*it).channel.get(); } return NULL; @@ -211,7 +217,10 @@ void LLChannelManager::muteAllChannels(bool mute) for (std::vector<ChannelElem>::iterator it = mChannelList.begin(); it != mChannelList.end(); it++) { - it->channel->setShowToasts(!mute); + if (it->channel.get()) + { + it->channel.get()->setShowToasts(!mute); + } } } diff --git a/indra/newview/llchannelmanager.h b/indra/newview/llchannelmanager.h index 671e545465e..a5de8a53271 100644 --- a/indra/newview/llchannelmanager.h +++ b/indra/newview/llchannelmanager.h @@ -48,10 +48,10 @@ class LLChannelManager : public LLSingleton<LLChannelManager> struct ChannelElem { - LLUUID id; - LLScreenChannelBase* channel; + LLUUID id; + LLHandle<LLScreenChannelBase> channel; - ChannelElem() : id(LLUUID("")), channel(NULL) { } + ChannelElem() { } ChannelElem(const ChannelElem &elem) { diff --git a/indra/newview/llscreenchannel.h b/indra/newview/llscreenchannel.h index 4d8e3e9e931..f4f52eea197 100644 --- a/indra/newview/llscreenchannel.h +++ b/indra/newview/llscreenchannel.h @@ -113,6 +113,7 @@ class LLScreenChannelBase : public LLUICtrl // get ID of a channel LLUUID getChannelID() { return mID; } + LLHandle<LLScreenChannelBase> getHandle() { mRootHandle.bind(this); return mRootHandle; } protected: void updateBottom(); @@ -124,6 +125,7 @@ class LLScreenChannelBase : public LLUICtrl bool mDisplayToastsAlways; // controls whether a channel shows toasts or not bool mShowToasts; + LLRootHandle<LLScreenChannelBase> mRootHandle; // EToastAlignment mToastAlignment; EChannelAlignment mChannelAlignment; -- GitLab From 4c6f04c50225a4a5494974c3a6e13bee76cfbb6f Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Fri, 14 Oct 2011 16:47:43 -0700 Subject: [PATCH 233/256] EXP-1363 : Fix caret position in multiple lines or columns situation --- indra/llui/lltoolbar.cpp | 67 ++++++++++++++++++++++----------- indra/llui/lltoolbar.h | 1 - indra/newview/lltoolbarview.cpp | 8 +++- 3 files changed, 52 insertions(+), 24 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 7fcd1da7b12..97cf583a3c1 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -401,6 +401,11 @@ void LLToolBar::resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row // Various drag data are stored in the toolbar object though are not exposed outside (and shouldn't). int LLToolBar::getRankFromPosition(S32 x, S32 y) { + if (mButtons.empty()) + { + return RANK_NONE; + } + int rank = 0; // Convert the toolbar coord into button panel coords @@ -417,21 +422,9 @@ int LLToolBar::getRankFromPosition(S32 x, S32 y) LLRect button_rect; while (it_button != end_button) { - button_rect = (*it_button)->getRect(); - mDragCommand = (*it_button)->mId; - S32 point_x, point_y; - if (orientation == LLLayoutStack::HORIZONTAL) - { - // Horizontal - point_x = (button_rect.mRight + button_rect.mLeft) / 2; - point_y = button_rect.mBottom - mPadBottom; - } - else - { - // Vertical - point_x = button_rect.mRight + mPadRight; - point_y = (button_rect.mTop + button_rect.mBottom) / 2; - } + button_rect = (*it_button)->getRect(); + S32 point_x = button_rect.mRight + mPadRight; + S32 point_y = button_rect.mBottom - mPadBottom; if ((button_panel_x < point_x) && (button_panel_y > point_y)) { @@ -445,19 +438,49 @@ int LLToolBar::getRankFromPosition(S32 x, S32 y) // (different depending on toolbar orientation) if (rank < mButtons.size()) { - mDragx = button_rect.mLeft - mPadLeft; - mDragy = button_rect.mTop + mPadTop; + if (orientation == LLLayoutStack::HORIZONTAL) + { + // Horizontal + S32 mid_point = (button_rect.mRight + button_rect.mLeft) / 2; + if (button_panel_x < mid_point) + { + mDragx = button_rect.mLeft - mPadLeft; + mDragy = button_rect.mTop + mPadTop; + } + else + { + rank++; + mDragx = button_rect.mRight + mPadRight - 1; + mDragy = button_rect.mTop + mPadTop; + } + } + else + { + // Vertical + S32 mid_point = (button_rect.mTop + button_rect.mBottom) / 2; + if (button_panel_y > mid_point) + { + mDragx = button_rect.mLeft - mPadLeft; + mDragy = button_rect.mTop + mPadTop; + } + else + { + rank++; + mDragx = button_rect.mLeft - mPadLeft; + mDragy = button_rect.mBottom - mPadBottom + 1; + } + } } else { // We hit passed the end of the list so put the insertion point at the end if (orientation == LLLayoutStack::HORIZONTAL) - { + { mDragx = button_rect.mRight + mPadRight; mDragy = button_rect.mTop + mPadTop; - } - else - { + } + else + { mDragx = button_rect.mLeft - mPadLeft; mDragy = button_rect.mBottom - mPadBottom; } @@ -849,7 +872,7 @@ BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, mDragRank = getRankFromPosition(x, y); // Don't DaD if we're dragging a command on itself mDragAndDropTarget = ((orig_rank != RANK_NONE) && ((mDragRank == orig_rank) || ((mDragRank-1) == orig_rank)) ? false : true); - llinfos << "Merov debug : DaD, rank = " << mDragRank << ", hit uuid = " << mDragCommand.uuid() << ", dragged uui = " << inv_item->getUUID() << llendl; + //llinfos << "Merov debug : DaD, rank = " << mDragRank << ", dragged uui = " << inv_item->getUUID() << llendl; /* Do the following if you want to animate the button itself LLCommandId dragged_command(inv_item->getUUID()); removeCommand(dragged_command); diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 3be252298d7..e78c99cb375 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -200,7 +200,6 @@ class LLToolBar S32 mDragx, mDragy, mDragGirth; - LLCommandId mDragCommand; public: // Methods used in loading and saving toolbar settings diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index b43c4e80fa6..21e682f0728 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -416,24 +416,30 @@ BOOL LLToolBarView::handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* t // Suppress the command from the toolbars (including the one it's dropped in, // this will handle move position). int old_rank = LLToolBar::RANK_NONE; + LLToolBar* old_toolbar = NULL; int rank; if ((rank = gToolBarView->mToolbarLeft->removeCommand(command_id)) != LLToolBar::RANK_NONE) { old_rank = rank; + old_toolbar = gToolBarView->mToolbarLeft; } if ((rank = gToolBarView->mToolbarRight->removeCommand(command_id)) != LLToolBar::RANK_NONE) { old_rank = rank; + old_toolbar = gToolBarView->mToolbarRight; } if ((rank = gToolBarView->mToolbarBottom->removeCommand(command_id)) != LLToolBar::RANK_NONE) { old_rank = rank; + old_toolbar = gToolBarView->mToolbarBottom; } // Now insert it in the toolbar at the detected rank if (!toolbar->isReadOnly()) { - if ((old_rank != LLToolBar::RANK_NONE) && (old_rank < new_rank)) + if ((old_toolbar == toolbar) && (old_rank != LLToolBar::RANK_NONE) && (old_rank < new_rank)) { + // If we just removed the command from the same toolbar, we need to consider that it might + // change the target rank. new_rank -= 1; } toolbar->addCommand(command->id(),new_rank); -- GitLab From 0976964f8315aab5879678f07318267b6887ed95 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 14 Oct 2011 18:25:30 -0700 Subject: [PATCH 234/256] EXP-1336 FIX Move Notifications to upper right also made toolbar buttons not trigger if enabled callback returns false --- indra/llui/lltoolbar.cpp | 14 ++- indra/llui/lltoolbar.h | 4 +- indra/newview/llchannelmanager.cpp | 1 + indra/newview/llnearbychathandler.cpp | 11 +-- indra/newview/llscreenchannel.cpp | 136 +++++++++++++++++++++++--- indra/newview/llscreenchannel.h | 5 +- 6 files changed, 144 insertions(+), 27 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 7fcd1da7b12..bd2b55c1050 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -668,6 +668,7 @@ void LLToolBar::draw() if (command && btn->mIsEnabledSignal) { const bool button_command_enabled = (*btn->mIsEnabledSignal)(btn, command->isEnabledParameters()); + // TODO: make button appear disabled but have it still respond to drag and drop btn->setEnabled(button_command_enabled); } @@ -941,6 +942,16 @@ void LLToolBarButton::onMouseCaptureLost() mIsDragged = false; } +void LLToolBarButton::onCommit() +{ + LLCommand* command = LLCommandManager::instance().getCommand(mId); + + if (!mIsEnabledSignal || (*mIsEnabledSignal)(this, command->isEnabledParameters())) + { + LLButton::onCommit(); + } +} + void LLToolBarButton::reshape(S32 width, S32 height, BOOL called_from_parent) { LLButton::reshape(mWidthRange.clamp(width), height, called_from_parent); @@ -967,6 +978,3 @@ const std::string LLToolBarButton::getToolTip() const - - - diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 3be252298d7..5fac613f503 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -72,9 +72,9 @@ class LLToolBarButton : public LLButton void onMouseEnter(S32 x, S32 y, MASK mask); void onMouseCaptureLost(); - virtual const std::string getToolTip() const; - + void onCommit(); + virtual const std::string getToolTip() const; private: LLCommandId mId; diff --git a/indra/newview/llchannelmanager.cpp b/indra/newview/llchannelmanager.cpp index ca635eaa8f7..987651fc804 100644 --- a/indra/newview/llchannelmanager.cpp +++ b/indra/newview/llchannelmanager.cpp @@ -74,6 +74,7 @@ LLScreenChannel* LLChannelManager::createNotificationChannel() LLScreenChannelBase::Params p; p.id = LLUUID(gSavedSettings.getString("NotificationChannelUUID")); p.channel_align = CA_RIGHT; + p.toast_align = NA_TOP; // Getting a Channel for our notifications return dynamic_cast<LLScreenChannel*> (LLChannelManager::getInstance()->getChannel(p)); diff --git a/indra/newview/llnearbychathandler.cpp b/indra/newview/llnearbychathandler.cpp index 3faf190618d..1ba1d2f0f06 100644 --- a/indra/newview/llnearbychathandler.cpp +++ b/indra/newview/llnearbychathandler.cpp @@ -89,8 +89,6 @@ class LLNearbyChatScreenChannel: public LLScreenChannelBase void onToastDestroyed (LLToast* toast, bool app_quitting); void onToastFade (LLToast* toast); - void reshape (S32 width, S32 height, BOOL called_from_parent); - void redrawToasts() { arrangeToasts(); @@ -379,7 +377,7 @@ void LLNearbyChatScreenChannel::arrangeToasts() } LLRect toast_rect; - updateBottom(); + updateRect(); LLRect channel_rect; floater_snap_region->localRectToOtherView(floater_snap_region->getLocalRect(), &channel_rect, gFloaterView); @@ -436,15 +434,10 @@ void LLNearbyChatScreenChannel::arrangeToasts() } } - } - -void LLNearbyChatScreenChannel::reshape (S32 width, S32 height, BOOL called_from_parent) -{ - LLScreenChannelBase::reshape(width, height, called_from_parent); - arrangeToasts(); } + //----------------------------------------------------------------------------------------------- //LLNearbyChatHandler //----------------------------------------------------------------------------------------------- diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp index 71b6c18d8f7..45cf81751be 100644 --- a/indra/newview/llscreenchannel.cpp +++ b/indra/newview/llscreenchannel.cpp @@ -41,6 +41,7 @@ #include "llsyswellwindow.h" #include "llimfloater.h" #include "llscriptfloater.h" +#include "llrootview.h" #include <algorithm> @@ -48,12 +49,19 @@ using namespace LLNotificationsUI; bool LLScreenChannel::mWasStartUpToastShown = false; - -LLRect get_channel_rect() +LLFastTimer::DeclareTimer FTM_GET_CHANNEL_RECT("Calculate Notification Channel Region"); +LLRect LLScreenChannelBase::getChannelRect() { + LLFastTimer _(FTM_GET_CHANNEL_RECT); LLRect channel_rect; - LLView* floater_snap_region = LLUI::getRootView()->getChildView("floater_snap_region"); + LLRect chiclet_rect; + LLView* floater_snap_region = gViewerWindow->getRootView()->getChildView("floater_snap_region"); floater_snap_region->localRectToScreen(floater_snap_region->getLocalRect(), &channel_rect); + + LLView* chiclet_region = gViewerWindow->getRootView()->getChildView("chiclet_container"); + chiclet_region->localRectToScreen(chiclet_region->getLocalRect(), &chiclet_rect); + + channel_rect.mTop = chiclet_rect.mBottom; return channel_rect; } @@ -81,6 +89,11 @@ LLScreenChannelBase::LLScreenChannelBase(const Params& p) setVisible(FALSE); } +void LLScreenChannelBase::reshape(S32 width, S32 height, BOOL called_from_parent) +{ + redrawToasts(); +} + bool LLScreenChannelBase::isHovering() { if (!mHoveredToast) @@ -116,16 +129,16 @@ void LLScreenChannelBase::updatePositionAndSize(LLRect rect) void LLScreenChannelBase::init(S32 channel_left, S32 channel_right) { - // top and bottom set by updateBottom() + // top and bottom set by updateRect() setRect(LLRect(channel_left, 0, channel_right, 0)); - updateBottom(); + updateRect(); setVisible(TRUE); } -void LLScreenChannelBase::updateBottom() +void LLScreenChannelBase::updateRect() { - S32 channel_top = get_channel_rect().mTop; - S32 channel_bottom = get_channel_rect().mBottom + gSavedSettings.getS32("ChannelBottomPanelMargin"); + S32 channel_top = getChannelRect().mTop; + S32 channel_bottom = getChannelRect().mBottom + gSavedSettings.getS32("ChannelBottomPanelMargin"); S32 channel_left = getRect().mLeft; S32 channel_right = getRect().mRight; setRect(LLRect(channel_left, channel_top, channel_right, channel_bottom)); @@ -146,7 +159,7 @@ LLScreenChannel::LLScreenChannel(const Params& p) void LLScreenChannel::init(S32 channel_left, S32 channel_right) { LLScreenChannelBase::init(channel_left, channel_right); - LLRect channel_rect = get_channel_rect(); + LLRect channel_rect = getChannelRect(); updatePositionAndSize(channel_rect); } @@ -460,6 +473,15 @@ void LLScreenChannel::modifyToastByNotificationID(LLUUID id, LLPanel* panel) //-------------------------------------------------------------------------- void LLScreenChannel::redrawToasts() { + LLView* floater_snap_region = gViewerWindow->getRootView()->getChildView("floater_snap_region"); + + if (!getParent()) + { + // connect to floater snap region just to get resize events, we don't care about being a proper widget + floater_snap_region->addChild(this); + setFollows(FOLLOWS_ALL); + } + if(mToastList.size() == 0) return; @@ -486,7 +508,7 @@ void LLScreenChannel::showToastsBottom() S32 toast_margin = 0; std::vector<ToastElem>::reverse_iterator it; - updateBottom(); + updateRect(); LLDockableFloater* floater = dynamic_cast<LLDockableFloater*>(LLDockableFloater::getInstanceHandle().get()); @@ -518,7 +540,7 @@ void LLScreenChannel::showToastsBottom() (*it).toast->translate(0, shift); } - LLRect channel_rect = get_channel_rect(); + LLRect channel_rect = getChannelRect(); // don't show toasts if there is not enough space if(toast_rect.mTop > channel_rect.mTop) { @@ -591,6 +613,96 @@ void LLScreenChannel::showToastsCentre() //-------------------------------------------------------------------------- void LLScreenChannel::showToastsTop() { + LLRect channel_rect = getChannelRect(); + + LLRect toast_rect; + S32 top = channel_rect.mTop; + S32 toast_margin = 0; + std::vector<ToastElem>::reverse_iterator it; + + updateRect(); + + LLDockableFloater* floater = dynamic_cast<LLDockableFloater*>(LLDockableFloater::getInstanceHandle().get()); + + for(it = mToastList.rbegin(); it != mToastList.rend(); ++it) + { + if(it != mToastList.rbegin()) + { + LLToast* toast = (*(it-1)).toast; + top = toast->getRect().mBottom - toast->getTopPad(); + toast_margin = gSavedSettings.getS32("ToastGap"); + } + + toast_rect = (*it).toast->getRect(); + toast_rect.setLeftTopAndSize(channel_rect.mRight - toast_rect.getWidth(), + top, toast_rect.getWidth(), + toast_rect.getHeight()); + (*it).toast->setRect(toast_rect); + + if(floater && floater->overlapsScreenChannel()) + { + if(it == mToastList.rbegin()) + { + // move first toast above docked floater + S32 shift = -floater->getRect().getHeight(); + if(floater->getDockControl()) + { + shift -= floater->getDockControl()->getTongueHeight(); + } + (*it).toast->translate(0, shift); + } + + LLRect channel_rect = getChannelRect(); + // don't show toasts if there is not enough space + if(toast_rect.mBottom < channel_rect.mBottom) + { + break; + } + } + + bool stop_showing_toasts = (*it).toast->getRect().mBottom < channel_rect.mBottom; + + if(!stop_showing_toasts) + { + if( it != mToastList.rend()-1) + { + S32 toast_bottom = (*it).toast->getRect().mBottom - gSavedSettings.getS32("ToastGap"); + stop_showing_toasts = toast_bottom < channel_rect.mBottom; + } + } + + // at least one toast should be visible + if(it == mToastList.rbegin()) + { + stop_showing_toasts = false; + } + + if(stop_showing_toasts) + break; + + if( !(*it).toast->getVisible() ) + { + // HACK + // EXT-2653: it is necessary to prevent overlapping for secondary showed toasts + (*it).toast->setVisible(TRUE); + } + if(!(*it).toast->hasFocus()) + { + // Fixing Z-order of toasts (EXT-4862) + // Next toast will be positioned under this one. + gFloaterView->sendChildToBack((*it).toast); + } + } + + // Dismiss toasts we don't have space for (STORM-391). + if(it != mToastList.rend()) + { + mHiddenToastsNum = 0; + for(; it != mToastList.rend(); it++) + { + (*it).toast->hide(); + } + } } //-------------------------------------------------------------------------- @@ -820,7 +932,7 @@ void LLScreenChannel::updateShowToastsState() return; } - updateBottom(); + updateRect(); } //-------------------------------------------------------------------------- diff --git a/indra/newview/llscreenchannel.h b/indra/newview/llscreenchannel.h index f4f52eea197..2f23552828b 100644 --- a/indra/newview/llscreenchannel.h +++ b/indra/newview/llscreenchannel.h @@ -70,6 +70,8 @@ class LLScreenChannelBase : public LLUICtrl LLScreenChannelBase(const Params&); + void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); + // Channel's outfit-functions // update channel's size and position in the World View virtual void updatePositionAndSize(LLRect rect); @@ -116,7 +118,8 @@ class LLScreenChannelBase : public LLUICtrl LLHandle<LLScreenChannelBase> getHandle() { mRootHandle.bind(this); return mRootHandle; } protected: - void updateBottom(); + void updateRect(); + LLRect getChannelRect(); // Channel's flags bool mControlHovering; -- GitLab From 2f9edd050669210d651e66a86efb9746c3fa8a34 Mon Sep 17 00:00:00 2001 From: "Debi King (Dessie)" <dessie@lindenlab.com> Date: Sun, 16 Oct 2011 08:29:47 -0400 Subject: [PATCH 235/256] Added tag DRTVWR-96_3.1.0-beta2, 3.1.0-beta2 for changeset bc01ee26fd0f --- .hgtags | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.hgtags b/.hgtags index 7996edf175f..fb9410d205d 100644 --- a/.hgtags +++ b/.hgtags @@ -198,3 +198,7 @@ b95ddac176ac944efdc85cbee94ac2e1eab44c79 3.0.3-start c7282e59f374ee904bd793c3c444455e3399b0c5 3.1.0-start dbaaef19266478a20654c46395300640163e98e3 DRTVWR-96_3.1.0-beta2 dbaaef19266478a20654c46395300640163e98e3 3.1.0-beta2 +dbaaef19266478a20654c46395300640163e98e3 DRTVWR-96_3.1.0-beta2 +bc01ee26fd0f1866e266429e85f76340523e91f1 DRTVWR-96_3.1.0-beta2 +dbaaef19266478a20654c46395300640163e98e3 3.1.0-beta2 +bc01ee26fd0f1866e266429e85f76340523e91f1 3.1.0-beta2 -- GitLab From 7335136cbbe4343dadaee5e029f678e16c9d2062 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Sun, 16 Oct 2011 09:17:27 -0700 Subject: [PATCH 236/256] EXP-1391 FIX Build button highlighted in toolbar when build tools not active and user opens with ctrl-# shortcuts --- indra/newview/app_settings/commands.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 3d3c13f5d81..0f6774f2efc 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -37,8 +37,6 @@ tooltip_ref="Command_Build_Tooltip" execute_function="Build.Toggle" execute_parameters="build" - is_enabled_function="Agent.IsActionAllowed" - is_enabled_parameters="build" is_running_function="Floater.IsOpen" is_running_parameters="build" /> -- GitLab From 1afbdc79c6fb911a5ab2c87067e7b99bec92fbc6 Mon Sep 17 00:00:00 2001 From: "Debi King (Dessie)" <dessie@lindenlab.com> Date: Sun, 16 Oct 2011 15:03:11 -0400 Subject: [PATCH 237/256] Attached ownership to viewer Beta and Release builds --- BuildParams | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/BuildParams b/BuildParams index b62d7b7af11..765a3da08f0 100644 --- a/BuildParams +++ b/BuildParams @@ -50,7 +50,7 @@ Snowstorm_viewer-project-review.viewer_channel = "Project Viewer - Snowstorm Tea Snowstorm_viewer-project-review.login_channel = "Project Viewer - Snowstorm Team" # ======================================== -# Viewer Beta +# Viewer Beta (Owner: Dessie Linden) # ======================================== viewer-beta.viewer_channel = "Second Life Beta Viewer" viewer-beta.login_channel = "Second Life Beta Viewer" @@ -64,7 +64,7 @@ viewer-pre-beta.build_viewer_update_version_manager = true # ======================================== -# Viewer Release +# Viewer Release (Owner: Dessie Linden) # ======================================== viewer-release.viewer_channel = "Second Life Release" viewer-release.login_channel = "Second Life Release" @@ -75,7 +75,7 @@ viewer-pre-release.viewer_channel = "Second Life Release" viewer-pre-release.login_channel = "Second Life Release" viewer-pre-release.build_debug_release_separately = true viewer-pre-release.build_viewer_update_version_manager = true -#viewer-pre-release.release-viewer.jira = DRTVWR-46 +#viewer-pre-release.release-viewer.jira = DRTVWR-92 # ======================================== -- GitLab From 6d1ae4e0d6668983dc9386903155e426bd2912a3 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Sun, 16 Oct 2011 23:37:55 -0700 Subject: [PATCH 238/256] wip on dragging disabled toolbar buttons --- indra/llui/llbutton.h | 4 +- indra/llui/lltoolbar.cpp | 37 ++++++++++++++++++- indra/llui/lltoolbar.h | 11 +++++- .../skins/default/xui/en/widgets/toolbar.xml | 4 ++ 4 files changed, 50 insertions(+), 6 deletions(-) diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h index 7d9adcd8927..1aa58ed9aaf 100644 --- a/indra/llui/llbutton.h +++ b/indra/llui/llbutton.h @@ -94,6 +94,7 @@ class LLButton image_color, image_color_disabled, image_overlay_color, + image_overlay_disabled_color, flash_color; // layout @@ -286,11 +287,9 @@ class LLButton S32 mButtonFlashCount; F32 mButtonFlashRate; -private: void drawBorder(LLUIImage* imagep, const LLColor4& color, S32 size); void resetMouseDownTimer(); -private: commit_signal_t* mMouseDownSignal; commit_signal_t* mMouseUpSignal; commit_signal_t* mHeldDownSignal; @@ -306,6 +305,7 @@ class LLButton LLPointer<LLUIImage> mImageOverlay; LLFontGL::HAlign mImageOverlayAlignment; LLUIColor mImageOverlayColor; + LLUIColor mImageOverlayDisabledColor; LLPointer<LLUIImage> mImageUnselected; LLUIString mUnselectedLabel; diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 226a218e47b..4d88c37fda8 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -692,7 +692,7 @@ void LLToolBar::draw() { const bool button_command_enabled = (*btn->mIsEnabledSignal)(btn, command->isEnabledParameters()); // TODO: make button appear disabled but have it still respond to drag and drop - btn->setEnabled(button_command_enabled); + btn->setEnabled(false);//button_command_enabled); } if (command && btn->mIsRunningSignal) @@ -901,7 +901,14 @@ LLToolBarButton::LLToolBarButton(const Params& p) mIsStartingSignal(NULL), mIsDragged(false), mStartDragItemCallback(NULL), - mHandleDragItemCallback(NULL) + mHandleDragItemCallback(NULL), + mOriginalImageSelected(p.image_selected), + mOriginalImageUnselected(p.image_unselected), + mOriginalImagePressed(p.image_pressed), + mOriginalImagePressedSelected(p.image_pressed_selected), + mOriginalLabelColor(p.label_color), + mOriginalLabelColorSelected(p.label_color_selected), + mOriginalImageOverlayColor(p.image_overlay_color) { mButtonFlashRate = 0.0; mButtonFlashCount = 0; @@ -980,6 +987,32 @@ void LLToolBarButton::reshape(S32 width, S32 height, BOOL called_from_parent) LLButton::reshape(mWidthRange.clamp(width), height, called_from_parent); } +void LLToolBarButton::setEnabled(BOOL enabled) +{ + if (enabled) + { + mImageSelected = mOriginalImageSelected; + mImageUnselected = mOriginalImageUnselected; + mImagePressed = mOriginalImagePressed; + mImagePressedSelected = mOriginalImagePressedSelected; + mUnselectedLabelColor = mOriginalLabelColor; + mSelectedLabelColor = mOriginalLabelColorSelected; + mImageOverlayColor = mOriginalImageOverlayColor; + } + + else + { + mImageSelected = mImageDisabledSelected; + mImageUnselected = mImageDisabled; + mImagePressed = mImageDisabled; + mImagePressedSelected = mImageDisabledSelected; + mUnselectedLabelColor = mDisabledLabelColor; + mSelectedLabelColor = mDisabledSelectedLabelColor; + mImageOverlayColor = mImageOverlayDisabledColor; + } +} + + const std::string LLToolBarButton::getToolTip() const { std::string tooltip; diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index f7ec3186525..47af039d527 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -48,7 +48,7 @@ class LLToolBarButton : public LLButton struct Params : public LLInitParam::Block<Params, LLButton::Params> { Optional<LLUI::RangeS32::Params> button_width; - Optional<S32> desired_height; + Optional<S32> desired_height; Params() : button_width("button_width"), @@ -63,7 +63,7 @@ class LLToolBarButton : public LLButton BOOL handleMouseDown(S32 x, S32 y, MASK mask); BOOL handleHover(S32 x, S32 y, MASK mask); void reshape(S32 width, S32 height, BOOL called_from_parent = true); - + void setEnabled(BOOL enabled); void setCommandId(const LLCommandId& id) { mId = id; } void setStartDragCallback(tool_startdrag_callback_t cb) { mStartDragItemCallback = cb; } @@ -89,6 +89,13 @@ class LLToolBarButton : public LLButton enable_signal_t* mIsEnabledSignal; enable_signal_t* mIsRunningSignal; enable_signal_t* mIsStartingSignal; + LLPointer<LLUIImage> mOriginalImageSelected, + mOriginalImageUnselected, + mOriginalImagePressed, + mOriginalImagePressedSelected; + LLUIColor mOriginalLabelColor, + mOriginalLabelColorSelected, + mOriginalImageOverlayColor; }; diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index be5dfaf18c8..7e7a9c61cfc 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -18,6 +18,8 @@ image_pressed="PushButton_Press" image_pressed_selected="PushButton_Selected_Press" image_selected="PushButton_Selected_Press" + image_disabled_selected="PushButton_Selected_Disabled" + image_disabled="PushButton_Disabled" button_width.min="70" button_width.max="140" desired_height="24" @@ -36,6 +38,8 @@ image_pressed="PushButton_Press" image_pressed_selected="PushButton_Selected_Press" image_selected="PushButton_Selected_Press" + image_disabled_selected="PushButton_Selected_Disabled" + image_disabled="PushButton_Disabled" desired_height="38" button_width.min="38" button_width.max="38" -- GitLab From ffa53cf63f28539c9bed92dc70f916a7f068de71 Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Mon, 17 Oct 2011 16:42:14 +0200 Subject: [PATCH 239/256] EXP-1333 FIXED (Move IM toasts to upper right and flip vertically) - Nearby chat toasts flipped vertically - Fixed notification and IM well floaters docking state saving. --- indra/newview/llnearbychathandler.cpp | 12 ++++++------ .../skins/default/xui/en/floater_sys_well.xml | 1 + 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/indra/newview/llnearbychathandler.cpp b/indra/newview/llnearbychathandler.cpp index 1ba1d2f0f06..8607718e905 100644 --- a/indra/newview/llnearbychathandler.cpp +++ b/indra/newview/llnearbychathandler.cpp @@ -384,9 +384,9 @@ void LLNearbyChatScreenChannel::arrangeToasts() channel_rect.mLeft += 10; channel_rect.mRight = channel_rect.mLeft + 300; - S32 channel_bottom = channel_rect.mBottom; + S32 channel_top = channel_rect.mTop; - S32 bottom = channel_bottom + 10; + S32 top = channel_top - 10; S32 margin = gSavedSettings.getS32("ToastGap"); //sort active toasts @@ -403,9 +403,9 @@ void LLNearbyChatScreenChannel::arrangeToasts() continue; } - S32 toast_top = bottom + toast->getRect().getHeight() + margin; + S32 toast_bottom = top - toast->getRect().getHeight() - margin; - if(toast_top > channel_rect.getHeight()) + if(toast_bottom < channel_rect.mBottom) { while(it!=m_active_toasts.end()) { @@ -416,10 +416,10 @@ void LLNearbyChatScreenChannel::arrangeToasts() } toast_rect = toast->getRect(); - toast_rect.setLeftTopAndSize(channel_rect.mLeft , bottom + toast_rect.getHeight(), toast_rect.getWidth() ,toast_rect.getHeight()); + toast_rect.setOriginAndSize(channel_rect.mLeft , toast_bottom, toast_rect.getWidth() ,toast_rect.getHeight()); toast->setRect(toast_rect); - bottom += toast_rect.getHeight() - toast->getTopPad() + margin; + top -= toast_rect.getHeight() - toast->getTopPad() + margin; } // use reverse order to provide correct z-order and avoid toast blinking diff --git a/indra/newview/skins/default/xui/en/floater_sys_well.xml b/indra/newview/skins/default/xui/en/floater_sys_well.xml index 62501ea2b7e..9b96a5badc7 100644 --- a/indra/newview/skins/default/xui/en/floater_sys_well.xml +++ b/indra/newview/skins/default/xui/en/floater_sys_well.xml @@ -16,6 +16,7 @@ can_resize="true" can_drag_on_left="false" can_dock="true" + save_dock_state="true" save_visibility="true" single_instance="true" > -- GitLab From a2b677a65feb9e91ae51906116902bf9c7683296 Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine <vsavchuk@productengine.com> Date: Mon, 17 Oct 2011 16:51:55 +0200 Subject: [PATCH 240/256] STORM-1615 WIP Removed Simplified Chinese from the list of languages in Preferences / General. Doing this per Eli's request, see JIRA. --- .../skins/default/xui/en/panel_preferences_general.xml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/indra/newview/skins/default/xui/en/panel_preferences_general.xml b/indra/newview/skins/default/xui/en/panel_preferences_general.xml index 34c4fdf97c3..0a1c0872e92 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_general.xml @@ -90,11 +90,6 @@ label="日本語 (Japanese) - Beta" name="(Japanese)" value="ja" /> - <combo_box.item - enabled="true" - label="简体 (Simplified Chinese) - Beta" - name="Simplified Chinese" - value="zh_CN" /> <combo_box.item enabled="true" label="æ£é«” (Traditional Chinese) - Beta" -- GitLab From e653e924fe1f080eb4d67d68e24110dba9c64816 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Mon, 17 Oct 2011 09:25:07 -0700 Subject: [PATCH 241/256] Mac build fix --- indra/llui/lltoolbar.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 4d88c37fda8..278e7826b75 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -690,7 +690,7 @@ void LLToolBar::draw() if (command && btn->mIsEnabledSignal) { - const bool button_command_enabled = (*btn->mIsEnabledSignal)(btn, command->isEnabledParameters()); + //const bool button_command_enabled = (*btn->mIsEnabledSignal)(btn, command->isEnabledParameters()); // TODO: make button appear disabled but have it still respond to drag and drop btn->setEnabled(false);//button_command_enabled); } -- GitLab From a2e32429bbe222342c413eb06e2820f6292e251a Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 17 Oct 2011 13:42:35 -0700 Subject: [PATCH 242/256] fix for not being able to drag disabled buttons --- indra/llui/llbutton.cpp | 10 +++- indra/llui/llbutton.h | 2 + indra/llui/lltoolbar.cpp | 58 ++++++++++++------- indra/llui/lltoolbar.h | 5 +- .../skins/default/xui/en/floater_tools.xml | 3 +- 5 files changed, 53 insertions(+), 25 deletions(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 64fd14ecc9d..2d3007cd5fd 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -85,7 +85,9 @@ LLButton::Params::Params() label_color_disabled_selected("label_color_disabled_selected"), image_color("image_color"), image_color_disabled("image_color_disabled"), - image_overlay_color("image_overlay_color", LLColor4::white), + image_overlay_color("image_overlay_color", LLColor4::white % 0.75f), + image_overlay_disabled_color("image_overlay_disabled_color", LLColor4::white % 0.3f), + image_overlay_selected_color("image_overlay_selected_color", LLColor4::white), flash_color("flash_color"), pad_right("pad_right", LLUI::sSettingGroups["config"]->getS32("ButtonHPad")), pad_left("pad_left", LLUI::sSettingGroups["config"]->getS32("ButtonHPad")), @@ -143,6 +145,8 @@ LLButton::LLButton(const LLButton::Params& p) mDisabledImageColor(p.image_color_disabled()), mImageOverlay(p.image_overlay()), mImageOverlayColor(p.image_overlay_color()), + mImageOverlayDisabledColor(p.image_overlay_disabled_color()), + mImageOverlaySelectedColor(p.image_overlay_selected_color()), mImageOverlayAlignment(LLFontGL::hAlignFromName(p.image_overlay_alignment)), mImageOverlayTopPad(p.image_top_pad), mImageOverlayBottomPad(p.image_bottom_pad), @@ -817,11 +821,11 @@ void LLButton::draw() LLColor4 overlay_color = mImageOverlayColor.get(); if (!enabled) { - overlay_color.mV[VALPHA] = 0.3f; + overlay_color = mImageOverlayDisabledColor.get(); } else if (!getToggleState()) { - overlay_color.mV[VALPHA] = 0.75f; + overlay_color = mImageOverlaySelectedColor.get(); } overlay_color.mV[VALPHA] *= alpha; diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h index 1aa58ed9aaf..deaa0823c61 100644 --- a/indra/llui/llbutton.h +++ b/indra/llui/llbutton.h @@ -94,6 +94,7 @@ class LLButton image_color, image_color_disabled, image_overlay_color, + image_overlay_selected_color, image_overlay_disabled_color, flash_color; @@ -305,6 +306,7 @@ class LLButton LLPointer<LLUIImage> mImageOverlay; LLFontGL::HAlign mImageOverlayAlignment; LLUIColor mImageOverlayColor; + LLUIColor mImageOverlaySelectedColor; LLUIColor mImageOverlayDisabledColor; LLPointer<LLUIImage> mImageUnselected; diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 278e7826b75..8faa9b39884 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -690,9 +690,8 @@ void LLToolBar::draw() if (command && btn->mIsEnabledSignal) { - //const bool button_command_enabled = (*btn->mIsEnabledSignal)(btn, command->isEnabledParameters()); - // TODO: make button appear disabled but have it still respond to drag and drop - btn->setEnabled(false);//button_command_enabled); + const bool button_command_enabled = (*btn->mIsEnabledSignal)(btn, command->isEnabledParameters()); + btn->setEnabled(button_command_enabled); } if (command && btn->mIsRunningSignal) @@ -763,6 +762,16 @@ void LLToolBar::createButtons() mNeedsLayout = true; } +void LLToolBarButton::callIfEnabled(LLUICtrl::commit_callback_t commit, LLUICtrl* ctrl, const LLSD& param ) +{ + LLCommand* command = LLCommandManager::instance().getCommand(mId); + + if (!mIsEnabledSignal || (*mIsEnabledSignal)(this, command->isEnabledParameters())) + { + commit(ctrl, param); + } +} + LLToolBarButton* LLToolBar::createButton(const LLCommandId& id) { LLCommand* commandp = LLCommandManager::instance().getCommand(id); @@ -778,6 +787,24 @@ LLToolBarButton* LLToolBar::createButton(const LLCommandId& id) if (!mReadOnly) { + enable_callback_t isEnabledCB; + + const std::string& isEnabledFunction = commandp->isEnabledFunctionName(); + if (isEnabledFunction.length() > 0) + { + LLUICtrl::EnableCallbackParam isEnabledParam; + isEnabledParam.function_name = isEnabledFunction; + isEnabledParam.parameter = commandp->isEnabledParameters(); + isEnabledCB = initEnableCallback(isEnabledParam); + + if (NULL == button->mIsEnabledSignal) + { + button->mIsEnabledSignal = new enable_signal_t(); + } + + button->mIsEnabledSignal->connect(isEnabledCB); + } + LLUICtrl::CommitCallbackParam executeParam; executeParam.function_name = commandp->executeFunctionName(); executeParam.parameter = commandp->executeParameters(); @@ -789,30 +816,18 @@ LLToolBarButton* LLToolBar::createButton(const LLCommandId& id) LLUICtrl::CommitCallbackParam executeStopParam; executeStopParam.function_name = executeStopFunction; executeStopParam.parameter = commandp->executeStopParameters(); + LLUICtrl::commit_callback_t execute_func = initCommitCallback(executeParam); + LLUICtrl::commit_callback_t stop_func = initCommitCallback(executeStopParam); - button->setMouseDownCallback(executeParam); - button->setMouseUpCallback(executeStopParam); + button->setMouseDownCallback(boost::bind(&LLToolBarButton::callIfEnabled, button, execute_func, _1, _2)); + button->setMouseUpCallback(boost::bind(&LLToolBarButton::callIfEnabled, button, stop_func, _1, _2)); } else { button->setCommitCallback(executeParam); } - const std::string& isEnabledFunction = commandp->isEnabledFunctionName(); - if (isEnabledFunction.length() > 0) - { - LLUICtrl::EnableCallbackParam isEnabledParam; - isEnabledParam.function_name = isEnabledFunction; - isEnabledParam.parameter = commandp->isEnabledParameters(); - enable_signal_t::slot_type isEnabledCB = initEnableCallback(isEnabledParam); - - if (NULL == button->mIsEnabledSignal) - { - button->mIsEnabledSignal = new enable_signal_t(); - } - button->mIsEnabledSignal->connect(isEnabledCB); - } const std::string& isRunningFunction = commandp->isRunningFunctionName(); if (isRunningFunction.length() > 0) @@ -908,7 +923,8 @@ LLToolBarButton::LLToolBarButton(const Params& p) mOriginalImagePressedSelected(p.image_pressed_selected), mOriginalLabelColor(p.label_color), mOriginalLabelColorSelected(p.label_color_selected), - mOriginalImageOverlayColor(p.image_overlay_color) + mOriginalImageOverlayColor(p.image_overlay_color), + mOriginalImageOverlaySelectedColor(p.image_overlay_selected_color) { mButtonFlashRate = 0.0; mButtonFlashCount = 0; @@ -998,6 +1014,7 @@ void LLToolBarButton::setEnabled(BOOL enabled) mUnselectedLabelColor = mOriginalLabelColor; mSelectedLabelColor = mOriginalLabelColorSelected; mImageOverlayColor = mOriginalImageOverlayColor; + mOriginalImageOverlaySelectedColor = mOriginalImageOverlaySelectedColor; } else @@ -1009,6 +1026,7 @@ void LLToolBarButton::setEnabled(BOOL enabled) mUnselectedLabelColor = mDisabledLabelColor; mSelectedLabelColor = mDisabledSelectedLabelColor; mImageOverlayColor = mImageOverlayDisabledColor; + mImageOverlaySelectedColor = mImageOverlayDisabledColor; } } diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 47af039d527..616710ea70f 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -77,6 +77,8 @@ class LLToolBarButton : public LLButton virtual const std::string getToolTip() const; private: + void callIfEnabled(LLUICtrl::commit_callback_t commit, LLUICtrl* ctrl, const LLSD& param ); + LLCommandId mId; S32 mMouseDownX; S32 mMouseDownY; @@ -95,7 +97,8 @@ class LLToolBarButton : public LLButton mOriginalImagePressedSelected; LLUIColor mOriginalLabelColor, mOriginalLabelColorSelected, - mOriginalImageOverlayColor; + mOriginalImageOverlayColor, + mOriginalImageOverlaySelectedColor; }; diff --git a/indra/newview/skins/default/xui/en/floater_tools.xml b/indra/newview/skins/default/xui/en/floater_tools.xml index 465bd86281f..1808cab2a5e 100644 --- a/indra/newview/skins/default/xui/en/floater_tools.xml +++ b/indra/newview/skins/default/xui/en/floater_tools.xml @@ -516,7 +516,8 @@ image_disabled_selected="Object_Grass" image_selected="Object_Grass_Selected" image_unselected="Object_Grass" - image_overlay_color="Red" + image_overlay_color="1 0 0 .75" + image_overlay_selected_color="1 0 0 1" layout="topleft" left_delta="29" name="ToolGrass" -- GitLab From 795695a2db6de25a85fb319e79c44f8a4e1903b2 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Mon, 17 Oct 2011 13:55:37 -0700 Subject: [PATCH 243/256] EXP-1396 FIX -- Local chat toasts appear is upper left corner, reviewed by Richard. --- indra/newview/llnearbychathandler.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/indra/newview/llnearbychathandler.cpp b/indra/newview/llnearbychathandler.cpp index 8607718e905..1ba1d2f0f06 100644 --- a/indra/newview/llnearbychathandler.cpp +++ b/indra/newview/llnearbychathandler.cpp @@ -384,9 +384,9 @@ void LLNearbyChatScreenChannel::arrangeToasts() channel_rect.mLeft += 10; channel_rect.mRight = channel_rect.mLeft + 300; - S32 channel_top = channel_rect.mTop; + S32 channel_bottom = channel_rect.mBottom; - S32 top = channel_top - 10; + S32 bottom = channel_bottom + 10; S32 margin = gSavedSettings.getS32("ToastGap"); //sort active toasts @@ -403,9 +403,9 @@ void LLNearbyChatScreenChannel::arrangeToasts() continue; } - S32 toast_bottom = top - toast->getRect().getHeight() - margin; + S32 toast_top = bottom + toast->getRect().getHeight() + margin; - if(toast_bottom < channel_rect.mBottom) + if(toast_top > channel_rect.getHeight()) { while(it!=m_active_toasts.end()) { @@ -416,10 +416,10 @@ void LLNearbyChatScreenChannel::arrangeToasts() } toast_rect = toast->getRect(); - toast_rect.setOriginAndSize(channel_rect.mLeft , toast_bottom, toast_rect.getWidth() ,toast_rect.getHeight()); + toast_rect.setLeftTopAndSize(channel_rect.mLeft , bottom + toast_rect.getHeight(), toast_rect.getWidth() ,toast_rect.getHeight()); toast->setRect(toast_rect); - top -= toast_rect.getHeight() - toast->getTopPad() + margin; + bottom += toast_rect.getHeight() - toast->getTopPad() + margin; } // use reverse order to provide correct z-order and avoid toast blinking -- GitLab From 7a9942dfa6466e7d13c10d5a0213b9d77ee68dc0 Mon Sep 17 00:00:00 2001 From: callum <none@none> Date: Mon, 17 Oct 2011 14:37:35 -0700 Subject: [PATCH 244/256] STORM-1646 FIX Update language list in Windows installer --- .../installers/windows/installer_template.nsi | 10 +++++----- indra/newview/installers/windows/lang_ko.nsi | Bin 6200 -> 0 bytes indra/newview/installers/windows/lang_nl.nsi | Bin 7414 -> 0 bytes indra/newview/installers/windows/lang_ru.nsi | Bin 0 -> 7540 bytes indra/newview/installers/windows/lang_tr.nsi | Bin 0 -> 7540 bytes indra/newview/installers/windows/lang_zh.nsi | Bin 5554 -> 5554 bytes 6 files changed, 5 insertions(+), 5 deletions(-) delete mode 100644 indra/newview/installers/windows/lang_ko.nsi delete mode 100644 indra/newview/installers/windows/lang_nl.nsi create mode 100644 indra/newview/installers/windows/lang_ru.nsi create mode 100644 indra/newview/installers/windows/lang_tr.nsi diff --git a/indra/newview/installers/windows/installer_template.nsi b/indra/newview/installers/windows/installer_template.nsi index a874ce1245b..4811f1fcd55 100644 --- a/indra/newview/installers/windows/installer_template.nsi +++ b/indra/newview/installers/windows/installer_template.nsi @@ -36,10 +36,10 @@ RequestExecutionLevel admin ; on Vista we must be admin because we write to Prog !include "%%SOURCE%%\installers\windows\lang_fr.nsi" !include "%%SOURCE%%\installers\windows\lang_ja.nsi" !include "%%SOURCE%%\installers\windows\lang_it.nsi" -!include "%%SOURCE%%\installers\windows\lang_ko.nsi" -!include "%%SOURCE%%\installers\windows\lang_nl.nsi" !include "%%SOURCE%%\installers\windows\lang_pl.nsi" !include "%%SOURCE%%\installers\windows\lang_pt-br.nsi" +!include "%%SOURCE%%\installers\windows\lang_ru.nsi" +!include "%%SOURCE%%\installers\windows\lang_tr.nsi" !include "%%SOURCE%%\installers\windows\lang_zh.nsi" # *TODO: Move these into the language files themselves @@ -50,11 +50,11 @@ LangString LanguageCode ${LANG_SPANISH} "es" LangString LanguageCode ${LANG_FRENCH} "fr" LangString LanguageCode ${LANG_JAPANESE} "ja" LangString LanguageCode ${LANG_ITALIAN} "it" -LangString LanguageCode ${LANG_KOREAN} "ko" -LangString LanguageCode ${LANG_DUTCH} "nl" LangString LanguageCode ${LANG_POLISH} "pl" LangString LanguageCode ${LANG_PORTUGUESEBR} "pt" -LangString LanguageCode ${LANG_SIMPCHINESE} "zh" +LangString LanguageCode ${LANG_RUSSIAN} "ru" +LangString LanguageCode ${LANG_TURKISH} "tr" +LangString LanguageCode ${LANG_TRADCHINESE} "zh" ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Tweak for different servers/builds (this placeholder is replaced by viewer_manifest.py) diff --git a/indra/newview/installers/windows/lang_ko.nsi b/indra/newview/installers/windows/lang_ko.nsi deleted file mode 100644 index 5162b7ddad1f7ebdceda14a6d70cad38050ae704..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6200 zcmd5=PiT{87=H#mY{MM{2Pr7LNEiyEl$~T7+g!6bS+%aME{A}tZFRx44ejUVSUqim z1BD76cJ$!EK`dPwY3d(nLX$6nTB==SgA6=m;9-LuJoF&je!uU{>z6NWk}rB0A>aS^ zd7nSO=l4AC`|m&Rh?0*bDw8rL7OtZ>D;bedIVnSOMq+sSn!GB#GJ*RMoQGswPT|cE zj-$@l7|u#|OHjU*!!jTT@ekqHFXtp8Js3F-DU*<W0{8V26lRKIo>9ykkx%jUB(6D2 z7ydE4-R)>VEvW70@l*Jo<A*Uz)R~PIL?I)FyHi#DwcZ0&O=yFHj^mEq{E`wTH%T9a z9Lss9@I5W;mHn{tfE<UeeX#K(=l-1IfpjjF!*`kA*R;+?SMRI?HTt&J!0)`%i+X0O zq~vMguWUIR%zHgIg{Ylyd}J(QWE8B6!gr&NFBnM+*Jp85cse9;X9U00IM~XMy&eez z&OEN?jzY!=BvEc_ALerLdCN{eXy(D@^U=Q+bcp+y4f<rltKm}jtk+k}fGOBd)Vdx} zRdm&REDr0K4Sqcos!DIqGnTDn@A|d1rQ(&Ol6{%StL4=6f@OD<82j(<bQFlsV?boT zlZAc2>2ctd=L5*aE_v6Eq?H&CBil=bWF^@JKl%5z(Y+lnH`n~h>f>L!@2??q7z?9Q z`x+gFS2b>1<!L3^YkT7z^)LakTFWG4B(e*+=^J><WJu$9hcMndsz<)W_z9qDRNUNX zoe%Vhk{vf+NngF6SZwB%=5w}(wR&_J%zOcMF}fJW377U|uH;*xsJV9Sps8LrdZ@8p zZ`aii#(~j1jU2I%x05)MD~>qVLo$X4DIA&qQ`Njy;LQnOt8u*jNIfJU`eLMj3ZgQx zk`6+ve&p`~=~PNON|E%&jq3{`@W6X3OGPEOZ(S(e%$gjYv45L)vzz%;$?jQqzwnEA z)`?;Kv<KR)rDT71^pt#tdrERMs#SK@$G4olY==u%6STB<_WineGRwvgov&~vKgUpO zl;b`2A<B8q?ndWx;|TWG$mw&Wm|o@>-nbH4XDk@Gp!rxw>QO?;1zX4I4aCtKhv8>< zRPr^n9EbiBxFQN^lRI-`-Cgv3?vdctJOnhg*8XLCd44YM>VNd%S$MzJhOVa7!k;ew za-kLpta(PaFf4f!wwU|3q}%!N*~X2;BDMVkHL=e@Kv>9BOU1RksV(lvAo8nQOzq)! z<?Ql&xMbaer}CGPQBNU@9ZC0n_~dRS%UU*Vr*c>4lmxPFWXXTaiAx!bb2<tauZ<%f zb-L^k;Fob{@6A4$)rXaao$(nwukCC1IA8KR-LvlX#Yy{tsjcTQ{ii={=vs8~Mx;b! z6B$aj7th<8fx6IP7+bgQd|hm`*2o`1IvysVLqN@Beoc0&<;3d+YL-~~2?%yI+uSYb z7<JErRc&<4h+06U@-O9Q>|Kg+bmds3X)vilPNUp?o=7sb-oE2Sqj?k(+l%PVLLB&R z6ww!tX01m4B8rGSXH01eJNb5FYOEx`a)s$KvW{vDxyTji2ztL^WaOlC&o!+dMm~rv z?(vNB=Z9ME(`>A{yK#R{X0q&!+nRv_DXv9L-C<@{l4bCfMt(WljGwq}W}nLcFs@mX zxaK*D`xj>=Bb_~;k<JwzrMHLPS|5?S&lgtG>;!vn;y=p{N#==%?M1ilHex0}TD2cJ zL3Zhwu$EAhX+-I6f)$pLpw_x-P;b_ge9rCYbS7N3b2+lwC%3NLV`U2{GH<8ivu(*g z7dEpS{SbjXu5%#2_(MtO#g03d7EHHjW`BI|VkTS)rdja<ig%rgT6H9?Mcvo$M$CzH zH$RN8{Ntltt}`=ig^^lL@mIIn!O1SwY>m}}JkYt(N;7|0@y4zhTF7qy2edTDN<Ejl z6`!kf3w<p+o72@@!EuKH%*wzIo3@tX4-vti(+}<;2mj8^A)`_&u{Cxtrn5CjuU%Vk zFHBbkcfYc+#<i=7o@XPu)2eqm{b{MNk2>Mh9Ii)Makwhr4jk7wM4*Kqdx%rcn<wjo z;F#207+F8FO19s&K5bW0WQwI?Ca-hf+rx0Di#qAuxj3T3JyUj}V-D9FjT_s_9U&v( zh-bWOufJ@l%~LQ?b-nBEIIvF-<uc%PZ5J!v^|?@8o#Rve{sUaG7o4$~Su2Z=QcAu{ zR8p25Py9F+#D4QQ_H@l!Tklz$r+mlVG7G#-F4Ypr-t}F-J0Jb5yAZd!*0bkkCiJtP qM9%Z}ii7Yvce@TD^4!aAXI0&NpO99Rv)8f_?8)s!XH1K{{qKKf9X(tC diff --git a/indra/newview/installers/windows/lang_nl.nsi b/indra/newview/installers/windows/lang_nl.nsi deleted file mode 100644 index 8884b1e8585416464c522dad2f002b3a8338326f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7414 zcmeI1+iu%N5Qg`<K;MBd0we)iBj{y%5u~>37_np5homSB1hS+$vSiuN!Aeu~iF?sE zX#0ONT60N>B3;KtFA74Gc-YxF{PWN3>aRb)4O#d;^uj2N!$iM(`p!Zpbi>b~6{caJ zyI+Pc!fv?Ibw}T=FbwB<($cwWV+Z=q!diF~ehqKJQP|OEQ|H6*TR06H8ab4dkz}9g zx-22nOg+uh)y$_FH`TlC@FA>g)IiVHY<_e=*TvCejbwCN<9aq1`uC*YKv(B;?Op4m zxgJ=MNyDL8&6`LVEl59>oQXZl^gj0OhL^H&JG_^sC*fGuy^@t!UzFA|ZMr(QOcS>v zYG2gjD6ya@WtmR(nxyi&W>;o95aFp}FpyQmmv|HD>{iPx-002W?fqWCL(!&UM8+l) z-$zdo@62XtOFBOGIlAGa&Dqu**ZSqra&#?=&#vCcB^=p2c|=Ymqa#TZlfF7OS@=$} zF2YRjjzZtGS{0GiGvi-8c`YmJ=3R^@9w~ZonU~#%;CQ6j!1k4X{bI3lKUVu~b79nm z^65$kk;pw*r+rcP82w9&-kLP|ryATPa?7ynnB_@ZHVuUWc%dgmgEQAJ)00bGomt#L zIM34fXBtUvj&%P<Phmjv!oBh~Y>B_%vVG<Id&%c}Te-d-o`fImcp9G1Be^`USI40_ zimH7OZJpg(GL`;So|(x$_#BomGasmo)<muaHTbwMiSXD+XHb7&zgzMzwc=9mjCFWD zz~fiS^J;7~k-DdRtwZN)%?Qt+BQ{-2Klpy6`<FUey7yT5xnniySXv({hTFPF<cTz+ zZp;@TYN*I&dJYn%x;vJyJZB<`is-qVzcZD8CK}r`r{T-C4)@w!YZWY*j~<5~bd99Q zrgdJc!p2Z?GLz$R#vd<AHo-)f@(I~Oehn=1V#QChh^(wez+ob1-=sttZ}r6U(D`pQ zyZ$5{x^p&9v-wK4I7g&;y{;IQqeP$K2!|WUijHK?<cH?g<amBpkWjQ`Q~0ZkO>umx zd#0G<5xOY+j+Y#<xlPMCsF`;4`S!SyRh)r6Zm{gs^z@DcP0=$8McXp*=Rx>t$^CD_ zGdr^RxIN|ZN4>YN`5CpYj6Rh_KOdMs&h)PPBl7%megm`A?6NM8#0<}LzdvUbwC)*# z(45K(Q;=iSU}V$z^32a%@gZXHsz=VdtZ_->W61z@RUG_6{6ywN4$cuueWL@1ci=Dd zf$Ll=x@bI~cEL~VP2Tek_vwn9%yIIva*iFdZlcb&9?J*v#mID}Hh5k2itLrRDnj?i zdA<Hk(0-x_5y1;%_srsZCX1*HeLZt4s50J7!WUkTBI4In3A@4@exO3oF|~}l;U{uA zVtHSFs;=6r{Y8fe>Od$AUYs3vV}96hWE!}%Pi7ev?{lIJtBP^GFXB!l@pGciGjnFv zyH7lW9};z`4gU`E9u|pJK73dt4us#X@~5LUP+LeJ*)_PY?lW>u+Yvi%6h_rYVy&{` z(UnxM4~o2j)?H~$M?sDFLx|29Ic8_%lRPieDo4HYzMTw@{q9he<Xp_*`wPe~<{lXj zy31W$Te5s5IM(yHf`aRO{dC_t5~Zh|W?Y@!C70hBTYgZ4Jx605PUWWSKHs@&$qM}J z-Mf!XJHM(fsfpJ2!A$He@|DNTx(Q!-)MI00{pp2bmm`2$G%;&$B+Gf8K9(+}qbISx zIF=4|-`C1hy~CQO8^GJSAu8&D|6*SQKInz$DIBTvVXyVvD|uBUT!vQ~;^2CE6#eWR z;tU+Ie{M*oCb_;yFVD{2+Z*k>?b_;mOTVKo$SP+*+_8u=P@h@nAk}kYaXk=mfbGq4 z<E~XN&X9U9=0{p9nsizJog7Iuf5<#ptUm1ifVKZKgq^JF4Do!d&w;#ZzL8fab3W<M z_wk387jd_tN$std(gf*I3UThwS6J-r!DyV>&#&*|;;M@5k2@LcM*Au&{~w~-uES*H z#_dS{L4j4qjn+o_I5^n50qjV*aj{2r7L7ah)P2^no8n^nA$H;DhUf!`F<Ak_Omw(^ z#--gH=0j)4MRE5m{ZFRa7n_L$Ux~-vx7;61xL`{$^?H=<#${HWhzxr>^g6x<&-<xm z-osW_LR7evVe?Mm>m@sd?#)<vy#BaWu_I%j6CLoGuL@n`a`bqkZPn#>{h|(gRiaK& zS)ISGC566?c(HPeJJHW?cQ@j$rT>ps-3=1OPx?g3W!#jzzr||h?8!ef)scqX@oe6? y9&1j<?CBnnS-n&DN~7@xC`H%2N2!XEOI+1u$5oEUdaQK;+999S^s+h;tNq`hSPG~B diff --git a/indra/newview/installers/windows/lang_ru.nsi b/indra/newview/installers/windows/lang_ru.nsi new file mode 100644 index 0000000000000000000000000000000000000000..af288c0bfbf8210f7da6ccec8e6e619a52443513 GIT binary patch literal 7540 zcmeI1Yik=v6o%(>q5okK0Vfbl$j9VEaOE_Z+Og|PoPr_9lI#lW;_6bzl>GO;&m4_s zW>+h(9aBmvLc7}8nR9*5WkzpZ;eK`lH+3^N*YAPuh3mP#yKo)1a6^s$=zeg!ZldR& z?j1LFmwMCDweQysbuV1YJ#&A#kM79r=)0}!q5I~}Tw5#0qB0fjb3K<S6yh`xpT0Ps zY0X0SnMUBVsqawlTV4j_cq>j-3Nx*SLRWkSo*z0uW2mRgr3NPX(NY$)C?w@r+~$5J z6s8sG$D%X$)C<i=$6dE2JwLcFlJ-QpqA?@iycMbxs}h?&L62ObqePb~t*|E8znM%2 zUjB|W#Z#%Z3hDN{A02v&N6!|r+=XU`_k)V1a<9zfxpU2q*23?FI1l8PzF!UZxqg4u zwa{qCUHcWxG?cCK(QZcJ$n%L_IT4MXC_%T0e+v05u2|=Z^?dQuT(Vp@<QnJacFXOG z9w~yS;sUBCLgsB^y?SeHYkj_|Ee}uh!SB&-O>C9pFO{vzr6uVeD^==|CURlR5bqJ8 zjCQ5xSa=}j2Es3xAQR*kVa-Hu@Lt4@js2-LWW(SEBL0(muUIF}_Z8<~M4S5uMf|3F z?mqj^3-@N3r$UV8ab2}o>X(R)$Ln9OXO6K#nyj`I^MV#3+ae{iue6FhIn@=r9r)iJ zH<GOiUCG}wjZqZ}WrB&KydDotsP4I+MCtyFONF6Q;q|e8lUt}MhJ%p5t|d9OU@93$ znz13uJM!X@V&XvF-IqT%<WH<)^@yrf#t2o>-u5)NX(W>yyZV@o9$K5ocyaa2{i<gu z#Y}O(jiT@By^rl~+`E!iM9xTWhzn|h**Vnt!jH#zsrUF{LTBGo2{b<GO{CDw;{lU+ znL2(U$)<^Xc@%HTS7mQ??{Hm6YeNhAgXVm7y-pFurx}G@qix~qaa!e6%W|b!t<E{k z<ZBjZ8?{-3j63wz37lW+gD>XZl4T7(%N8$Xjq><w_sV~GM-M<O@99@p_kD3Llw&s) zv1fW`*DZ0N=8wdWNH82&4(EyZp#K|ct#u-0p3fBZuk@BagiZydqX9iHoiJlvjnX%P zH;@rzv#Qb22puMwFPCnoBmwJgg|3dS@04f26kqz;h(szDUG~Uxrx&MhrtTWLFC^Vq z^JC;c_cNoeFB;|Cty&&I?#E*`MB=rNYBaHa-h8miKM%q2{gO9D^KY{0!h00N_GM-A zhsk%YXEHxsfZ+;Hx8&=A_YJt~=@~qbnW03r2p9;oN1g^~GKz+?)*2r}bCr$ivi9ba zVhJtK`04O;B5MB(rmC_(4X#oR{wvt3+Ul|R8v3kB&bn0`Ec8ScB^H`g%^l^tcDAaS zg<HZDQN{i-#4g#HUXN^9r;SzN`ffg)e^58j!}PLR5MzSa50P%Q=+tKb>x^!fd4*hY z<@3nucxIoB2ABF0bLGA(R)wx~T*y-F&@UC6^_JZeCCj#CElwuhyVv4!e}8x^%h}n_ zNL=8JOk_cx*?ES}8Vl1OA$uY39cVvo9Te8b@_}pK4N%!{JYA><OJn6fq@C^1sQPBD zsm7?k=}sl?=<eH-6*_-ne;0f~-L-DssM{{lx(0gbs_m_+Q}g3a36I*2@_XxWpuS4G zhi1!D=?0eYSK0}uwA0<NS%8ja;St!ArEavgNw#bvchd;2lh3-b4KJHjO*G4+FCd9C z0FXo^8G6f+YdEs1c3FyA&OLd9EsUb&4nxg`&j9SzCVn2awY?;`1Q+oHV&DDZ--5ZW z#_g;nM{nwb&_$MU7_thsiPYPU)5W%8c{kw#4R)0Dx4DJT!cH%$d!8U0@*DS_D6GSE zwN|X}F$0IxzaetdTH3V3{I}pcmHp{4UbQk+=6{@9HZYu*(cD(t+R4;M-RH_;?2@jQ z|2R;+;!df)W<G>UQ_M!1AuA(Il#ndJekhkQ&A?%ANPP^aFW7?G$$vB9ACr2$4wIGb zyOrcTGRsUAve~J`wq~;;R+uP9`rnOZA*;M}f}99abJJZjIe}ffS%o+37U`Qf0m@I) z7&E@)`10vp6AMJi`_eT%{fky;8p-rW$Y_0!-Kj}flMEc?33jk5!k%(fCah{yJ-rRp zz<NxRfV@rTWfE}GV*TE^q@YVn<p|vmXBhOdwrk}y1gQe5LeKT)?sO%birRm8>6y#= zt_m)JYN(Z?N^e!obj-E?gzC{u_RXu@@p8?cEI@63NRNAS=eJeTr2a~)_WG_9+k-LA QmZR@y`VCI7Ovqn<1J8XDNB{r; literal 0 HcmV?d00001 diff --git a/indra/newview/installers/windows/lang_tr.nsi b/indra/newview/installers/windows/lang_tr.nsi new file mode 100644 index 0000000000000000000000000000000000000000..a4efc95475bae9159a3786dff892d1e5227997bc GIT binary patch literal 7540 zcmeI1Yfl?T6o%(>rT&K%ibNt+R+Nv)hlrY#qC%h;LMkCe#x}&l7iybQRQ132edc(W znO(10D5|Qevb^h^ojG$Z@41cNxx)S6hHmEOZlT{p-3!-u19#!N?#7KY`mOuM?YXI* z`?`1C#9iu5SJ#1GJJP*y8}5bs!+mrex2x~Au1D@qcjnq!IT4kaXrJr3Org+DL+vxr z&S&melxObB^YPWSv~r~P8=eRFc&DAJ6y{nDg`V~q`u&h$C>}?8x?D<NoOhPIAVncA zCth-9LSa^+ek?i*|E|z{WZZLGl5@v>5w|Cj@+U9xkCGNGR4G<DHhF>^IY*sDmMX2V zCg{HzPlulWt|Y}$skREq_SKJ$N|r68xeLt>?}rsl<yM)?a_5>IwT0aa?L3rS27WcW zFZBC&T?>tN-L+rAOhef!8|`HjI)0yMl@rnEixPC3*r$-q;)->aSidiJT8NkHhP%f3 zx!!WUB1ekgnRWryQz7#%(O$i_wzWQA)s}^)`e65{w<fyE@t5*e-DN}EJ(a7}B2D;0 zm%-m7LK*Ez&WZ4V&kcoNFhL~9HNu*y-eA3m9UJ>iYlw!y3V8e{_d$M6WIK@Oe-Ul& zJM#FJd+9#=&nx$K8K;7e=6+q(SZbGuj;G6CFK3RiLXxc36!U@<A=<(vv#+#jAwQex zirx<W@2(q5SB0*`@43dv3WXxUR9;?>hbC0_-S?vOaKt6Ukg2fxM8AnG<P^g}h+o&@ zoLn#yk7Lc)6y;r?uZ|_lku18Sv6kL+v=(%cwaOSFE85$><~H?YVq;Gq)6rvd6A>@2 zp1Ys*45b(;9@bH`UA^_u-K~3Hk_yim>kWQEPB1-(JYV?n=r8paKT7Bvcq)O$C%uUj znpr$x5-XF(FT~j_;V<{%mTXnFR_`9yg`_sLAU|l%SJ%rFQGA+F$R*kqzMdvkPPNQe zD%I+k(~Q4nezsW~HHf$)pPj(@wLaKl;Wb&7;Ink`owQLNf8$>J5AUb}@a28|>gj%< zoeRa-mOS=M@9esz9mx4(?T05A4lIWAgnw972WqKA%6q<$*T2>{bqMc4IucOxQVBEG z(<pTlcmo-MH_IAbjZk3{`Eu@dOB}H7PU!0D`d)DcO!1|jjYuS8QDu+)?$qMc&E#D} z_l3BdXnyqkmwslH^;M&oyH&eK;QQ&A4W4-Iy&6f-PRORK?DH5LKg@YkH2)%<-gt|G z*nzZ6{4oB`^-Sc4Z^IRq-jJ<_-ZtQ_uV?T;WQG#iB48lU9(x*~$tW7mHrCh}nyYkF z7qwf@iY25#;^)KDiKzWEn5y#rJh)0F_^)8As;j5sYviLQG3!o#K<`cz#TS}n&0WR2 zcDAaShUv2LD*DIZyF_PdJ)&iuG?s<ytNC#LLEb<Plgn~J^a*@Fc)I1HQy&4WGP+yF z6=KDek0Y!7nLZf_F7?Id%5_)F3O&hqBTdnvU&=S@HM=iL7Hx@I9eqByH`?Xl`tVqq zv$LPEc42RLA`0?M=NT$%G)#R2?}e;)sD9ciD725}!>)NXKxV)7bfF$Jjh26vbk?Df z^-Wtdjgf!TP9=795A|e)&Y$S-f-T6qR?QoA>k_SMpq8%c-m*G5KXyu3)H=$)n}-AS zRnk2+TAoTau!OzRN;svRcEhFtDw-RQz`itftF=v{WfQ)edT<?oR*h|X-Yjb(S?+xS zNpxu-2~RTgmOa;SWLfR9<h7i8@&;WPMT;GVnoS=8=+&lv9=f$&5?q3dcmi>tGr)k{ zp2qF0B}Z>+gHT15aTuZsx{1`=j`PO0e0eX~1sZgeBaP)6LJF(5sy$EO4gPKSz9_82 zbv0M4uQ9_8seOazrn$6fh52v6cgp+oW4x+mvdsTDw`gEEFQd6FzqOO8kGd}u#psf* zmj5`Ay<(?SpEDmrr7313%@CF0CUQv6M^Bpbm`32x8<HQx=?l6bck<s%_{XGPuA^jS z`+g-ckH|7thHQ2!v8~yxh#4mGk^XmMQOGhcl^`dA<lMAtCMM9en^t&3w@BT@2~d8T z#+dC(j4z+wHPJxid>~oV)4!;Nrk+fF1dmqt*qxk&Hi^KIpP&cJBJ`B2B4Jgc>gjFB z23BJl2gGeEFXMod7OVHp#RXMb%15YvIK!ZpwXT)Z5V#7c3N_c;`_q+hDr*1XrDrbd zt15O0R70*DS8A(jq+_oACsdDSqHmt%j+blpr2%sDV`|*nd%LaTCbd_Zwbxgj=pKx5 Qwj6Cg*KcrwW<vb>3x75e&j0`b literal 0 HcmV?d00001 diff --git a/indra/newview/installers/windows/lang_zh.nsi b/indra/newview/installers/windows/lang_zh.nsi index d17e860df933ffac36093d13c3bc217bf077a126..cb84ceaf77167b58dbbaf7e3c2da74ad5edcf2d2 100644 GIT binary patch delta 449 zcmdm_y-9n62P1n3LlA=_gUjTH9Kw^67}HSr2CO`j-!X1L5!=BOgTmKio`=GJ#+-!0 zH(=$MoW-&RO>74WpNZ`Z3jYP$G8BFv7u)1@?5OsD#Bw<DVCptM<d}@=nLe&Em?Y41 zqMH@CdC(QGP4?j_K~^+bf!krS4DS>qG2zXpc$rW&UJwYHyn&BnvID;eio!g8wD7zj qP=u^tavs0Z<~l(xRMP^4*(R?L>O)Z&Abbs(zu7^A4^>l!s22cUvv|M& delta 449 zcmdm_y-9n62P1nhgC~P8L%`&R9Kw^67}HSr2CO`j-!X1L5!=BOgTmKio`=GJ#+-!0 zH(=$MoW-&RO>74WpNZ`Z3jYP$G8BFv7u)1@?5OsD#Bw<DVCptM<d}@=nLe&Em?Y41 zqMH@CdC(QGP4?j_K~^+bf!krS4DS>qG2zXpc$rW&UJwYHyn&BnvID;eio!g8wD7zj qP=u^tavs0Z<~l(xRMP^4*(R?L>O)Z&Abbs(zu7^A4^>l!s22c{aC#m9 -- GitLab From dd7453006a46998de684b4b6c2e49eee3b39dd5a Mon Sep 17 00:00:00 2001 From: callum <none@none> Date: Mon, 17 Oct 2011 14:46:07 -0700 Subject: [PATCH 245/256] STORM-1646 FIX++ Update language list in Windows installer --- .../installers/windows/language_menu.nsi | Bin 1444 -> 1452 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/indra/newview/installers/windows/language_menu.nsi b/indra/newview/installers/windows/language_menu.nsi index fef8d40c69bb52e43992e39ecf028062cebc51cb..6a0cd431623ba1d22de90c46b08cc860266a89cb 100644 GIT binary patch delta 96 zcmZ3&y@q?k9p=eeEPvQT7=joa8C)jkvzksm!6LyM#1P6541}IQQNPKBOu|5sQift6 r%w$Mp$eVnSMINXp6sXI4vLchDNC;52h#?y&Tg;Hbpv1t-z{LOnw4)WD delta 84 zcmZ3(y@Y$i9cFeHhERqO2It9)%%XyR45<t$KwQL-!;r|3$B;5PmsxT09p*pW-VFW> nK@6@8jtqX23z>x3Vy@<{-Ewqt0ka%?FoP$9FGIlO`z)paohKH? -- GitLab From 54bc99669ca684d4a6179415acf8e58591df63a2 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 17 Oct 2011 14:56:44 -0700 Subject: [PATCH 246/256] EXP-1384 FIX Voice requests not received in FUI viewer --- indra/newview/llimview.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 64d5152ebe8..4df6eeaefcf 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -60,6 +60,7 @@ #include "llnearbychat.h" #include "llspeakers.h" //for LLIMSpeakerMgr #include "lltextbox.h" +#include "lltoolbarview.h" #include "llviewercontrol.h" #include "llviewerparcelmgr.h" @@ -1676,9 +1677,14 @@ LLCallDialog::~LLCallDialog() BOOL LLCallDialog::postBuild() { - if (!LLDockableFloater::postBuild()) + if (!LLDockableFloater::postBuild() || !gToolBarView) return FALSE; + LLView *anchor_panel = gToolBarView->findChildView("speak"); + if (anchor_panel) + { + setDockControl(new LLDockControl(anchor_panel, this, getDockTongue(), LLDockControl::TOP)); + } return TRUE; } -- GitLab From c05d86039ca1642fd6fd7398fbbfe7f49d9e8539 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 17 Oct 2011 15:08:44 -0700 Subject: [PATCH 247/256] EXP-1384 FIX Voice requests not received in FUI viewer fixed case where toolbar button was not in use --- indra/newview/llimview.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 4df6eeaefcf..6e9baed5f2d 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -1681,10 +1681,8 @@ BOOL LLCallDialog::postBuild() return FALSE; LLView *anchor_panel = gToolBarView->findChildView("speak"); - if (anchor_panel) - { - setDockControl(new LLDockControl(anchor_panel, this, getDockTongue(), LLDockControl::TOP)); - } + setDockControl(new LLDockControl(anchor_panel, this, getDockTongue(), LLDockControl::TOP)); + return TRUE; } -- GitLab From ae3b5a4907b4611644d3b21c75ed420bc58593a2 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Mon, 17 Oct 2011 15:15:40 -0700 Subject: [PATCH 248/256] * Fixed icon opacity on selected and unselected buttons --- indra/llui/llbutton.cpp | 2 +- indra/llui/lltoolbar.cpp | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 2d3007cd5fd..74b8885e1ff 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -823,7 +823,7 @@ void LLButton::draw() { overlay_color = mImageOverlayDisabledColor.get(); } - else if (!getToggleState()) + else if (getToggleState()) { overlay_color = mImageOverlaySelectedColor.get(); } diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 8faa9b39884..629c7d9bc74 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -1014,9 +1014,8 @@ void LLToolBarButton::setEnabled(BOOL enabled) mUnselectedLabelColor = mOriginalLabelColor; mSelectedLabelColor = mOriginalLabelColorSelected; mImageOverlayColor = mOriginalImageOverlayColor; - mOriginalImageOverlaySelectedColor = mOriginalImageOverlaySelectedColor; + mImageOverlaySelectedColor = mOriginalImageOverlaySelectedColor; } - else { mImageSelected = mImageDisabledSelected; -- GitLab From 0ff49e798c6bed6fe888ac463c746bc06036d876 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Mon, 17 Oct 2011 15:18:19 -0700 Subject: [PATCH 249/256] EXP-1359 FIX -- Selecting New Inventory window from gear menu in Inventory panel opens old My Inventory panel * Removed old inventory panel. * Renamed new inventory panel from "my_inventory" to "inventory" Reviewed by Richard. --- indra/newview/app_settings/commands.xml | 4 +-- indra/newview/llavataractions.cpp | 4 +-- indra/newview/llinspectobject.cpp | 2 +- indra/newview/llinventoryfunctions.cpp | 12 ++++----- indra/newview/llinventorypanel.cpp | 14 +++++----- indra/newview/llpanelmaininventory.cpp | 4 +-- indra/newview/llpanelmarketplaceinbox.cpp | 6 ++--- indra/newview/llpanelmarketplaceoutbox.cpp | 4 +-- indra/newview/llsidepanelinventory.cpp | 4 +-- indra/newview/llviewerfloaterreg.cpp | 3 +-- indra/newview/llviewerinventory.cpp | 2 +- indra/newview/llviewermenu.cpp | 2 +- .../default/xui/en/floater_inventory.xml | 27 ------------------- .../skins/default/xui/en/menu_viewer.xml | 4 +-- 14 files changed, 32 insertions(+), 60 deletions(-) delete mode 100644 indra/newview/skins/default/xui/en/floater_inventory.xml diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 0f6774f2efc..391a864846b 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -94,9 +94,9 @@ label_ref="Command_Inventory_Label" tooltip_ref="Command_Inventory_Tooltip" execute_function="Floater.ToggleOrBringToFront" - execute_parameters="my_inventory" + execute_parameters="inventory" is_running_function="Floater.IsOpen" - is_running_parameters="my_inventory" + is_running_parameters="inventory" /> <command name="map" available_in_toybox="true" diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index b54f6229864..10fd6b739e6 100755 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -445,7 +445,7 @@ void LLAvatarActions::csr(const LLUUID& id, std::string name) void LLAvatarActions::share(const LLUUID& id) { LLSD key; - LLFloaterSidePanelContainer::showPanel("my_inventory", key); + LLFloaterSidePanelContainer::showPanel("inventory", key); LLUUID session_id = gIMMgr->computeSessionID(IM_NOTHING_SPECIAL,id); @@ -702,7 +702,7 @@ std::set<LLUUID> LLAvatarActions::getInventorySelectedUUIDs() if (inventory_selected_uuids.empty()) { - LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("inventory"); if (sidepanel_inventory) { inventory_selected_uuids = sidepanel_inventory->getInboxOrOutboxSelectionList(); diff --git a/indra/newview/llinspectobject.cpp b/indra/newview/llinspectobject.cpp index 026c8a09234..acc139c5690 100644 --- a/indra/newview/llinspectobject.cpp +++ b/indra/newview/llinspectobject.cpp @@ -640,7 +640,7 @@ void LLInspectObject::onClickMoreInfo() { LLSD key; key["task"] = "task"; - LLFloaterSidePanelContainer::showPanel("my_inventory", key); + LLFloaterSidePanelContainer::showPanel("inventory", key); closeFloater(); } diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp index 21a026bcf7f..5fb3f15cd59 100644 --- a/indra/newview/llinventoryfunctions.cpp +++ b/indra/newview/llinventoryfunctions.cpp @@ -459,28 +459,28 @@ BOOL get_is_category_renameable(const LLInventoryModel* model, const LLUUID& id) void show_task_item_profile(const LLUUID& item_uuid, const LLUUID& object_id) { - LLFloaterSidePanelContainer::showPanel("my_inventory", LLSD().with("id", item_uuid).with("object", object_id)); + LLFloaterSidePanelContainer::showPanel("inventory", LLSD().with("id", item_uuid).with("object", object_id)); } void show_item_profile(const LLUUID& item_uuid) { LLUUID linked_uuid = gInventory.getLinkedItemID(item_uuid); - LLFloaterSidePanelContainer::showPanel("my_inventory", LLSD().with("id", linked_uuid)); + LLFloaterSidePanelContainer::showPanel("inventory", LLSD().with("id", linked_uuid)); } void show_item_original(const LLUUID& item_uuid) { - LLFloater* floater_my_inventory = LLFloaterReg::getInstance("my_inventory"); - if (!floater_my_inventory) + LLFloater* floater_inventory = LLFloaterReg::getInstance("inventory"); + if (!floater_inventory) { llwarns << "Could not find My Inventory floater" << llendl; return; } //sidetray inventory panel - LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("inventory"); - bool reset_inventory_filter = !floater_my_inventory->isInVisibleChain(); + bool reset_inventory_filter = !floater_inventory->isInVisibleChain(); LLInventoryPanel* active_panel = LLInventoryPanel::getActiveInventoryPanel(); if (!active_panel) diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index b0f9cb28e66..18c3f768260 100644 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -1077,7 +1077,7 @@ void LLInventoryPanel::dumpSelectionInformation(void* user_data) BOOL is_inventorysp_active() { - LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("inventory"); if (!sidepanel_inventory || !sidepanel_inventory->isInVisibleChain()) return FALSE; return sidepanel_inventory->isMainInventoryPanelActive(); } @@ -1089,22 +1089,22 @@ LLInventoryPanel* LLInventoryPanel::getActiveInventoryPanel(BOOL auto_open) LLInventoryPanel* res = NULL; LLFloater* active_inv_floaterp = NULL; - LLFloater* floater_my_inventory = LLFloaterReg::getInstance("my_inventory"); - if (!floater_my_inventory) + LLFloater* floater_inventory = LLFloaterReg::getInstance("inventory"); + if (!floater_inventory) { llwarns << "Could not find My Inventory floater" << llendl; return FALSE; } - LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("inventory"); // A. If the inventory side panel floater is open, use that preferably. if (is_inventorysp_active()) { // Get the floater's z order to compare it to other inventory floaters' order later. res = sidepanel_inventory->getActivePanel(); - z_min = gFloaterView->getZOrder(floater_my_inventory); - active_inv_floaterp = floater_my_inventory; + z_min = gFloaterView->getZOrder(floater_inventory); + active_inv_floaterp = floater_inventory; } // B. Iterate through the inventory floaters and return whichever is on top. @@ -1137,7 +1137,7 @@ LLInventoryPanel* LLInventoryPanel::getActiveInventoryPanel(BOOL auto_open) if (!auto_open) return NULL; // D. Open the inventory side panel floater and use that. - floater_my_inventory->openFloater(); + floater_inventory->openFloater(); return sidepanel_inventory->getActivePanel(); return NULL; diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp index 6562b259c3a..d6c407d5489 100644 --- a/indra/newview/llpanelmaininventory.cpp +++ b/indra/newview/llpanelmaininventory.cpp @@ -579,7 +579,7 @@ void LLPanelMainInventory::updateItemcountText() void LLPanelMainInventory::onFocusReceived() { - LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("inventory"); if (!sidepanel_inventory) { llwarns << "Could not find Inventory Panel in My Inventory floater" << llendl; @@ -1169,7 +1169,7 @@ BOOL LLPanelMainInventory::isActionEnabled(const LLSD& userdata) if (command_name == "share") { - LLSidepanelInventory* parent = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + LLSidepanelInventory* parent = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("inventory"); return parent ? parent->canShare() : FALSE; } diff --git a/indra/newview/llpanelmarketplaceinbox.cpp b/indra/newview/llpanelmarketplaceinbox.cpp index d1aea51a092..ac528947a4c 100644 --- a/indra/newview/llpanelmarketplaceinbox.cpp +++ b/indra/newview/llpanelmarketplaceinbox.cpp @@ -66,7 +66,7 @@ BOOL LLPanelMarketplaceInbox::postBuild() void LLPanelMarketplaceInbox::onSelectionChange() { - LLSidepanelInventory* sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + LLSidepanelInventory* sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("inventory"); sidepanel_inventory->updateVerbs(); } @@ -106,7 +106,7 @@ LLInventoryPanel * LLPanelMarketplaceInbox::setupInventoryPanel() void LLPanelMarketplaceInbox::onFocusReceived() { - LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("inventory"); if (sidepanel_inventory) { sidepanel_inventory->clearSelections(true, false, true); @@ -181,7 +181,7 @@ std::string LLPanelMarketplaceInbox::getBadgeString() const { std::string item_count_str(""); - LLPanel *inventory_panel = LLFloaterSidePanelContainer::getPanel("my_inventory"); + LLPanel *inventory_panel = LLFloaterSidePanelContainer::getPanel("inventory"); // If the inbox is visible, and the side panel is collapsed or expanded and not the inventory panel if (getParent()->getVisible() && inventory_panel && !inventory_panel->isInVisibleChain()) diff --git a/indra/newview/llpanelmarketplaceoutbox.cpp b/indra/newview/llpanelmarketplaceoutbox.cpp index d4f9654e6ee..12960fd0d60 100644 --- a/indra/newview/llpanelmarketplaceoutbox.cpp +++ b/indra/newview/llpanelmarketplaceoutbox.cpp @@ -89,7 +89,7 @@ void LLPanelMarketplaceOutbox::handleLoginComplete() void LLPanelMarketplaceOutbox::onFocusReceived() { - LLSidepanelInventory * sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + LLSidepanelInventory * sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("inventory"); if (sidepanel_inventory) { sidepanel_inventory->clearSelections(true, true, false); @@ -98,7 +98,7 @@ void LLPanelMarketplaceOutbox::onFocusReceived() void LLPanelMarketplaceOutbox::onSelectionChange() { - LLSidepanelInventory* sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + LLSidepanelInventory* sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("inventory"); if (sidepanel_inventory) { sidepanel_inventory->updateVerbs(); diff --git a/indra/newview/llsidepanelinventory.cpp b/indra/newview/llsidepanelinventory.cpp index f9dc70ccc04..a24f6b24f01 100644 --- a/indra/newview/llsidepanelinventory.cpp +++ b/indra/newview/llsidepanelinventory.cpp @@ -173,7 +173,7 @@ LLSidepanelInventory::~LLSidepanelInventory() void handleInventoryDisplayInboxChanged() { - LLSidepanelInventory* sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + LLSidepanelInventory* sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("inventory"); if (sidepanel_inventory) { sidepanel_inventory->enableInbox(gSavedSettings.getBOOL("InventoryDisplayInbox")); @@ -182,7 +182,7 @@ void handleInventoryDisplayInboxChanged() void handleInventoryDisplayOutboxChanged() { - LLSidepanelInventory* sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + LLSidepanelInventory* sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("inventory"); if (sidepanel_inventory) { sidepanel_inventory->enableOutbox(gSavedSettings.getBOOL("InventoryDisplayOutbox")); diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index ee72ca2ce8e..ba535403746 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -213,7 +213,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("im_container", "floater_im_container.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLIMFloaterContainer>); LLFloaterReg::add("im_well_window", "floater_sys_well.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLIMWellWindow>); LLFloaterReg::add("incoming_call", "floater_incoming_call.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLIncomingCallDialog>); - LLFloaterReg::add("inventory", "floater_inventory.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterInventory>); + LLFloaterReg::add("inventory", "floater_my_inventory.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("inspect", "floater_inspect.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterInspect>); LLInspectAvatarUtil::registerFloater(); LLInspectGroupUtil::registerFloater(); @@ -233,7 +233,6 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("moveview", "floater_moveview.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMove>); LLFloaterReg::add("mute_object_by_name", "floater_mute_object.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterGetBlockedObjectName>); LLFloaterReg::add("mini_map", "floater_map.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMap>); - LLFloaterReg::add("my_inventory", "floater_my_inventory.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("notifications_console", "floater_notifications_console.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterNotificationConsole>); LLFloaterReg::add("notification_well_window", "floater_sys_well.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLNotificationWellWindow>); diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp index aa54633099c..519d4fe7f8c 100644 --- a/indra/newview/llviewerinventory.cpp +++ b/indra/newview/llviewerinventory.cpp @@ -221,7 +221,7 @@ class LLInventoryHandler : public LLCommandHandler // support secondlife:///app/inventory/show if (params[0].asString() == "show") { - LLFloaterSidePanelContainer::showPanel("my_inventory", LLSD()); + LLFloaterSidePanelContainer::showPanel("inventory", LLSD()); return true; } diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 1e2537f1e2d..2345fbfd6a2 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -2587,7 +2587,7 @@ void handle_object_inspect() { LLSD key; key["task"] = "task"; - LLFloaterSidePanelContainer::showPanel("my_inventory", key); + LLFloaterSidePanelContainer::showPanel("inventory", key); } /* diff --git a/indra/newview/skins/default/xui/en/floater_inventory.xml b/indra/newview/skins/default/xui/en/floater_inventory.xml deleted file mode 100644 index 6d860c73fcc..00000000000 --- a/indra/newview/skins/default/xui/en/floater_inventory.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater - legacy_header_height="18" - can_resize="true" - height="563" - layout="topleft" - min_height="150" - min_width="240" - name="Inventory" - help_topic="inventory" - save_rect="true" - save_visibility="true" - single_instance="false" - title="MY INVENTORY" - width="467"> - <panel - bottom="560" - class="panel_main_inventory" - filename="panel_main_inventory.xml" - follows="all" - layout="topleft" - left="0" - label="Inventory Panel" - name="Inventory Panel" - top="15" - width="467" /> -</floater> diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index d65deb87ec3..63e50b0b9f7 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -38,10 +38,10 @@ visible="true"> <menu_item_check.on_check function="Floater.Visible" - parameter="my_inventory" /> + parameter="inventory" /> <menu_item_check.on_click function="Floater.Toggle" - parameter="my_inventory" /> + parameter="inventory" /> </menu_item_check> <menu_item_check label="Gestures..." -- GitLab From dfd1d822ff28046bb24fa41dbd11a636d393a40a Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Mon, 17 Oct 2011 15:21:17 -0700 Subject: [PATCH 250/256] EXP-1382 FIX -- Viewer crashes when updating UI size in preferences Reviewed by Richard. --- indra/newview/llnearbychathandler.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/indra/newview/llnearbychathandler.cpp b/indra/newview/llnearbychathandler.cpp index 1ba1d2f0f06..330a21ef653 100644 --- a/indra/newview/llnearbychathandler.cpp +++ b/indra/newview/llnearbychathandler.cpp @@ -363,10 +363,8 @@ static bool sort_toasts_predicate(LLHandle<LLToast> first, LLHandle<LLToast> sec void LLNearbyChatScreenChannel::arrangeToasts() { if(mStopProcessing || isHovering()) - return; - LLLayoutStack::updateClass(); LLView* floater_snap_region = gViewerWindow->getRootView()->getChildView("floater_snap_region"); if (!getParent()) -- GitLab From 681e5fa6691258a47184f43206fed52f278f232d Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine <vsavchuk@productengine.com> Date: Tue, 18 Oct 2011 12:53:09 +0200 Subject: [PATCH 251/256] STORM-1615 WIP Removed Dutch (NL) translation files. --- .../skins/default/xui/nl/floater_about.xml | 81 - .../default/xui/nl/floater_about_land.xml | 488 --- .../xui/nl/floater_animation_preview.xml | 85 - .../skins/default/xui/nl/floater_auction.xml | 9 - .../default/xui/nl/floater_avatar_picker.xml | 42 - .../xui/nl/floater_avatar_textures.xml | 30 - .../skins/default/xui/nl/floater_beacons.xml | 15 - .../default/xui/nl/floater_build_options.xml | 8 - .../default/xui/nl/floater_bulk_perms.xml | 44 - .../skins/default/xui/nl/floater_bumps.xml | 21 - .../default/xui/nl/floater_buy_contents.xml | 21 - .../default/xui/nl/floater_buy_currency.xml | 68 - .../skins/default/xui/nl/floater_buy_land.xml | 235 -- .../default/xui/nl/floater_buy_object.xml | 26 - .../skins/default/xui/nl/floater_camera.xml | 16 - .../default/xui/nl/floater_choose_group.xml | 8 - .../default/xui/nl/floater_color_picker.xml | 31 - .../skins/default/xui/nl/floater_critical.xml | 11 - .../skins/default/xui/nl/floater_event.xml | 40 - .../default/xui/nl/floater_font_test.xml | 6 - .../skins/default/xui/nl/floater_gesture.xml | 15 - .../xui/nl/floater_hardware_settings.xml | 28 - .../skins/default/xui/nl/floater_hud.xml | 2 - .../default/xui/nl/floater_image_preview.xml | 33 - .../skins/default/xui/nl/floater_inspect.xml | 11 - .../default/xui/nl/floater_inventory.xml | 47 - .../nl/floater_inventory_item_properties.xml | 75 - .../xui/nl/floater_inventory_view_finder.xml | 24 - .../skins/default/xui/nl/floater_joystick.xml | 80 - .../skins/default/xui/nl/floater_lagmeter.xml | 152 - .../default/xui/nl/floater_land_holdings.xml | 39 - .../default/xui/nl/floater_live_lsleditor.xml | 12 - .../default/xui/nl/floater_lsl_guide.xml | 7 - .../skins/default/xui/nl/floater_map.xml | 51 - .../default/xui/nl/floater_media_browser.xml | 19 - .../default/xui/nl/floater_mem_leaking.xml | 18 - .../skins/default/xui/nl/floater_moveview.xml | 13 - .../default/xui/nl/floater_mute_object.xml | 14 - .../default/xui/nl/floater_openobject.xml | 8 - .../skins/default/xui/nl/floater_pay.xml | 21 - .../default/xui/nl/floater_pay_object.xml | 30 - .../default/xui/nl/floater_perm_prefs.xml | 16 - .../default/xui/nl/floater_post_process.xml | 53 - .../skins/default/xui/nl/floater_postcard.xml | 36 - .../default/xui/nl/floater_preferences.xml | 8 - .../xui/nl/floater_preview_animation.xml | 8 - .../xui/nl/floater_preview_gesture.xml | 58 - .../xui/nl/floater_preview_notecard.xml | 16 - .../default/xui/nl/floater_preview_sound.xml | 8 - .../xui/nl/floater_preview_texture.xml | 9 - .../default/xui/nl/floater_region_info.xml | 2 - .../default/xui/nl/floater_report_abuse.xml | 103 - .../default/xui/nl/floater_script_debug.xml | 6 - .../default/xui/nl/floater_script_preview.xml | 6 - .../default/xui/nl/floater_script_queue.xml | 4 - .../default/xui/nl/floater_script_search.xml | 15 - .../default/xui/nl/floater_select_key.xml | 7 - .../default/xui/nl/floater_sell_land.xml | 65 - .../default/xui/nl/floater_settings_debug.xml | 13 - .../skins/default/xui/nl/floater_snapshot.xml | 79 - .../default/xui/nl/floater_sound_preview.xml | 11 - .../skins/default/xui/nl/floater_stats.xml | 71 - .../skins/default/xui/nl/floater_telehub.xml | 33 - .../default/xui/nl/floater_texture_ctrl.xml | 23 - .../skins/default/xui/nl/floater_tools.xml | 567 --- .../default/xui/nl/floater_top_objects.xml | 55 - .../skins/default/xui/nl/floater_tos.xml | 16 - .../default/xui/nl/floater_url_entry.xml | 12 - .../default/xui/nl/floater_world_map.xml | 54 - .../default/xui/nl/language_settings.xml | 57 - .../skins/default/xui/nl/menu_inventory.xml | 82 - .../default/xui/nl/menu_inventory_add.xml | 32 - .../skins/default/xui/nl/menu_login.xml | 13 - .../skins/default/xui/nl/menu_mini_map.xml | 8 - .../skins/default/xui/nl/menu_picks.xml | 8 - .../xui/nl/menu_places_gear_landmark.xml | 18 - .../skins/default/xui/nl/menu_slurl.xml | 6 - .../skins/default/xui/nl/menu_viewer.xml | 207 -- .../skins/default/xui/nl/mime_types.xml | 230 -- .../skins/default/xui/nl/notifications.xml | 3044 --------------- .../xui/nl/panel_block_list_sidetray.xml | 10 - .../default/xui/nl/panel_edit_profile.xml | 45 - .../default/xui/nl/panel_group_general.xml | 72 - .../default/xui/nl/panel_group_invite.xml | 24 - .../default/xui/nl/panel_group_land_money.xml | 84 - .../default/xui/nl/panel_group_notices.xml | 62 - .../default/xui/nl/panel_group_roles.xml | 101 - .../skins/default/xui/nl/panel_login.xml | 41 - .../default/xui/nl/panel_main_inventory.xml | 64 - .../xui/nl/panel_preferences_advanced.xml | 48 - .../xui/nl/panel_preferences_alerts.xml | 14 - .../default/xui/nl/panel_preferences_chat.xml | 42 - .../xui/nl/panel_preferences_general.xml | 89 - .../xui/nl/panel_preferences_graphics1.xml | 145 - .../xui/nl/panel_preferences_privacy.xml | 32 - .../xui/nl/panel_preferences_setup.xml | 31 - .../xui/nl/panel_preferences_sound.xml | 39 - .../default/xui/nl/panel_region_covenant.xml | 84 - .../default/xui/nl/panel_region_debug.xml | 40 - .../default/xui/nl/panel_region_estate.xml | 70 - .../default/xui/nl/panel_region_general.xml | 53 - .../default/xui/nl/panel_region_terrain.xml | 27 - .../default/xui/nl/panel_region_texture.xml | 57 - .../default/xui/nl/panel_scrolling_param.xml | 10 - .../skins/default/xui/nl/panel_status_bar.xml | 38 - .../skins/default/xui/nl/panel_world_map.xml | 57 - .../skins/default/xui/nl/role_actions.xml | 76 - .../newview/skins/default/xui/nl/strings.xml | 3247 ----------------- .../skins/default/xui/nl/teleport_strings.xml | 75 - 109 files changed, 11820 deletions(-) delete mode 100644 indra/newview/skins/default/xui/nl/floater_about.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_about_land.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_animation_preview.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_auction.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_avatar_picker.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_avatar_textures.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_beacons.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_build_options.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_bulk_perms.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_bumps.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_buy_contents.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_buy_currency.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_buy_land.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_buy_object.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_camera.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_choose_group.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_color_picker.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_critical.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_event.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_font_test.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_gesture.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_hardware_settings.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_hud.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_image_preview.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_inspect.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_inventory.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_inventory_item_properties.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_inventory_view_finder.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_joystick.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_lagmeter.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_land_holdings.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_live_lsleditor.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_lsl_guide.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_map.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_media_browser.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_mem_leaking.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_moveview.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_mute_object.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_openobject.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_pay.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_pay_object.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_perm_prefs.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_post_process.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_postcard.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_preferences.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_preview_animation.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_preview_gesture.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_preview_notecard.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_preview_sound.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_preview_texture.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_region_info.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_report_abuse.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_script_debug.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_script_preview.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_script_queue.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_script_search.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_select_key.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_sell_land.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_settings_debug.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_snapshot.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_sound_preview.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_stats.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_telehub.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_texture_ctrl.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_tools.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_top_objects.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_tos.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_url_entry.xml delete mode 100644 indra/newview/skins/default/xui/nl/floater_world_map.xml delete mode 100644 indra/newview/skins/default/xui/nl/language_settings.xml delete mode 100644 indra/newview/skins/default/xui/nl/menu_inventory.xml delete mode 100644 indra/newview/skins/default/xui/nl/menu_inventory_add.xml delete mode 100644 indra/newview/skins/default/xui/nl/menu_login.xml delete mode 100644 indra/newview/skins/default/xui/nl/menu_mini_map.xml delete mode 100644 indra/newview/skins/default/xui/nl/menu_picks.xml delete mode 100644 indra/newview/skins/default/xui/nl/menu_places_gear_landmark.xml delete mode 100644 indra/newview/skins/default/xui/nl/menu_slurl.xml delete mode 100644 indra/newview/skins/default/xui/nl/menu_viewer.xml delete mode 100644 indra/newview/skins/default/xui/nl/mime_types.xml delete mode 100644 indra/newview/skins/default/xui/nl/notifications.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_block_list_sidetray.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_edit_profile.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_group_general.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_group_invite.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_group_land_money.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_group_notices.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_group_roles.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_login.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_main_inventory.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_preferences_advanced.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_preferences_alerts.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_preferences_chat.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_preferences_general.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_preferences_graphics1.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_preferences_privacy.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_preferences_setup.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_preferences_sound.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_region_covenant.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_region_debug.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_region_estate.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_region_general.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_region_terrain.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_region_texture.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_scrolling_param.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_status_bar.xml delete mode 100644 indra/newview/skins/default/xui/nl/panel_world_map.xml delete mode 100644 indra/newview/skins/default/xui/nl/role_actions.xml delete mode 100644 indra/newview/skins/default/xui/nl/strings.xml delete mode 100644 indra/newview/skins/default/xui/nl/teleport_strings.xml diff --git a/indra/newview/skins/default/xui/nl/floater_about.xml b/indra/newview/skins/default/xui/nl/floater_about.xml deleted file mode 100644 index 4e22d865fe7..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_about.xml +++ /dev/null @@ -1,81 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="OVER [CAPITALIZED_APP_NAME]"> - <floater.string name="AboutHeader"> - [APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL]) -[[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]] - </floater.string> - <floater.string name="AboutCompiler"> - Gemaakt met [COMPILER] versie [COMPILER_VERSION] - </floater.string> - <floater.string name="AboutPosition"> - U bent op [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1] in [REGION] gelegen op <nolink>[HOSTNAME]</nolink> ([HOSTIP]) -[SERVER_VERSION] -[[SERVER_RELEASE_NOTES_URL] [ReleaseNotes]] - </floater.string> - <floater.string name="AboutSystem"> - CPU: [CPU] -Geheugen: [MEMORY_MB] MB -OS Versie: [OS_VERSION] -Grafische Kaard Vendor: [GRAPHICS_CARD_VENDOR] -Grafische Kaard: [GRAPHICS_CARD] - </floater.string> - <floater.string name="AboutDriver"> - Windows Grafische Driver Versie: [GRAPHICS_DRIVER_VERSION] - </floater.string> - <floater.string name="AboutLibs"> - OpenGL Versie: [OPENGL_VERSION] - -libcurl Versie: [LIBCURL_VERSION] -J2C Decoder Versie: [J2C_VERSION] -Audio Driver Versie: [AUDIO_DRIVER_VERSION] -Qt Webkit Versie: [QT_WEBKIT_VERSION] -Vivox Versie: [VIVOX_VERSION] - </floater.string> - <floater.string name="none"> - (none) - </floater.string> - <floater.string name="AboutTraffic"> - Pakketten Verloren: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%) - </floater.string> - <tab_container name="about_tab"> - <panel label="Info" name="support_panel"> - <button label="Kopiëren naar Klembord" name="copy_btn"/> - </panel> - <panel label="Credits" name="credits_panel"> - <text_editor name="credits_editor"> - Second Life wordt u aangeboden door Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl and many others. - -Een 'Dank u' voor de volgende bewoners voor het helpen zorgdragen dat dit de beste versie tot nu toe is: able whitman, Adeon Writer, adonaira aabye, Aeron Kohime, Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida, Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao, Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi, Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky, Henri Beauchamp, Inma Rau, Irene Muni, Aralara Rajal, Aura Dirval, Cayu Cluny, Eva Rau, FreeSL Aeon, Frontera Thor, Inma Rau, Lunita Savira, Minerva Memel, Polo Gufler, Xiki Luik, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar - - - -To be a success in business, be daring, be first, be different. --Henry Marchant - </text_editor> - </panel> - <panel label="Licenties" name="licenses_panel"> - <text_editor name="credits_editor"> - 3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion -APR Copyright (C) 2000-2004 The Apache Software Foundation -cURL Copyright (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se) -DBus/dbus-glib Copyright (C) 2002, 2003 CodeFactory AB / Copyright (C) 2003, 2004 -Red Hat, Inc. expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd. -FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org). -GL Copyright (C) 1999-2004 Brian Paul. -Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited. -jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW) -jpeglib Copyright (C) 1991-1998, Thomas G. Lane. -ogg/vorbis Copyright (C) 2001, Xiphophorus -OpenSSL Copyright (C) 1998-2002 The OpenSSL Project. -SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga -SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) -xmlrpc-epi Copyright (C) 2000 Epinions, Inc. -zlib Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler. -google-perftools Copyright (c) 2005, Google Inc. - -All rights reserved. See licenses.txt for details. - -Voice chat Audio coding: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C) - </text_editor> - </panel> - </tab_container> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_about_land.xml b/indra/newview/skins/default/xui/nl/floater_about_land.xml deleted file mode 100644 index f336e53e05b..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_about_land.xml +++ /dev/null @@ -1,488 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floaterland" title="OVER LAND"> - <tab_container name="landtab"> - <panel label="Algemeen" name="land_general_panel"> - <text name="Name:"> - Naam: - </text> - <text name="Description:"> - Omschrijving: - </text> - <text name="LandType"> - Type: - </text> - <text name="LandTypeText" left="102"> - Mainland / Homestead - </text> - <text name="ContentRating" width="98"> - Inhoudscategorie: - </text> - <text name="ContentRatingText" left="102"> - Adult - </text> - <text name="Owner:"> - Eigenaar: - </text> - <text name="OwnerText" left="102" width="242"/> - <button label="Profiel" name="Profile..."/> - <text name="Group:"> - Groep: - </text> - <text left="102" name="GroupText" width="242"/> - <button label="Instellen" name="Set..."/> - <check_box label="Overdracht aan groep toestaan" name="check deed" tool_tip="Een groepofficier kan dit land aan de groep overdragen, zodat het ondersteund wordt door de landallocatie van de groep."/> - <button label="Overdragen" name="Deed..." tool_tip="U mag alleen land overdragen indien u een officier bent in de geselecteerde groep."/> - <check_box label="Eigenaar maakt bijdrage met overdracht" name="check contrib" tool_tip="Wanneer het land is overgedragen aan de groep, draagt de voormalig eigenaar voldoende landtoewijzing bij om het te ondersteunen."/> - <text name="For Sale:"> - Te koop: - </text> - <text name="Not for sale."> - Niet te koop. - </text> - <text name="For Sale: Price L$[PRICE]."> - Prijs: L$[PRICE] (L$[PRICE_PER_SQM]/m²). - </text> - <button label="Verkoop land" name="Sell Land..."/> - <text name="For sale to"> - Te koop voor: [BUYER] - </text> - <text name="Sell with landowners objects in parcel."> - Objecten opgenomen in verkoop - </text> - <text name="Selling with no objects in parcel."> - Objecten niet opgenomen in verkoop - </text> - <button label="Annuleer landverkoop" label_selected="Annuleer landverkoop" name="Cancel Land Sale"/> - <text name="Claimed:"> - Geclaimd: - </text> - <text name="DateClaimText"> - Tue Aug 15 13:47:25 2006 - </text> - <text name="PriceLabel"> - Gebied: - </text> - <text name="PriceText"> - 4048 m² - </text> - <text name="Traffic:"> - Verkeer: - </text> - <text name="DwellText"> - 0 - </text> - <button left="130" width="125" label="Koop land..." label_selected="Koop land..." name="Buy Land..."/> - <button label="Koop voor groep" name="Buy For Group..."/> - <button left="130" width="125" label="Koop toegangspas..." label_selected="Koop toegangspas..." name="Buy Pass..." tool_tip="Een toegangspas geeft u tijdelijk toegang tot dit land."/> - <button label="Land Afstaan" name="Abandon Land..."/> - <button label="Land terugvorderen" name="Reclaim Land..."/> - <button label="Lindenverkoop" name="Linden Sale..." tool_tip="Land moet in bezit zijn, de inhoud moet ingesteld zijn en niet al ter veiling zijn aangeboden."/> - <panel.string name="new users only"> - Alleen nieuwe gebruikers - </panel.string> - <panel.string name="anyone"> - Iedereen - </panel.string> - <panel.string name="area_text"> - Gebied - </panel.string> - <panel.string name="area_size_text"> - [AREA] m² - </panel.string> - <panel.string name="auction_id_text"> - Veiling ID: [ID] - </panel.string> - <panel.string name="need_tier_to_modify"> - U dient uw aankoop te goedkeuren voor u dit land kunt wijzigen. - </panel.string> - <panel.string name="group_owned_text"> - (Groepseigendom) - </panel.string> - <panel.string name="profile_text"> - Profiel... - </panel.string> - <panel.string name="info_text"> - Informatie... - </panel.string> - <panel.string name="public_text"> - (public) - </panel.string> - <panel.string name="none_text"> - (none) - </panel.string> - <panel.string name="sale_pending_text"> - (Verkoop bezig) - </panel.string> - <panel.string name="no_selection_text"> - Geen perceel geselecteerd. Ga naar Wereld menu > Over land of selecteer een ander perceel om zijn details te tonen. - </panel.string> - </panel> - <panel label="Convenant" name="land_covenant_panel"> - <text name="estate_section_lbl"> - Estate: - </text> - <text name="estate_name_lbl"> - Naam: - </text> - <text name="estate_name_text"> - mainland - </text> - <text name="estate_owner_lbl"> - Eigenaar: - </text> - <text name="estate_owner_text"> - (none) - </text> - <text_editor name="covenant_editor"> - Er is geen convenant voorzien voor dit estate. - </text_editor> - <text name="covenant_timestamp_text"> - Laatst gewijzigd Wed Dec 31 16:00:00 1969 - </text> - <text name="region_section_lbl"> - Regio: - </text> - <text name="region_name_lbl"> - Naam: - </text> - <text name="region_name_text"> - leyla - </text> - <text name="region_landtype_lbl"> - Type: - </text> - <text name="region_landtype_text"> - Mainland / Homestead - </text> - <text name="region_maturity_lbl"> - Inhoudscategorie: - </text> - <text name="region_maturity_text"> - Adult - </text> - <text name="resellable_lbl"> - Doorverkopen: - </text> - <text name="resellable_clause"> - Land in deze regio mag niet worden doorverkocht. - </text> - <text name="changeable_lbl"> - Opsplitsen: - </text> - <text name="changeable_clause"> - Land in deze regio mag niet worden samengevoegd/opgesplitst. - </text> - <panel.string name="can_resell"> - Aangekocht land in deze regio mag worden doorverkocht. - </panel.string> - <panel.string name="can_not_resell"> - Aangekocht land in deze regio mag niet worden doorverkocht. - </panel.string> - <panel.string name="can_change"> - Aangekocht land in deze regio mag worden samengevoegd of -opgedeeld. - </panel.string> - <panel.string name="can_not_change"> - Aangekocht land in deze regio mag niet worden samengevoegd -of opgedeeld. - </panel.string> - </panel> - <panel label="Objecten" name="land_objects_panel"> - <text name="parcel_object_bonus"> - Regio object bonus factor: [BONUS] - </text> - <text name="Simulator primitive usage:"> - Simulator primitieven gebruik: - </text> - <text name="objects_available"> - [COUNT] van [MAX] ([AVAILABLE] beschikbaar) - </text> - <panel.string name="objects_available_text"> - [COUNT] van [MAX] ([AVAILABLE] beschikbaar) - </panel.string> - <panel.string name="objects_deleted_text"> - [COUNT] van [MAX] ([DELETED] zullen worden verwijderd) - </panel.string> - <text name="Primitives parcel supports:"> - Primitieven ondersteund door perceel: - </text> - <text name="object_contrib_text"> - [COUNT] - </text> - <text name="Primitives on parcel:"> - Primitieven op perceel: - </text> - <text name="total_objects_text" > - [COUNT] - </text> - <text name="Owned by parcel owner:" > - Eigendom van perceeleigenaar: - </text> - <text name="owner_objects_text" > - [COUNT] - </text> - <button label="Toon" label_selected="Toon" name="ShowOwner"/> - <button label="Retourneren" name="ReturnOwner..." tool_tip="Retourneer objecten naar hun eigenaren."/> - <text name="Set to group:" > - Groep toewijzen: - </text> - <text name="group_objects_text" > - [COUNT] - </text> - <button label="Toon" label_selected="Toon" name="ShowGroup"/> - <button label="Retourneren" name="ReturnGroup..." tool_tip="Retourneer objecten naar hun eigenaren."/> - <text name="Owned by others:"> - Eigendom van anderen: - </text> - <text name="other_objects_text" > - [COUNT] - </text> - <button label="Toon" label_selected="Toon" name="ShowOther"/> - <button label="Retourneren" name="ReturnOther..." tool_tip="Retourneer objecten naar hun eigenaren."/> - <text name="Selected / sat upon:"> - Geselecteerd/Er op gezeten - </text> - <text name="selected_objects_text" > - [COUNT] - </text> - <text name="Autoreturn"> - Objecten van andere inwoners automatisch retourneren (minuten): - (0 om uit te schakelen) - </text> - <line_editor name="clean other time"/> - <text name="Object Owners:"> - Objecteigenaren: - </text> - <button label="Ververs lijst" label_selected="Ververs lijst" name="Refresh List"/> - <button label="Retourneer objecten" name="Return objects..."/> - <name_list name="owner list"> - <column label="Type" name="type"/> - <column label="Naam" name="name"/> - <column label="Aantal" name="count"/> - <column label="Meest recent" name="mostrecent"/> - </name_list> - </panel> - <panel label="Opties" name="land_options_panel"> - <text name="allow_label"> - Andere inwoners toestaan te: - </text> - <check_box label="Terrein bewerken" name="edit land check" tool_tip="Indien aangevinkt, kan iedereen uw terrein bewerken. Het is het beste om dit uit te laten staan, omdat u zelf altijd uw eigen land kunt bewerken."/> - <check_box label="Maak landmarkering" name="check landmark"/> - <check_box label="Vliegen" name="check fly" tool_tip="Indien aangevinkt, kunnen inwoners op uw land vliegen. Indien niet aangevinkt, kunnen ze alleen het land binnenvliegen of eroverheen vliegen."/> - <text name="allow_label2"> - Maak objecten: - </text> - <check_box label="Alle inwoners" name="edit objects check"/> - <check_box label="Groep" name="edit group objects check"/> - <text name="allow_label3"> - Objecten binnenlaten: - </text> - <check_box label="Alle inwoners" name="all object entry check"/> - <check_box label="Groep" name="group object entry check"/> - <text name="allow_label4"> - Scripts uitvoeren: - </text> - <check_box label="Alle inwoners" name="check other scripts"/> - <check_box label="Groep" name="check group scripts"/> - <text name="land_options_label"> - Landopties: - </text> - <check_box label="Veilig (geen letsel)" name="check safe" tool_tip="Indien aangevinkt, wordt het land op Veilig ingesteld, waarmee letselgevechten worden uitgeschakeld. Indien niet aangevinkt, is letsel ingeschakeld."/> - <check_box label="Niet duwen" name="PushRestrictCheck" tool_tip="Weerhoudt scripts van duwen. Het aanvinken van deze optie kan handig zijn om storend gedrag op uw land te voorkomen."/> - <check_box label="Toon plaats in Zoeken (L$30/week) onder" name="ShowDirectoryCheck" tool_tip="Laat mensen dit perceel zien in zoekresultaten."/> - <panel.string name="search_enabled_tooltip"> - Laat mensen dit perceel zien in zoekresultaten - </panel.string> - <panel.string name="search_disabled_small_tooltip"> - Deze optie is uitgeschakeld, omdat dit gebied 128 m² of kleiner is. Alleen grote percelen kunnen worden opgenomen in Zoeken. - </panel.string> - <panel.string name="search_disabled_permissions_tooltip"> - Deze optie is uitgeschakeld omdat u de opties van dit perceel niet kunt wijzigen. - </panel.string> - <combo_box name="land category with adult"> - <combo_box.item name="item0" label="Alle Categorieën" - /> - <combo_box.item name="item1" label="Linden locatie" - /> - <combo_box.item name="item2" label="Adult" - /> - <combo_box.item name="item3" label="Kunst & Cultuur" - /> - <combo_box.item name="item4" label="Zakelijk" - /> - <combo_box.item name="item5" label="Educatief" - /> - <combo_box.item name="item6" label="Spelen" - /> - <combo_box.item name="item7" label="Ontmoetingsplaats" - /> - <combo_box.item name="item8" label="Nieuwkomervriendelijk" - /> - <combo_box.item name="item9" label="Parken & natuur" - /> - <combo_box.item name="item10" label="Woongebied" - /> - <combo_box.item name="item11" label="Winkelen" - /> - <combo_box.item name="item12" label="Anders" - /> - </combo_box> - <combo_box name="land category"> - <combo_box.item name="item0" label="Alle categorieën" - /> - <combo_box.item name="item1" label="Linden Locatie" - /> - <combo_box.item name="item3" label="Kunst & Cultuur" - /> - <combo_box.item name="item4" label="Zakelijk" - /> - <combo_box.item name="item5" label="Educatief" - /> - <combo_box.item name="item6" label="Spelen" - /> - <combo_box.item name="item7" label="Ontmoetingsplaats" - /> - <combo_box.item name="item8" label="Nieuwkomervriendelijk" - /> - <combo_box.item name="item9" label="Parken & Natuur" - /> - <combo_box.item name="item10" label="Woongebied" - /> - <combo_box.item name="item11" label="Winkelen" - /> - <combo_box.item name="item12" label="Anders" - /> - </combo_box> - <button label="?" label_selected="?" name="?"/> - <check_box label="Mature inhoud" name="MatureCheck" tool_tip=" "/> - <panel.string name="mature_check_mature"> - Mature inhoud - </panel.string> - <panel.string name="mature_check_adult"> - Adult inhoud - </panel.string> - <panel.string name="mature_check_mature_tooltip"> - Uw perceelinformatie of -inhoud wordt beschouwd als mature. - </panel.string> - <panel.string name="mature_check_adult_tooltip"> - Uw perceelinformatie of -inhoud wordt beschouwd als adult. - </panel.string> - <text name="Snapshot:"> - Foto: - </text> - <texture_picker label="" name="snapshot_ctrl" tool_tip="Klik om een afbeelding te kiezen"/> - <text name="landing_point"> - Landingsplaats: [LANDING] - </text> - <panel.string name="landing_point_none"> - (none) - </panel.string> - <button label="Instellen" label_selected="Instellen" name="Set" tool_tip="Stelt het landingspunt in waar bezoekers arriveren. Wordt ingesteld op uw avatar's positie binnen dit perceel."/> - <button label="Opschonen" label_selected="Opschonen" name="Clear" tool_tip="Landingspunt leegmaken"/> - <text name="Teleport Routing: "> - Teleport routering: - </text> - <combo_box name="landing type" tool_tip="Teleport routering -- selecteer hoe teleports naar uw land moeten worden afgehandeld."> - <combo_box.item name="Blocked" label="Geblokkeerd" - /> - <combo_box.item name="LandingPoint" label="Landingsplaats" - /> - <combo_box.item name="Anywhere" label="Overal" - /> - </combo_box> - <panel.string name="push_restrict_text"> - Niet duwen - </panel.string> - <panel.string name="push_restrict_region_text"> - Niet duwen (ingesteld op regio) - </panel.string> - </panel> - <panel label="Media" name="land_media_panel"> - <text name="with media:"> - Media type: - </text> - <combo_box name="media type" tool_tip="Specificeer of de URL een film, webpagina of andere media is"/> - <text name="at URL:"> - Media URL: - </text> - <button label="Instellen" name="set_media_url"/> - <text name="Description:"> - Omschrijving: - </text> - <line_editor name="url_description" tool_tip="Tekst wordt naast afspelen/laden knop weergegeven"/> - <text name="Media texture:"> - Vervang -textuur: - </text> - <texture_picker label="" name="media texture" tool_tip="Klik om een afbeelding te kiezen"/> - <text name="replace_texture_help"> - (Objecten die deze textuur gebruiken zullen de film -of de webpagina tonen nadat u het afspelen-pijltje -hebt geklikt.) - </text> - <text name="Options:"> - Media opties: - </text> - <check_box label="Automatisch schalen" name="media_auto_scale" tool_tip="Het aanvinken van deze optie zal de inhoud voor dit perceel automatisch schalen. Het kan enigszins trager zijn en de visuele kwaliteit kan iets lager zijn, maar er zal geen andere textuurschaling of uitlijning nodig zijn."/> - <check_box label="Herhaal media" name="media_loop" tool_tip="Speel media af in een lus. Wanneer de media klaar is met afspelen zal het herstarten vanaf het begin."/> - <text name="media_size" tool_tip="Grootte om webmedia weer te geven, laat op 0 staan voor standaard." width="120"> - Media grootte: - </text> - <spinner left_delta="90" name="media_size_width" tool_tip="Grootte om webmedia weer te geven, laat op 0 staan voor standaard."/> - <spinner name="media_size_height" tool_tip="Grootte om webmedia weer te geven, laat op 0 staan voor standaard."/> - <text name="pixels"> - pixels - </text> - <text name="MusicURL:"> - Muziek URL: - </text> - <text name="Sound:"> - Geluid: - </text> - <check_box label="Beperk gebaar- en objectgeluiden tot dit perceel" name="check sound local"/> - <button label="?" label_selected="?" name="?"/> - <text name="Voice settings:"> - Voice: - </text> - <check_box label="Voice inschakelen" name="parcel_enable_voice_channel"/> - <check_box label="Voice inschakelen (ingesteld in Estate)" name="parcel_enable_voice_channel_is_estate_disabled"/> - <check_box label="Beperk voice tot dit perceel" name="parcel_enable_voice_channel_parcel"/> - </panel> - <panel label="Toegang" name="land_access_panel"> - <text name="Limit access to this parcel to:"> - Toegang tot dit perceel - </text> - <check_box label="Publieke toegang toestaan" name="public_access"/> - <text name="Only Allow"> - Blokkeer toegang door: - </text> - <check_box label="Inwoners die geen betalingsinformatie hebben gegeven aan Linden Lab" name="limit_payment" tool_tip="Verban ongeïdentificeerde inwoners."/> - <check_box label="Inwoners die geen leeftijdgeverifieerde volwassenen zijn" name="limit_age_verified" tool_tip="Verban inwoners die hun leeftijd niet geverifieerd hebben. Zie support.secondlife.com voor meer informatie."/> - <panel.string name="estate_override"> - Een of meer van deze opties is op estate-niveau ingesteld - </panel.string> - <check_box label="Groepstoegang toestaan: [GROUP]" name="GroupCheck" tool_tip="Stel de groep in op het tabblad Algemeen"/> - <check_box label="Verkoop toegangspassen aan:" name="PassCheck" tool_tip="Tijdelijke toegang tot dit perceel toestaan"/> - <combo_box name="pass_combo" left_delta="190"> - <combo_box.item name="Anyone" label="Iedereen" - /> - <combo_box.item name="Group" label="Groep" - /> - </combo_box> - <spinner label="Prijs in L$:" name="PriceSpin" label_width="168" /> - <spinner label="Toegangsuren" name="HoursSpin" label_width="168" /> - <text label="Altijd toestaan" name="AllowedText"> - Toegestane inwoners - </text> - <name_list name="AccessList" tool_tip="([LISTED] vermeld, [MAX] max)"/> - <button label="Toevoegen..." label_selected="Toevoegen..." name="add_allowed"/> - <button label="Verwijderen" label_selected="Verwijderen" name="remove_allowed"/> - <text label="Verbannen" name="BanCheck"> - Verbannen inwoners - </text> - <name_list name="BannedList" tool_tip="([LISTED] vermeld, [MAX] max)"/> - <button label="Toevoegen..." label_selected="Toevoegen..." name="add_banned"/> - <button label="Verwijderen" label_selected="Verwijderen" name="remove_banned"/> - </panel> - </tab_container> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_animation_preview.xml b/indra/newview/skins/default/xui/nl/floater_animation_preview.xml deleted file mode 100644 index f4e99081508..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_animation_preview.xml +++ /dev/null @@ -1,85 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Animation Preview" title=""> - <text name="name_label"> - Naam: - </text> - <text name="description_label"> - Omschrijving: - </text> - <spinner label="Prioriteit" name="priority" tool_tip="Bepaalt welke andere animaties kunnen worden overschaduwd door deze animatie."/> - <check_box label="Herhalen" name="loop_check" tool_tip="Laat deze animatie herhalen."/> - <spinner label="In(%)" name="loop_in_point" tool_tip="Instellen punt in de animatie waar de herhaling begint."/> - <spinner label="Uit(%)" name="loop_out_point" tool_tip="Instellen punt in in de animatie waar de herhaling eindigt."/> - <text name="hand_label"> - Houding van Hand - </text> - <combo_box label="" left_delta="100" width="176" name="hand_pose_combo" tool_tip="Bepaalt wat handen doen tijdens een animatie." left="300"> - <combo_box.item name="Spread" label="Gespreid"/> - <combo_box.item name="Relaxed" label="Ontspannen"/> - <combo_box.item name="PointBoth" label="Wijzen Beide"/> - <combo_box.item name="Fist" label="Vuist"/> - <combo_box.item name="RelaxedLeft" label="Ontspannen Links"/> - <combo_box.item name="PointLeft" label="Wijzen Links"/> - <combo_box.item name="FistLeft" label="Vuist Links"/> - <combo_box.item name="RelaxedRight" label="Ontspannen Rechts"/> - <combo_box.item name="PointRight" label="Wijzen Rechts"/> - <combo_box.item name="FistRight" label="Vuist Rechts"/> - <combo_box.item name="SaluteRight" label="Salueren Rechts"/> - <combo_box.item name="Typing" label="Typen"/> - <combo_box.item name="PeaceRight" label="Peace Rechts"/> - </combo_box> - <text name="emote_label"> - Expressie - </text> - <combo_box label="" left_delta="100" width="176" name="emote_combo" tool_tip="Bepaalt wat het gezicht doet tijdens de animatie."> - <combo_box.item name="[None]" label="Geen]"/> - <combo_box.item name="Aaaaah" label="Aaaaah"/> - <combo_box.item name="Afraid" label="Bang"/> - <combo_box.item name="Angry" label="Boos"/> - <combo_box.item name="BigSmile" label="Brede Lach"/> - <combo_box.item name="Bored" label="Verveeld"/> - <combo_box.item name="Cry" label="Huilen"/> - <combo_box.item name="Disdain" label="Minachting"/> - <combo_box.item name="Embarrassed" label="Beschaamd"/> - <combo_box.item name="Frown" label="Frons"/> - <combo_box.item name="Kiss" label="Kus"/> - <combo_box.item name="Laugh" label="Lachen"/> - <combo_box.item name="Plllppt" label="Plllppt"/> - <combo_box.item name="Repulsed" label="Afkeer"/> - <combo_box.item name="Sad" label="Verdrietig"/> - <combo_box.item name="Shrug" label="Onverschillig"/> - <combo_box.item name="Smile" label="Glimlach"/> - <combo_box.item name="Surprise" label="Verrassing"/> - <combo_box.item name="Wink" label="Knipoog"/> - <combo_box.item name="Worry" label="Bezorgd"/> - </combo_box> - <text name="preview_label"> - Voorvertoning - </text> - <combo_box label="" left_delta="100" width="176" name="preview_base_anim" tool_tip="Gebruik dit om het gedrag van uw animatie te testen terwijl uw avatar veelvoorkomende acties uitvoert."> - <combo_box.item name="Standing" label="Staand"/> - <combo_box.item name="Walking" label="Lopend"/> - <combo_box.item name="Sitting" label="Zittend"/> - <combo_box.item name="Flying" label="Vliegend"/> - </combo_box> - <spinner label="Invloeitijd (sec)" label_width="125" name="ease_in_time" tool_tip="Hoeveelheid tijd (in seconden) waarover animaties invloeien." width="192"/> - <spinner bottom_delta="-20" label="Uitvloeitijd (sec)" label_width="125" left="10" name="ease_out_time" tool_tip="Hoeveelheid tijd (in seconden) waarover animaties uitvloeien." width="192"/> - <button bottom_delta="-32" label="" name="play_btn" tool_tip="Start/pauzeer uw animatie."/> - <button label="" name="stop_btn" tool_tip="Stop het afspelen van Uw animatie"/> - <text name="bad_animation_text"> - Niet in staat om het animatiebestand te lezen. Wij -raden u aan bestanden te gebruiken die vanuit -Poser 4 zijn geëxporteerd. - </text> - <button label="Annuleren" name="cancel_btn"/> - <button label="Upload (L$[AMOUNT])" name="ok_btn" width="140" left_delta="-155"/> - <string name="failed_to_initialize"> - Het initialiseren van de beweging is mislukt. - </string> - <string name="anim_too_long"> - het animatiebestand heeft een lengte van [LENGTH] seconden. De maximale lengte van een animatie is [MAX_LENGTH] seconden. - </string> - <string name="failed_file_read"> - Kan animatiebestand niet lezen. [STATUS] - </string> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_auction.xml b/indra/newview/skins/default/xui/nl/floater_auction.xml deleted file mode 100644 index 611024699be..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_auction.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_auction" title="START LINDEN LAND VERKOOP"> - <check_box label="Voeg geel selectie kader toe" name="fence_check"/> - <button label="Foto" label_selected="Foto" name="snapshot_btn"/> - <button label="OK" label_selected="OK" name="ok_btn"/> - <string name="already for sale"> - U kunt geen percelen veilen die al te koop staan. - </string> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_avatar_picker.xml b/indra/newview/skins/default/xui/nl/floater_avatar_picker.xml deleted file mode 100644 index 260cc8e98f6..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_avatar_picker.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="avatarpicker" title="KIES INWONER"> - <tab_container name="ResidentChooserTabs"> - <panel label="Zoeken" name="SearchPanel"> - <text name="InstructSearchResidentName"> - Type een deel van de naam van de inwoner: - </text> - <button label="Zoek" label_selected="Zoek" name="Find"/> - </panel> - <panel label="Visitekaartjes" name="CallingCardsPanel"> - <text name="InstructSelectCallingCard"> - Selecteer een visitekaartje: - </text> - </panel> - <panel label="In mijn buurt" name="NearMePanel"> - <text name="InstructSelectResident"> - Selecteer een inwoner -in de buurt: - </text> - <button label="Vernieuw lijst" label_selected="Ververs lijst" name="Refresh"/> - <slider label="Afstand" name="near_me_range" bottom_delta="-36"/> - <text name="meters"> - Meters - </text> - <scroll_list bottom_delta="-169" height="159" name="NearMe" /> - </panel> - </tab_container> - <button label="Selecteer" label_selected="Selecteer" name="Select"/> - <button label="Annuleren" label_selected="Annuleren" name="Cancel"/> - <string name="not_found"> - '[TEXT]' niet gevonden - </string> - <string name="no_one_near"> - Niemand in de buurt - </string> - <string name="no_results"> - Geen resultaten - </string> - <string name="searching"> - Zoeken... - </string> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_avatar_textures.xml b/indra/newview/skins/default/xui/nl/floater_avatar_textures.xml deleted file mode 100644 index a44db95b5b1..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_avatar_textures.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="avatar_texture_debug" title="AVATAR TEXTUREN"> - <text name="baked_label"> - Baked texturen - </text> - <text name="composite_label"> - Samengestelde texturen - </text> - <texture_picker label="Hoofd" name="baked_head"/> - <texture_picker label="Make-up" name="head_bodypaint"/> - <texture_picker label="Haar" name="hair"/> - <button label="Dump" label_selected="Dump" name="Dump"/> - <texture_picker label="Ogen" name="baked_eyes"/> - <texture_picker label="Oog" name="eye_texture"/> - <texture_picker label="Bovenlichaam" name="baked_upper_body"/> - <texture_picker label="Bovenlichaam tatoeage" name="upper_bodypaint"/> - <texture_picker label="Onderhemd" name="undershirt"/> - <texture_picker label="Handschoenen" name="gloves"/> - <texture_picker label="Hemd" name="shirt"/> - <texture_picker label="Bovenkant jas" name="upper_jacket"/> - <texture_picker label="Onderlichaam" name="baked_lower_body"/> - <texture_picker label="Onderlichaam tatoeage" name="lower_bodypaint"/> - <texture_picker label="Onderbroek" name="underpants"/> - <texture_picker label="Sokken" name="socks"/> - <texture_picker label="Schoenen" name="shoes"/> - <texture_picker label="Broek" name="pants"/> - <texture_picker label="Jas" name="jacket"/> - <texture_picker label="Rok" name="baked_skirt"/> - <texture_picker label="Rok" name="skirt_texture"/> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_beacons.xml b/indra/newview/skins/default/xui/nl/floater_beacons.xml deleted file mode 100644 index ecc485e354b..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_beacons.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="beacons" title="BAKENS"> - <panel name="beacons_panel"> - <check_box label="Gescripte objecten met alleen Aanraken" name="touch_only"/> - <check_box label="Gescripte objecten" name="scripted"/> - <check_box label="Fysieke objecten" name="physical"/> - <check_box label="Geluidsbronnen" name="sounds"/> - <check_box label="Particlebronnen" name="particles"/> - <check_box label="Markeringen weergeven" name="highlights"/> - <check_box label="Bakens weergeven" name="beacons"/> - <text name="beacon_width_label"> - Bakenbreedte: - </text> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_build_options.xml b/indra/newview/skins/default/xui/nl/floater_build_options.xml deleted file mode 100644 index 53b60167bba..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_build_options.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="build options floater" title="GRID OPTIES"> - <spinner label="Grid eenheid (meters)" name="GridResolution" width="180" label_width="122"/> - <spinner label="Grid extensies (meters)" name="GridDrawSize" width="180" label_width="122"/> - <check_box label="Sub-eenheid snap Inschakelen" name="GridSubUnit"/> - <check_box label="Toon dwarsdoorsnede" name="GridCrossSection"/> - <slider label="Grid opaakheid" name="GridOpacity"/> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_bulk_perms.xml b/indra/newview/skins/default/xui/nl/floater_bulk_perms.xml deleted file mode 100644 index 5374ffc26ab..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_bulk_perms.xml +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floaterbulkperms" title="BULK WIJZIGEN INHOUD PERMISSIES"> - <text name="applyto"> - Inhoud Typen - </text> - <check_box label="Animatie" name="check_animation"/> - <check_box label="Lichaamsdelen" name="check_bodypart"/> - <check_box label="Kleding" name="check_clothing"/> - <check_box label="Gebaren" name="check_gesture"/> - <check_box label="Landmarkeringen" name="check_landmark"/> - <check_box label="Notitiekaarten" name="check_notecard"/> - <check_box label="Objecten" name="check_object"/> - <check_box label="Scripts" name="check_script"/> - <check_box label="Geluiden" name="check_sound"/> - <check_box label="Texturen" name="check_texture"/> - <button label="Alles aanvinken" label_selected="Alles" name="check_all"/> - <button label="Alles ontvinken" label_selected="Geen" name="check_none"/> - <text name="newperms"> - Nieuwe permissies - </text> - <check_box label="Delen met groep" name="share_with_group"/> - <check_box label="Iedereen mag kopiëren" name="everyone_copy"/> - <text name="NextOwnerLabel"> - Volgende eigenaar kan: - </text> - <check_box label="Wijzigen" name="next_owner_modify"/> - <check_box label="Kopiëren" name="next_owner_copy"/> - <check_box label="Verkopen/Weggeven" name="next_owner_transfer"/> - <button label="Help" name="help"/> - <button label="Toepassen" name="apply"/> - <button label="Sluiten" name="close"/> - <string name="nothing_to_modify_text"> - Selectie bevat geen bewerkbare inhoud. - </string> - <string name="status_text"> - Permissies instellen op [NAME] - </string> - <string name="start_text"> - Starten permissie wijzigings verzoeken... - </string> - <string name="done_text"> - Beïndigd permissie wijzigings verzoeken. - </string> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_bumps.xml b/indra/newview/skins/default/xui/nl/floater_bumps.xml deleted file mode 100644 index 516b59658d9..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_bumps.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_bumps" title="BOTSINGEN, DUWEN & SLAAN"> - <string name="none_detected"> - Geen gedetecteerd - </string> - <string name="bump"> - [TIME] [NAME] botste tegen u aan - </string> - <string name="llpushobject"> - [TIME] [NAME] duwde u met een script - </string> - <string name="selected_object_collide"> - [TIME] [NAME] raakte u met een object - </string> - <string name="scripted_object_collide"> - [TIME] [NAME] raakte u met een gescript object - </string> - <string name="physical_object_collide"> - [TIME] [NAME] raakte u met een fysiek object - </string> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_buy_contents.xml b/indra/newview/skins/default/xui/nl/floater_buy_contents.xml deleted file mode 100644 index 4c0ff7d04a0..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_buy_contents.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_buy_contents" title="KOOP INHOUD"> - <text name="contains_text"> - [NAME] bevat: - </text> - <text name="buy_text"> - Koop voor L$[AMOUNT] van [NAME]? - </text> - <button label="Annuleren" label_selected="Annuleren" name="cancel_btn" width="73"/> - <button label="Koop" label_selected="Koop" name="buy_btn"/> - <check_box label="Draag kleding nu" name="wear_check"/> - <string name="no_copy_text"> - (niet kopiëren) - </string> - <string name="no_modify_text"> - (niet wijzigen) - </string> - <string name="no_transfer_text"> - (niet overdragen) - </string> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_buy_currency.xml b/indra/newview/skins/default/xui/nl/floater_buy_currency.xml deleted file mode 100644 index 6ee5cc5341e..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_buy_currency.xml +++ /dev/null @@ -1,68 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="buy currency" title="KOOP VALUTA"> - <text name="info_buying"> - Valuta kopen - </text> - <text name="info_cannot_buy"> - Kan nu niet kopen - </text> - <text name="info_need_more"> - U heeft meer valuta nodig: - </text> - <text name="error_message"> - Er klopt iets niet. - </text> - <button label="Ga naar website" name="error_web"/> - <text name="contacting"> - Contact maken met Lindex… - </text> - <text name="buy_action_unknown"> - Koop L$ op de LindeX valutabeurs - </text> - <text name="buy_action"> - [NAME] L$ [PRICE] - </text> - <text name="currency_action" width="48"> - Koop L$ - </text> - <line_editor name="currency_amt" left_delta="53" width="75"> - 1234 - </line_editor> - <text name="currency_est" left_delta="80"> - voor ong. [LOCALAMOUNT] - </text> - <text name="getting_data"> - Data ophalen… - </text> - <text name="balance_label"> - U heeft momenteel - </text> - <text name="balance_amount"> - L$ [AMT] - </text> - <text name="buying_label"> - U koopt - </text> - <text name="buying_amount"> - L$ [AMT] - </text> - <text name="total_label"> - Uw saldo zal zijn: - </text> - <text name="total_amount"> - L$ [AMT] - </text> - <text name="purchase_warning_repurchase" right="-8"> - Het bevestigen van deze aankoop zal alleen de valuta -kopen. U dient de bewerking opnieuw uit te voeren. - </text> - <text name="purchase_warning_notenough" right="-8"> - U koopt niet voldoende valuta. -Verhoog de hoeveelheid die gekocht moet worden. - </text> - <button label="Annuleren" name="cancel_btn"/> - <button label="Kopen" name="buy_btn"/> - <string name="buy_currency"> - Koop L$ [LINDENS] voor ong. [LOCALAMOUNT] - </string> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_buy_land.xml b/indra/newview/skins/default/xui/nl/floater_buy_land.xml deleted file mode 100644 index 04990e78dbc..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_buy_land.xml +++ /dev/null @@ -1,235 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="buy land" title="KOOP LAND"> - <text name="region_name_label"> - Regio: - </text> - <text name="region_name_text"> - (onbekend) - </text> - <text name="region_type_label"> - Type: - </text> - <text name="region_type_text"> - (onbekend) - </text> - <text name="estate_name_label"> - Estate: - </text> - <text name="estate_name_text"> - (onbekend) - </text> - <text name="estate_owner_label"> - Estate eigenaar: - </text> - <text name="estate_owner_text"> - (onbekend) - </text> - <text name="resellable_changeable_label"> - Aangekocht land in deze regio: - </text> - <text name="resellable_clause"> - Mag niet worden doorverkocht - </text> - <text name="changeable_clause"> - Mag niet worden samengevoegd/opgesplitst - </text> - <text name="covenant_text"> - U moet instemmen met het estate convenant: - </text> - <text left="470" name="covenant_timestamp_text"/> - <text_editor name="covenant_editor"> - Laden... - </text_editor> - <check_box label="Ik ga akkoord met het hierboven beschreven convenant." name="agree_covenant"/> - <text name="info_parcel_label"> - Perceel: - </text> - <text name="info_parcel"> - Scotopteryx 138,204 - </text> - <text name="info_size_label"> - Grootte: - </text> - <text name="info_size"> - 1024 m² - </text> - <text name="info_price_label"> - Prijs: - </text> - <text name="info_price"> - L$ 1500 -(L$ 1.1/m²) -verkocht met objecten - </text> - <text name="info_action"> - Het kopen van dit land zal: - </text> - <text name="error_message"> - Er is iets niet in orde. - </text> - <button label="Ga naar website" name="error_web"/> - <text name="account_action"> - U upgraden naar een premium lidmaatschap - </text> - <text name="account_reason"> - Alleen premiumleden kunnen land bezitten. - </text> - <combo_box name="account_level"> - <combo_box.item name="US$9.95/month,billedmonthly" label="US$9.95/maand, gefactureerd per maand"/> - <combo_box.item name="US$7.50/month,billedquarterly" label="US$7.50/maand, gefactureerd per kwartaal"/> - <combo_box.item name="US$6.00/month,billedannually" label="US$6.00/maand, gefactureerd per jaar"/> - </combo_box> - <text name="land_use_action"> - Verhoog uw maandelijkse landgebruikskosten tot US$ 40/maand - </text> - <text name="land_use_reason"> - U bezit 1309 m² land. -Dit perceel omvat 512 m² land. - </text> - <text name="purchase_action"> - Betaal Joe Resident L$4000 voor het land - </text> - <text name="currency_reason"> - U heeft L$2,100. - </text> - <text name="currency_action"> - Koop extra L$ - </text> - <line_editor name="currency_amt"> - 1000 - </line_editor> - <text name="currency_est"> - voor ong. US$ [AMOUNT2] - </text> - <text name="currency_balance"> - U heeft L$2,100. - </text> - <check_box label="Verwijder [AMOUNT] vierkante meters van uw groepsbijdrage." name="remove_contribution"/> - <button label="Aankopen" name="buy_btn"/> - <button label="Annuleren" name="cancel_btn"/> - <string name="can_resell"> - Mag worden doorverkocht. - </string> - <string name="can_not_resell"> - Mag niet worden doorverkocht. - </string> - <string name="can_change"> - Mag worden samengevoegd of opgedeeld. - </string> - <string name="can_not_change"> - Mag niet worden samengevoegd of opgedeeld. - </string> - <string name="cant_buy_for_group"> - U heeft geen permissie om land te kopen voor uw actieve groep. - </string> - <string name="no_land_selected"> - Geen land geselecteerd - </string> - <string name="multiple_parcels_selected"> - Meerdere verschillende percelen geselecteerd. Probeer een kleiner gebied te selecteren. - </string> - <string name="no_permission"> - U heeft geen permissie om land te kopen voor uw actieve groep. - </string> - <string name="parcel_not_for_sale"> - Het geselecteerde perceel is niet te koop. - </string> - <string name="group_already_owns"> - De groep is al eigenaar van het perceel. - </string> - <string name="you_already_own"> - U bent al eigenaar van het perceel - </string> - <string name="set_to_sell_to_other"> - Het geselecteerde perceel staat te koop voor een andere partij. - </string> - <string name="no_public_land"> - Het geselecteerde gebied heeft geen publiek land. - </string> - <string name="not_owned_by_you"> - Land dat het eigendom is van een andere gebruiker is geselecteerd. Probeer een kleiner gebied te selecteren. - </string> - <string name="processing"> - Uw aankoop wordt verwerkt... - -(Dit kan een minuut of twee duren.) - </string> - <string name="fetching_error"> - Er is een fout opgetreden tijdens het ophalen van informatie over het kopen van het land. - </string> - <string name="buying_will"> - Het kopen van dit land zal: - </string> - <string name="buying_for_group"> - Land voor groep kopen zal: - </string> - <string name="cannot_buy_now"> - Kan nu niet kopen: - </string> - <string name="not_for_sale"> - Niet te koop: - </string> - <string name="none_needed"> - geen benodigd - </string> - <string name="must_upgrade"> - Uw account moet geüpgrade worden om land te bezitten. - </string> - <string name="cant_own_land"> - Uw account kan land bezitten. - </string> - <string name="land_holdings"> - U bezit [BUYER] vierkante meters land. - </string> - <string name="pay_to_for_land"> - Betaal L$ [AMOUNT] aan [SELLER] voor dit land - </string> - <string name="buy_for_US"> - Koop L$ [AMOUNT] voor ong. US$ [AMOUNT2], - </string> - <string name="parcel_meters"> - Dit perceel is [AMOUNT] vierkante meters. - </string> - <string name="premium_land"> - Dit land is premium, en zal worden belast als [AMOUNT] vierkante meters. - </string> - <string name="discounted_land"> - Dit land is gedisconteerd, en zal worden belast als [AMOUNT] vierkante meters. - </string> - <string name="meters_supports_object"> - [AMOUNT] vierkante meter -ondersteunt [AMOUNT2] objecten - </string> - <string name="sold_with_objects"> - verkocht met objecten - </string> - <string name="sold_without_objects"> - objecten niet inbegrepen - </string> - <string name="info_price_string"> - L$ [PRICE] -(L$ [PRICE_PER_SQM]/m²) -[SOLD_WITH_OBJECTS] - </string> - <string name="insufficient_land_credits"> - De groep [GROUP] heeft voldoende bijdrage van landgebruikcredits nodig om dit perceel te dekken voordat de aankoop kan worden afgerond. - </string> - <string name="have_enough_lindens"> - U heeft L$ [AMOUNT], wat genoeg is om dit land te kopen. - </string> - <string name="not_enough_lindens"> - U heeft slechts L$ [AMOUNT], en hebt L$ [AMOUNT2] meer nodig. - </string> - <string name="balance_left"> - Na de aankoop zult u nog L$ [AMOUNT] over hebben. - </string> - <string name="balance_needed"> - U dient minstens L$ [AMOUNT] te kopen om dit land te kunnen veroorloven. - </string> - <string name="no_parcel_selected"> - (geen perceel geselecteerd) - </string> - <string name="buy_currency"> - Koop L$ [AMOUNT] voor ong. US$ [USD] - </string> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_buy_object.xml b/indra/newview/skins/default/xui/nl/floater_buy_object.xml deleted file mode 100644 index 5d2d9dd3d01..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_buy_object.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="contents" title="KOOP EEN KOPIE VAN OBJECT"> - <text name="contents_text"> - en zijn inhoud: - </text> - <text name="buy_text"> - Koop voor L$[AMOUNT] van [NAME]? - </text> - <button label="Annuleren" label_selected="Annuleren" name="cancel_btn"/> - <button label="Koop" label_selected="Koop" name="buy_btn"/> - <string name="title_buy_text"> - Koop - </string> - <string name="title_buy_copy_text"> - Koop een kopie van - </string> - <string name="no_copy_text"> - (niet kopiëren) - </string> - <string name="no_modify_text"> - (niet wijzigen) - </string> - <string name="no_transfer_text"> - (niet overdragen) - </string> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_camera.xml b/indra/newview/skins/default/xui/nl/floater_camera.xml deleted file mode 100644 index 81a3ed8a581..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_camera.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="camera_floater" title=""> - <floater.string name="rotate_tooltip"> - Roteer camera rond focus - </floater.string> - <floater.string name="zoom_tooltip"> - Zoom camera naar focus - </floater.string> - <floater.string name="move_tooltip"> - Beweeg camera omhoog en omlaag, links en rechts - </floater.string> - <panel name="controls"> - <joystick_track name="cam_track_stick" tool_tip="Beweeg camera omhoog en omlaag, links en rechts"/> - <joystick_zoom name="zoom" tool_tip="Zoom camera naar focus"/> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_choose_group.xml b/indra/newview/skins/default/xui/nl/floater_choose_group.xml deleted file mode 100644 index 8d54d62d2d0..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_choose_group.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="groups" title="GROEPEN"> - <text name="groupdesc"> - Kies een groep: - </text> - <button label="OK" label_selected="OK" name="OK"/> - <button label="Annuleren" label_selected="Annuleren" name="Cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_color_picker.xml b/indra/newview/skins/default/xui/nl/floater_color_picker.xml deleted file mode 100644 index 9b61af07102..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_color_picker.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="ColorPicker" title="KLEURKIEZER"> - <text name="r_val_text"> - Rood: - </text> - <text name="g_val_text"> - Groen: - </text> - <text name="b_val_text"> - Blauw: - </text> - <text name="h_val_text"> - Hue: - </text> - <text name="s_val_text"> - Sat: - </text> - <text name="l_val_text"> - Lum: - </text> - <check_box label="Direct toepassen" name="apply_immediate"/> - <button label="Annuleren" label_selected="Annuleren" name="cancel_btn"/> - <button label="Selecteer" label_selected="Selecteer" name="select_btn"/> - <text name="Current color:"> - Huidige kleur: - </text> - <text name="(Drag below to save.)"> - (Sleep naar beneden - om op te slaan) - </text> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_critical.xml b/indra/newview/skins/default/xui/nl/floater_critical.xml deleted file mode 100644 index 90790fe1082..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_critical.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="modal container" title=""> - <button label="Doorgaan" label_selected="Doorgaan" name="Continue"/> - <button label="Annuleren" label_selected="Annuleren" name="Cancel"/> - <text name="tos_heading"> - Leest u alstublieft het volgende bericht zorgvuldig door. - </text> - <text_editor name="tos_text"> - TOS_TEXT - </text_editor> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_event.xml b/indra/newview/skins/default/xui/nl/floater_event.xml deleted file mode 100644 index 45ec58abdf1..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_event.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater - follows="all" - height="400" - can_resize="true" - help_topic="event_details" - label="Event" - layout="topleft" - name="Event" - save_rect="true" - save_visibility="false" - title="EVENT DETAILS" - width="600"> - <floater.string - name="loading_text"> - Laden... - </floater.string> - <floater.string - name="done_text"> - Done - </floater.string> - <web_browser - trusted_content="true" - follows="left|right|top|bottom" - layout="topleft" - left="10" - name="browser" - height="365" - width="580" - top="0"/> - <text - follows="bottom|left" - height="16" - layout="topleft" - left_delta="0" - name="status_text" - top_pad="10" - width="150" /> -</floater> - diff --git a/indra/newview/skins/default/xui/nl/floater_font_test.xml b/indra/newview/skins/default/xui/nl/floater_font_test.xml deleted file mode 100644 index 31e53e7fba9..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_font_test.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="contents" title="LETTERTYPETEST"> - <text name="linea"> - Overschrijf test, zou hier moeten verschijnen als Times (vanuit default/xui/en-us). - </text> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_gesture.xml b/indra/newview/skins/default/xui/nl/floater_gesture.xml deleted file mode 100644 index 4fa994c69ec..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_gesture.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="gestures" title="ACTIEVE GEBAREN"> - <text name="help_label"> - Dubbelklik een gebaar om animaties en geluiden af te spelen - </text> - <scroll_list name="gesture_list"> - <column label="Trigger" name="trigger"/> - <column label="Toets" name="shortcut"/> - <column label="Naam" name="name"/> - </scroll_list> - <button label="Nieuw" name="new_gesture_btn"/> - <button label="Bewerken" name="edit_btn"/> - <button label="Afspelen" name="play_btn"/> - <button label="Stop" name="stop_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_hardware_settings.xml b/indra/newview/skins/default/xui/nl/floater_hardware_settings.xml deleted file mode 100644 index b27a96f15ca..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_hardware_settings.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Hardware Settings Floater" title="HARDWARE INSTELLINGEN"> - <text name="Filtering:"> - Filtering: - </text> - <check_box label="Anisotropische filtering (langzamer indien ingeschakeld)" name="ani" left="100"/> - <text name="Antialiasing:"> - Anti-alias: - </text> - <combo_box label="Anti-alias" name="fsaa" width="120" left="100"> - <combo_box.item name="FSAADisabled" label="Uitgeschakeld"/> - <combo_box.item name="2x" label="2x"/> - <combo_box.item name="4x" label="4x"/> - <combo_box.item name="8x" label="8x"/> - <combo_box.item name="16x" label="16x"/> - </combo_box> - <spinner label="Gamma:" name="gamma" label_width="88" width="170"/> - <text name="(brightness, lower is brighter)" left="182"> - (helderheid, lager is helderder, 0=gebruik standaardwaarde) - </text> - <text name="Enable VBO:"> - VBO inschakelen: - </text> - <check_box label="OpenGL Vertex Buffer Objects inschakelen" name="vbo" tool_tip="Dit inschakelen op moderne hardware geeft een prestatiewinst. Oudere hardware heeft echter vaak een slechte implementatie van VBO's en u kunt crashes ondervinden wanneer dit is ingeschakeld."/> - <slider label="Textuurgeheugen (MB):" name="GrapicsCardTextureMemory" tool_tip="Hoeveelheid geheugen dat voor texturen toegewezen wordt. Standaard wordt de hoeveelheid geheugen van de videokaart gebruikt. Het verminderen van deze waarde kan de prestaties verbeteren, maar kan ook texturen wazig maken."/> - <spinner label="Mistafstandsratio:" name="fog"/> - <button label="OK" label_selected="OK" name="OK"/> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_hud.xml b/indra/newview/skins/default/xui/nl/floater_hud.xml deleted file mode 100644 index 8ef7de1b02b..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_hud.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_hud" title="HANDLEIDING"/> diff --git a/indra/newview/skins/default/xui/nl/floater_image_preview.xml b/indra/newview/skins/default/xui/nl/floater_image_preview.xml deleted file mode 100644 index 06596c20aa0..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_image_preview.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Image Preview" title=""> - <text name="name_label"> - Naam: - </text> - <text name="description_label"> - Omschrijving: - </text> - <text name="preview_label"> - Toon voorbeeld van -afbeelding als: - </text> - <combo_box label="Kledingtype" name="clothing_type_combo"> - <combo_box.item name="Image" label="Afbeelding"/> - <combo_box.item name="Hair" label="Haar"/> - <combo_box.item name="FemaleHead" label="Vrouwelijk hoofd"/> - <combo_box.item name="FemaleUpperBody" label="Vrouwelijk bovenlichaam"/> - <combo_box.item name="FemaleLowerBody" label="Vrouwelijk onderlichaam"/> - <combo_box.item name="MaleHead" label="Mannelijk hoofd"/> - <combo_box.item name="MaleUpperBody" label="Mannelijk onderlichaam"/> - <combo_box.item name="MaleLowerBody" label="Mannelijk bovenlichaam"/> - <combo_box.item name="Skirt" label="Rok"/> - <combo_box.item name="SculptedPrim" label="Sculpted prim"/> - </combo_box> - <text name="bad_image_text"> - Kan afbeelding niet lezen. - -Probeer het op te slaan als een 24 bit Targa (.tga). - </text> - <check_box label="Gebruik verliesloze compressie" name="lossless_check"/> - <button label="Annuleren" name="cancel_btn"/> - <button label="Upload (L$[AMOUNT])" name="ok_btn" width="140"/> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_inspect.xml b/indra/newview/skins/default/xui/nl/floater_inspect.xml deleted file mode 100644 index 6a0885b57f5..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_inspect.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="inspect" title="OBJECTEN INSPECTEREN"> - <scroll_list name="object_list" tool_tip="Selecteer een object van deze lijst om het in-wereld te markeren"> - <column label="Objectnaam" name="object_name"/> - <column label="Eigenaar" name="owner_name"/> - <column label="Maker" name="creator_name"/> - <column label="Aanmaakdatum" name="creation_date"/> - </scroll_list> - <button label="Toon profiel eigenaar..." label_selected="" name="button owner" tool_tip="Bekijk het profiel van de eigenaar van het gemarkeerde object"/> - <button label="Toon profiel maker..." label_selected="" name="button creator" tool_tip="Bekijk het profiel van de originele maker van het gemarkeerde object"/> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_inventory.xml b/indra/newview/skins/default/xui/nl/floater_inventory.xml deleted file mode 100644 index a69039d811e..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_inventory.xml +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Inventory" title="INVENTARIS"> - <search_editor label="Typ hier om te zoeken" name="inventory search editor"/> - <tab_container name="inventory filter tabs"> - <inventory_panel label="Alle items" name="All Items"/> - <inventory_panel label="Recente items" name="Recent Items"/> - </tab_container> - <menu_bar name="Inventory Menu"> - <menu label="Bestand" name="File"> - <menu_item_call label="Open" name="Open"/> - <menu_item_call label="Nieuw venster" name="New Window"/> - <menu_item_call label="Toon filters" name="Show Filters"/> - <menu_item_call label="Filters opnieuw instellen" name="Reset Current"/> - <menu_item_call label="Alle mappen sluiten" name="Close All Folders"/> - <menu_item_call label="Prullenbak legen" name="Empty Trash"/> - </menu> - <menu label="Maak" name="Create"> - <menu_item_call label="Nieuwe map" name="New Folder"/> - <menu_item_call label="Nieuw script" name="New Script"/> - <menu_item_call label="Nieuwe notitie" name="New Note"/> - <menu_item_call label="Nieuw gebaar" name="New Gesture"/> - <menu name="New Clothes"> - <menu_item_call label="Nieuw hemd" name="New Shirt"/> - <menu_item_call label="Nieuwe broek" name="New Pants"/> - <menu_item_call label="Nieuwe schoenen" name="New Shoes"/> - <menu_item_call label="Nieuwe sokken" name="New Socks"/> - <menu_item_call label="Nieuwe jas" name="New Jacket"/> - <menu_item_call label="Nieuwe rok" name="New Skirt"/> - <menu_item_call label="Nieuwe handschoenen" name="New Gloves"/> - <menu_item_call label="Nieuw onderhemd" name="New Undershirt"/> - <menu_item_call label="Nieuwe onderbroek" name="New Underpants"/> - </menu> - <menu name="New Body Parts"> - <menu_item_call label="Nieuwe postuur" name="New Shape"/> - <menu_item_call label="Nieuwe huid" name="New Skin"/> - <menu_item_call label="Nieuw haar" name="New Hair"/> - <menu_item_call label="Nieuwe ogen" name="New Eyes"/> - </menu> - </menu> - <menu label="Sorteren" name="Sort"> - <menu_item_check label="Op naam" name="By Name"/> - <menu_item_check label="Op datum" name="By Date"/> - <menu_item_check label="Mappen altijd op naam" name="Folders Always By Name"/> - <menu_item_check label="Systeemmappen naar de bovenkant" name="System Folders To Top"/> - </menu> - </menu_bar> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/nl/floater_inventory_item_properties.xml deleted file mode 100644 index 81a823acd44..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_inventory_item_properties.xml +++ /dev/null @@ -1,75 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="item properties" title="INVENTARISITEM EIGENSCHAPPEN"> - <text name="LabelItemNameTitle"> - Naam: - </text> - <text name="LabelItemDescTitle"> - Omschrijving: - </text> - <text name="LabelCreatorTitle"> - Maker: - </text> - <button label="Profiel..." label_selected="" name="BtnCreator"/> - <text name="LabelOwnerTitle"> - Eigenaar - </text> - <button label="Profiel..." label_selected="" name="BtnOwner"/> - <text name="LabelAcquiredTitle"> - Verworven: - </text> - <text name="LabelAcquiredDate"> - Wed May 24 12:50:46 2006 - </text> - <text name="OwnerLabel"> - U kunt: - </text> - <check_box label="Wijzigen" name="CheckOwnerModify"/> - <check_box label="Kopiëren" name="CheckOwnerCopy"/> - <check_box label="Doorverkopen/weggeven" name="CheckOwnerTransfer"/> - <text name="BaseMaskDebug"> - B: - </text> - <text name="OwnerMaskDebug"> - E: - </text> - <text name="GroupMaskDebug"> - G: - </text> - <text name="EveryoneMaskDebug"> - I: - </text> - <text name="NextMaskDebug"> - V: - </text> - <check_box label="Delen met groep" name="CheckShareWithGroup"/> - <check_box label="Iedereen mag kopiëren" name="CheckEveryoneCopy"/> - <text name="NextOwnerLabel" width="130"> - Volgende eigenaar kan: - </text> - <check_box label="Wijzigen" name="CheckNextOwnerModify"/> - <check_box label="Kopiëren" name="CheckNextOwnerCopy"/> - <check_box label="Doorverkopen/weggeven" name="CheckNextOwnerTransfer"/> - <text name="SaleLabel"> - Markeer item: - </text> - <check_box label="Te koop" name="CheckPurchase"/> - <radio_group name="RadioSaleType"> - <radio_item name="radio" label="Origineel" /> - <radio_item name="radio2" label="Kopiëren" /> - </radio_group> - <text name="TextPrice"> - Prijs: L$ - </text> - <string name="unknown"> - (onbekend) - </string> - <string name="public"> - (public) - </string> - <string name="you_can"> - U kunt: - </string> - <string name="owner_can"> - Eigenaar kan: - </string> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/nl/floater_inventory_view_finder.xml deleted file mode 100644 index 097ebda8b76..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_inventory_view_finder.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Inventory Finder" title="INVENTORY_RECENT_ITEMS"> - <check_box label="Animatie" name="check_animation"/> - <check_box label="Visitekaartjes" name="check_calling_card"/> - <check_box label="Kleding" name="check_clothing"/> - <check_box label="Gebaren" name="check_gesture"/> - <check_box label="Landmarkeringen" name="check_landmark"/> - <check_box label="Notitiekaarten" name="check_notecard"/> - <check_box label="Objecten" name="check_object"/> - <check_box label="Scripts" name="check_script"/> - <check_box label="Geluiden" name="check_sound"/> - <check_box label="Texturen" name="check_texture"/> - <check_box label="Foto's" name="check_snapshot"/> - <button label="Alles" label_selected="Alles" name="All"/> - <button label="Geen" label_selected="Geen" name="None"/> - <check_box label="Altijd mappen tonen" name="check_show_empty"/> - <check_box label="Sinds logoff" name="check_since_logoff"/> - <text name="- OR -"> - - OF - - </text> - <spinner label="Uren geleden" name="spin_hours_ago" width="144" label_width="80"/> - <spinner label="Dagen geleden" name="spin_days_ago" width="144" label_width="80"/> - <button label="Sluiten" label_selected="Sluiten" name="Close"/> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_joystick.xml b/indra/newview/skins/default/xui/nl/floater_joystick.xml deleted file mode 100644 index 1d590dc1f3a..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_joystick.xml +++ /dev/null @@ -1,80 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Joystick" title="JOYSTICK CONFIGURATIE"> - <check_box name="enable_joystick" width="80" label="Joystick inschakelen:"/> - <text left="146" name="joystick_type" width="360"/> - <spinner label="X-as mapping" name="JoystickAxis1"/> - <spinner label="Y-as mapping" name="JoystickAxis2"/> - <spinner label="Z-as mapping" name="JoystickAxis0"/> - <spinner label="Stampen mapping" name="JoystickAxis4"/> - <spinner label="Gieren mapping" name="JoystickAxis5"/> - <spinner label="Rollen mapping" name="JoystickAxis3"/> - <spinner label="Zoom mapping" name="JoystickAxis6"/> - <check_box label="Directe zoom" name="ZoomDirect"/> - <check_box label="3D Cursor" name="Cursor3D"/> - <check_box label="Automatisch niveau" name="AutoLeveling"/> - <text name="Control Modes:"> - Besturingsmodi: - </text> - <check_box name="JoystickAvatarEnabled" label="Avatar"/> - <check_box name="JoystickBuildEnabled" label="Bouwen"/> - <check_box name="JoystickFlycamEnabled" label="Vliegcamera"/> - <text name="XScale"> - X schaal - </text> - <text name="YScale"> - Y schaal - </text> - <text name="ZScale"> - Z schaal - </text> - <text name="PitchScale"> - Stampen schaal - </text> - <text name="YawScale"> - Gieren schaal - </text> - <text name="RollScale"> - Rollen schaal - </text> - <text name="XDeadZone"> - X dode zone - </text> - <text name="YDeadZone"> - Y dode zone - </text> - <text name="ZDeadZone"> - Z dode zone - </text> - <text name="PitchDeadZone"> - Stampen dode zone - </text> - <text name="YawDeadZone"> - Gieren dode zone - </text> - <text name="RollDeadZone"> - Rollen dode zone - </text> - <text name="Feathering"> - Feathering - </text> - <text name="ZoomScale2"> - Zoomschaal - </text> - <text name="ZoomDeadZone"> - Zoom dode zone - </text> - <button label="SpaceNavigator standaardwaarden" name="SpaceNavigatorDefaults" width="200" font="SansSerifSmall"/> - <button label="OK" label_selected="OK" name="ok_btn"/> - <button label="Annuleren" label_selected="Annuleren" name="cancel_btn" left_delta="110"/> - <stat_view label="Joystick monitor" name="axis_view"> - <stat_bar label="As 0" name="axis0"/> - <stat_bar label="As 1" name="axis1"/> - <stat_bar label="As 2" name="axis2"/> - <stat_bar label="As 3" name="axis3"/> - <stat_bar label="As 4" name="axis4"/> - <stat_bar label="As 5" name="axis5"/> - </stat_view> - <string name="NoDevice"> - Geen apparaat gedetecteerd - </string> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_lagmeter.xml b/indra/newview/skins/default/xui/nl/floater_lagmeter.xml deleted file mode 100644 index e3943c2470f..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_lagmeter.xml +++ /dev/null @@ -1,152 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_lagmeter" title="LAG METER"> - <button label="" label_selected="" name="client_lagmeter" tool_tip="Client lag status"/> - <text name="client"> - Client: - </text> - <text name="client_text"> - Normaal - </text> - <button label="" label_selected="" name="network_lagmeter" tool_tip="Netwerklag status"/> - <text name="network"> - Netwerk: - </text> - <text name="network_text"> - Normaal - </text> - <button label="" label_selected="" name="server_lagmeter" tool_tip="Serverlag status"/> - <text name="server"> - Server: - </text> - <text name="server_text"> - Normaal - </text> - <button label="?" name="server_help"/> - <button label=">>" name="minimize"/> - <string name="max_title_msg"> - Lag meter - </string> - <string name="max_width_px"> - 360 - </string> - <string name="min_title_msg"> - Lag - </string> - <string name="min_width_px"> - 90 - </string> - <string name="client_text_msg"> - Client - </string> - <string name="client_frame_rate_critical_fps"> - 10 - </string> - <string name="client_frame_rate_warning_fps"> - 15 - </string> - <string name="client_frame_time_window_bg_msg"> - Normaal, venster op achtergrond - </string> - <string name="client_frame_time_critical_msg"> - Client framerate onder [CLIENT_FRAME_RATE_CRITICAL] - </string> - <string name="client_frame_time_warning_msg"> - Client framerate tussen [CLIENT_FRAME_RATE_CRITICAL] en [CLIENT_FRAME_RATE_WARNING] - </string> - <string name="client_frame_time_normal_msg"> - Normaal - </string> - <string name="client_draw_distance_cause_msg"> - Mogelijke oorzaak: Zichtbereik te hoog ingesteld - </string> - <string name="client_texture_loading_cause_msg"> - Mogelijke oorzaak: Afbeeldingen worden geladen - </string> - <string name="client_texture_memory_cause_msg"> - Mogelijke oorzaak: Teveel afbeeldingen in geheugen - </string> - <string name="client_complex_objects_cause_msg"> - Mogelijke oorzaak: Teveel complexe objecten in de scene - </string> - <string name="network_text_msg"> - Netwerk - </string> - <string name="network_packet_loss_critical_pct"> - 10 - </string> - <string name="network_packet_loss_warning_pct"> - 5 - </string> - <string name="network_packet_loss_critical_msg"> - Verbinding verliest meer dan [NETWORK_PACKET_LOSS_CRITICAL]% van de pakketten - </string> - <string name="network_packet_loss_warning_msg"> - Verbinding verliest [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]% van de pakketten - </string> - <string name="network_performance_normal_msg"> - Normaal - </string> - <string name="network_ping_critical_ms"> - 600 - </string> - <string name="network_ping_warning_ms"> - 300 - </string> - <string name="network_ping_critical_msg"> - Verbinding pingtijd is meer dan [NETWORK_PING_CRITICAL] ms - </string> - <string name="network_ping_warning_msg"> - Verbinding pingtijd is [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms - </string> - <string name="network_packet_loss_cause_msg"> - Mogelijk slechte verbinding of 'Bandbreedte' voorkeur te hoog. - </string> - <string name="network_ping_cause_msg"> - Mogelijk slechte verbinding of applicatie voor bestandsdeling. - </string> - <string name="server_text_msg"> - Server - </string> - <string name="server_frame_rate_critical_fps"> - 20 - </string> - <string name="server_frame_rate_warning_fps"> - 30 - </string> - <string name="server_single_process_max_time_ms"> - 20 - </string> - <string name="server_frame_time_critical_msg"> - Simulator framerate onder [SERVER_FRAME_RATE_CRITICAL] - </string> - <string name="server_frame_time_warning_msg"> - Simulator framerate tussen [SERVER_FRAME_RATE_CRITICAL] en [SERVER_FRAME_RATE_WARNING] - </string> - <string name="server_frame_time_normal_msg"> - Normaal - </string> - <string name="server_physics_cause_msg"> - Mogelijke oorzaak: Teveel fysieke objecten - </string> - <string name="server_scripts_cause_msg"> - Mogelijke oorzaak: Teveel gescripte objecten - </string> - <string name="server_net_cause_msg"> - Mogelijke oorzaak: Teveel netwerkverkeer - </string> - <string name="server_agent_cause_msg"> - Mogelijke oorzaak: Teveel mensen verplaatsen zich in de regio - </string> - <string name="server_images_cause_msg"> - Mogelijke oorzaak: Teveel afbeeldingberekeningen - </string> - <string name="server_generic_cause_msg"> - Mogelijke oorzaak: Simulatorbelasting is te hoog - </string> - <string name="smaller_label"> - >> - </string> - <string name="bigger_label"> - << - </string> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_land_holdings.xml b/indra/newview/skins/default/xui/nl/floater_land_holdings.xml deleted file mode 100644 index 5cf66ed0c44..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_land_holdings.xml +++ /dev/null @@ -1,39 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="land holdings floater" title="MIJN LAND"> - <scroll_list name="parcel list"> - <column label="Perceelnaam" name="name"/> - <column label="Regio" name="location"/> - <column label="Type" name="type"/> - <column label="Gebied" name="area"/> - </scroll_list> - <button label="Teleport" label_selected="Teleport" name="Teleport" tool_tip="Teleport naar het centrum van dit land."/> - <button label="Toon op kaart" label_selected="Toon op kaart" name="Show on Map" tool_tip="Toon dit land op de wereldkaart"/> - <text name="contrib_label"> - Bijdragen aan uw groepen: - </text> - <scroll_list name="grant list"> - <column label="Groep" name="group"/> - <column label="Gebied" name="area"/> - </scroll_list> - <text name="allowed_label"> - Toegestane landbezittingen in het huidige betaalschema: - </text> - <text name="allowed_text"> - [AREA] m² - </text> - <text name="current_label"> - Huidige landbezittingen: - </text> - <text name="current_text"> - [AREA] m² - </text> - <text name="available_label"> - Beschikbaar voor landaankopen: - </text> - <text name="available_text"> - [AREA] m² - </text> - <string name="area_string"> - [AREA] m² - </string> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_live_lsleditor.xml b/indra/newview/skins/default/xui/nl/floater_live_lsleditor.xml deleted file mode 100644 index 98a0362ce1f..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_live_lsleditor.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="script ed float" title="SCRIPT: NIEUW SCRIPT"> - <button label="Herstarten" label_selected="Herstarten" name="Reset"/> - <check_box label="Uitvoeren" name="running" left="4"/> - <check_box label="Mono" name="mono"/> - <string name="not_allowed"> - U bent niet bevoegd om dit script in te zien - </string> - <string name="script_running"> - Uitvoeren - </string> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_lsl_guide.xml b/indra/newview/skins/default/xui/nl/floater_lsl_guide.xml deleted file mode 100644 index 27b3ff834ee..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_lsl_guide.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="script ed float" title="LSL WIKI"> - <check_box label="Volg cursor" name="lock_check"/> - <combo_box label="Vergrendelen" name="history_combo"/> - <button label="Terug" name="back_btn"/> - <button label="Vooruit" name="fwd_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_map.xml b/indra/newview/skins/default/xui/nl/floater_map.xml deleted file mode 100644 index 29af36e50c9..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_map.xml +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Map"> - <floater.string name="mini_map_north"> - N - </floater.string> - <floater.string name="mini_map_east"> - O - </floater.string> - <floater.string name="mini_map_west"> - W - </floater.string> - <floater.string name="mini_map_south"> - Z - </floater.string> - <floater.string name="mini_map_southeast"> - ZO - </floater.string> - <floater.string name="mini_map_northeast"> - NO - </floater.string> - <floater.string name="mini_map_southwest"> - ZW - </floater.string> - <floater.string name="mini_map_northwest"> - NW - </floater.string> - <text label="N" name="floater_map_north" text="N"> - N - </text> - <text label="O" name="floater_map_east" text="O"> - O - </text> - <text label="W" name="floater_map_west" text="W"> - W - </text> - <text label="Z" name="floater_map_south" text="Z"> - Z - </text> - <text label="ZO" name="floater_map_southeast" text="ZO"> - ZO - </text> - <text label="NO" name="floater_map_northeast" text="NO"> - NO - </text> - <text label="ZW" name="floater_map_southwest" text="ZW"> - ZW - </text> - <text label="NW" name="floater_map_northwest" text="NW"> - NW - </text> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_media_browser.xml b/indra/newview/skins/default/xui/nl/floater_media_browser.xml deleted file mode 100644 index 12f693bf33f..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_media_browser.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="MEDIA VERKENNER"> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button label="Terug" name="back"/> - <button label="Vooruit" name="forward"/> - <button label="Herladen" name="reload"/> - <button label="Ga" name="go"/> - </layout_panel> - <layout_panel name="parcel_owner_controls"> - <button label="Stuur huidige URL naar perceel" name="assign"/> - </layout_panel> - <layout_panel name="external_controls"> - <button label="Open in mijn webbrowser" name="open_browser"/> - <check_box label="Altijd in mijn webbrowser openen" name="open_always"/> - <button label="Sluiten" name="close"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_mem_leaking.xml b/indra/newview/skins/default/xui/nl/floater_mem_leaking.xml deleted file mode 100644 index d0b25587b68..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_mem_leaking.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="MemLeak" title="GEHEUGENLEK SIMULATIE"> - <spinner label="Leksnelheid (bytes per frame):" name="leak_speed"/> - <spinner label="Max gelekt geheugen (MB):" name="max_leak"/> - <text name="total_leaked_label"> - Huidig gelekt geheugen: [SIZE] KB - </text> - <text name="note_label_1"> - [NOTE1] - </text> - <text name="note_label_2"> - [NOTE2] - </text> - <button label="Start" name="start_btn"/> - <button label="Stop" name="stop_btn"/> - <button label="Vrijgeven" name="release_btn"/> - <button label="Sluiten" name="close_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_moveview.xml b/indra/newview/skins/default/xui/nl/floater_moveview.xml deleted file mode 100644 index 8a6a874e499..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_moveview.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="move_floater"> -<panel name="panel_actions"> - <button label="" label_selected="" name="turn left btn" tool_tip="Draai links"/> - <button label="" label_selected="" name="turn right btn" tool_tip="Draai rechts"/> - <button label="" label_selected="" name="move up btn" tool_tip="Spring of vlieg omhoog"/> - <button label="" label_selected="" name="move down btn" tool_tip="Kruip of vlieg omlaag"/> - <joystick_slide name="slide left btn" tool_tip="Verplaats links"/> - <joystick_slide name="slide right btn" tool_tip="Verplaats rechts"/> - <joystick_turn name="forward btn" tool_tip="Verplaats vooruit"/> - <joystick_turn name="backward btn" tool_tip="Verplaats achteruit"/> -</panel> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_mute_object.xml b/indra/newview/skins/default/xui/nl/floater_mute_object.xml deleted file mode 100644 index edea63b42c6..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_mute_object.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="mute by name" title="BLOKKEER VOORWERP BIJ NAAM"> - <text bottom_delta="-40" name="message"> - Blokkeer een Voorwerp: - </text> - <line_editor bottom_delta="-58" name="object_name"> - Object naam - </line_editor> - <text name="note"> - * Blokkeerd alleen object tekst, niet de geluiden - </text> - <button label="Ok" name="OK"/> - <button label="Annuleren" name="Cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_openobject.xml b/indra/newview/skins/default/xui/nl/floater_openobject.xml deleted file mode 100644 index 832c63403d9..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_openobject.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="objectcontents" title="OBJECT INHOUD"> - <text name="object_name"> - [DESC]: - </text> - <button label="Kopiëren naar inventaris" label_selected="Kopiëren naar inventaris" name="copy_to_inventory_button" width="140"/> - <button label="Kopiëren en dragen" label_selected="Kopiëren en dragen" name="copy_and_wear_button" left="164"/> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_pay.xml b/indra/newview/skins/default/xui/nl/floater_pay.xml deleted file mode 100644 index f2b34d78d72..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_pay.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Give Money" title=""> - <button label="L$1" label_selected="L$1" name="fastpay 1"/> - <button label="L$5" label_selected="L$5" name="fastpay 5"/> - <button label="L$10" label_selected="L$10" name="fastpay 10"/> - <button label="L$20" label_selected="L$20" name="fastpay 20"/> - <button label="Betaal" label_selected="Betaal" name="pay btn"/> - <button label="Annuleren" label_selected="Annuleren" name="cancel btn"/> - <text name="payee_label" width="100"> - Betaal inwoner: - </text> - <text name="payee_name" left="110"> - Test Name That Is Extremely Long To Check Clipping - </text> - <text name="fastpay text"> - Snel betalen: - </text> - <text name="amount text"> - Bedrag: - </text> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_pay_object.xml b/indra/newview/skins/default/xui/nl/floater_pay_object.xml deleted file mode 100644 index 11fa6d4a44d..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_pay_object.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Give Money" title=""> - <text name="payee_group" left="5" width="90" halign="left"> - Betaal groep: - </text> - <text name="payee_resident" left="5" width="90" halign="left"> - Betaal inwoner: - </text> - <text name="payee_name" left="100" width="200"> - Ericacita Moostopolison - </text> - <text name="object_name_label" left="5" width="90" halign="left"> - Via object: - </text> - <text name="object_name_text" left="100" width="200"> - ... - </text> - <text name="fastpay text" halign="left"> - Snel betalen: - </text> - <text name="amount text"> - Bedrag: - </text> - <button label="L$1" label_selected="L$1" name="fastpay 1"/> - <button label="L$5" label_selected="L$5" name="fastpay 5"/> - <button label="L$10" label_selected="L$10" name="fastpay 10"/> - <button label="L$20" label_selected="L$20" name="fastpay 20"/> - <button label="Betaal" label_selected="Betaal" name="pay btn"/> - <button label="Annuleren" label_selected="Annuleren" name="cancel btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_perm_prefs.xml b/indra/newview/skins/default/xui/nl/floater_perm_prefs.xml deleted file mode 100644 index f946c42678c..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_perm_prefs.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="perm prefs" title="STANDAARD UPLOAD PERMISSIES"> - <panel label="Permissies" name="permissions"> - <button label="?" label_selected="?" name="help"/> - <check_box label="Delen met groep" name="share_with_group"/> - <check_box label="Iedereen mag kopiëren" name="everyone_copy"/> - <text name="NextOwnerLabel"> - Volgende eigenaar kan: - </text> - <check_box label="Wijzigen" name="next_owner_modify"/> - <check_box label="Kopiëren" name="next_owner_copy"/> - <check_box label="Verkopen/weggeven" name="next_owner_transfer" left_delta="80"/> - </panel> - <button label="OK" label_selected="OK" name="ok"/> - <button label="Annuleren" label_selected="Annuleren" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_post_process.xml b/indra/newview/skins/default/xui/nl/floater_post_process.xml deleted file mode 100644 index e627f81a70a..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_post_process.xml +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Post-Process Floater" title="NABEWERKINGINSTELLINGEN"> - <tab_container name="Post-Process Tabs"> - <panel label="Kleurfilter" name="wmiColorFilterPanel"> - <check_box label="Inschakelen" name="wmiColorFilterToggle"/> - <text name="wmiColorFilterBrightnessText"> - Helderheid - </text> - <text name="wmiColorFilterSaturationText"> - Verzadiging - </text> - <text name="wmiColorFilterContrastText"> - Contrast - </text> - <text name="wmiColorFilterBaseText"> - Contrastbasiskleur - </text> - <slider label="R" name="wmiColorFilterBaseR"/> - <slider label="G" name="wmiColorFilterBaseG"/> - <slider label="B" name="wmiColorFilterBaseB"/> - <slider label="I" name="wmiColorFilterBaseI"/> - </panel> - <panel label="Nachtvisie" name="wmiNightVisionPanel"> - <check_box label="Inschakelen" name="wmiNightVisionToggle"/> - <text name="wmiNightVisionBrightMultText"> - Lichtversterking - </text> - <text name="wmiNightVisionNoiseSizeText"> - Ruisgrootte - </text> - <text name="wmiNightVisionNoiseStrengthText"> - Ruissterkte - </text> - </panel> - <panel label="Bloom" name="wmiBloomPanel"> - <check_box label="Inschakelen" name="wmiBloomToggle"/> - <text name="wmiBloomExtractText"> - Lichtsterkte extractie - </text> - <text name="wmiBloomSizeText"> - Bloom-grootte - </text> - <text name="wmiBloomStrengthText"> - Bloom-sterkte - </text> - </panel> - <panel label="Extra's" name="Extras"> - <button label="LaadEffect" label_selected="LaadEffect" name="PPLoadEffect"/> - <button label="Effect opslaan" label_selected="Effect opslaan" name="PPSaveEffect"/> - <line_editor label="Effectnaam" name="PPEffectNameEditor"/> - </panel> - </tab_container> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_postcard.xml b/indra/newview/skins/default/xui/nl/floater_postcard.xml deleted file mode 100644 index c2d092fdd46..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_postcard.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Postcard" title="EMAIL FOTO"> - <text name="to_label"> - Ontvanger e-mail: - </text> - <text name="from_label"> - Uw e-mail: - </text> - <text name="name_label"> - Uw naam: - </text> - <text name="subject_label"> - Onderwerp: - </text> - <line_editor label="Type hier uw onderwerp." name="subject_form"/> - <text name="msg_label"> - Bericht: - </text> - <text_editor name="msg_form"> - Type hier uw bericht. - </text_editor> - <text name="fine_print"> - Indien uw ontvanger deelneemt aan SL, zult u een verwijzingsbonus ontvangen. - </text> - <button label="Annuleren" name="cancel_btn"/> - <button label="Verzenden" name="send_btn"/> - <string name="default_subject"> - Ansichtkaart uit [SECOND_LIFE] - </string> - <string name="default_message"> - Kom dit zien! - </string> - <string name="upload_message"> - Verzenden... - </string> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_preferences.xml b/indra/newview/skins/default/xui/nl/floater_preferences.xml deleted file mode 100644 index 6fc8005fd24..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_preferences.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Preferences" title="VOORKEUREN"> - <button label="OK" label_selected="OK" name="OK"/> - <button label="Annuleren" label_selected="Annuleren" name="Cancel"/> - <button label="Toepassen" label_selected="Toepassen" name="Apply"/> - <button label="Over" label_selected="Over" name="About..."/> - <button label="Help" label_selected="Help" name="Help"/> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_preview_animation.xml b/indra/newview/skins/default/xui/nl/floater_preview_animation.xml deleted file mode 100644 index 0634452d967..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_preview_animation.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="preview_anim"> - <text name="desc txt"> - Omschrijving: - </text> - <button label="Afspelen in wereld" label_selected="Stop" name="Anim play btn" tool_tip="Speel deze animatie af, zodat anderen hem kunnen zien." width="120"/> - <button label="Lokaal afspelen" label_selected="Stop" name="Anim audition btn" tool_tip="Speel deze animatie af, zodat alleen u hem kunt zien." width="110"/> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_preview_gesture.xml b/indra/newview/skins/default/xui/nl/floater_preview_gesture.xml deleted file mode 100644 index c6b301841ae..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_preview_gesture.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="gesture_preview"> - <string name="stop_txt"> - Stop - </string> - <string name="preview_txt"> - Voorbeeld - </string> - <string name="none_text"> - -- Geen -- - </string> - <text name="desc_label"> - Omschrijving: - </text> - <text name="trigger_label"> - Trigger: - </text> - <text name="replace_text" tool_tip="Vervang de startseinwoorden door deze woorden. Bijvoorbeeld, startsein 'hallo' vervang door 'hoi' zal de chat 'Ik wilde hallo zeggen' veranderen in 'Ik wilde hoi zeggen', waarbij tevens het gebaar afgespeeld zal worden!"> - Vervangen door: - </text> - <line_editor name="replace_editor" tool_tip="Vervang de startseinwoorden door deze woorden. Bijvoorbeeld, startsein 'hallo' vervang door 'hoi' zal de chat 'Ik wilde hallo zeggen' veranderen in 'Ik wilde hoi zeggen', waarbij tevens het gebaar afgespeeld zal worden."/> - <text name="key_label"> - Snelkoppeling toets: - </text> - <combo_box label="Geen" name="modifier_combo" left="136" width="56"/> - <combo_box label="Geen" name="key_combo" width="56"/> - <text name="library_label"> - Bibliotheek: - </text> - <text name="steps_label"> - Stappen: - </text> - <scroll_list name="library_list" width="94"> - Animatie -Geluid -Chat -Wacht - </scroll_list> - <button label="Toevoegen >>" name="add_btn" left="124" width="87"/> - <button label="Beweeg omhoog" name="up_btn" width="106" left_delta="-9"/> - <button label="Beweeg omlaag" name="down_btn" width="106"/> - <button label="Verwijderen" name="delete_btn" width="84" left_delta="9"/> - <scroll_list left="226" name="step_list" width="205" /> - <text name="help_label"> - Alle stappen gebeuren tegelijkertijd, -tenzij u wachtstappen toevoegt. - </text> - <text left="230" name="options_text" width="200" /> - <radio_group name="animation_trigger_type"> - <radio_item name="start" label="Start" /> - <radio_item name="stop" label="Stop" /> - </radio_group> - <check_box label="tot alle animaties zijn afgelopen" name="wait_anim_check"/> - <check_box label="tijd in seconden" name="wait_time_check"/> - <check_box label="Actief" name="active_check" tool_tip="Actieve gebaren kunnen worden gestart door het zeggen van hun startseinwoorden of door het indrukken van hun sneltoetsen. Gebaren worden gewoonlijk inactief wanneer er een conflict is in de koppeling van de sneltoetsen"/> - <button label="Voorbeeld" name="preview_btn"/> - <button label="Opslaan" name="save_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_preview_notecard.xml b/indra/newview/skins/default/xui/nl/floater_preview_notecard.xml deleted file mode 100644 index f97d1fe6ba2..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_preview_notecard.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="preview notecard" title="NEUS"> - <button label="Opslaan" label_selected="Opslaan" name="Save"/> - <text name="desc txt"> - Omschrijving: - </text> - <text_editor name="Notecard Editor"> - Laden… - </text_editor> - <string name="no_object"> - Kan object dat deze notitie bevat niet vinden. - </string> - <string name="not_allowed"> - U heeft geen toestemming om deze notitie te bekijken - </string> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_preview_sound.xml b/indra/newview/skins/default/xui/nl/floater_preview_sound.xml deleted file mode 100644 index f168f3ed323..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_preview_sound.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="preview_sound"> - <text name="desc txt"> - Omschrijving: - </text> - <button label="Lokaal afspelen" label_selected="Lokaal afspelen" name="Sound audition btn" tool_tip="Speel dit geluid of zodat alleen u het kunt horen."/> - <button label="In wereld afspelen" label_selected="In wereld afspelen" name="Sound play btn" tool_tip="Speel dit geluid of zodat anderen het kunnen horen."/> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_preview_texture.xml b/indra/newview/skins/default/xui/nl/floater_preview_texture.xml deleted file mode 100644 index c4a06b7b6f7..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_preview_texture.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="preview_texture"> - <text name="desc txt"> - Omschrijving: - </text> - <text name="dimensions"> - Afmetingen: [WIDTH] x [HEIGHT] - </text> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_region_info.xml b/indra/newview/skins/default/xui/nl/floater_region_info.xml deleted file mode 100644 index 0a98da3b4e0..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_region_info.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="regioninfo" title="REGIO/ESTATE"/> diff --git a/indra/newview/skins/default/xui/nl/floater_report_abuse.xml b/indra/newview/skins/default/xui/nl/floater_report_abuse.xml deleted file mode 100644 index a50773c2b3a..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_report_abuse.xml +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_report_abuse" title="MISBRUIK RAPPORTEREN"> - <floater.string name="Screenshot"> - Schermafbeelding - </floater.string> - <check_box label="Gebruik deze schermafbeelding" name="screen_check"/> - <text name="reporter_title" width="110"> - Rapporteur: - </text> - <text left_delta="70" name="reporter_field"> - Loremipsum Dolorsitamut Longnamez - </text> - <text name="sim_title"> - Regio: - </text> - <text left_delta="70" name="sim_field"> - Regionaam - </text> - <text name="pos_title"> - Positie: - </text> - <text left_delta="70" name="pos_field"> - {128.1, 128.1, 15.4} - </text> - <text name="select_object_label"> - Klik de knop, vervolgens het misbruik voorwerp: - </text> - <button label="" label_selected="" name="pick_btn" tool_tip="Objectkiezer - Identificeer een object als het onderwerp van dit rapport"/> - <text name="object_name_label"> - voorwerp: - </text> - <text name="object_name" width="120"> - Consetetur Sadipscing - </text> - <text name="owner_name_label"> - Eigenaar: - </text> - <text name="owner_name"> - Hendrerit Vulputate Kamawashi Longname - </text> - <combo_box name="category_combo" tool_tip="Categorie -- selecteer de categorie die dit rapport het best beschrijft"> - <combo_box.item label="Selecteer categorie" name="Select_category"/> - <combo_box.item label="Leeftijd > Leeftijd spelen" name="Age__Age_play"/> - <combo_box.item label="Leeftijd > Volwassen inwoner in Teen Second Life" name="Age__Adult_resident_on_Teen_Second_Life"/> - <combo_box.item label="Leeftijd > Minderjarige inwoner buiten Teen Second Life" name="Age__Underage_resident_outside_of_Teen_Second_Life"/> - <combo_box.item label="Aanval > Gevechtszandbak / onveilig gebied" name="Assault__Combat_sandbox___unsafe_area"/> - <combo_box.item label="Aanval > Veilig gebied" name="Assault__Safe_area"/> - <combo_box.item label="Aanval > Zandbak voor het testen van wapens" name="Assault__Weapons_testing_sandbox"/> - <combo_box.item label="Handel > Product of dienst is niet geleverd" name="Commerce__Failure_to_deliver_product_or_service"/> - <combo_box.item label="Openbaring > Echte wereld informatie" name="Disclosure__Real_world_information"/> - <combo_box.item label="Openbaring > Op afstand chat afluisteren" name="Disclosure__Remotely_monitoring chat"/> - <combo_box.item label="Openbaring > Second Life informatie/chat/IMs" name="Disclosure__Second_Life_information_chat_IMs"/> - <combo_box.item label="Vredebreuk > Oneerlijk gebruik van regiomiddelen" name="Disturbing_the_peace__Unfair_use_of_region_resources"/> - <combo_box.item label="Vredebreuk > Excessieve gescripte objecten" name="Disturbing_the_peace__Excessive_scripted_objects"/> - <combo_box.item label="Vredebreuk > Objecten laten rondslingeren" name="Disturbing_the_peace__Object_littering"/> - <combo_box.item label="Vredebreuk > Herhaalde spam" name="Disturbing_the_peace__Repetitive_spam"/> - <combo_box.item label="Vredebreuk > Ongewenste reclame-spam" name="Disturbing_the_peace__Unwanted_advert_spam"/> - <combo_box.item label="Fraude > L$" name="Fraud__L$"/> - <combo_box.item label="Fraude > Land" name="Fraud__Land"/> - <combo_box.item label="Fraude > Piramideschema of kettingbrief" name="Fraud__Pyramid_scheme_or_chain_letter"/> - <combo_box.item label="Fraude > US$" name="Fraud__US$"/> - <combo_box.item label="Intimidatie > Reclameverzamelingen / visuele spam" name="Harassment__Advert_farms___visual_spam"/> - <combo_box.item label="Intimidatie > Individuen of groepen in diskrediet brengen" name="Harassment__Defaming_individuals_or_groups"/> - <combo_box.item label="Intimidatie > Beweging verhinderen" name="Harassment__Impeding_movement"/> - <combo_box.item label="Intimidatie > Seksuele intimidatie" name="Harassment__Sexual_harassment"/> - <combo_box.item label="Intimidatie > Anderen uitnodigen/aanzetten tot het schenden van de ToS" name="Harassment__Solicting_inciting_others_to_violate_ToS"/> - <combo_box.item label="Intimidatie > Verbaal misbruik" name="Harassment__Verbal_abuse"/> - <combo_box.item label="Onfatsoenlijkheid > Globaal beledigende inhoud of gedrag" name="Indecency__Broadly_offensive_content_or_conduct"/> - <combo_box.item label="Onfatsoenlijkheid > Ongepaste avatar naam" name="Indecency__Inappropriate_avatar_name"/> - <combo_box.item label="Onfatsoenlijkheid > Ongepaste inhoud of gedrag in een PG regio" name="Indecency__Mature_content_in_PG_region"/> - <combo_box.item label="Onfatsoenlijkheid > Ongepaste inhoud of gedrag in een Mature regio" name="Indecency__Inappropriate_content_in_Mature_region"/> - <combo_box.item label="Inbreuk op intellectueel eigendom > Verwijderen van inhoud" name="Intellectual_property_infringement_Content_Removal"/> - <combo_box.item label="Inbreuk op intellectueel eigendom > CopyBot of misbruik van permissies" name="Intellectual_property_infringement_CopyBot_or_Permissions_Exploit"/> - <combo_box.item label="Intolerantie" name="Intolerance"/> - <combo_box.item label="Land > Misbruik van zandbakmiddelen" name="Land__Abuse_of_sandbox_resources"/> - <combo_box.item label="Land > Indringing > Objecten/texturen" name="Land__Encroachment__Objects_textures"/> - <combo_box.item label="Land > Indringing > Particles" name="Land__Encroachment__Particles"/> - <combo_box.item label="Land > Indringing > Bomen/planten" name="Land__Encroachment__Trees_plants"/> - <combo_box.item label="Weddenschappen/gokken" name="Wagering_gambling"/> - <combo_box.item label="Anders" name="Other"/> - </combo_box> - <text name="abuser_name_title"> - Misbruikernaam: - </text> - <button label="Kies inwoner" label_selected="" name="select_abuser" tool_tip="Selecteer de naam van de misbruiker uit een lijst"/> - <text name="abuser_name_title2"> - Locatie van misbruik: - </text> - <text name="sum_title"> - Samenvatting: - </text> - <text name="dscr_title"> - Details: - </text> - <text name="bug_aviso"> - Wees zo specifiek mogelijk - </text> - <text name="incomplete_title"> - Let Op: Onvolledige verslagen zullen niet worden onderzocht - </text> - <button label="Misbruik rapporteren" label_selected="Misbruik rapporteren" name="send_btn"/> - <button label="Annuleren" label_selected="Annuleren" name="cancel_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_script_debug.xml b/indra/newview/skins/default/xui/nl/floater_script_debug.xml deleted file mode 100644 index 15e57f30d66..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_script_debug.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<multi_floater name="script debug floater" title="Script waarschuwing/fout"> - <tab_container name="Preview Tabs"> - <floater label="Script" name="all_scripts" title="[ALL SCRIPTS]"/> - </tab_container> -</multi_floater> diff --git a/indra/newview/skins/default/xui/nl/floater_script_preview.xml b/indra/newview/skins/default/xui/nl/floater_script_preview.xml deleted file mode 100644 index bd57e27b770..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_script_preview.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="preview lsl text" title="SCRIPT: ROTATIESCRIPT"> - <text name="desc txt"> - Omschrijving: - </text> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_script_queue.xml b/indra/newview/skins/default/xui/nl/floater_script_queue.xml deleted file mode 100644 index f79ad8faf3c..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_script_queue.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="queue" title="VOORTGANG OPNIEUW INSTELLEN"> - <button label="Sluiten" label_selected="Sluiten" name="close"/> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_script_search.xml b/indra/newview/skins/default/xui/nl/floater_script_search.xml deleted file mode 100644 index cf502c6f4d0..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_script_search.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="script search" title="SCRIPT ZOEKEN"> - <check_box label="Niet hoofdlettergevoelig" name="case_text"/> - <button label="Zoeken" label_selected="Zoeken" name="search_btn" left="4"/> - <button label="Vervangen" label_selected="Vervangen" name="replace_btn" left="100"/> - <button label="Alles vervangen" label_selected="Alles vervangen" name="replace_all_btn" width="100" left="196"/> - <text name="txt"> - Zoeken - </text> - <text name="txt2" width="130"> - Vervangen - </text> - <line_editor left="65" name="search_text" width="230" /> - <line_editor left="65" name="replace_text" width="230" /> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_select_key.xml b/indra/newview/skins/default/xui/nl/floater_select_key.xml deleted file mode 100644 index c8daa10ab64..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_select_key.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="modal container" title=""> - <button label="Annuleren" label_selected="Annuleren" name="Cancel"/> - <text name="Save item as:" left="12" width="220"> - Druk op een toets om die te selecteren - </text> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_sell_land.xml b/indra/newview/skins/default/xui/nl/floater_sell_land.xml deleted file mode 100644 index 468a383cfc0..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_sell_land.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="sell land" title="VERKOOP LAND"> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <text name="info_parcel_label"> - Perceel: - </text> - <text name="info_parcel"> - PERCEEL NAAM - </text> - <text name="info_size_label"> - Grootte: - </text> - <text name="info_size"> - [AREA] m² - </text> - <text height="28" name="info_action" bottom_delta="-57"> - Om dit perceel te -verkopen: - </text> - <icon bottom_delta="-86" name="step_price" /> - <text name="price_label"> - Stel een prijs in: - </text> - <text name="price_text"> - Kies een geschikte prijs voor dit land. - </text> - <text name="price_ld"> - L$ - </text> - <text name="price_per_m"> - (L$[PER_METER] per vierkante meter) - </text> - <text name="sell_to_label"> - Verkoop het land aan: - </text> - <text name="sell_to_text"> - Kies of u aan iedereen wil verkopen of een specifieke koper. - </text> - <combo_box name="sell_to"> - <combo_box.item name="--selectone--" label="selecteer een --"/> - <combo_box.item name="Anyone" label="Iedereen"/> - <combo_box.item name="Specificuser:" label="Specifieke gebruiker:"/> - </combo_box> - <button label="Selecteren..." name="sell_to_select_agent"/> - <text name="sell_objects_label"> - Verkoop de objecten samen met het land? - </text> - <text name="sell_objects_text"> - Overdraagbare objecten die eigendom zijn van de landeigenaar -zullen van eigenaar veranderen. - </text> - <radio_group name="sell_objects" bottom_delta="-58"> - <radio_item name="no" label="Nee, behoud het eigendom van objecten" /> - <radio_item name="yes" label="Ja, verkoop objecten met het land" /> - </radio_group> - <button label="Toon objecten" name="show_objects"/> - <text name="nag_message_label"> - ONTHOUD: Alle verkopen zijn definitief. - </text> - <button label="Zet het land te koop" name="sell_btn"/> - <button label="Annuleren" name="cancel_btn"/> - </panel> - </scroll_container> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_settings_debug.xml b/indra/newview/skins/default/xui/nl/floater_settings_debug.xml deleted file mode 100644 index 4d95f0a8281..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_settings_debug.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="settings_debug" title="DEBUG INSTELLINGEN"> - <combo_box name="boolean_combo"> - <combo_box.item name="TRUE" label="TRUE"/> - <combo_box.item name="FALSE" label="FALSE"/> - </combo_box> - <color_swatch label="Kleur" name="color_swatch"/> - <spinner label="x" name="val_spinner_1"/> - <spinner label="x" name="val_spinner_2"/> - <spinner label="x" name="val_spinner_3"/> - <spinner label="x" name="val_spinner_4"/> - <button label="Opnieuw instellen naar standaard" name="default_btn" width="210"/> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_snapshot.xml b/indra/newview/skins/default/xui/nl/floater_snapshot.xml deleted file mode 100644 index 251f3690da0..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_snapshot.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Snapshot" title="FOTOVOORBEELD"> - <text name="type_label"> - Fotobestemming - </text> - <radio_group label="Fototype" name="snapshot_type_radio"> - <radio_item name="postcard" label="Verzend via e-mail" /> - <radio_item name="texture" label="Opslaan in uw inventaris (L$[AMOUNT])" /> - <radio_item name="local" label="Opslaan op uw harde schijf" /> - </radio_group> - <text name="file_size_label"> - Bestandsgrootte: [SIZE] KB - </text> - <button label="Ververs foto" name="new_snapshot_btn"/> - <button label="Verzenden" name="send_btn"/> - <button label="Opslaan (L$[AMOUNT])" name="upload_btn"/> - <flyout_button label="Opslaan" name="save_btn" tool_tip="Afbeelding in een bestand opslaan"> - <flyout_button_item name="save_item" label="Opslaan"/> - <flyout_button_item name="saveas_item" label="Opslaan als..."/> - </flyout_button> - <button label="Annuleren" name="discard_btn"/> - <button label="Meer >>" name="more_btn" tool_tip="Geavanceerde opties"/> - <button label="<< Minder" name="less_btn" tool_tip="Geavanceerde opties"/> - <text name="type_label2"> - Grootte - </text> - <text name="format_label"> - Formaat - </text> - <combo_box label="Resolutie" name="postcard_size_combo"> - <combo_box.item name="CurrentWindow" label="Huidig venster"/> - <combo_box.item name="640x480" label="640x480"/> - <combo_box.item name="800x600" label="800x600"/> - <combo_box.item name="1024x768" label="1024x768"/> - <combo_box.item name="Custom" label="Aangepast"/> - </combo_box> - <combo_box label="Resolutie" name="texture_size_combo"> - <combo_box.item name="CurrentWindow" label="Huidig venster"/> - <combo_box.item name="Small(128x128)" label="Klein (128x128)"/> - <combo_box.item name="Medium(256x256)" label="Middel (256x256)"/> - <combo_box.item name="Large(512x512)" label="Groot (512x512)"/> - <combo_box.item name="Custom" label="Aangepast"/> - </combo_box> - <combo_box label="Resolutie" name="local_size_combo"> - <combo_box.item name="CurrentWindow" label="Huidig venster"/> - <combo_box.item name="320x240" label="320x240"/> - <combo_box.item name="640x480" label="640x480"/> - <combo_box.item name="800x600" label="800x600"/> - <combo_box.item name="1024x768" label="1024x768"/> - <combo_box.item name="1280x1024" label="1280x1024"/> - <combo_box.item name="1600x1200" label="1600x1200"/> - <combo_box.item name="Custom" label="Aangepast"/> - </combo_box> - <combo_box label="Formaat" name="local_format_combo"> - <combo_box.item name="PNG" label="PNG"/> - <combo_box.item name="JPEG" label="JPEG"/> - <combo_box.item name="BMP" label="BMP"/> - </combo_box> - <spinner label="Breedte" name="snapshot_width" label_width="48" width="100"/> - <spinner label="Hoogte" name="snapshot_height" label_width="41" width="95" left="114"/> - <check_box label="Beperk verhoudingen" name="keep_aspect_check"/> - <slider label="Afbeeldingkwaliteit" name="image_quality_slider"/> - <text name="layer_type_label" width="100"> - Vastleggen: - </text> - <combo_box label="Afbeeldingslagen" name="layer_types" width="130" left="76"> - <combo_box.item name="Colors" label="Kleuren"/> - <combo_box.item name="Depth" label="Diepte"/> - <combo_box.item name="ObjectMattes" label="Object matheid"/> - </combo_box> - <check_box label="Toon interface in foto" name="ui_check"/> - <check_box label="Toon HUD objecten in foto" name="hud_check"/> - <check_box label="Open houden na opslaan" name="keep_open_check"/> - <check_box label="Frame bevriezen" name="freeze_frame_check"/> - <check_box label="Automatisch verversen" name="auto_snapshot_check"/> - <string name="unknown"> - onbekend - </string> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_sound_preview.xml b/indra/newview/skins/default/xui/nl/floater_sound_preview.xml deleted file mode 100644 index 13cb832d574..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_sound_preview.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Sound Preview" title="SOUND.WAV"> - <text name="name_label"> - Naam: - </text> - <text name="description_label"> - Omschrijving: - </text> - <button label="Annuleren" label_selected="Annuleren" name="cancel_btn"/> - <button label="Upload (L$[AMOUNT])" label_selected="Upload (L$[AMOUNT])" name="ok_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_stats.xml b/indra/newview/skins/default/xui/nl/floater_stats.xml deleted file mode 100644 index 0db3f76735a..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_stats.xml +++ /dev/null @@ -1,71 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Statistics" title="STATISTIEKEN"> - <scroll_container name="statistics_scroll"> - <container_view name="statistics_view"> - <stat_view label="Basis" name="basic"> - <stat_bar label="FPS" name="fps"/> - <stat_bar label="Bandbreedte" name="bandwidth"/> - <stat_bar label="Pakket Verlies" name="packet_loss"/> - <stat_bar label="Ping Sim" name="ping"/> - </stat_view> - <stat_view label="Geavanceerd" name="advanced"> - <stat_view label="Weergeven" name="render"> - <stat_bar label="KTris Tekenen" name="ktrisframe"/> - <stat_bar label="KTris Tekenen" name="ktrissec"/> - <stat_bar label="Totaal Voorwerpen" name="objs"/> - <stat_bar label="Nieuwe Voorwerpen" name="newobjs"/> - </stat_view> - <stat_view label="Textuur" name="texture"> - <stat_bar label="Count" name="numimagesstat"/> - <stat_bar label="Raw Count" name="numrawimagesstat"/> - <stat_bar label="GL Mem" name="gltexmemstat"/> - <stat_bar label="Formatted Mem" name="formattedmemstat"/> - <stat_bar label="Raw Mem" name="rawmemstat"/> - <stat_bar label="Bound Mem" name="glboundmemstat"/> - </stat_view> - <stat_view label="Netwerk" name="network"> - <stat_bar label="Pakketten In" name="packetsinstat"/> - <stat_bar label="Pakketten Uit" name="packetsoutstat"/> - <stat_bar label="Voorwerpen" name="objectkbitstat"/> - <stat_bar label="Textuur" name="texturekbitstat"/> - <stat_bar label="Bezit" name="assetkbitstat"/> - <stat_bar label="Lagen" name="layerskbitstat"/> - <stat_bar label="Daadwerkelijk In" name="actualinkbitstat"/> - <stat_bar label="Daadwerkelijk Out" name="actualoutkbitstat"/> - <stat_bar label="VFS Pending Ops" name="vfspendingoperations"/> - </stat_view> - </stat_view> - <stat_view label="Simulator" name="sim"> - <stat_bar label="Tijd Dilatatie" name="simtimedilation"/> - <stat_bar label="Sim FPS" name="simfps"/> - <stat_bar label="Physics FPS" name="simphysicsfps"/> - <stat_view label="Physics Details" name="physicsdetail"> - <stat_bar label="Pinned Objects" name="physicspinnedtasks"/> - <stat_bar label="Low LOD Objects" name="physicslodtasks"/> - <stat_bar label="Memory Allocated" name="physicsmemoryallocated"/> - <stat_bar label="Agent Updates/Sec" name="simagentups"/> - <stat_bar label="Main Agents" name="simmainagents"/> - <stat_bar label="Child Agents" name="simchildagents"/> - <stat_bar label="Voorwerpen" name="simobjects"/> - <stat_bar label="Actieve Voorwerpen" name="simactiveobjects"/> - <stat_bar label="Actieve Scripts" name="simactivescripts"/> - <stat_bar label="Actieve Evenementen" name="simscripteps"/> - <stat_bar label="Pakketten In" name="siminpps"/> - <stat_bar label="Pakketten Uit" name="simoutpps"/> - <stat_bar label="Wachtende Downloads" name="simpendingdownloads"/> - <stat_bar label="Wachtende Uploads" name="simpendinguploads"/> - <stat_bar label="Total Unacked Bytes" name="simtotalunackedbytes"/> - </stat_view> - <stat_view label="Tijd (ms)" name="simperf"> - <stat_bar label="Totale Frame Tijd" name="simframemsec"/> - <stat_bar label="Net Time" name="simnetmsec"/> - <stat_bar label="Physics Time" name="simsimphysicsmsec"/> - <stat_bar label="Simulatie Tijd" name="simsimothermsec"/> - <stat_bar label="Agent Tijd" name="simagentmsec"/> - <stat_bar label="Plaatjes Tijd" name="simimagesmsec"/> - <stat_bar label="Script Tijd" name="simscriptmsec"/> - </stat_view> - </stat_view> - </container_view> - </scroll_container> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_telehub.xml b/indra/newview/skins/default/xui/nl/floater_telehub.xml deleted file mode 100644 index 7b745d967c9..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_telehub.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="telehub" title="TELEHUB" width="292"> - <text name="status_text_connected"> - Telehub verbonden met object [OBJECT] - </text> - <text name="status_text_not_connected"> - Geen telehub verbonden. - </text> - <text name="help_text_connected"> - Om te verwijderen, klik Verbinding verbreken - </text> - <text name="help_text_not_connected"> - Selecteer objecten klik Verbind telehub - </text> - <button label="Verbind telehub" name="connect_btn"/> - <button label="Verbinding verbreken" name="disconnect_btn" width="128"/> - <text name="spawn_points_text"> - Spawnpunten (posities, niet objecten): - </text> - <scroll_list bottom_delta="-44" draw_border="true" follows="left|top" - height="40" left="10" multi_select="false" name="spawn_points_list" - width="230" /> - - <button label="Spawn toevoegen" name="add_spawn_point_btn"/> - <button label="Verwijder Spawn" name="remove_spawn_point_btn"/> - <text name="spawn_point_help" width="290"> - Selecteer object en klik Toevoegen om positie -te specificeren. U kunt het object daarna verplaatsen -of verwijderen. Posities zijn relatief ten opzichte -van het middelpunt van de telehub. Selecteer een -item in de lijst om de positie in de wereld te tonen. - </text> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_texture_ctrl.xml b/indra/newview/skins/default/xui/nl/floater_texture_ctrl.xml deleted file mode 100644 index c8caa8caf49..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_texture_ctrl.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="texture picker" title="KIES: TEXTUUR"> - <string name="choose_picture"> - Klik om een afbeelding te kiezen - </string> - <text name="Multiple"> - Meerdere - </text> - <text name="unknown"> - Afmetingen: [DIMENSIONS] - </text> - <button label="Standaard" label_selected="Standaard" name="Default" width="70"/> - <button label="Geen" label_selected="Geen" name="None" left="80"/> - <button label="Blanco" label_selected="Blanco" name="Blank"/> - <check_box label="Toon mappen" name="show_folders_check"/> - <search_editor label="Type hier om te zoeken" name="inventory search editor"/> - <check_box label="Direct toepassen" name="apply_immediate_check"/> - <button label="Annuleren" label_selected="Annuleren" name="Cancel"/> - <button label="Selecteren" label_selected="Selecteren" name="Select"/> - <string name="pick title"> - Kies: - </string> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_tools.xml b/indra/newview/skins/default/xui/nl/floater_tools.xml deleted file mode 100644 index 98339383e4b..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_tools.xml +++ /dev/null @@ -1,567 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="toolbox floater" title="" short_title="BOUWEN" height="592"> - <button label="" label_selected="" name="button focus" tool_tip="Focus"/> - <button label="" label_selected="" name="button move" tool_tip="Verplaats"/> - <button label="" label_selected="" name="button edit" tool_tip="Bewerk"/> - <button label="" label_selected="" name="button create" tool_tip="Maak"/> - <button label="" label_selected="" name="button land" tool_tip="Land"/> - <radio_group name="focus_radio_group"> - <radio_item label="Zoom" name="radio zoom"/> - <radio_item label="Roteren (Ctrl)" name="radio orbit"/> - <radio_item label="Verplaatsen (Ctrl-Shift)" name="radio pan"/> - </radio_group> - <radio_group name="move_radio_group"> - <radio_item label="Verplaatsen" name="radio move"/> - <radio_item label="Optillen (Ctrl)" name="radio lift"/> - <radio_item label="Roteren (Ctrl-Shift)" name="radio spin"/> - </radio_group> - <radio_group name="edit_radio_group"> - <radio_item label="Positie" name="radio position"/> - <radio_item label="Roteren (Ctrl)" name="radio rotate"/> - <radio_item label="Uitrekken (Ctrl-Shift)" name="radio stretch"/> - <radio_item label="Selecteer textuur" name="radio select face"/> - </radio_group> - <check_box label="Bewerk gekoppelde onderdelen" name="checkbox edit linked parts"/> - <text name="text ruler mode"> - Liniaal: - </text> - <combo_box name="combobox grid mode"> - <combo_box.item name="World" label="Wereld" - /> - <combo_box.item name="Local" label="Lokaal" - /> - <combo_box.item name="Reference" label="Referentie" - /> - </combo_box> - <check_box left="136" name="checkbox uniform"/> - <text name="checkbox uniform label"> - Beide zijden uitrekken - </text> - <check_box left="136" label="Texturen uitrekken" name="checkbox stretch textures"/> - <check_box left="136" label="Gebruik grid" name="checkbox snap to grid"/> - <button label="Opties..." label_selected="Opties..." name="Options..." height="18" bottom_delta="-15"/> - <text name="text status" width="280"> - Sleep om te verplaatsen, Shift-slepen om te kopiëren - </text> - <button label="" label_selected="" name="ToolCube" tool_tip="Kubus"/> - <button label="" label_selected="" name="ToolPrism" tool_tip="Prisma"/> - <button label="" label_selected="" name="ToolPyramid" tool_tip="Piramide"/> - <button label="" label_selected="" name="ToolTetrahedron" tool_tip="Tetrahedron"/> - <button label="" label_selected="" name="ToolCylinder" tool_tip="Cilinder"/> - <button label="" label_selected="" name="ToolHemiCylinder" tool_tip="Halve cilinder"/> - <button label="" label_selected="" name="ToolCone" tool_tip="Kegel"/> - <button label="" label_selected="" name="ToolHemiCone" tool_tip="Halve kegel"/> - <button label="" label_selected="" name="ToolSphere" tool_tip="Bol"/> - <button label="" label_selected="" name="ToolHemiSphere" tool_tip="Halve bol"/> - <button label="" label_selected="" name="ToolTorus" tool_tip="Torus"/> - <button label="" label_selected="" name="ToolTube" tool_tip="Buis"/> - <button label="" label_selected="" name="ToolRing" tool_tip="Ring"/> - <button label="" label_selected="" name="ToolTree" tool_tip="Boom"/> - <button label="" label_selected="" name="ToolGrass" tool_tip="Gras"/> - <check_box label="Behoud geselecteerd" name="checkbox sticky"/> - <check_box label="Kopiëer Selectie" name="checkbox copy selection"/> - <check_box label="Middelpunt" name="checkbox copy centers"/> - <check_box label="Roteer" name="checkbox copy rotates"/> - <radio_group name="land_radio_group"> - <radio_item label="Selecteer land" name="radio select land"/> - <radio_item label="Vlak maken" name="radio flatten"/> - <radio_item label="Verhogen" name="radio raise"/> - <radio_item label="Verlagen" name="radio lower"/> - <radio_item label="Egaliseren" name="radio smooth"/> - <radio_item label="Opruwen" name="radio noise"/> - <radio_item label="Herstellen" name="radio revert"/> - </radio_group> - <button label="Toepassen" label_selected="Toepassen" name="button apply to selection" tool_tip="Wijzig geselecteerd land"/> - <text name="Bulldozer:"> - Bulldozer: - </text> - <text name="Dozer Size:"> - Grootte - </text> - <text name="Strength:"> - Sterkte - </text> - <text name="obj_count" top_pad="20"> - Geselecteerde objecten: [COUNT] - </text> - <text name="prim_count"> - primitieven: [COUNT] - </text> - <tab_container name="Object Info Tabs" tab_max_width="62" tab_min_width="30" top="185"> - <panel label="Algemeen" name="General"> - <text name="Name:"> - Naam: - </text> - <text name="Description:"> - Omschrijving: - </text> - <text name="Creator:"> - Maker: - </text> - <button label="Profiel..." label_selected="Profiel..." name="button creator profile"/> - <text name="Owner:"> - Eigenaar: - </text> - <button label="Profiel..." label_selected="Profiel..." name="button owner profile"/> - <text name="Group:"> - Groep: - </text> - <text name="Group Name Proxy"> - De Lindens - </text> - <button label="Instellen..." label_selected="Instellen..." name="button set group"/> - <text name="Permissions:"> - Permissies: - </text> - - <check_box label="Deel met groep" name="checkbox share with group" tool_tip="Alle leden van de ingestelde groep toestaan om te delen en uw permissies voor dit object te gebruiken. U moet 'Overdragen' om rolbeperkingen in te schakelen."/> - <string name="text deed continued"> - Overdragen... - </string> - <string name="text deed"> - Overdragen - </string> - <button label="Overdragen..." label_selected="Overdragen..." name="button deed" tool_tip="Groepgedeelde objecten kunnen door een groepofficier worden overgedragen"/> - <check_box label="Iedereen mag verplaatsen" name="checkbox allow everyone move"/> - <check_box label="Iedereen mag kopiëren" name="checkbox allow everyone copy"/> - <check_box label="Toon in zoeken" name="search_check" tool_tip="Laat mensen dit object zien in zoekresultaten"/> - <check_box label="Te koop" name="checkbox for sale"/> - <text name="Cost"> - Prijs: L$ - </text> - <combo_box name="sale type"> - <combo_box.item label="Kopie" name="Copy"/> - <combo_box.item label="Inhoud" name="Contents"/> - <combo_box.item label="Origineel" name="Original"/> - </combo_box> - - <text name="label click action"> - Wanneer links-geklikt: - </text> - <combo_box name="clickaction"> - <combo_box.item name="Touch/grab(default)" label="Aanraken/pakken (standaard)" - /> - <combo_box.item name="Sitonobject" label="Zit op object" - /> - <combo_box.item name="Buyobject" label="Koop object" - /> - <combo_box.item name="Payobject" label="Betaal object" - /> - <combo_box.item name="Open" label="Open" - /> - <combo_box.item name="Play" label="Perceelmedia afspelen" - /> - <combo_box.item name="Opemmedia" label="Perceelmedia openen" - /> - </combo_box> - <panel name="perms_build"> - <text name="perm_modify"> - U kunt dit object wijzigen - </text> - <text name="B:"> - B: - </text> - <text name="O:"> - O: - </text> - <text name="G:"> - G: - </text> - <text name="E:"> - E: - </text> - <text name="N:"> - N: - </text> - <text name="F:"> - F: - </text> - <text name="Next owner can:"> - Volgende eigenaar kan: - </text> - <check_box label="Wijzigen" name="checkbox next owner can modify"/> - <check_box label="Kopiëren" name="checkbox next owner can copy" left_delta="80"/> - <check_box name="checkbox next owner can transfer" left_delta="67"/> - </panel> - <string name="text modify info 1"> - U kunt dit object wijzigen - </string> - <string name="text modify info 2"> - U kunt deze objecten wijzigen - </string> - <string name="text modify info 3"> - U kunt dit object niet wijzigen - </string> - <string name="text modify info 4"> - U kunt deze objecten niet wijzigen - </string> - <string name="text modify warning"> - U moet het hele object selecteren om permissies in te stellen - </string> - <string name="Cost Default"> - Prijs: L$ - </string> - <string name="Cost Total"> - Totale Prijs: L$ - </string> - <string name="Cost Per Unit"> - Prijs per: L$ - </string> - <string name="Cost Mixed"> - Gemengde prijs - </string> - <string name="Sale Mixed"> - Gemengde verkoop - </string> - </panel> - <panel label="Object" name="Object"> - <text name="select_single"> - Selecteer slechts één primitief om parameters te bewerken - </text> - <text name="edit_object"> - Bewerk object parameters: - </text> - <check_box label="Vergrendeld" name="checkbox locked" tool_tip="Voorkomt het verplaatsen of verwijderen van objecten. Regelmatig handig tijdens het bouwen om onbedoelde bewerkingen te voorkomen."/> - <check_box label="Fysiek" name="Physical Checkbox Ctrl" tool_tip="Staat toe dat objecten geduwd worden en worden beïnvloed door de zwaartekracht"/> - <check_box label="Tijdelijk" name="Temporary Checkbox Ctrl" tool_tip="Zorgt ervoor dat het object 1 minuut na creatie wordt verwijderd."/> - <check_box label="Fantoom" name="Phantom Checkbox Ctrl" tool_tip="Zorgt ervoor dat objecten niet kunnen botsen met andere objecten of avatars"/> - <text name="label position"> - Positie (meters) - </text> - <spinner label="X" name="Pos X"/> - <spinner label="Y" name="Pos Y"/> - <spinner label="Z" name="Pos Z"/> - <text name="label size"> - Grootte (meters) - </text> - <spinner label="X" name="Scale X"/> - <spinner label="Y" name="Scale Y"/> - <spinner label="Z" name="Scale Z"/> - <text name="label rotation"> - Rotatie (graden) - </text> - <spinner label="X" name="Rot X"/> - <spinner label="Y" name="Rot Y"/> - <spinner label="Z" name="Rot Z"/> - <text name="label material"> - Materiaal - </text> - <combo_box name="material"> - <combo_box.item name="Stone" label="Steen" - /> - <combo_box.item name="Metal" label="Metaal" - /> - <combo_box.item name="Glass" label="Glas" - /> - <combo_box.item name="Wood" label="Hout" - /> - <combo_box.item name="Flesh" label="Vlees" - /> - <combo_box.item name="Plastic" label="Plastic" - /> - <combo_box.item name="Rubber" label="Rubber" - /> - </combo_box> - <text name="label basetype"> - Bouwbloktype - </text> - <combo_box name="comboBaseType"> - <combo_box.item name="Box" label="Kubus" - /> - <combo_box.item name="Cylinder" label="Cilinder" - /> - <combo_box.item name="Prism" label="Prisma" - /> - <combo_box.item name="Sphere" label="Bol" - /> - <combo_box.item name="Torus" label="Torus" - /> - <combo_box.item name="Tube" label="Buis" - /> - <combo_box.item name="Ring" label="Ring" - /> - <combo_box.item name="Sculpted" label="Sculpted" - /> - </combo_box> - <text name="text cut"> - Uitsnede begin en einde - </text> - <spinner label="B" name="cut begin"/> - <spinner label="E" name="cut end"/> - <text name="text hollow"> - Hol - </text> - <text name="text skew"> - Verschuiven - </text> - <text name="Hollow Shape"> - Holtevorm - </text> - <combo_box name="hole"> - <combo_box.item name="Default" label="Standaard" - /> - <combo_box.item name="Circle" label="Cirkel" - /> - <combo_box.item name="Square" label="Vierkant" - /> - <combo_box.item name="Triangle" label="Driehoek" - /> - </combo_box> - <text name="text twist"> - Verdraai begin en einde - </text> - <spinner label="B" name="Twist Begin"/> - <spinner label="E" name="Twist End"/> - <text name="scale_taper"> - Knijpen - </text> - <text name="scale_hole"> - Gatgrootte - </text> - <spinner label="X" name="Taper Scale X"/> - <spinner label="Y" name="Taper Scale Y"/> - <text name="text topshear"> - Bovenkant verschuiven - </text> - <spinner label="X" name="Shear X"/> - <spinner label="Y" name="Shear Y"/> - <text name="advanced_cut"> - Profielsnede begin en einde - </text> - <text name="advanced_dimple"> - Deuk begin en einde - </text> - <text name="advanced_slice"> - Uitsnede begin en einde - </text> - <spinner label="B" name="Path Limit Begin"/> - <spinner label="E" name="Path Limit End"/> - <text name="text taper2"> - Knijpen - </text> - <spinner label="X" name="Taper X"/> - <spinner label="Y" name="Taper Y"/> - <text name="text radius delta"> - Straal - </text> - <text name="text revolutions" width="84"> - Omwentelingen - </text> - <texture_picker label="Sculpt textuur" name="sculpt texture control" tool_tip="Klik om een afbeelding te kiezen"/> - <check_box label="Spiegelen" name="sculpt mirror control" tool_tip="Spiegelt de sculpted prim om de X-as"/> - <check_box label="Binnenstebuiten" name="sculpt invert control" tool_tip="Inverteert de normalen van de sculpted prim, zodat deze binnenstebuiten verschijnt."/> - <text name="label sculpt type"> - Hechtingstype - </text> - <combo_box name="sculpt type control"> - <combo_box.item name="None" label="(geen)" - /> - <combo_box.item name="Sphere" label="Bol" - /> - <combo_box.item name="Torus" label="Torus" - /> - <combo_box.item name="Plane" label="Vlak" - /> - <combo_box.item name="Cylinder" label="Cilinder" - /> - </combo_box> - </panel> - <panel label="Kenmerken" name="Features"> - <text name="select_single"> - Selecteer slechts één primitief om kenmerken te bewerken - </text> - <text name="edit_object"> - Bewerk objectkenmerken: - </text> - <check_box label="Flexibiliteit" name="Flexible1D Checkbox Ctrl" tool_tip="Staat toe dat objecten kunnen buigen om de Z-as. (alleen aan de client kant)"/> - <spinner label="Zachtheid" name="FlexNumSections" width="143" label_width="80"/> - <spinner label="Zwaartekracht" name="FlexGravity" width="143" label_width="80"/> - <spinner label="Slepen" name="FlexFriction" width="143" label_width="80"/> - <spinner label="Wind" name="FlexWind" width="143" label_width="80"/> - <spinner label="Spanning" name="FlexTension" width="143" label_width="80"/> - <spinner label="Kracht X" name="FlexForceX" width="143" label_width="80"/> - <spinner label="Kracht Y" name="FlexForceY" width="143" label_width="80"/> - <spinner label="Kracht Z" name="FlexForceZ" width="143" label_width="80"/> - <check_box label="Licht" name="Light Checkbox Ctrl" tool_tip="Zorgt dat het object licht uitstraalt"/> - <text name="label color"> - Kleur - </text> - <color_swatch label="" name="colorswatch" tool_tip="Klik om kleurkiezer to openen"/> - <spinner label="Intensiteit" name="Light Intensity"/> - <spinner label="Straal" name="Light Radius"/> - <spinner label="Uitstraling" name="Light Falloff"/> - </panel> - <panel label="Textuur" name="Texture"> - <texture_picker label="Textuur" name="texture control" tool_tip="Klik om een afbeelding te kiezen"/> - <color_swatch label="Kleur" name="colorswatch" tool_tip="Klik om kleurkiezer to openen"/> - <text name="color trans" width="100"> - Transparantie % - </text> - <text name="glow label"> - Gloed - </text> - <check_box label="Volledige helderheid" name="checkbox fullbright" left_delta="-10"/> - <text name="tex gen"> - Mapping - </text> - <combo_box name="combobox texgen"> - <combo_box.item name="Default" label="Standaard" - /> - <combo_box.item name="Planar" label="Vlak" - /> - </combo_box> - <text name="label shininess"> - Glans - </text> - <combo_box name="combobox shininess"> - <combo_box.item name="None" label="Geen" - /> - <combo_box.item name="Low" label="Laag" - /> - <combo_box.item name="Medium" label="Middel" - /> - <combo_box.item name="High" label="Hoog" - /> - </combo_box> - <text name="label bumpiness"> - Bumpiness - </text> - <combo_box name="combobox bumpiness"> - <combo_box.item name="None" label="Geen" - /> - <combo_box.item name="Brightness" label="Helderheid" - /> - <combo_box.item name="Darkness" label="Donkerheid" - /> - <combo_box.item name="woodgrain" label="Houtnerf" - /> - <combo_box.item name="bark" label="Schors" - /> - <combo_box.item name="bricks" label="Stenen" - /> - <combo_box.item name="checker" label="Dambord" - /> - <combo_box.item name="concrete" label="Beton" - /> - <combo_box.item name="crustytile" label="gebarsten tegels" - /> - <combo_box.item name="cutstone" label="natuursteen" - /> - <combo_box.item name="discs" label="schijven" - /> - <combo_box.item name="gravel" label="grind" - /> - <combo_box.item name="petridish" label="petrischaal" - /> - <combo_box.item name="siding" label="wandpaneel" - /> - <combo_box.item name="stonetile" label="plavuizen" - /> - <combo_box.item name="stucco" label="stucwerk" - /> - <combo_box.item name="suction" label="zuignappen" - /> - <combo_box.item name="weave" label="weven" - /> - </combo_box> - <text name="tex scale"> - Herhalingen per zijde - </text> - <spinner label="Horizontaal (U)" name="TexScaleU"/> - <check_box label="Omkeren" name="checkbox flip s"/> - <spinner label="Verticaal (V)" name="TexScaleV"/> - <check_box label="Omkeren" name="checkbox flip t"/> - <text name="tex rotate"> - Rotatie (graden) - </text> - <string name="string repeats per meter"> - Herhalingen per meter - </string> - <string name="string repeats per face"> - Herhalingen per zijde - </string> - <text name="rpt"> - Herhalingen per m - </text> - <button label="Toepassen" label_selected="Toepassen" name="button apply"/> - <text name="tex offset"> - Verplaatsing - </text> - <spinner label="Horizontaal (U)" name="TexOffsetU"/> - <spinner label="Verticaal (V)" name="TexOffsetV"/> - <text name="textbox autofix"> - Mediatextuur uitlijnen -(moet eerst laden) - </text> - <button label="Uitlijnen" label_selected="Uitlijnen" name="button align" left="155" /> - </panel> - <panel label="Inhoud" name="Contents"> - <button label="Nieuw script" label_selected="Nieuw script" name="button new script"/> - <button label="Permissies" name="button permissions"/> - <panel name="ContentsInventory" width="272" /> - </panel> - </tab_container> - <panel name="land info panel"> - <text name="label_parcel_info"> - Perceel Informatie - </text> - <text name="label_area_price"> - Prijs: L$[PRICE] voor [AREA] m². - </text> - <text name="label_area"> - Gebied: [AREA] m². - </text> - <button label="Over land..." label_selected="Over land..." name="button about land"/> - <check_box label="Toon Eigenaren" name="checkbox show owners" tool_tip="Kleur percelen op basis van hun eigendom: Groen = Uw land Aqua = Land van uw groep Rood = Eigendom van anderen Geel = Te koop Paars = Ter veiling Grijs = Openbaar"/> - <button label="?" label_selected="?" name="button show owners help" left_delta="105"/> - <text name="label_parcel_modify"> - Wijzig Perceel - </text> - <button label="Opdelen" label_selected="Opdelen" name="button subdivide land"/> - <button label="Samenvoegen" label_selected="Samenvoegen" name="button join land"/> - <text name="label_parcel_trans"> - Landtransacties - </text> - <button label="Koop land" label_selected="Koop land" name="button buy land"/> - <button label="Land Afstaan" label_selected="Land Afstaan" name="button abandon land"/> - </panel> - <floater.string name="status_rotate"> - Sleep de gekleurde banden om het object te roteren - </floater.string> - <floater.string name="status_scale"> - Klik en sleep om de geselecteerde zijde uit te rekken. - </floater.string> - <floater.string name="status_move"> - Sleep om te verplaatsen, Shift-slepen om te kopiëren - </floater.string> - <floater.string name="status_modifyland"> - Klik en houd vast om land te wijzigen - </floater.string> - <floater.string name="status_camera"> - Klik en sleep om beeld te wijzigen - </floater.string> - <floater.string name="status_grab"> - Sleep om te verplaatsen, Ctrl om op te tillen, Ctrl-Shift om te roteren. - </floater.string> - <floater.string name="status_place"> - Klik in-wereld om te bouwen - </floater.string> - <floater.string name="status_selectland"> - Klik en sleep om land te selecteren - </floater.string> - <floater.string name="grid_screen_text"> - Scherm - </floater.string> - <floater.string name="grid_local_text"> - Lokaal - </floater.string> - <floater.string name="grid_world_text"> - Wereld - </floater.string> - <floater.string name="grid_reference_text"> - Referentie - </floater.string> - <floater.string name="grid_attachment_text"> - Bevestiging - </floater.string> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_top_objects.xml b/indra/newview/skins/default/xui/nl/floater_top_objects.xml deleted file mode 100644 index 2bbb701df8d..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_top_objects.xml +++ /dev/null @@ -1,55 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="top_objects" title="LADEN…"> - <text name="title_text"> - Laden… - </text> - <scroll_list name="objects_list"> - <column label="Score" name="score" width="84"/> - <column label="Naam" name="name" width="84"/> - <column label="Eigenaar" name="owner" width="84"/> - <column label="Locatie" name="location" width="84"/> - <column label="Tijd" name="time" width="84"/> - <column label="Mono tijd" name="mono_time" width="84"/> - </scroll_list> - <text name="id_text" left="2"> - Object ID: - </text> - <button label="Toon baken" name="show_beacon_btn"/> - <text name="obj_name_text" left="2"> - Object naam: - </text> - <button label="Filter" name="filter_object_btn"/> - <text name="owner_name_text" left="2"> - Eigenaar naam: - </text> - <button label="Filter" name="filter_owner_btn"/> - <button label="Geselecteerde retourneren" name="return_selected_btn" width="170"/> - <button label="Alles retourneren" name="return_all_btn" left="190"/> - <button label="Geselecteerde uitschakelen" name="disable_selected_btn" width="170"/> - <button label="Alles uitschakelen" name="disable_all_btn" left="190"/> - <button label="Verversen" name="refresh_btn"/> - <string name="top_scripts_title"> - Top scripts - </string> - <string name="top_scripts_text"> - [COUNT] scripts besteden in totaal [TIME] ms - </string> - <string name="scripts_score_label"> - Tijd - </string> - <string name="scripts_mono_time_label"> - Mono tijd - </string> - <string name="top_colliders_title"> - Top botsingen - </string> - <string name="top_colliders_text"> - Top [COUNT] objecten die veel mogelijke botsingen ervaren. - </string> - <string name="colliders_score_label"> - Score - </string> - <string name="none_descriptor"> - Geen gevonden. - </string> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_tos.xml b/indra/newview/skins/default/xui/nl/floater_tos.xml deleted file mode 100644 index d71412664cf..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_tos.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="modal container" title=""> - <button label="Doorgaan" label_selected="Doorgaan" name="Continue"/> - <button label="Annuleren" label_selected="Annuleren" name="Cancel"/> - <check_box label="Ik ga akkoord met de voorwaarden van service" name="agree_chk"/> - <text name="tos_heading"> - Leest u alstublieft de volgende voorwaarden van service door. Om door te gaan met inloggen in -[SECOND_LIFE] dient u de overeenkomst te accepteren. - </text> - <text_editor name="tos_text"> - TOS_TEXT - </text_editor> - <string name="real_url"> - http://secondlife.com/app/tos/ - </string> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_url_entry.xml b/indra/newview/skins/default/xui/nl/floater_url_entry.xml deleted file mode 100644 index 6926f093904..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_url_entry.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="url_entry" title=""> - <text name="media_label"> - Media URL: - </text> - <button label="OK" name="ok_btn"/> - <button label="Annuleren" name="cancel_btn" width="80"/> - <button label="Leegmaken" name="clear_btn" width="80"/> - <text name="loading_label"> - Laden… - </text> -</floater> diff --git a/indra/newview/skins/default/xui/nl/floater_world_map.xml b/indra/newview/skins/default/xui/nl/floater_world_map.xml deleted file mode 100644 index 2fee2ecf050..00000000000 --- a/indra/newview/skins/default/xui/nl/floater_world_map.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="worldmap" title="WERELDKAART"> - <tab_container name="maptab"> - <panel label="Objecten" name="objects_mapview"/> - <panel label="Terrein" name="terrain_mapview"/> - </tab_container> - <text name="you_label"> - U - </text> - <icon left="1058" name="home"/> - <text name="home_label"> - Thuis - </text> - <text name="auction_label"> - Veiling - </text> - <text name="land_for_sale_label"> - Land te koop - </text> - <button width="122" left="1116" label="Ga naar Thuislocatie" label_selected="Ga naar Thuislocatie" name="Go Home" tool_tip="Teleport naar uw thuislocatie"/> - <check_box label="Inwoner" name="people_chk"/> - <check_box label="Infohub" name="infohub_chk"/> - <check_box label="Telehub" name="telehubchk"/> - <check_box label="Land te koop" name="land_for_sale_chk"/> - <text name="events_label"> - Evenementen: - </text> - <check_box label="PG" name="event_chk"/> - <check_box label="Mature" name="events_mature_chk"/> - <check_box label="Adult" name="events_adult_chk"/> - <combo_box label="Online vrienden" name="friend combo" tool_tip="Vriend die op kaart getoond wordt"> - <combo_box.item name="item1" label="Online vrienden"/> - </combo_box> - <combo_box label="Landmarkeringen" name="landmark combo" tool_tip="Landmarkering die op kaart getoond wordt"> - <combo_box.item name="item1" label="Landmarkeringen"/> - </combo_box> - <line_editor label="Zoek op regionaam" name="location" tool_tip="Type de naam van een regio"/> - <button label="Zoeken" name="DoSearch" tool_tip="Zoek naar regio"/> - <text name="search_label"> - Zoekresultaten - </text> - <text name="location_label"> - Locatie: - </text> - <spinner name="spin x" tool_tip="X coördinaat van de locatie die op de kaart getoond wordt"/> - <spinner name="spin y" tool_tip="Y coördinaat van de locatie die op de kaart getoond wordt"/> - <spinner name="spin z" tool_tip="Z coördinaat van de locatie die op de kaart getoond wordt"/> - <button label="Teleport" label_selected="Teleport" name="Teleport" tool_tip="Teleport naar geselecteerde locatie"/> - <button label="Toon bestemming" label_selected="Toon bestemming" name="Show Destination" tool_tip="Centreer kaart op geselecteerde locatie"/> - <button label="Verwijder" label_selected="Verwijder" name="Clear" tool_tip="Stop volgen"/> - <button label="Toon mijn locatie" label_selected="Toon mijn locatie" name="Show My Location" tool_tip="Centreer kaart op de locatie van uw avatar"/> - <button label="Kopieer SLurl naar klembord" name="copy_slurl" tool_tip="Kopieert huidige locatie als SLurl, zodat deze op het web gebruikt kan worden."/> - <slider label="Zoom" name="zoom slider"/> -</floater> diff --git a/indra/newview/skins/default/xui/nl/language_settings.xml b/indra/newview/skins/default/xui/nl/language_settings.xml deleted file mode 100644 index 40f4d9178a1..00000000000 --- a/indra/newview/skins/default/xui/nl/language_settings.xml +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<!-- This file contains strings that used to be hardcoded in the source.--> -<strings> - - <!-- Locale Information --> - <string name="MicrosoftLocale">dutch</string> - <string name="MacLocale">nl_NL.UTF-8</string> - <string name="DarwinLocale">nl_NL.UTF-8</string> - <string name="LinuxLocale">nl_NL.UTF-8</string> - - <!-- - datetimeToCodes["wkday"] = "%a"; // Thu - datetimeToCodes["weekday"] = "%A"; // Thursday - datetimeToCodes["year4"] = "%Y"; // 2009 - datetimeToCodes["year"] = "%Y"; // 2009 - datetimeToCodes["year2"] = "%y"; // 09 - datetimeToCodes["mth"] = "%b"; // Aug - datetimeToCodes["month"] = "%B"; // August - datetimeToCodes["mthnum"] = "%m"; // 08 - datetimeToCodes["day"] = "%d"; // 31 - datetimeToCodes["sday"] = "%-d"; // 9 - datetimeToCodes["hour24"] = "%H"; // 14 - datetimeToCodes["hour"] = "%H"; // 14 - datetimeToCodes["hour12"] = "%I"; // 02 - datetimeToCodes["min"] = "%M"; // 59 - datetimeToCodes["ampm"] = "%p"; // AM - datetimeToCodes["second"] = "%S"; // 59 - datetimeToCodes["timezone"] = "%Z"; // PST - --> - - <string name="TimeHour">hour,datetime,slt</string> - <string name="TimeMin">min,datetime,slt</string> - <string name="TimeYear">year,datetime,slt</string> - <string name="TimeDay">day,datetime,slt</string> - <string name="TimeMonth">mthnum,datetime,slt</string> - <string name="TimeWeek">wkday,datetime,slt</string> - <string name="TimeAMPM">ampm,datetime,slt</string> - <string name="TimeHour12">hour12,datetime,slt</string> - - <string name="LTimeMthNum">mthnum,datetime,local</string> - <string name="LTimeWeek">wkday,datetime,local</string> - <string name="LTimeMonth">mth,datetime,local</string> - <string name="LTimeDay">day,datetime,local</string> - <string name="LTimeSec">second,datetime,local</string> - <string name="LTimeHour">hour,datetime,local</string> - <string name="LTimeMin">min,datetime,local</string> - <string name="LTimeYear">year,datetime,local</string> - - <string name="UTCTimeWeek">weekday,datetime,utc</string> - <string name="UTCTimeDay">day,datetime,utc</string> - <string name="UTCTimeMth">mth,datetime,utc</string> - <string name="UTCTimeYr">year,datetime,utc</string> - <string name="UTCTimeHr">hour,datetime,utc</string> - <string name="UTCTimeMin">min,datetime,utc</string> - <string name="UTCTimeSec">second,datetime,utc</string> - <string name="UTCTimeTimezone">timezone,datetime,utc</string> -</strings> diff --git a/indra/newview/skins/default/xui/nl/menu_inventory.xml b/indra/newview/skins/default/xui/nl/menu_inventory.xml deleted file mode 100644 index c3b47cbddb9..00000000000 --- a/indra/newview/skins/default/xui/nl/menu_inventory.xml +++ /dev/null @@ -1,82 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Koop" name="Task Buy"/> - <menu_item_call label="Open" name="Task Open"/> - <menu_item_call label="Afspelen" name="Task Play"/> - <menu_item_call label="Eigenschappen" name="Task Properties"/> - <menu_item_call label="Hernoemen" name="Task Rename"/> - <menu_item_call label="Verwijderen" name="Task Remove"/> - <menu_item_call label="Prullenbak legen" name="Empty Trash"/> - <menu_item_call label="Verloren en gevonden leegmaken" name="Empty Lost And Found"/> - <menu_item_call label="Nieuwe map" name="New Folder"/> - <menu_item_call label="Nieuw script" name="New Script"/> - <menu_item_call label="Nieuwe notitie" name="New Note"/> - <menu_item_call label="Nieuw gebaar" name="New Gesture"/> - <menu label="Nieuwe Kleding" name="New Clothes"> - <menu_item_call label="Nieuw shirt" name="New Shirt"/> - <menu_item_call label="Nieuwe broek" name="New Pants"/> - <menu_item_call label="Nieuwe schoenen" name="New Shoes"/> - <menu_item_call label="Nieuwe sokken" name="New Socks"/> - <menu_item_call label="Nieuwe jas" name="New Jacket"/> - <menu_item_call label="Nieuwe rok" name="New Skirt"/> - <menu_item_call label="Nieuwe handschoenen" name="New Gloves"/> - <menu_item_call label="Nieuw onderhemd" name="New Undershirt"/> - <menu_item_call label="Nieuwe onderbroek" name="New Underpants"/> - <menu_item_call label="Nieuw Alpha Masker" name="New Alpha Mask"/> - <menu_item_call label="Nieuwe Tattoo" name="New Tattoo"/> - </menu> - <menu label="Nieuwe Lichaamsdelen" name="New Body Parts"> - <menu_item_call label="Nieuwe postuur" name="New Shape"/> - <menu_item_call label="Nieuwe huid" name="New Skin"/> - <menu_item_call label="Nieuw haar" name="New Hair"/> - <menu_item_call label="Nieuwe ogen" name="New Eyes"/> - </menu> - <menu label="Change Type" name="Change Type"> - <menu_item_call label="Standaard" name="Default"/> - <menu_item_call label="Handschoenen" name="Gloves"/> - <menu_item_call label="Jas" name="Jacket"/> - <menu_item_call label="Broek" name="Pants"/> - <menu_item_call label="Vorm" name="Shape"/> - <menu_item_call label="Schoenen" name="Shoes"/> - <menu_item_call label="Overhemd" name="Shirt"/> - <menu_item_call label="Rok" name="Skirt"/> - <menu_item_call label="Onderbroek" name="Underpants"/> - <menu_item_call label="Onderhemd" name="Undershirt"/> - </menu> - <menu_item_call label="Teleport" name="Landmark Open"/> - <menu_item_call label="Open" name="Animation Open"/> - <menu_item_call label="Open" name="Sound Open"/> - <menu_item_call label="Verwijderen item" name="Purge Item"/> - <menu_item_call label="Herstellen item" name="Restore Item"/> - <menu_item_call label="Ga Naar Link" name="Goto Link"/> - <menu_item_call label="Open" name="Open"/> - <menu_item_call label="Eigenschappen" name="Properties"/> - <menu_item_call label="Hernoemen" name="Rename"/> - <menu_item_call label="Kopieer asset UUID" name="Copy Asset UUID"/> - <menu_item_call label="Kopiëren" name="Copy"/> - <menu_item_call label="Plakken" name="Paste"/> - <menu_item_call label="Plak Als Link" name="Paste As Link"/> - <menu_item_call label="Verwijderen" name="Delete"/> - <menu_item_call label="Items uitdoen" name="Take Off Items"/> - <menu_item_call label="Voeg toe aan kleding" name="Add To Outfit"/> - <menu_item_call label="Vervang kleding" name="Replace Outfit"/> - <menu_item_call label="Start conferentie chat" name="Conference Chat Folder"/> - <menu_item_call label="Afspelen" name="Sound Play"/> - <menu_item_call label="Over Landmark" name="About Landmark"/> - <menu_item_call label="In wereld afspelen" name="Animation Play"/> - <menu_item_call label="Lokaal afspelen" name="Animation Audition"/> - <menu_item_call label="Stuur instant message" name="Send Instant Message"/> - <menu_item_call label="Bied teleport aan…" name="Offer Teleport..."/> - <menu_item_call label="Start conferentie chat" name="Conference Chat"/> - <menu_item_call label="Activeren" name="Activate"/> - <menu_item_call label="Deactiveren" name="Deactivate"/> - <menu_item_call label="Opslaan Als" name="Save As"/> - <menu_item_call label="Losmaken van jezelf" name="Detach From Yourself"/> - <menu_item_call label="Dragen" name="Object Wear"/> - <menu label="Bevestigen aan" name="Attach To"/> - <menu label="Bevestigen aan HUD" name="Attach To HUD"/> - <menu_item_call label="Bewerken" name="Wearable Edit"/> - <menu_item_call label="Dragen" name="Wearable Wear"/> - <menu_item_call label="Uitdoen" name="Take Off"/> - <menu_item_call label="--geen opties--" name="--no options--"/> -</menu> diff --git a/indra/newview/skins/default/xui/nl/menu_inventory_add.xml b/indra/newview/skins/default/xui/nl/menu_inventory_add.xml deleted file mode 100644 index 09330b9597a..00000000000 --- a/indra/newview/skins/default/xui/nl/menu_inventory_add.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_inventory_add"> - <menu label="Upload" name="upload"> - <menu_item_call label="Plaatje (L$[COST])..." name="Upload Image"/> - <menu_item_call label="Geluid (L$[COST])..." name="Upload Sound"/> - <menu_item_call label="Animatie (L$[COST])..." name="Upload Animation"/> - <menu_item_call label="Bulk (L$[COST] per bestand)..." name="Bulk Upload"/> - </menu> - <menu_item_call label="Nieuwe Map" name="New Folder"/> - <menu_item_call label="Nieuw Script" name="New Script"/> - <menu_item_call label="Nieuw Notitie" name="New Note"/> - <menu_item_call label="Nieuw Gebaar" name="New Gesture"/> - <menu label="Nieuwe Kleding" name="New Clothes"> - <menu_item_call label="Nieuw Overhemd" name="New Shirt"/> - <menu_item_call label="Nieuwe Broek" name="New Pants"/> - <menu_item_call label="Nieuwe Schoenen" name="New Shoes"/> - <menu_item_call label="Nieuwe Sokken" name="New Socks"/> - <menu_item_call label="Nieuw Jas" name="New Jacket"/> - <menu_item_call label="Nieuw Rok" name="New Skirt"/> - <menu_item_call label="Nieuwe Handschoenen" name="New Gloves"/> - <menu_item_call label="Nieuw Hemd" name="New Undershirt"/> - <menu_item_call label="Nieuwe Onderbroek" name="New Underpants"/> - <menu_item_call label="Nieuwe Alpha" name="New Alpha"/> - <menu_item_call label="Nieuwe Tattoo" name="New Tattoo"/> - </menu> - <menu label="Nieuwe Lichaamsdelen" name="New Body Parts"> - <menu_item_call label="Nieuwe Vorm" name="New Shape"/> - <menu_item_call label="Nieuwe Huid" name="New Skin"/> - <menu_item_call label="Nieuw Haar" name="New Hair"/> - <menu_item_call label="Nieuwe Ogen" name="New Eyes"/> - </menu> -</menu> diff --git a/indra/newview/skins/default/xui/nl/menu_login.xml b/indra/newview/skins/default/xui/nl/menu_login.xml deleted file mode 100644 index 987b82b1280..00000000000 --- a/indra/newview/skins/default/xui/nl/menu_login.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Login Menu"> - <menu label="Bestand" name="File"> - <menu_item_call label="Afsluiten" name="Quit"/> - </menu> - <menu label="Bewerken" name="Edit"> - <menu_item_call label="Voorkeuren..." name="Preferences..."/> - </menu> - <menu label="Help" name="Help"> - <menu_item_call label="[SECOND_LIFE] Help" name="Second Life Help"/> - <menu_item_call label="Over [APP_NAME]..." name="About Second Life..."/> - </menu> -</menu_bar> diff --git a/indra/newview/skins/default/xui/nl/menu_mini_map.xml b/indra/newview/skins/default/xui/nl/menu_mini_map.xml deleted file mode 100644 index f7c09660ea3..00000000000 --- a/indra/newview/skins/default/xui/nl/menu_mini_map.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Zoom dichtbij" name="Zoom Close"/> - <menu_item_call label="Zoom gemiddeld" name="Zoom Medium"/> - <menu_item_call label="Zoom veraf" name="Zoom Far"/> - <menu_item_call label="Stop volgen" name="Stop Tracking"/> - <menu_item_call label="Profiel..." name="Profile"/> -</menu> diff --git a/indra/newview/skins/default/xui/nl/menu_picks.xml b/indra/newview/skins/default/xui/nl/menu_picks.xml deleted file mode 100644 index 2e53dbda589..00000000000 --- a/indra/newview/skins/default/xui/nl/menu_picks.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Picks"> - <menu_item_call label="Info" name="pick_info"/> - <menu_item_call label="Bewerken" name="pick_edit"/> - <menu_item_call label="Teleport" name="pick_teleport"/> - <menu_item_call label="Kaart" name="pick_map"/> - <menu_item_call label="Verweideren" name="pick_delete"/> -</context_menu> diff --git a/indra/newview/skins/default/xui/nl/menu_places_gear_landmark.xml b/indra/newview/skins/default/xui/nl/menu_places_gear_landmark.xml deleted file mode 100644 index dab5a388d79..00000000000 --- a/indra/newview/skins/default/xui/nl/menu_places_gear_landmark.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_ladmark_gear"> - <menu_item_call label="Teleport" name="teleport"/> - <menu_item_call label="Meer Informatie" name="more_info"/> - <menu_item_call label="Toon op Kaart" name="show_on_map"/> - <menu_item_call label="Voeg Landmark Toe" name="add_landmark"/> - <menu_item_call label="Voeg Map Toe" name="add_folder"/> - <menu_item_call label="Knippen" name="cut"/> - <menu_item_call label="Kopieër Landmark" name="copy_landmark"/> - <menu_item_call label="Kopieër SLurl" name="copy_slurl"/> - <menu_item_call label="Plakken" name="paste"/> - <menu_item_call label="Hernoemen" name="rename"/> - <menu_item_call label="Verweideren" name="delete"/> - <menu_item_call label="Alle mappen uitvouwen" name="expand_all"/> - <menu_item_call label="Alle mappen samenvouwen" name="collapse_all"/> - <menu_item_check label="Sorteer bij Datum" name="sort_by_date"/> - <menu_item_call label="Maak Favoriet" name="create_pick"/> -</menu> diff --git a/indra/newview/skins/default/xui/nl/menu_slurl.xml b/indra/newview/skins/default/xui/nl/menu_slurl.xml deleted file mode 100644 index 48a4698d0ce..00000000000 --- a/indra/newview/skins/default/xui/nl/menu_slurl.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Over URL" name="about_url"/> - <menu_item_call label="Teleport naar URL" name="teleport_to_url"/> - <menu_item_call label="Toon op kaart" name="show_on_map"/> -</menu> diff --git a/indra/newview/skins/default/xui/nl/menu_viewer.xml b/indra/newview/skins/default/xui/nl/menu_viewer.xml deleted file mode 100644 index 6d5c833610c..00000000000 --- a/indra/newview/skins/default/xui/nl/menu_viewer.xml +++ /dev/null @@ -1,207 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Main Menu"> - <menu label="Bestand" name="File"> - <tearoff_menu label="~~~~~~~~~~~" name="~~~~~~~~~~~"/> - <menu label="Upload" name="upload"> - <menu_item_call label="Afbeelding (L$[COST])..." name="Upload Image"/> - <menu_item_call label="Geluid (L$[COST])..." name="Upload Sound"/> - <menu_item_call label="Animatie (L$[COST])..." name="Upload Animation"/> - <menu_item_call label="Bulk (L$[COST] per bestand)..." name="Bulk Upload"/> - <menu_item_separator label="-----------" name="separator"/> - <menu_item_call label="Standaard permissies instellen..." name="perm prefs"/> - </menu> - <menu_item_separator label="-----------" name="separator"/> - <menu_item_call label="Sluit venster" name="Close Window"/> - <menu_item_call label="Sluit alle vensters" name="Close All Windows"/> - <menu_item_separator label="-----------" name="separator2"/> - <menu_item_call label="Textuur opslaan als..." name="Save Texture As..."/> - <menu_item_separator label="-----------" name="separator3"/> - <menu_item_call label="Maak foto" name="Take Snapshot"/> - <menu_item_call label="Foto naar harde schijf" name="Snapshot to Disk"/> - <menu_item_separator label="-----------" name="separator4"/> - <menu_item_call label="Afsluiten" name="Quit"/> - </menu> - <menu label="Bewerken" name="Edit"> - <menu_item_call label="Ongedaan maken" name="Undo"/> - <menu_item_call label="Herhalen" name="Redo"/> - <menu_item_separator label="-----------" name="separator"/> - <menu_item_call label="Knippen" name="Cut"/> - <menu_item_call label="Kopiëren" name="Copy"/> - <menu_item_call label="Plakken" name="Paste"/> - <menu_item_call label="Verwijderen" name="Delete"/> - <menu_item_separator label="-----------" name="separator2"/> - <menu_item_call label="Zoeken..." name="Search..."/> - <menu_item_separator label="-----------" name="separator3"/> - <menu_item_call label="Alles selecteren" name="Select All"/> - <menu_item_call label="Deselecteren" name="Deselect"/> - <menu_item_separator label="-----------" name="separator4"/> - <menu_item_call label="Dupliceren" name="Duplicate"/> - <menu_item_separator label="-----------" name="separator5"/> - <menu label="Bevestig object" name="Attach Object"/> - <menu label="Object losmaken" name="Detach Object"/> - <menu label="Kleding uitdoen" name="Take Off Clothing"> - <menu_item_call label="Hemd" name="Shirt"/> - <menu_item_call label="Broek" name="Pants"/> - <menu_item_call label="Schoenen" name="Shoes"/> - <menu_item_call label="Sokken" name="Socks"/> - <menu_item_call label="Jas" name="Jacket"/> - <menu_item_call label="Handschoenen" name="Gloves"/> - <menu_item_call label="Onderhemd" name="Menu Undershirt"/> - <menu_item_call label="Onderbroek" name="Menu Underpants"/> - <menu_item_call label="Rok" name="Skirt"/> - <menu_item_call label="Alle kleding" name="All Clothes"/> - </menu> - <menu_item_separator label="-----------" name="separator6"/> - <menu_item_call label="Gebaren..." name="Gestures..."/> - <menu_item_call label="Profiel..." name="Profile..."/> - <menu_item_call label="Uiterlijk..." name="Appearance..."/> - <menu_item_separator label="-----------" name="separator7"/> - <menu_item_check label="Vrienden..." name="Friends..."/> - <menu_item_call label="Groepen..." name="Groups..."/> - <menu_item_separator label="-----------" name="separator8"/> - <menu_item_call label="Voorkeuren..." name="Preferences..."/> - </menu> - <menu label="Weergave" name="View"> - <tearoff_menu label="~~~~~~~~~~~" name="~~~~~~~~~~~"/> - <menu_item_call label="Mouselook" name="Mouselook"/> - <menu_item_check label="Bouwen" name="Build"/> - <menu_item_check label="Joystick vliegcamera" name="Joystick Flycam"/> - <menu_item_call label="Weergave opnieuw instellen" name="Reset View"/> - <menu_item_call label="Kijk naar laatste geklets" name="Look at Last Chatter"/> - <menu_item_separator label="-----------" name="separator"/> - <menu_item_check label="Werkbalk" name="Toolbar"/> - <menu_item_check label="Lokale chat" name="Chat History"/> - <menu_item_check label="Communiceren" name="Instant Message"/> - <menu_item_check label="Inventaris" name="Inventory"/> - <menu_item_check label="Actieve sprekers" name="Active Speakers"/> - <menu_item_check label="Negeerlijst" name="Mute List"/> - <menu_item_separator label="-----------" name="separator2"/> - <menu_item_check label="Camerabediening" name="Camera Controls"/> - <menu_item_check label="Bewegingsbediening" name="Movement Controls"/> - <menu_item_check label="Wereldkaart" name="World Map"/> - <menu_item_check label="Mini-kaart" name="Mini-Map"/> - <menu_item_separator label="-----------" name="separator3"/> - <menu_item_check label="Statistiekenbalk" name="Statistics Bar"/> - <menu_item_check label="Eigendomlijnen" name="Property Lines"/> - <menu_item_check label="Banlijnen" name="Banlines"/> - <menu_item_check label="Landeigenaren" name="Land Owners"/> - <menu_item_separator label="-----------" name="separator4"/> - <menu label="Tooltips" name="Hover Tips"> - <menu_item_check label="Toon tips" name="Show Tips"/> - <menu_item_separator label="-----------" name="separator"/> - <menu_item_check label="Land tips" name="Land Tips"/> - <menu_item_check label="Tips voor alle objecten" name="Tips On All Objects"/> - </menu> - <menu_item_check label="Markeer transparant" name="Highlight Transparent"/> - <menu_item_check label="Bakens" name="beacons"/> - <menu_item_check label="Verberg particles" name="Hide Particles"/> - <menu_item_check label="Toon HUD bevestigingen" name="Show HUD Attachments"/> - <menu_item_separator label="-----------" name="separator5"/> - <menu_item_call label="Inzoomen" name="Zoom In"/> - <menu_item_call label="Zoom standaard" name="Zoom Default"/> - <menu_item_call label="Uitzoomen" name="Zoom Out"/> - <menu_item_separator label="-----------" name="separator6"/> - <menu_item_call label="Schakelen naar volledig scherm" name="Toggle Fullscreen"/> - <menu_item_call label="UI grootte naar standaard instellen" name="Set UI Size to Default"/> - </menu> - <menu label="Wereld" name="World"> - <menu_item_call label="Chat" name="Chat"/> - <menu_item_check label="Altijd rennen" name="Always Run"/> - <menu_item_check label="Vliegen" name="Fly"/> - <menu_item_separator label="-----------" name="separator"/> - <menu_item_call label="Maak hier landmarkering" name="Create Landmark Here"/> - <menu_item_call label="Thuis hier instellen" name="Set Home to Here"/> - <menu_item_separator label="-----------" name="separator2"/> - <menu_item_call label="Teleport naar huis" name="Teleport Home"/> - <menu_item_separator label="-----------" name="separator3"/> - <menu_item_call label="Afwezig instellen" name="Set Away"/> - <menu_item_call label="Niet-storen instellen" name="Set Busy"/> - <menu_item_call label="Stop het animeren van mijn avatar" name="Stop Animating My Avatar"/> - <menu_item_call label="Toetsen vrijgeven" name="Release Keys"/> - <menu_item_separator label="-----------" name="separator4"/> - <menu_item_call label="Account geschiedenis..." name="Account History..."/> - <menu_item_call label="Beheer mijn account" name="Manage My Account..."/> - <menu_item_call label="Koop L$..." name="Buy and Sell L$..."/> - <menu_item_separator label="-----------" name="separator5"/> - <menu_item_call label="Mijn land..." name="My Land..."/> - <menu_item_call label="Over land..." name="About Land..."/> - <menu_item_call label="Koop land..." name="Buy Land..."/> - <menu_item_call label="Regio/Estate..." name="Region/Estate..."/> - <menu_item_separator label="-----------" name="separator6"/> - <menu label="Omgeving instellingen" name="Environment Settings"> - <menu_item_call label="Zonsopgang" name="Sunrise"/> - <menu_item_call label="Middag" name="Noon"/> - <menu_item_call label="Zonsondergang" name="Sunset"/> - <menu_item_call label="Middernacht" name="Midnight"/> - <menu_item_call label="Herstel naar regiostandaard" name="Revert to Region Default"/> - <menu_item_separator label="-----------" name="separator"/> - <menu_item_call label="Omgeving editor" name="Environment Editor"/> - </menu> - </menu> - <menu label="Gereedschappen" name="Tools"> - <menu label="Selecteergereedschap" name="Select Tool"> - <menu_item_call label="Focus" name="Focus"/> - <menu_item_call label="Verplaatsen" name="Move"/> - <menu_item_call label="Bewerken" name="Edit"/> - <menu_item_call label="Maak" name="Create"/> - <menu_item_call label="Land" name="Land"/> - </menu> - <menu_item_separator label="-----------" name="separator"/> - <menu_item_check label="Selecteer alleen mijn objecten" name="Select Only My Objects"/> - <menu_item_check label="Selecteer alleen verplaatsbare objecten" name="Select Only Movable Objects"/> - <menu_item_check label="Selecteer op omgeving" name="Select By Surrounding"/> - <menu_item_check label="Toon verborgen selectie" name="Show Hidden Selection"/> - <menu_item_check label="Toon lichtradius voor selectie" name="Show Light Radius for Selection"/> - <menu_item_check label="Toon selectiestraal" name="Show Selection Beam"/> - <menu_item_separator label="-----------" name="separator2"/> - <menu_item_check label="Snap aan grid" name="Snap to Grid"/> - <menu_item_call label="Snap object XY aan grid" name="Snap Object XY to Grid"/> - <menu_item_call label="Gebruik selectie voor grid" name="Use Selection for Grid"/> - <menu_item_call label="Gridopties..." name="Grid Options..."/> - <menu_item_separator label="-----------" name="separator3"/> - <menu_item_check label="Bewerk gekoppelde delen" name="Edit Linked Parts"/> - <menu_item_call label="Koppel" name="Link"/> - <menu_item_call label="Ontkoppel" name="Unlink"/> - <menu_item_separator label="-----------" name="separator4"/> - <menu_item_call label="Focus op selectie" name="Focus on Selection"/> - <menu_item_call label="Zoom naar selectie" name="Zoom to Selection"/> - <menu_item_call label="Koop object" name="Menu Object Take"> - <on_enable userdata="Koop,Neem" name="EnableBuyOrTake"/> - </menu_item_call> - <menu_item_call label="Neem kopie" name="Take Copy"/> - <menu_item_call label="Object terug opslaan in objectinhoud" name="Save Object Back to Object Contents"/> - <menu_item_separator label="-----------" name="separator6"/> - <menu_item_call label="Toon script waarschuwing/fout venster" name="Show Script Warning/Error Window"/> - <menu label="Hercompileer scripts in selectie" name="Recompile Scripts in Selection"> - <menu_item_call label="Mono" name="Mono"/> - <menu_item_call label="LSL" name="LSL"/> - </menu> - <menu_item_call label="Scripts in selectie opnieuw instellen" name="Reset Scripts in Selection"/> - <menu_item_call label="Scripts in selectie instellen op uitvoeren" name="Set Scripts to Running in Selection"/> - <menu_item_call label="Scripts in selectie instellen op niet uitvoeren" name="Set Scripts to Not Running in Selection"/> - </menu> - <menu label="Help" name="Help"> - <menu_item_call label="[SECOND_LIFE] Help" name="Second Life Help"/> - <menu_item_call label="Handleiding" name="Tutorial"/> - <menu_item_separator label="-----------" name="separator"/> - <menu_item_call label="Officiële Linden blog..." name="Official Linden Blog..."/> - <menu_item_separator label="-----------" name="separator2"/> - <menu_item_call label="Scripting portaal..." name="Scripting Portal..."/> - <menu_item_separator label="-----------" name="separator3"/> - <menu_item_call label="Rapporteer misbruik..." name="Report Abuse..."/> - <menu_item_call label="Botsingen, duwen & slaan" name="Bumps, Pushes &amp; Hits..."/> - <menu_item_call label="Lag Meter" name="Lag Meter"/> - <menu_item_separator label="-----------" name="separator7"/> - <menu label="Bug rapporteren" name="Bug Reporting"> - <menu_item_call label="Publieke problemenlijst..." name="Public Issue Tracker..."/> - <menu_item_call label="Publieke problemenlijst help" name="Publc Issue Tracker Help..."/> - <menu_item_separator label="-----------" name="separator7"/> - <menu_item_call label="Bug rapporteren 101" name="Bug Reporing 101..."/> - <menu_item_call label="Beveiligingsbevindingen..." name="Security Issues..."/> - <menu_item_call label="Kwaliteitsbeheersing Wiki..." name="QA Wiki..."/> - <menu_item_separator label="-----------" name="separator9"/> - <menu_item_call label="Rapporteer bug..." name="Report Bug..."/> - </menu> - <menu_item_call label="Over [APP_NAME]..." name="About Second Life..."/> - </menu> -</menu_bar> diff --git a/indra/newview/skins/default/xui/nl/mime_types.xml b/indra/newview/skins/default/xui/nl/mime_types.xml deleted file mode 100644 index ba5de136a06..00000000000 --- a/indra/newview/skins/default/xui/nl/mime_types.xml +++ /dev/null @@ -1,230 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<mimetypes name="default"> - <widgetset name="web"> - <label name="web_label"> - Web Inhoud - </label> - <tooltip name="web_tooltip"> - Deze locatie bevat Web inhoud - </tooltip> - <playtip name="web_playtip"> - Toon Web inhoud - </playtip> - </widgetset> - <widgetset name="movie"> - <label name="movie_label"> - Film - </label> - <tooltip name="movie_tooltip"> - Hier kan een film afgespeeld worden - </tooltip> - <playtip name="movie_playtip"> - Afspelen film - </playtip> - </widgetset> - <widgetset name="none"> - <label name="none_label"> - Geen Inhoud - </label> - <tooltip name="none_tooltip"> - Geen media hier - </tooltip> - </widgetset> - <widgetset name="image"> - <label name="image_label"> - Afbeelding - </label> - <tooltip name="image_tooltip"> - Er is een afbeelding op deze locatie - </tooltip> - <playtip name="image_playtip"> - Bekijk de afbeelding van deze locatie - </playtip> - </widgetset> - <widgetset name="audio"> - <label name="audio_label"> - Audio - </label> - <tooltip name="audio_tooltip"> - Er is audio op deze locatie - </tooltip> - <playtip name="audio_playtip"> - Speel de audio van deze locatie af - </playtip> - </widgetset> - <scheme name="rtsp"> - <label name="rtsp_label"> - Real Time Streaming - </label> - </scheme> - <mimetype name="blank"> - <label name="blank_label"> - - Geen - - </label> - </mimetype> - <mimetype name="none/none"> - <label name="none/none_label"> - - Geen - - </label> - </mimetype> - <mimetype name="audio/*"> - <label name="audio2_label"> - Audio - </label> - </mimetype> - <mimetype name="video/*"> - <label name="video2_label"> - Video - </label> - </mimetype> - <mimetype name="image/*"> - <label name="image2_label"> - Afbeelding - </label> - </mimetype> - <mimetype name="video/vnd.secondlife.qt.legacy"> - <label name="vnd.secondlife.qt.legacy_label"> - Film (QuickTime) - </label> - </mimetype> - <mimetype name="application/javascript"> - <label name="application/javascript_label"> - Javascript - </label> - </mimetype> - <mimetype name="application/ogg"> - <label name="application/ogg_label"> - Ogg Audio/Video - </label> - </mimetype> - <mimetype name="application/pdf"> - <label name="application/pdf_label"> - PDF Document - </label> - </mimetype> - <mimetype name="application/postscript"> - <label name="application/postscript_label"> - Postscript Document - </label> - </mimetype> - <mimetype name="application/rtf"> - <label name="application/rtf_label"> - Rich Text (RTF) - </label> - </mimetype> - <mimetype name="application/smil"> - <label name="application/smil_label"> - Synchronized Multimedia Integration Language (SMIL) - </label> - </mimetype> - <mimetype name="application/xhtml+xml"> - <label name="application/xhtml+xml_label"> - Web Pagina (XHTML) - </label> - </mimetype> - <mimetype name="application/x-director"> - <label name="application/x-director_label"> - Macromedia Director - </label> - </mimetype> - <mimetype name="application/x-shockwave-flash"> - <label name="application/x-shockwave-flash_label"> - Flash - </label> - </mimetype> - <mimetype name="audio/mid"> - <label name="audio/mid_label"> - Audio (MIDI) - </label> - </mimetype> - <mimetype name="audio/mpeg"> - <label name="audio/mpeg_label"> - Audio (MP3) - </label> - </mimetype> - <mimetype name="audio/x-aiff"> - <label name="audio/x-aiff_label"> - Audio (AIFF) - </label> - </mimetype> - <mimetype name="audio/x-wav"> - <label name="audio/x-wav_label"> - Audio (WAV) - </label> - </mimetype> - <mimetype name="image/bmp"> - <label name="image/bmp_label"> - Afbeelding (BMP) - </label> - </mimetype> - <mimetype name="image/gif"> - <label name="image/gif_label"> - Afbeelding (GIF) - </label> - </mimetype> - <mimetype name="image/jpeg"> - <label name="image/jpeg_label"> - Afbeelding (JPEG) - </label> - </mimetype> - <mimetype name="image/png"> - <label name="image/png_label"> - Afbeelding (PNG) - </label> - </mimetype> - <mimetype name="image/svg+xml"> - <label name="image/svg+xml_label"> - Afbeelding (SVG) - </label> - </mimetype> - <mimetype name="image/tiff"> - <label name="image/tiff_label"> - Afbeelding (TIFF) - </label> - </mimetype> - <mimetype name="text/html"> - <label name="text/html_label"> - Web Pagina - </label> - </mimetype> - <mimetype name="text/plain"> - <label name="text/plain_label"> - Tekst - </label> - </mimetype> - <mimetype name="text/xml"> - <label name="text/xml_label"> - XML - </label> - </mimetype> - <mimetype name="video/mpeg"> - <label name="video/mpeg_label"> - Film (MPEG) - </label> - </mimetype> - <mimetype name="video/mp4"> - <label name="video/mp4_label"> - Film (MP4) - </label> - </mimetype> - <mimetype name="video/quicktime"> - <label name="video/quicktime_label"> - Film (QuickTime) - </label> - </mimetype> - <mimetype name="video/x-ms-asf"> - <label name="video/x-ms-asf_label"> - Film (Windows Media ASF) - </label> - </mimetype> - <mimetype name="video/x-ms-wmv"> - <label name="video/x-ms-wmv_label"> - Film (Windows Media WMV) - </label> - </mimetype> - <mimetype name="video/x-msvideo"> - <label name="video/x-msvideo_label"> - Film (AVI) - </label> - </mimetype> -</mimetypes> diff --git a/indra/newview/skins/default/xui/nl/notifications.xml b/indra/newview/skins/default/xui/nl/notifications.xml deleted file mode 100644 index 06e6d8ae7ad..00000000000 --- a/indra/newview/skins/default/xui/nl/notifications.xml +++ /dev/null @@ -1,3044 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<notifications> - <global name="skipnexttime"> - Toon mij dit niet meer. - </global> - <global name="alwayschoose"> - Kies altijd deze optie - </global> - <global name="implicitclosebutton"> - Sluiten - </global> - <template name="okbutton"> - <form> - <button - name="OK" - text="$yestext"/> - </form> - </template> - - <template name="okignore"> - <form> - <button - name="OK" - text="$yestext"/> - <ignore text="$ignoretext"/> - </form> - </template> - - <template name="okcancelbuttons"> - <form> - <button - name="OK" - text="$yestext"/> - <button - name="Cancel" - text="$notext"/> - </form> - </template> - - <template name="okcancelignore"> - <form> - <button - name="OK" - text="$yestext"/> - <button - name="Cancel" - text="$notext"/> - <ignore text="$ignoretext"/> - </form> - </template> - - <template name="okhelpbuttons"> - <form> - <button - name="OK" - text="$yestext"/> - <button - name="Help" - text="$helptext"/> - </form> - </template> - - <template name="yesnocancelbuttons"> - <form> - <button - name="Yes" - text="$yestext"/> - <button - name="No" - text="$notext"/> - <button - name="Cancel" - text="$canceltext"/> - </form> - </template> - <notification functor="GenericAcknowledge" label="Onbekende waarschuwingsboodschap" name="MissingAlert"> - Uw versie van [APP_NAME] weet niet hoe het de waarschuwingsboodschap die zojuist ontvangen is moet weergeven. - -Foutdetails: De waarschuwing genaamd '[_NAME]' is niet gevonden in notifications.xml. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FloaterNotFound"> - Reële waarde fout: Kon de volgende controllers niet vinden: - -[CONTROLS] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TutorialNotFound"> - Er is momenteel geen handleiding beschikbaar. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GenericAlert"> - [MESSAGE] - </notification> - <notification name="GenericAlertYesCancel"> - [MESSAGE] - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="Ja"/> - </notification> - <notification name="BadInstallation"> - Er is een fout opgetreden tijdens het bijwerken van [APP_NAME]. Download alstublieft de meest recente versie van secondlife.com - <usetemplate - name="okbutton" - yestext="OK"/> - </notification> - <notification name="LoginFailedNoNetwork"> - Netwerkfout: Kan geen verbinding opzetten. -'[DIAGNOSTIC]' -Controleer alstublieft uw netwerkverbinding. - <usetemplate - name="okbutton" - yestext="OK"/> - </notification> - <notification name="MessageTemplateNotFound"> - Berichtsjabloon [PATH] niet gevonden. - <usetemplate - name="okbutton" - yestext="OK"/> - </notification> - <notification name="WearableSave"> - Wijzigingen aan huidig kledingstuk/lichaamsdeel opslaan? - <usetemplate canceltext="Annuleren" name="yesnocancelbuttons" notext="Niet Opslaan" yestext="Opslaan"/> - </notification> - <notification name="CompileQueueSaveText"> - Er was een probleem met het uploaden van de tekst van een script vanwege de volgende reden: [REASON]. Probeer het alstublieft later nog eens. - </notification> - <notification name="CompileQueueSaveBytecode"> - Er was een probleem met het uploaden van het gecompileerde script vanwege de volgende reden: [REASON]. Probeer het alstublieft later nog eens. - </notification> - <notification name="WriteAnimationFail"> - Er was een probleem met het wegschrijven van animatie gegevens. Probeer het alstublieft later nog eens. - </notification> - <notification name="UploadAuctionSnapshotFail"> - Er was een probleem met het uploaden van de veiling foto vanwege de volgende reden: [REASON] - </notification> - <notification name="UnableToViewContentsMoreThanOne"> - Het is niet mogelijk om de inhoud van meer dan één item tegelijk te zien. -Kies alstublieft slechts één item en probeer het opnieuw. - </notification> - <notification name="SaveClothingBodyChanges"> - Wijzigingen aan kledingstuk/lichaamsdeel opslaan? - <usetemplate canceltext="Annuleren" name="yesnocancelbuttons" notext="Niet Opslaan" yestext="Alles Opslaan"/> - </notification> - <notification name="GrantModifyRights"> - Het geven van wijzigingsrechten aan een andere inwoner, maakt het voor hun mogelijk om elk willekeurig object te wijzigen, te verwijderen of om WILLEKEURIGE objecten die u in wereld heeft terug te nemen. Wees HEEL voorzichtig met het uitgeven van dit recht. -Wilt u wijzigingsrechten aan [FIRST_NAME] [LAST_NAME] geven? - <usetemplate name="okcancelbuttons" notext="Nee" yestext="Ja"/> - </notification> - <notification name="GrantModifyRightsMultiple"> - Het geven van wijzigingsrechten aan een andere inwoner, maakt het voor hun mogelijk elk WILLEKEURIG object te wijzigen die u in wereld heeft. Wees HEEL voorzichtig met het uitgeven van dit recht. -Wilt u wijzigingsrechten aan de geselecteerde inwoners geven? - <usetemplate name="okcancelbuttons" notext="Nee" yestext="Ja"/> - </notification> - <notification name="RevokeModifyRights"> - Wilt u de wijzigingsrechten voor [FIRST_NAME] [LAST_NAME] terugnemen? - <usetemplate name="okcancelbuttons" notext="Nee" yestext="Ja"/> - </notification> - <notification name="RevokeModifyRightsMultiple"> - Wilt u de wijzigingsrechten voor de geselecteerde inwoners terugnemen? - <usetemplate name="okcancelbuttons" notext="Nee" yestext="Ja"/> - </notification> - <notification name="UnableToCreateGroup"> - Kan geen groep aanmaken. -[MESSAGE] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="PanelGroupApply"> - [NEEDS_APPLY_MESSAGE] -[WANT_APPLY_MESSAGE] - <usetemplate canceltext="Annuleren" name="yesnocancelbuttons" notext="Wijzigingen Negeren" yestext="Wijzigingen Toepassen"/> - </notification> - <notification name="MustSpecifyGroupNoticeSubject"> - U moet een onderwerp opgeven om dit bericht te kunnen versturen. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AddGroupOwnerWarning"> - U staat op het punt groepsleden de rol [ROLE_NAME] te geven. -Leden kunnen niet van die groep worden verwijderd. -De leden moeten zichzelf ontheffen uit deze rol. -Weet u zeker dat u door wilt gaan? - <usetemplate ignoretext="Wanneer u groepsleden toevoegt aan de eigenaren rol" name="okcancelignore" notext="Nee" yestext="Ja"/> - </notification> - <notification name="AssignDangerousActionWarning"> - U staat op het punt de Bekwaamheid '[ACTION_NAME]' aan de Rol '[ROLE_NAME]' toe te voegen. - - *WAARSCHUWING* - Elk lid in de Rol met deze Bekwaamheid kan zichzelf - en elk ander lid - Rollen geven die meer mogelijkheden hebben dan waar zij nu over beschikken, zichzelf daarmee verheffend tot bijna eigenaar mogelijkheden. Weet zeker waar u mee bezig bent alvorens deze Bekwaamheid toe te kennen. - -Deze Bekwaamheid toevoegen aan '[ROLE_NAME]'? - <usetemplate name="okcancelbuttons" notext="Nee" yestext="Ja"/> - </notification> - <notification name="AssignDangerousAbilityWarning"> - U staat op het punt de Bekwaamheid '[ACTION_NAME]' aan de Rol '[ROLE_NAME]' toe te voegen. - - *WAARSCHUWING* - Elk lid in de Rol met deze Bekwaamheid kan zichzelf - en elk ander lid - alle Bekwaamheden geven, zich daarmee verheffend tot bijna Eigenaar mogelijkheden. - -Deze Bekwaamheid toevoegen aan '[ROLE_NAME]'? - <usetemplate name="okcancelbuttons" notext="Nee" yestext="Ja"/> - </notification> - <notification name="ClickPublishHelpLand"> - Het selecteren van de "Publiceer in Zoeken" optie -Het aan vinken van deze optie zal: -- dit perceel weergeven in de zoek resultaten -- de publieke objecten van dit perceel weergeven -- dit perceel in web zoeken weergeven - </notification> - <notification name="ClickSoundHelpLand"> - Media en muziek kunnen alleen binnen het perceel ervaren worden. Geluid- en voice-opties kunnen worden beperkt tot het perceel of zullen worden gehoord door inwoners buiten het perceel, gebaseerd op hun inhoudscategorie. Ga naar de kennisbank om meer te leren over hoe deze opties ingesteld kunnen worden. - <url name="url"> - https://support.secondlife.com/ics/support/default.asp?deptID=4417&task=knowledge&questionID=5046 - </url> - <usetemplate - name="okcancelbuttons" - yestext="Ga naar kennisbank" - notext="Sluiten" /> - </notification> - <notification name="ClickSearchHelpAll"> - Zoekresultaten zijn georganiseerd op basis van het tabblad waar u zich in bevindt, uw inhoudscategorie, de gekozen categorie en andere factoren. Kijk alstublieft in de kennisbank voor meer details. - <url name="url"> - https://support.secondlife.com/ics/support/default.asp?deptID=4417&task=knowledge&questionID=4722 - </url> - <usetemplate - name="okcancelbuttons" - yestext="Ga naar kennisbank" - notext="Sluiten" /> - </notification> - <notification name="ClickPublishHelpLandDisabled"> - U kunt dit perceel niet zichtbaar maken in zoeken omdat het zich in een regio bevindt dat dit niet toelaat - </notification> - <notification name="ClickPublishHelpAvatar"> - Het selecteren van "Weergeven in Zoeken" zal weergeven: -- mijn profiel in de zoek resultaten -- een link naar mijn profiel in de publieke groep pagina's - </notification> - <notification name="ClickPartnerHelpAvatar"> - U kunt een andere Inwoner ten huwelijk vragen of een bestaand partner schap verbreken via de [SECOND_LIFE] website. - -Naar de [SECOND_LIFE] website gaan voor meer informatie over partner schap? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="Ga naar Pagina"/> - </notification> - <notification name="ClickUploadHelpPermissions"> - Uw standaard permissies werken mogelijk niet in oudere regio's. - </notification> - <notification name="ClickWebProfileHelpAvatar"> - Als een Inwoner een web profiel URL heeft ingesteld: -* Klik op 'Laden' om de pagina in deze web tab te zien. -* Klik op Laden > 'In externe browser' om de pagina in uw standaard browser te zien -* Klik op Laden > 'Thuis pagina URL' om terug te keren naar het web profiel van deze Inwoner indien U verder genavigeerd bent. - -Indien u uw eigen profiel bekijkt, kunt U elke willekeurige URL opgeven als uw web profiel en op OK klikken om het in te stellen. -Andere Inwoners kunnen de door U opgegeven URL bezoeken indien zij uw profiel bekijken. - </notification> - <notification name="JoinGroupCanAfford"> - Deelname aan deze groep kost L$[COST]. -Wilt u doorgaan? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="Deelnemen"/> - </notification> - <notification name="JoinGroupCannotAfford"> - Deelname aan deze groep kost L$[COST]. -U heeft niet genoeg L$ om deel te kunnen nemen aan deze groep. - </notification> - <notification name="LandBuyPass"> - Voor L$[COST] krijgt u toegang tot het land ('[PARCEL_NAME]') voor de duur van [TIME] uur. - -Een pas kopen? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="SalePriceRestriction"> - De verkoopprijs moet ingesteld staan op meer dan L$0 indien u aan iemand verkoopt. -Kies een individu indien u het voor L$0 verkoopt. - </notification> - <notification name="ConfirmLandSaleChange"> - De geselecteerde [LAND_SIZE] m² land is te koop gezet. -Uw verkoopprijs is L$[SALE_PRICE] en zal geautoriseerd worden voor verkoop door [NAME]. - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ConfirmLandSaleToAnyoneChange"> - ATTENTIE: Het aanklikken van 'verkoop aan iedereen' zal uw land beschikbaar maken aan de gehele [SECOND_LIFE] gemeenschap, zo ook diegenen niet in deze regio! - -De geselecteerde [LAND_SIZE] m² land is te koop gezet. -Uw verkoopprijs is L$[SALE_PRICE] en zal geautoriseerd worden voor verkoop door [NAME]. - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ReturnObjectsDeededToGroup"> - Weet u zeker dat u alle met de groep '[NAME]' gedeelde objecten van dit perceel wilt retourneren naar de inventaris van hun vorige eigenaren? - -*WAARSCHUWING* Dit zal alle niet-overdraagbare aan de groep toegekende objecten verwijderen! - -Objecten: [N] - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ReturnObjectsOwnedByUser"> - Weet u zeker dat u alle objecten van Inwoner '[NAME]' op dit perceel wilt retourneren naar hun inventaris? - -Objecten: [N] - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ReturnObjectsOwnedBySelf"> - Weet u zeker dat u al uw eigen objecten op dit perceel wilt retourneren naar uw inventaris? - -Objecten: [N] - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ReturnObjectsNotOwnedBySelf"> - Weet u zeker dat u alle objecten op dit perceel die geen eigendom van u zijn wilt retourneren naar de inventaris van hun eigenaren? -Overdraagbare objecten toegekend aan de groep zullen worden geretourneerd naar de oorspronkelijke eigenaren. - -*WAARSCHUWING* Dit zal alle niet-overdraagbare aan de groep toegekende objecten verwijderen! - -Objecten: [N] - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ReturnObjectsNotOwnedByUser"> - Weet u zeker dat u alle objecten op dit perceel die GEEN eigendom zijn van [NAME] wilt retourneren naar de inventaris van hun eigenaar? Overdraagbare objecten toegekend aan de groep zullen worden geretourneerd naar de oorspronkelijke eigenaren. - -*WAARSCHUWING* Dit zal alle niet-overdraagbare aan de groep toegekende objecten verwijderen! - -Objecten: [N] - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ReturnAllTopObjects"> - Weet u zeker dat u alle weergegeven objecten wilt retourneren naar de inventaris van hun eigenaar? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="DisableAllTopObjects"> - Weet u zeker dat u alle objecten in deze regio uit wilt schakelen? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ReturnObjectsNotOwnedByGroup"> - Alle objecten op dit perceel die NIET gedeeld worden met de groep [NAME] retourneren naar hun eigenaren? - -Objecten: [N] - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="UnableToDisableOutsideScripts"> - Kan scripts niet uitschakelen. -Voor de hele regio is letsel ingeschakeld. -Scripts moeten toegestaan worden om wapens te kunnen laten werken. - </notification> - <notification name="MustBeInParcel"> - U moet binnen een perceel staan om het Landings Punt in te stellen. - </notification> - <notification name="PromptRecipientEmail"> - Geef alstublieft een geldig email adres op van de ontvanger(s). - </notification> - <notification name="PromptSelfEmail"> - Voer uw email adres in. - </notification> - <notification name="PromptMissingSubjMsg"> - Foto e-mailen met het standaard onderwerp of bericht? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ErrorProcessingSnapshot"> - Fout opgetreden met het verwerken van de foto gegevens - </notification> - <notification name="ErrorEncodingSnapshot"> - Fout opgetreden met het coderen van de foto. - </notification> - <notification name="ErrorUploadingPostcard"> - Er is een probleem met het verzenden van de foto vanwege de volgende reden: [REASON] - </notification> - <notification name="ErrorUploadingReportScreenshot"> - Er is een probleem met het uploaden van de rapport foto vanwege de volgende reden: [REASON] - </notification> - <notification name="MustAgreeToLogIn"> - U moet akkoord gaan met de Voorwaarden van Dienstverlening (Terms of Service) om in te kunnen loggen in [SECOND_LIFE]. - </notification> - <notification name="CouldNotPutOnOutfit"> - Kon de outfit niet aan doen. -De outfit folder bevat geen kleding, lichaamsdelen of externe bevestigingen. - </notification> - <notification name="CannotWearTrash"> - U kunt geen kleding of lichaamsdelen aan trekken die zich in de vuilnisbak bevinden. - </notification> - <notification name="CannotWearInfoNotComplete"> - U kunt dat item niet aantrekken omdat het nog niet geladen is. Probeer het over een minuut opnieuw. - </notification> - <notification name="MustHaveAccountToLogIn"> - Oeps! Iets is nog leeg. -U moet zowel de voornaam als de achternaam van uw avatar opgeven. - -U heeft een account nodig om [SECOND_LIFE] binnen te gaan. Wilt u er nu een maken? - <url name="url"> - https://join.secondlife.com/index.php?lang=nl-NL - </url> - <usetemplate name="okcancelbuttons" notext="Probeer het opnieuw" yestext="Maak een nieuw account"/> - </notification> - <notification name="AddClassified"> - Geclassificeerde advertenties verschijnen een week lang in de 'Advertentie' sectie van de Zoek gids en op www.secondlife.com. -Vul uw advertentie in en klik op 'Publiceer...' om het toe te voegen aan de gids. -Er zal u om een prijs worden gevraagd als u deze gaat publiceren. -Indien u meer betaald zal uw advertentie hoger in de lijst verschijnen en ook hoger als men op sleutelwoorden zoekt. - <usetemplate ignoretext="Indien u een advertentie toevoegt" name="okcancelignore" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="DeleteClassified"> - Advertentie '[NAME]' verwijderen? -Betaalde advertentiekosten zullen niet worden terug gestort. - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ClassifiedSave"> - Wijzigingen in advertentie [NAME] opslaan? - <usetemplate canceltext="Annuleren" name="yesnocancelbuttons" notext="Niet Opslaan" yestext="Opslaan"/> - </notification> - <notification name="DeleteAvatarPick"> - Favoriet [PICK] verwijderen? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="PromptGoToEventsPage"> - Naar de [SECOND_LIFE] evenementen web pagina gaan? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="SelectProposalToView"> - Kies alstublieft een voorstel om in te zien. - </notification> - <notification name="SelectHistoryItemToView"> - Kies alstublieft een geschiedenis item om in te zien. - </notification> - <notification name="ResetShowNextTimeDialogs"> - Wilt u alle Pop-Up's opnieuw inschakelen die u eerder aanmerkte als 'Laat mij niet opnieuw zien'? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="SkipShowNextTimeDialogs"> - Wilt u alle Pop-Up's uitschakelen die overgeslagen kunnen worden? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="CacheWillClear"> - De cache zal geleegd worden als u [APP_NAME] opnieuw start. - </notification> - <notification name="CacheWillBeMoved"> - De cache zal verplaatst worden als u [APP_NAME] opnieuw start. -Opmerking: Dit zal de Cache legen. - </notification> - <notification name="ChangeConnectionPort"> - Poort instelling zullen effect hebben nadat u [APP_NAME] opnieuw start. - </notification> - <notification name="ChangeSkin"> - De nieuwe skin zal verschijnen nadat u [APP_NAME] opnieuw start. - </notification> - <notification name="GoToAuctionPage"> - Ga naar de [SECOND_LIFE] web pagina om de veiling details te zien of een bod uit te brengen. - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="SaveChanges"> - Wijzigingen Opslaan? - <usetemplate canceltext="Annuleren" name="yesnocancelbuttons" notext="Niet Opslaan" yestext="Opslaan"/> - </notification> - <notification name="GestureSaveFailedTooManySteps"> - Gebaar opslaan is niet gelukt. -Dit gebaar heeft te veel stappen. -Probeer enkele stappen te verwijderen en opnieuw op te slaan. - </notification> - <notification name="GestureSaveFailedTryAgain"> - Gebaar opslaan is niet gelukt. Probeer het over enkele ogenblikken opnieuw. - </notification> - <notification name="GestureSaveFailedObjectNotFound"> - Kon het gebaar niet opslaan omdat het object of bijbehorende object niet in de inventaris kon worden gevonden. - -Het object kan buiten bereik of mogelijk verwijderd zijn. - </notification> - <notification name="GestureSaveFailedReason"> - Er was een probleem met het opslaan van het gebaar vanwege de volgende reden: [REASON]. Probeert u het gebaar later nogmaals op te slaan. - </notification> - <notification name="SaveNotecardFailObjectNotFound"> - Kon de notitiekaart niet opslaan omdat het object of bijbehorende object niet in de inventaris kon worden gevonden. - -Het object kan buiten bereik of mogelijk verwijderd zijn. - </notification> - <notification name="SaveNotecardFailReason"> - Er was een probleem met het opslaan van de notitiekaart vanwege de volgende reden: [REASON]. Probeert u de notitiekaart later nogmaals op te slaan. - </notification> - <notification name="ScriptCannotUndo"> - Kon niet alle wijzigingen ongedaan maken in uw versie van het script. -Wilt u de laatst op de server opgeslagen versie laden? -(**Waarschuwing** Deze operatie kan niet ongedaan gemaakt worden.) - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="SaveScriptFailReason"> - Er was een probleem met het opslaan van een script vanwege de volgende reden: [REASON]. Probeert u het script later nogmaals op te slaan. - </notification> - <notification name="SaveScriptFailObjectNotFound"> - Kon het script niet opslaan omdat het object waar het in zit niet gevonden kon worden. -Het object kan buiten bereik of mogelijk verwijderd zijn. - </notification> - <notification name="SaveBytecodeFailReason"> - Er was een probleem met het opslaan van een gecompileerd script vanwege de volgende reden: [REASON]. Probeert u het script later nogmaals op te slaan. - </notification> - <notification name="CouldNotStartStopScript"> - Kon het script niet starten of stoppen omdat het object wat het in zit niet gevonden kon worden. -Het object kan buiten bereik of mogelijk verwijderd zijn. - </notification> - <notification name="CannotDownloadFile"> - Kon het bestand niet downloaden - </notification> - <notification name="CannotWriteFile"> - Kan niet naar bestand [[FILE]] schrijven - </notification> - <notification name="UnsupportedHardware"> - Waarschuwing: Uw systeem voldoet niet aan de [APP_NAME] minimum systeem eisen. Indien u [APP_NAME] gebruikt, ervaart u mogelijk slechte prestaties. Helaas kunnen we geen technische ondersteuning geven voor niet ondersteunde configuraties. - -MINSPECS -Wilt u [_URL] bezoeken voor meer informatie? - <url name="url" option="0"> - http://secondlife.com/support/sysreqs.php?lang=nl - </url> - <usetemplate ignoretext="Indien niet ondersteunde hardware gedetecteerd" name="okcancelignore" notext="Nee" yestext="Ja"/> - </notification> - <notification name="UnknownGPU"> - Uw systeem heeft een grafische kaart die bij ons nog niet bekend is op dit moment. - -Dit is vaak het geval met nieuwe hardware waarbij wij nog niet de kans gehad hebben om het te testen. [APP_NAME] zal mogelijk naar behoren functioneren, doch het kan zijn dat u uw grafische instellingen naar geschiktere waarden zult moeten instellen. -(Bewerken menu > Voorkeuren > Grafisch). - <form name="form"> - <ignore name="ignore" text="Indien een onbekende grafische kaart gedetecteerd"/> - </form> - </notification> - <notification name="DisplaySettingsNoShaders"> - [APP_NAME] is gestopt bij het initialiseren van de grafische stuurprogramma's. -Grafische kwaliteit zal op zijn laagst worden ingesteld om veel voorkomende fouten met stuurprogramma's te vermijden. -Dit zal sommige grafische opties uitschakelen. -Wij adviseren u de stuurprogramma's van uw grafische kaart bij te werken. -Grafische kwaliteit kan verhoogd worden in Voorkeuren > Grafisch. - </notification> - <notification name="RegionNoTerraforming"> - De regio [REGION] staat geen land aanpassingen toe. - </notification> - <notification name="CannotCopyWarning"> - U heeft geen permissie dit item te kopiëren en zult het kwijtraken als u het weg geeft. Wilt u dit item echt aanbieden? - <usetemplate name="okcancelbuttons" notext="Nee" yestext="Ja"/> - </notification> - <notification name="CannotGiveItem"> - Kan inventaris item niet geven. - </notification> - <notification name="TransactionCancelled"> - Transactie afgebroken. - </notification> - <notification name="TooManyItems"> - Kan niet meer dan 42 items in één enkele inventaris overdracht geven. - </notification> - <notification name="NoItems"> - U heeft geen permissie de geselecteerde items over te dragen. - </notification> - <notification name="CannotCopyCountItems"> - U heeft geen permissie om [COUNT] geselecteerde items te kopiëren. U zult deze items uit uw inventaris kwijtraken. -Weet u zeker dat u deze items wilt geven? - <usetemplate name="okcancelbuttons" notext="Nee" yestext="Ja"/> - </notification> - <notification name="CannotGiveCategory"> - U heeft geen permissie de geselecteerde map over te dragen. - </notification> - <notification name="FreezeAvatar"> - Avatar bevriezen? -Hij of zij zal zich tijdelijk niet kunnen bewegen, praten of interactie kunnen hebben met de wereld. - <usetemplate canceltext="Annuleren" name="yesnocancelbuttons" notext="Ontdooien" yestext="Bevriezen"/> - </notification> - <notification name="FreezeAvatarFullname"> - Bevries [AVATAR_NAME]? -Hij of zij zal zich tijdelijk niet kunnen bewegen, praten of interactie kunnen hebben met de wereld. - <usetemplate canceltext="Annuleren" name="yesnocancelbuttons" notext="Ontdooien" yestext="Bevriezen"/> - </notification> - <notification name="EjectAvatarFullname"> - [AVATAR_NAME] van uw land verwijderen? - <usetemplate canceltext="Annuleren" name="yesnocancelbuttons" notext="Verwijderen en Bannen" yestext="Verwijderen"/> - </notification> - <notification name="EjectAvatarNoBan"> - Deze avatar van u land verwijderen? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="Verwijder"/> - </notification> - <notification name="EjectAvatarFullnameNoBan"> - [AVATAR_NAME] van uw land verwijderen? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="Verwijder"/> - </notification> - <notification name="AcquireErrorTooManyObjects"> - VERWERVINGS FOUT: Te veel objecten geselecteerd - </notification> - <notification name="AcquireErrorObjectSpan"> - VERWERVINGS FOUT: Objecten beslaan meer dan één regio. -Verplaats alstublieft alle objecten die u wilt verwerven naar dezelfde regio. - </notification> - <notification name="PromptGoToCurrencyPage"> - [EXTRA] - -Naar [_URL] gaan voor informatie over de aankoop L$? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="UnableToLinkObjects"> - Kon deze [COUNT] objecten niet linken. -U kunt maximaal [MAX] objecten linken. - </notification> - <notification name="CannotLinkIncompleteSet"> - U kunt alleen complete sets van objecten linken en moet meer dan één object selecteren. - </notification> - <notification name="CannotLinkModify"> - Kon niet linken omdat u geen wijziging permissies heeft op alle objecten. - -Wees er van overtuigd dat er geen enkele geblokkeerd is en dat ze allen uw eigendom zijn. - </notification> - <notification name="CannotLinkDifferentOwners"> - Kon niet linken omdat niet alle objecten dezelfde eigenaar hebben. - -Wees er van overtuigd dat alle objecten uw eigendom zijn. - </notification> - <notification name="NoFileExtension"> - Geen bestandsextensie voor het bestand: '[FILE]' - -Zorg dat het bestand de juiste bestandsextensie heeft. - </notification> - <notification name="InvalidFileExtension"> - Ongeldige bestandsextensie [EXTENSION] -Verwacht [VALIDS] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CannotUploadSoundFile"> - Kon het geüploade geluidsbestand niet openen om te lezen: -[FILE] - </notification> - <notification name="SoundFileNotRIFF"> - Het bestand lijkt geen RIFF WAVE bestand te zijn: -[FILE] - </notification> - <notification name="SoundFileNotPCM"> - Het bestand lijkt geen PCM WAVE audio bestand te zijn: -[FILE] - </notification> - <notification name="SoundFileInvalidChannelCount"> - Het bestand heeft een ongeldig aantal kanalen (moet mono of stereo zijn): -[FILE] - </notification> - <notification name="SoundFileInvalidSampleRate"> - Het bestand lijkt geen ondersteund sample rate te hebben (moet 44.1k zijn): -[FILE] - </notification> - <notification name="SoundFileInvalidWordSize"> - Het bestand lijkt geen ondersteund word size te hebben (moet 8 of 16 bit zijn): -[FILE] - </notification> - <notification name="SoundFileInvalidHeader"> - Kon geen 'data' chunk in WAV header vinden: -[FILE] - </notification> - <notification name="SoundFileInvalidTooLong"> - Audio bestand is te lang (10 seconden maximum): -[FILE] - </notification> - <notification name="ProblemWithFile"> - Probleem met bestand [FILE]: - -[ERROR] - </notification> - <notification name="CannotOpenTemporarySoundFile"> - Kon geen tijdelijk gecomprimeerd geluidsbestand openen om naar toe te schrijven: [FILE] - </notification> - <notification name="UnknownVorbisEncodeFailure"> - Onbekende Vorbis codeer fout in: [FILE] - </notification> - <notification name="CannotEncodeFile"> - Kan bestand niet coderen: [FILE] - </notification> - <notification name="CorruptResourceFile"> - Beschadigd bron bestand: [FILE] - </notification> - <notification name="UnknownResourceFileVersion"> - Onbekende Linden bronbestandsversie in bestand: [FILE] - </notification> - <notification name="UnableToCreateOutputFile"> - Niet mogelijk om uitvoerbestand te maken: [FILE] - </notification> - <notification name="DoNotSupportBulkAnimationUpload"> - Wij ondersteunen momenteel geen bulk upload van animatie bestanden. - </notification> - <notification name="CannotUploadReason"> - Niet mogelijk om bestand [FILE] te uploaden vanwege de volgende reden: [REASON] -Probeer het later opnieuw. - </notification> - <notification name="CannotCreateLandmarkNotOwner"> - U kunt hier geen land markering maken omdat de eigenaar van het land dit niet toestaat. - </notification> - <notification name="CannotRecompileSelectObjectsNoScripts"> - Niet mogelijk om te 'her compileren'. -Selecteer een object met een script. - </notification> - <notification name="CannotRecompileSelectObjectsNoPermission"> - Niet mogelijk om te 'hercompileren'. - -Selecteer objecten met scripts waarvan u permissie heeft deze aan te passen. - </notification> - <notification name="CannotResetSelectObjectsNoScripts"> - Kan geen 'Opnieuw instellen' uitvoeren. - -Selecteer objecten met scripts. - </notification> - <notification name="CannotResetSelectObjectsNoPermission"> - Kan geen 'Opnieuw instellen' uitvoeren. - -Selecte objecten met scripts waarvan u permissie heeft deze aan te passen. - </notification> - <notification name="CannotSetRunningSelectObjectsNoScripts"> - Kan geen enkele scripts instellen op 'Uitvoeren'. - -Selecteer objecten met scripts. - </notification> - <notification name="CannotSetRunningNotSelectObjectsNoScripts"> - Kan geen enkele scripts instellen op 'Niet uitvoeren'. - -Selecteer objecten met scripts. - </notification> - <notification name="NoFrontmostFloater"> - Geen voorgaande floating waarde om op te slaan. - </notification> - <notification name="SeachFilteredOnShortWords"> - Uw zoek opdracht was aangepast en de woorden die te kort waren zijn verwijderd. - -Gezocht naar: [FINALQUERY] - </notification> - <notification name="SeachFilteredOnShortWordsEmpty"> - Uw zoek termen waren te kort en er is geen zoekopdracht uitgevoerd. - </notification> - <notification name="CouldNotTeleportReason"> - Kon niet Teleporteren. -[REASON] - </notification> - - <notification name="invalid_tport"> -Er is een probleem opgetreden bij het verwerken van uw verzoek voor een teleport. U dient wellicht opnieuw in te loggen voor uw kunt teleporteren. Wanneer u deze boodschap blijft ontvangen, controleert u dan alstublieft de Tech Support FAQ op: -www.secondlife.com/support - </notification> - <notification name="invalid_region_handoff"> -Er is een probleem opgetreden bij het oversteken naar een andere regio. U dient wellicht opnieuw in te loggen voor uw kunt oversteken naar andere regio's. Wanneer u deze boodschap blijft ontvangen, controleert u dan alstublieft de Tech Support FAQ op: -www.secondlife.com/support - </notification> - <notification name="blocked_tport"> -Sorry, teleport is momenteel geblokkeerd. Probeer het zo meteen opnieuw. Indien u nog steeds niet kunt teleporteren, log dan alstublieft uit en weer in om het probleem te verhelpen. - </notification> - <notification name="nolandmark_tport"> -Sorry, het systeem was niet in staat de bestemming van de landmarkering te vinden. - </notification> - <notification name="timeout_tport"> -Sorry, het systeem was niet in staat om de teleport verbinding af te ronden. Probeer het zo meteen nog een keer. - </notification> - <notification name="noaccess_tport"> -Sorry, u heeft geen toegang tot die teleportbestemming. - </notification> - <notification name="missing_attach_tport"> -Uw bevestigingen zijn nog niet gearriveerd. Probeer nog een aantal seconden te wachten of log uit en weer in voor u probeert te teleporteren. - </notification> - <notification name="too_many_uploads_tport"> -De assetwachtrij in deze regio is momenteel volgelopen, dus uw teleportverzoek zal niet tijdig afgerond kunnen worden. Probeer het alstublieft opnieuw over een aantal minuten of ga naar een minder druk gebied. - </notification> - <notification name="expired_tport"> -Sorry, het systeem was niet in staat uw teleportverzoek tijdig af te ronden. Probeer het alstublieft opnieuw over een aantal minuten. - </notification> - <notification name="expired_region_handoff"> -Sorry, het systeem was niet in staat om het oversteken naar een andere regio tijdig af te ronden. Probeer het alstublieft opnieuw over een aantal minuten. - </notification> - <notification name="no_host"> -Kan teleportbestemming niet vinden. De bestemming is mogelijk tijdelijk niet beschikbaar of bestaat niet meer. Probeer het alstublieft opnieuw over een aantal minuten. - </notification> - <notification name="no_inventory_host"> -Het inventarissysteem is momenteel niet beschikbaar. - </notification> - - <notification name="CannotSetLandOwnerNothingSelected"> - Kan landeigenaar niet instellen: -Geen perceel geselecteerd. - </notification> - <notification name="CannotSetLandOwnerMultipleRegions"> - Kon geen land eigendom forceren omdat de selectie meerder regio's omvat. -Selecteer alstublieft een kleiner gebied en probeer het opnieuw. - </notification> - <notification name="ForceOwnerAuctionWarning"> - Dit perceel staat voor veiling aangemerkt. Eigendom forceren zal de veiling afbreking en kan potentieel een aantal inwoners niet erg blij maken als het bieden al is begonnen. Eigendom forceren? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="CannotContentifyNothingSelected"> - Unable to contentify: -Geen perceel geselecteerd. - </notification> - <notification name="CannotContentifyNoRegion"> - Unable to contentify: -Geen regio geselecteerd. - </notification> - <notification name="CannotReleaseLandNothingSelected"> - Kan land niet afstaan: -Geen perceel geselecteerd. - </notification> - <notification name="CannotReleaseLandNoRegion"> - Kan land niet afstaan: -kan de regio niet vinden. - </notification> - <notification name="CannotBuyLandNothingSelected"> - Kan land niet kopen: -Geen perceel geselecteerd. - </notification> - <notification name="CannotBuyLandNoRegion"> - Kan land niet kopen: -Kan de regio niet vinden waar dit land zich bevind. - </notification> - <notification name="CannotCloseFloaterBuyLand"> - U kunt het Koop Land venster niet sluiten totdat [APP_NAME] de prijs van de transactie geschat heeft. - </notification> - <notification name="CannotDeedLandNothingSelected"> - Kan land niet toekennen: -Geen perceel geselecteerd. - </notification> - <notification name="CannotDeedLandNoGroup"> - Kan land niet toekennen: -Geen groep geselecteerd. - </notification> - <notification name="CannotDeedLandNoRegion"> - Kan land niet toekennen: -Kan de regio niet vinden waar dit land zich bevind. - </notification> - <notification name="CannotDeedLandMultipleSelected"> - Kan land niet toekennen: -Meerder percelen geselecteerd. - -Probeer één enkel perceel te selecteren. - </notification> - <notification name="ParcelCanPlayMedia"> - Deze locatie van streaming media afspelen. - -Streaming media vereisen een snelle internet verbinding. - -Streaming media afspelen wanneer beschikbaar? -(U kunt deze optie later wijzigen onder Preferenties > Audio & Video.) - <usetemplate name="okcancelbuttons" notext="Uitschakelen" yestext="Media Afspelen"/> - </notification> - <notification name="CannotDeedLandWaitingForServer"> - Kan land niet toekennen: -Wacht op de server om eigendom te rapporteren. - -Probeer het alstublieft opnieuw. - </notification> - <notification name="CannotDeedLandNoTransfer"> - Kan land niet toekennen: -De regio [REGION] staat geen overdracht van land toe. - </notification> - <notification name="CannotReleaseLandWatingForServer"> - Kan land niet afstaan: -Wacht op server om de perceel informatie bij te werken. - -Probeer het over enkele ogenblikken opnieuw. - </notification> - <notification name="CannotReleaseLandSelected"> - Kan land niet afstaan: -Niet alle geselecteerde percelen zijn uw eigendom. - -Kies alstublieft één perceel. - </notification> - <notification name="CannotReleaseLandDontOwn"> - Kan land niet afstaan: -U heeft geen permissie dit perceel vrij te geven. -Percelen in uw eigendom verschijnen in groen. - </notification> - <notification name="CannotReleaseLandRegionNotFound"> - Kan land niet afstaan: -Kan de regio niet vinden waar dit land zich bevind. - </notification> - <notification name="CannotReleaseLandNoTransfer"> - Kan land niet afstaan: -De regio [REGION] staat geen overdracht van land toe. - </notification> - <notification name="CannotReleaseLandPartialSelection"> - Kan land niet afstaan: -U moet het gehele perceel selecteren om het vrij te kunnen geven. - -Selecteer het gehele perceel of deel het eerst op. - </notification> - <notification name="ReleaseLandWarning"> - U staat op het punt om [AREA] m² land af te staan. -Met het afstaan van dit perceel zal het uit uw land houderschapsoverzicht verdwijnen, maar zal u geen L$ toekennen. - -Dit land afstaan? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="CannotDivideLandNothingSelected"> - Kan land niet opdelen: - -Geen percelen geselecteerd. - </notification> - <notification name="CannotDivideLandPartialSelection"> - Kan land niet opdelen: - -U heeft het gehele perceel geselecteerd. -Probeer een deel van het perceel te selecteren. - </notification> - <notification name="LandDivideWarning"> - Opdelen zal het perceel in twee delen verdelen en elk perceel kan zijn eigen instellingen hebben. Sommige instellingen zullen naar de standaard waarden terugkeren als de operatie voltooid is. - -Land opdelen? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="CannotDivideLandNoRegion"> - Kan het land niet opdelen: -Kan de regio niet vinden waar dit land zich bevind. - </notification> - <notification name="CannotJoinLandNoRegion"> - Kan land niet verbinden: -Kan de regio niet vinden waar dit land zich bevind. - </notification> - <notification name="CannotJoinLandNothingSelected"> - Kan land niet verbinden: -Geen perceel geselecteerd. - </notification> - <notification name="CannotJoinLandEntireParcelSelected"> - Kan land niet verbinden: -U heeft slechts één perceel geselecteerd. - -Selecteer land over beide percelen. - </notification> - <notification name="CannotJoinLandSelection"> - Kan land niet verbinden: -U moet meer dan één perceel selecteren. - -Selecteer land over beide percelen. - </notification> - <notification name="JoinLandWarning"> - Het verbinding van dit land zal één groot perceel opleveren uit alle percelen die de rechthoek doorkruisen. -U zult de naam en opties van het nieuwe perceel opnieuw in moeten stellen. - -Land verbinden? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ShowOwnersHelp"> - Toon eigenaren: -Kleur percelen om het eigenaarstype te tonen. - -Groen = Uw land -Aqua = Land van uw groep -Rood = Eigendom van anderen -Geel = Te koop -Paars = Ter veiling -Grijs = Openbaar - </notification> - <notification name="ConfirmNotecardSave"> - Deze notitiekaart zal moet worden opgeslagen voordat het item kan worden gekopieerd of bekeken. Notitiekaart opslaan? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ConfirmItemCopy"> - Dit item naar uw inventaris kopiëren? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="Kopiëren"/> - </notification> - <notification name="ResolutionSwitchFail"> - Mislukt om resolutie te verwisselen van [RESX] naar [RESY] - </notification> - <notification name="ErrorUndefinedGrasses"> - Fout: Onbekend gras: [SPECIES] - </notification> - <notification name="ErrorUndefinedTrees"> - Fout: Onbekende bomen: [SPECIES] - </notification> - <notification name="CannotSaveWearableOutOfSpace"> - Kon '[NAME]' niet opslaan voor draagbaar item. U zult wat ruimte moeten maken op uw computer en het draagbare item opnieuw op moeten slaan. - </notification> - <notification name="CannotSaveToAssetStore"> - Kon [NAME] niet opslaan in centrale (asset) opslag. -Meestal is dit een tijdelijk probleem. -Wijzig en sla het draagbaar item over een paar minuten opnieuw op. - </notification> - <notification name="YouHaveBeenLoggedOut"> - U bent uitgelogd uit [SECOND_LIFE]: -[MESSAGE] -U kunt uw bestaande IM en chat bekijken door te klikken op 'Toon IM & Chat'. Anders, klik op Afsluiten om [APP_NAME] direct te verlaten. - <usetemplate name="okcancelbuttons" notext="Afsluiten" yestext="Toon IM & Chat"/> - </notification> - <notification name="OnlyOfficerCanBuyLand"> - Kan land niet voor de groep kopen: -U heeft geen permissie land te kopen voor de actieve groep. - </notification> - <notification label="Vriend Toevoegen" name="AddFriend"> - Vrienden kunnen elkaar permissie geven om elkaar te volgen op de Kaart en om Online status updates te verkrijgen. - -Vriendschap aanbieden aan [NAME]? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification label="Vriend Toevoegen" name="AddFriendWithMessage"> - Vrienden kunnen elkaar permissie geven om elkaar te volgen op de Kaart en om Online status updates te verkrijgen. - -Vriendschap aanbieden aan [NAME]? - <form name="form"> - <input name="message"> - Wilt U mijn vriend zijn? - </input> - <button name="Offer" text="OK"/> - <button name="Cancel" text="Annuleren"/> - </form> - </notification> - <notification name="RemoveFromFriends"> - Wilt u [FIRST_NAME] [LAST_NAME] van uw Vriend lijst verwijderen? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="RemoveMultipleFromFriends"> - Wilt u meerder vrienden van uw Vrienden lijst verwijderen? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="GodDeleteAllScriptedPublicObjectsByUser"> - Weet u zeker dat u alle gescripte objecten wilt verwijderen eigendom van -** [AVATAR_NAME] ** -op allen hun land in deze sim? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="GodDeleteAllScriptedObjectsByUser"> - Weet u zeker dat u ALLE gescripte objecten wilt VERWIJDEREN eigendom van -** [AVATAR_NAME] ** -op AL het land in deze sim? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="GodDeleteAllObjectsByUser"> - Weet u zeker, dat u ALLE objecten (gescript of niet) wilt VERWIJDEREN eigendom van -** [AVATAR_NAME] ** -op AL het LAND in deze sim? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="BlankClassifiedName"> - U moet een naam opgeven voor uw advertentie. - </notification> - <notification name="MinClassifiedPrice"> - De prijs voor weergave moet minimaal L$[MIN_PRICE] zijn. - -Voor alstublieft een hoger bedrag in. - </notification> - <notification name="ConfirmObjectDeleteLock"> - Ten minste één van de geselecteerde items is geblokkeerd. - -Weet u zeker dat u deze items wilt verwijderen? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteNoCopy"> - Ten minste één van de geselecteerde items is niet kopieerbaar. - -Weet u zeker dat u deze items wilt verwijderen? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteNoOwn"> - Tenminste één van de geselecteerde items is niet uw eigendom. - -Weet u zeker dat u deze items wilt verwijderen? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLockNoCopy"> - Ten minste één item is geblokkeerd. -Ten minste één item is niet kopieerbaar. - -Weet u zeker dat u deze items wilt verwijderen? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLockNoOwn"> - Ten minste één item is geblokkeerd. -Tenminste één object is niet uw eigendom. - -Weet u zeker dat u deze items wilt verwijderen? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteNoCopyNoOwn"> - Ten minste één object is niet kopieerbaar. -Tenminste één object is niet uw eigendom. - -Weet u zeker dat u deze items wilt verwijderen? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLockNoCopyNoOwn"> - Ten minste één item is geblokkeerd. -Ten minste één item is niet kopieerbaar. -Tenminste één object is niet uw eigendom. - -Weet u zeker dat u deze items wilt verwijderen? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ConfirmObjectTakeLock"> - Ten minste één object is geblokkeerd. - -Weet u zeker dat u deze items terug wilt nemen? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ConfirmObjectTakeNoOwn"> - Niet alle objecten die u terug neemt zijn uw eigendom. -Indien u verder gaat, worden de permissies van de volgende eigenaar er op toegepast en beperkt het u mogelijk het aan te passen of te kopiëren. - -Weet u zeker dat u deze items terug wilt nemen? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ConfirmObjectTakeLockNoOwn"> - Ten minste één object is geblokkeerd. -Niet alle objecten die u terug neemt zijn uw eigendom. -Indien u verder gaat, worden de permissies van de volgende eigenaar er op toegepast en beperkt het u mogelijk het aan te passen of te kopiëren. -Echter, U kunt de huidige selectie wel terugnemen. - -Weet u zeker dat u deze items terug wilt nemen? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="CantBuyLandAcrossMultipleRegions"> - Kan het land niet kopen omdat het meerder regio's omvat. - -Kiest u alstublieft een kleiner gebied en probeer het opnieuw. - </notification> - <notification name="DeedLandToGroup"> - Voor het overdragen van dit perceel zal de groep voldoen land gebruikscredit moeten hebben en onderhouden. -Het aankoop bedrag zal niet naar de eigenaar worden terug gestort. -Indien een overgedragen perceel wordt verkocht, zal het verkoop bedrag gelijkmatig over de groepsleden worden verdeeld. - -Deze [AREA] m² land overdragen aan de groep '[GROUP_NAME]'? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="DeedLandToGroupWithContribution"> - Voor het overdragen van dit perceel zal de groep voldoen land gebruikscredit moeten hebben en onderhouden. -De overdracht zal een simultane land contributie verlangen van de groep van '[FIRST_NAME] [LAST_NAME]'. -Het aankoop bedrag zal niet naar de eigenaar worden terug gestort. -Indien een overgedragen perceel wordt verkocht, zal het verkoop bedrag gelijkmatig over de groepsleden worden verdeeld. - -Deze [AREA] m² land overdragen aan de groep '[GROUP_NAME]'? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="DisplaySetToSafe"> - Weergave instellingen zijn op veilige waarden ingesteld omdat u de -save optie op heeft gegeven. - </notification> - <notification name="DisplaySetToRecommended"> - Weergave instellingen zijn ingesteld op geadviseerde waarden, gebaseerd op uw systeem configuratie. - </notification> - <notification name="ErrorMessage"> - [ERROR_MESSAGE] - </notification> - <notification name="AvatarMoved"> - Uw [TYPE] locatie is momenteel niet beschikbaar. -[HELP] -U bent naar een nabij gelegen regio verplaatst. - </notification> - <notification name="ClothingLoading"> - Uw kleding wordt nog steeds geladen. -U kunt [SECOND_LIFE] normaal gebruiken en anderen zullen u correct zien. - <form name="form"> - <ignore name="ignore" text="Indien kleding een erg lange tijd in beslag neemt om de laden"/> - </form> - </notification> - <notification name="FirstRun"> - [APP_NAME] installatie compleet. - -Als dit de eerste keer is dat u [SECOND_LIFE] gebruikt, zult u een account aan moeten maken voordat u in kan loggen. -Terugkeren naar [https://join.secondlife.com/index.php?lang=nl-NL secondlife.com] om een nieuw account aan te maken? - <usetemplate name="okcancelbuttons" notext="Doorgaan" yestext="Nieuw Account..."/> - </notification> - <notification name="LoginPacketNeverReceived"> - Wij hebben problemen verbinding te maken. Er zou een probleem kunnen zijn met uw internet verbinding of met de [SECOND_LIFE] servers. - -U kunt uw internet verbinding controleren en het over een paar minuten opnieuw proberen, op Help klikken om verbinding te maken met onze support website, of klik op Teleporteren om een poging te doen naar uw thuis locatie te teleporteren. - <form name="form"> - <button name="OK" text="OK"/> - <button name="Help" text="Help"/> - <button name="Teleport" text="Teleport"/> - </form> - </notification> - <notification name="WelcomeChooseSex"> - Uw avatar zal over enkele ogenblikken verschijnen. - -Gebruik de pijltjestoetsen om te lopen. -Druk op elk gewenst moment op F1 voor Help en om meer te leren over [SECOND_LIFE]. -Kies alstublieft een mannelijk of vrouwelijke avatar. U kunt later nog van gedachten veranderen. - <usetemplate name="okcancelbuttons" notext="Vrouw" yestext="Man"/> - </notification> - <notification name="NotEnoughCurrency"> - [NAME] L$ [PRICE] U heeft niet genoeg L$ om dit te doen. - </notification> - <notification name="GrantedModifyRights"> - U heeft het recht verkregen om objecten van [FIRST_NAME] [LAST_NAME] te wijzigen. - </notification> - <notification name="RevokedModifyRights"> - Uw recht om objecten van [FIRST_NAME] [LAST_NAME] is ingetrokken. - </notification> - <notification name="FlushMapVisibilityCaches"> - Dit zal de Kaart cache van deze regio opschonen. - -Dit is eigenlijk alleen nuttig voor debugging. -(In productie, wacht 5 minuten, dan zal de Kaart van iedereen bijgewerkt worden als ze opnieuw verbinden.) - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="BuyOneObjectOnly"> - Kan niet meer dan één object tegelijkertijd kopen. Selecteer alstublieft slechts één object en probeer opnieuw. - </notification> - <notification name="OnlyCopyContentsOfSingleItem"> - Kan niet de inhoud van meer dan één item per keer kopiëren. -Kies alstublieft slechts één object en probeer het opnieuw. - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="KickUsersFromRegion"> - Alle Inwoners in deze regio naar de thuis locatie Teleporteren? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="EstateObjectReturn"> - Weet u zeker dat u alle objecten wilt retourneren eigendom van [USER_NAME] ? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="InvalidTerrainBitDepth"> - Kon de regio textuur niet plaatsen: -Terrein textuur [TEXTURE_NUM] heeft een ongeldige bit diepte van [TEXTURE_BIT_DEPTH]. - -Vervang de textuur [TEXTURE_NUM] met een 24-bit 512x512 of een kleinere afbeelding, klik dan op opnieuw op "Toepassen". - </notification> - <notification name="InvalidTerrainSize"> - Kon de regio textuur niet plaatsen: -Terrein textuur [TEXTURE_NUM] is te groot met [TEXTURE_SIZE_X]x[TEXTURE_SIZE_Y]. - -Vervang de textuur [TEXTURE_NUM] met een 24-bit 512x512 of een kleinere afbeelding, klik dan op opnieuw op "Toepassen". - </notification> - <notification name="RawUploadStarted"> - Upload gestart. Het kan tot twee minuten duren, afhankelijk van u verbindings snelheid. - </notification> - <notification name="ConfirmBakeTerrain"> - Wilt u werkelijk het huidige terrein 'baken', dit als middelpunt voor de verhoog/verlaag limieten instellen en als standaard instellen voor het 'Herstel' gereedschap? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="MaxAllowedAgentOnRegion"> - U kunt slechts [MAX_AGENTS] Toegestane Inwoners hebben. - </notification> - <notification name="MaxBannedAgentsOnRegion"> - U kunt slechts [MAX_BANNED] Verbannen Inwoners hebben. - </notification> - <notification name="MaxAgentOnRegionBatch"> - Een poging [NUM_ADDED] agents toe te voegen is mislukt: -Overstijgt de [MAX_AGENTS] [LIST_TYPE] limiet met [NUM_EXCESS]. - </notification> - <notification name="MaxAllowedGroupsOnRegion"> - U kunt slechts [MAX_GROUPS] Toegestane Groepen hebben. - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="Bake"/> - </notification> - <notification name="MaxManagersOnRegion"> - U kunt slechts [MAX_MANAGER] Estate Beheerders hebben. - </notification> - <notification name="OwnerCanNotBeDenied"> - Kan de estate eigenaar niet aan de Verbannen lijst van het estate toe voegen. - </notification> - <notification name="CanNotChangeAppearanceUntilLoaded"> - Kan het Uiterlijk niet veranderen totdat kleding en Postuur geladen zijn. - </notification> - <notification name="ClassifiedMustBeAlphanumeric"> - De naam van uw advertentie moet beginnen met een letter van A tot Z of een nummer. -Leestekens zijn niet toegestaan. - </notification> - <notification name="CantSetBuyObject"> - Kan Koop Object niet instellen omdat het object niet te koop is. -Zet het object alstublieft te koop en probeer het opnieuw. - </notification> - <notification name="FinishedRawDownload"> - Download van raw terrein bestand geëindigd naar: -[DOWNLOAD_PATH]. - </notification> - <notification name="DownloadWindowsMandatory"> - Een nieuwe versie van [APP_NAME] is beschikbaar. -[MESSAGE] -U moet deze update downloaden om [APP_NAME] te kunnen gebruiken. - <usetemplate name="okcancelbuttons" notext="Afsluiten" yestext="Download"/> - </notification> - <notification name="DownloadWindows"> - Een bijgewerkte versie van [APP_NAME] is beschikbaar. -[MESSAGE] -Deze update is niet vereist, maar wij raden aan dat u het installeert om de prestaties en stabiliteit te verbeteren. - <usetemplate name="okcancelbuttons" notext="Doorgaan" yestext="Download"/> - </notification> - <notification name="DownloadWindowsReleaseForDownload"> - Een bijgewerkte versie van [APP_NAME] is beschikbaar. -[MESSAGE] -Deze update is niet vereist, maar wij raden aan dat u het installeert om de prestaties en stabiliteit te verbeteren. - <usetemplate name="okcancelbuttons" notext="Doorgaan" yestext="Download"/> - </notification> - <notification name="DownloadMacMandatory"> - Een nieuwe versie van [APP_NAME] is beschikbaar. -[MESSAGE] -U moet deze update downloaden om [APP_NAME] te kunnen gebruiken. - -Downloaden naar uw Applicatie Data map? - <usetemplate name="okcancelbuttons" notext="Afsluiten" yestext="Download"/> - </notification> - <notification name="DownloadMac"> - Een bijgewerkte versie van [APP_NAME] is beschikbaar. -[MESSAGE] -Deze update is niet vereist, maar wij raden aan dat u het installeert om de prestaties en stabiliteit te verbeteren. - -Downloaden naar uw Applicatie Data map? - <usetemplate name="okcancelbuttons" notext="Doorgaan" yestext="Download"/> - </notification> - <notification name="DownloadMacReleaseForDownload"> - Een bijgewerkte versie van [APP_NAME] is beschikbaar. -[MESSAGE] -Deze update is niet vereist, maar wij raden aan dat u het installeert om de prestaties en stabiliteit te verbeteren. - -Downloaden naar uw Applicatie Data map? - <usetemplate name="okcancelbuttons" notext="Doorgaan" yestext="Download"/> - </notification> - <notification name="DeedObjectToGroup"> - Dit object overdragen aan de groep zal de groep: -* L$ ontvangen als betaald in het object - <usetemplate ignoretext="Bij objecten die overgedragen worden aan groepen" name="okcancelignore" notext="Annuleren" yestext="Overdragen"/> - </notification> - <notification name="WebLaunchExternalTarget"> - Uw systeem browser openen om deze inhoud te bekijken? - <usetemplate ignoretext="Bij openen van systeem browser om de webpagina te bekijken" name="okcancelignore" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="WebLaunchJoinNow"> - Naar www.secondlife.com gaan om uw account te beheren? - <usetemplate ignoretext="Bij openen van webbrowser om uw account te beheren" name="okcancelignore" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="WebLaunchSecurityIssues"> - Bezoek de [SECOND_LIFE] Wiki voor details over hoe een Veiligheids Probleem (Security Issue) te rapporteren. - <usetemplate ignoretext="Bij openen webbrowser om de Veiligheids Problemen Wiki (Security Issues Wiki) te bekijken" name="okcancelignore" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="WebLaunchQAWiki"> - Bezoek de [SECOND_LIFE] QA Wiki (Kwaliteitsbeheersing Wiki). - <usetemplate ignoretext="Bij openen webbrowser om de QA Wiki (Kwaliteitsbeheersing Wiki) te bekijken" name="okcancelignore" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="WebLaunchPublicIssue"> - Bezoek de [SECOND_LIFE] Publieke problemenlijst, waar u Bugs en andere Problemen kunt rapporteren. - <usetemplate ignoretext="Bij openen webbrowser om de Publieke problemenlijst te bekijken" name="okcancelignore" notext="Annuleren" yestext="Ga naar pagina"/> - </notification> - <notification name="WebLaunchPublicIssueHelp"> - Bezoek de [SECOND_LIFE] Wiki voor informatie over het gebruik van de Publieke problemenlijst. - <usetemplate ignoretext="Bij openen webbrowser om de Publieke problemenlijst Wiki te bekijken" name="okcancelignore" notext="Annuleren" yestext="Ga naar pagina"/> - </notification> - <notification name="WebLaunchSupportWiki"> - Ga naar de Officiële Linden Blog voor het laatste Nieuws en Informatie. - <usetemplate ignoretext="Bij openen webbrowser om de blog te bekijken" name="okcancelignore" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="WebLaunchLSLGuide"> - Naar de Script Gids gaan voor hulp met scripten? - <usetemplate ignoretext="Bij openen webbrowser om de Script Gids te bekijken" name="okcancelignore" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="WebLaunchLSLWiki"> - Naar de LSL Portaal gaan voor hulp met scripten? - <usetemplate ignoretext="Bij openen webbrowser om de LSL Portal te bekijken" name="okcancelignore" notext="Annuleren" yestext="Ga naar pagina"/> - </notification> - <notification name="ReturnToOwner"> - Weet u zeker dat u de geselecteerde objecten wilt retourneren naar de eigenaren? -Overdraagbare toegekende objecten zullen naar de oorspronkelijke eigenaren worden geretourneerd. - -*WAARSCHUWING* Niet overdraagbare toegekende objecten zullen worden verwijderd! - <usetemplate ignoretext="Bij retourneren objecten naar de eigenaren" name="okcancelignore" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="GroupLeaveConfirmMember"> - U bent momenteel een lid van de groep [GROUP]. -Groep Verlaten? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ConfirmKick"> - Weet u HEEL ZEKER dat u alle gebruikers uit het grid wilt verwijderen? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="Verwijder Alle Gebruikers"/> - </notification> - <notification name="MuteLinden"> - Sorry, u kunt geen Linden Negeren - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CannotStartAuctionAlreadyForSale"> - U kunt geen veiling starten op een perceel dat al te koop is gezet. Schakel de landverkoop uit wanneer u zeker bent dat u een veiling wil starten. - </notification> - <notification label="Negeren van object mislukt" name="MuteByNameFailed"> - U heeft deze naam al genegeerd. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="RemoveItemWarn"> - Alhoewel toegestaan, verwijderen van de inhoud kan het object beschadigen. Wilt u dit item verwijderen? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="CantOfferCallingCard"> - Kan op dit moment geen visitekaart aanbieden. Probeer het alstublieft later opnieuw. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CantOfferFriendship"> - Kan op dit moment geen vriendschap aanbieden. Probeer het alstublieft later opnieuw. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="BusyModeSet"> - Niet Storen modus ingesteld. - -Chat and instant messages zullen verborgen blijven. Instant messages zullen uw Niet Storen melding krijgen. Alle teleport aanbiedingen zullen worden afgewezen. Alle inventaris aanbiedingen zullen in uw Vuilnisbak terecht komen. - <usetemplate ignoretext="Bij instellen Niet Storen modus" name="okignore" yestext="OK"/> - </notification> - <notification name="JoinedTooManyGroupsMember"> - U ben lid van teveel groepen om lid te worden van een andere. Verlaat op zijn minst één groep alvorens lid te worden van een andere of weiger de lidmaatschap aanbieding. -Om een groep te verlaten, selecteer de 'Groep..' optie via het 'Bewerken' menu. - -[NAME] heeft u uitgenodigd om lid te worden van de groep als algemeen lid. - -[INVITE] - <usetemplate name="okcancelbuttons" notext="Afslaan" yestext="Lid worden"/> - </notification> - <notification name="KickUser"> - Verwijder deze gebruiker met welk bericht? - <form name="form"> - <input name="message"> - Een administrator heeft u uitgelogd. - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annuleren"/> - </form> - </notification> - <notification name="KickAllUsers"> - Verwijder iedereen momenteel op het grid met welk bericht? - <form name="form"> - <input name="message"> - Een administrator heeft u uitgelogd. - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annuleren"/> - </form> - </notification> - <notification name="FreezeUser"> - Bevries deze gebruiker met welk bericht? - <form name="form"> - <input name="message"> - U bent bevroren. U kunt zich niet verplaatsen of praten. Een administrator zal contact met u opnemen via instant message (IM). - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annuleren"/> - </form> - </notification> - <notification name="UnFreezeUser"> - Ontdooi deze gebruiker met welk bericht? - <form name="form"> - <input name="message"> - U bent niet langer bevroren. - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annuleren"/> - </form> - </notification> - <notification name="OfferTeleport"> - Een Teleport aanbieden naar uw locatie met welk bericht? - <form name="form"> - <input name="message"> - Voeg u bij mij in [REGION] - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annuleren"/> - </form> - </notification> - <notification name="OfferTeleportFromGod"> - God beveel gebruiker naar uw locatie? - <form name="form"> - <input name="message"> - Voeg u bij mij in [REGION] - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annuleren"/> - </form> - </notification> - <notification name="TeleportFromLandmark"> - Weet u zeker dat u wilt teleporteren? - <usetemplate ignoretext="Bij teleporteren via een landmarkering in inventaris" name="okcancelignore" notext="Annuleren" yestext="Teleporteren"/> - </notification> - <notification label="Bericht iedereen in uw Estate" name="MessageEstate"> - Type een kort bericht om naar iedereen sturen die momenteel in uw Estate aanwezig is. - <form name="form"> - <input name="message"/> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annuleren"/> - </form> - </notification> - <notification label="Wijzig Linden Estate" name="ChangeLindenEstate"> - U staat op het punt een Linden beheerde Estate te wijzigen mainland, teen grid, orientation, etc.). - -Dit is EXTREEM GEVAARLIJK om het fundamenteel de gebruikers ervaring kan aantasten. -Op het mainland zal het duizenden regionen wijzigen en de spaceserver kan storingen vertonen. - -Doorgaan? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification label="Wijzig Linden Estate Toegang" name="ChangeLindenAccess"> - U staat op het punt de toegangslijst van een Linden Estate eigendom aan te passen (mainland, teen grid, orientation, etc.). - -Dit is GEVAARLIJK en zou alleen gedaan moeten worden om de hack toe te staan om objecten/L$ over te dragen in/uit het grid. -Het zal het duizenden regionen wijzigen en de spaceserver kan storingen vertonen. - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification label="Selecteer Estate" name="EstateAllowedAgentAdd"> - Alleen aan toegangslijst voor dit Estate toevoegen of voor [ALL_ESTATES]? - <usetemplate canceltext="Annuleren" name="yesnocancelbuttons" notext="Alle Estates" yestext="Dit Estate"/> - </notification> - <notification label="Selecteer Estate" name="EstateAllowedAgentRemove"> - Verwijderen van toegangslijst voor alleen dit Estate of voor [ALL_ESTATES]? - <usetemplate canceltext="Annuleren" name="yesnocancelbuttons" notext="Alle Estates" yestext="Dit Estate"/> - </notification> - <notification label="Selecteer Estate" name="EstateAllowedGroupAdd"> - Alleen aan groeps toegangslijst voor dit Estate toevoegen of voor [ALL_ESTATES]? - <usetemplate canceltext="Annuleren" name="yesnocancelbuttons" notext="Alle Estates" yestext="Dit Estate"/> - </notification> - <notification label="Selecteer Estate" name="EstateAllowedGroupRemove"> - Verwijderen van groeps toegangslijst voor alleen dit Estate of voor [ALL_ESTATES]? - <usetemplate canceltext="Annuleren" name="yesnocancelbuttons" notext="Alle Estates" yestext="Dit Estate"/> - </notification> - <notification label="Selecteer Estate" name="EstateBannedAgentAdd"> - Weiger toegang voor alleen dit Estate of voor [ALL_ESTATES]? - <usetemplate canceltext="Annuleren" name="yesnocancelbuttons" notext="Alle Estates" yestext="Dit Estate"/> - </notification> - <notification label="Selecteer Estate" name="EstateBannedAgentRemove"> - Deze Inwoner van de ban lijst voor toegang voor alleen dit Estate verwijderen of voor [ALL_ESTATES]? - <usetemplate canceltext="Annuleren" name="yesnocancelbuttons" notext="Alle Estates" yestext="Dit Estate"/> - </notification> - <notification label="Selecteer Estate" name="EstateManagerAdd"> - Estate beheerder toevoegen voor alleen dit Estate of voor [ALL_ESTATES]? - <usetemplate canceltext="Annuleren" name="yesnocancelbuttons" notext="Alle Estates" yestext="Dit Estate"/> - </notification> - <notification label="Selecteer Estate" name="EstateManagerRemove"> - Estate beheerder verwijderen voor alleen dit Estate of voor [ALL_ESTATES]? - <usetemplate canceltext="Annuleren" name="yesnocancelbuttons" notext="Alle Estates" yestext="Dit Estate"/> - </notification> - <notification label="Bevestig Verwijderen" name="EstateKickUser"> - Verwijder [EVIL_USER] van deze Estate? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="EstateChangeCovenant"> - Weet u zeker dat u de Estate Convenant wilt wijzigen? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="RegionEntryAccessBlocked"> - U wordt niet in die regio toegelaten vanwege uw inhoudscategorie. Dit kan het gevolg zijn van een gebrek aan informatie die uw leeftijd valideert. - -Verifieer alstublieft dat u de nieuwste viewer heeft geïnstalleerd en ga naar de kennisbank voor details over het betreden van gebieden met deze inhoudscategorie. - <usetemplate - name="okbutton" - yestext="OK"/> - </notification> - <notification name="RegionEntryAccessBlocked_KB"> - U wordt niet in die regio toegelaten vanwege uw inhoudscategorie. - -Ga naar de kennisbank voor meer informatie over inhoudscategorieën? - <url name="url"> - https://support.secondlife.com/ics/support/default.asp?deptID=4417&task=knowledge&questionID=6010 - </url> - <usetemplate - name="okcancelignore" - yestext="Ga naar kennisbank" - notext="Sluiten" - ignoretext="Wanneer regiotoegang wordt geblokkeerd vanwege de inhoudscategorie"/> - </notification> - <notification name="RegionEntryAccessBlocked_Notify"> - U wordt niet in die regio toegelaten vanwege uw inhoudscategorie. - </notification> - <notification name="RegionEntryAccessBlocked_Change"> - U wordt niet in die regio toegelaten vanwege uw inhoudscategorie. - -U kunt klikken op 'Wijzig voorkeur' om uw inhoudscategorie voorkeur nu te verhogen en toegelaten te worden. U zult in staat zijn om [REGIONMATURITY] inhoud te zoeken en benaderen vanaf dit moment. Wanneer u later deze instelling wilt wijzigen, ga dan naar Bewerken > Voorkeuren... > Algemeen. - <form name="form"> - <button - name="OK" - text="Wijzig voorkeur"/> - <button - default="true" - name="Cancel" - text="Sluiten"/> - <ignore name="ignore" text="Wanneer regiotoegang wordt geblokkeerd vanwege de inhoudscategorie voorkeur"/> - </form> - </notification> - <notification name="LandClaimAccessBlocked"> - U kunt dit land niet opeisen vanwege uw inhoudscategorie. Dit kan het gevolg zijn van een gebrek aan informatie die uw leeftijd valideert. - -Verifieer alstublieft dat u de nieuwste viewer heeft geïnstalleerd en ga naar de kennisbank voor details over het betreden van gebieden met deze inhoudscategorie. - <usetemplate - name="okbutton" - yestext="OK"/> - </notification> - <notification name="LandClaimAccessBlocked_KB"> - U kunt dit land niet opeisen vanwege uw inhoudscategorie. - -Ga naar de kennisbank voor meer informatie over inhoudscategorieën? - <url name="url"> - https://support.secondlife.com/ics/support/default.asp?deptID=4417&task=knowledge&questionID=6010 - </url> - <usetemplate - name="okcancelignore" - yestext="Ga naar kennisbank" - notext="Sluiten" - ignoretext="Wanneer het opeisen van land wordt geblokkeerd vanwege de inhoudscategorie"/> - </notification> - <notification name="LandClaimAccessBlocked_Notify"> - U kunt dit land niet opeisen vanwege uw inhoudscategorie. - </notification> - <notification name="LandClaimAccessBlocked_Change"> - U kunt dit land niet opeisen vanwege uw inhoudscategorie voorkeur. - -U kunt klikken op 'Wijzig voorkeur' om uw inhoudscategorie voorkeur nu te verhogen en toegang te krijgen om binnen te treden. U zult in staat zijn om [REGIONMATURITY] inhoud vanaf nu te zoeken en benaderen. Wanneer u deze instelling later terug wilt zetten, gaat u naar Bewerken > Voorkeuren... > Algemeen. - <usetemplate - name="okcancelignore" - yestext="Wijzig voorkeur" - notext="Sluiten" - ignoretext="Wanneer het opeisen van land wordt geblokkeerd vanwege de inhoudscategorie voorkeur"/> - </notification> - <notification name="LandBuyAccessBlocked"> - U kunt dit land niet kopen vanwege uw inhoudscategorie. Dit kan het gevolg zijn van een gebrek aan informatie die uw leeftijd valideert. - -Verifieer alstublieft of u de nieuwste viewer heeft geïnstalleerd en ga naar de kennisbank voor details over het betreden van gebieden met deze inhoudscategorie. - <usetemplate - name="okbutton" - yestext="OK"/> - </notification> - <notification name="LandBuyAccessBlocked_KB"> - U kunt dit land niet kopen vanwege uw inhoudscategorie. - -Ga naar de kennisbank voor meer informatie over inhoudscategorieën? - <url name="url"> - https://support.secondlife.com/ics/support/default.asp?deptID=4417&task=knowledge&questionID=6010 - </url> - <usetemplate - name="okcancelignore" - yestext="Ga naar kennisbank" - notext="Sluiten" - ignoretext="Wanneer een landaankoop wordt geblokkeerd vanwege de inhoudscategorie"/> - </notification> - <notification name="LandBuyAccessBlocked_Notify"> - U kunt dit land niet kopen vanwege uw inhoudscategorie. - </notification> - <notification name="LandBuyAccessBlocked_Change"> - U kunt dit land niet kopen vanwege uw inhoudscategorie voorkeur. - -U kunt klikken op 'Wijzig voorkeur' om uw inhoudscategorie voorkeur nu te verhogen en toegang te krijgen om binnen te treden. U zult in staat zijn om [REGIONMATURITY] inhoud vanaf nu te zoeken en benaderen. Wanneer u deze instelling later terug wilt zetten, gaat u naar Bewerken > Voorkeuren... > Algemeen. - <usetemplate - name="okcancelignore" - yestext="Wijzig voorkeur" - notext="Sluiten" - ignoretext="Wanneer een landaankoop wordt geblokkeerd vanwege de inhoudscategorie voorkeur"/> - </notification> - <notification name="TooManyPrimsSelected"> - "Er zijn teveel prims geselecteerd. Selecteer alstublieft [MAX_PRIM_COUNT] of minder prims en probeer opnieuw." - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ProblemImportingEstateCovenant"> - Probleem met importeren Estate Convenant. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ProblemAddingEstateManager"> - Problemen met het toevoegen van een Estate beheerder. Eén of meer Estates kunnen een volle beheerders lijst hebben. - </notification> - <notification name="ProblemAddingEstateGeneric"> - Problemen met toevoegen aan deze Estate lijst. Eén of meer Estates kunnen een volle lijst hebben. - </notification> - <notification name="UnableToLoadNotecardAsset"> - Kan de asset van de notitiekaart op dit moment niet laden. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="NotAllowedToViewNotecard"> - Onvoldoende rechten om de notitiekaart in te zien geassocieerd met het opgevraagde asset ID. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="MissingNotecardAssetID"> - Asset ID voor de notitiekaart ontbreekt in de database. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="PublishClassified"> - Bedenk: kosten voor advertenties worden niet terugbetaald. - -Advertentie nu Publiceren voor L$[AMOUNT]? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="SetClassifiedMature"> - Bevat deze advertentie Mature inhoud? - <usetemplate - canceltext="Annuleren" - name="yesnocancelbuttons" - notext="Nee" - yestext="Ja"/> - </notification> - <notification name="SetGroupMature"> - Bevat deze groep Mature inhoud? - <usetemplate - canceltext="Annuleren" - name="yesnocancelbuttons" - notext="Nee" - yestext="Ja"/> - </notification> - <notification label="Bevestig herstart" name="ConfirmRestart"> - Wilt u deze regio echt binnen 2 minuten herstarten? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification label="Bericht iedereen in deze regio" name="MessageRegion"> - Type een kort bericht om naar iedereen sturen die momenteel in regio aanwezig is. - <form name="form"> - <input name="message"/> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annuleren"/> - </form> - </notification> - <notification label="Weiger Land aanpassingen" name="HelpRegionBlockTerraform"> - Indien dit aan gevinkt kunnen landeigenaren geen terrein bewerkingen doen op hun land, ongeacht de per perceel ingestelde waarde voor 'Wijzig Terrein' - -Standaard: uitgeschakeld - </notification> - <notification label="Blokkeer Vliegen" name="HelpRegionBlockFly"> - Indien dit is aan gevinkt kunnen personen niet vliegen in deze regio ongeacht de per perceel ingestelde waarde 'Vliegen' - -Standaard: uitgeschakeld - </notification> - <notification label="Bulkwijzigen Inhoudpermissies" name="HelpBulkPermission"> - Het Bulkpermissiesgereedschap helpt u om snel de permissies op meerdere items in de inhoud van het geselecteerde object te wijzigen. Let echter op dat u alleen de permissies op de items in de Inhoud van de geselecteerde objecten instelt -- niet de permissies van het containerobject zelf. - -Merk ook op dat de permissies niet worden toegepast op de geneste inhoud van de items in Inhoud. Uw verzoek werkt alleen op items precies één niveau diep. - -U kunt selectief kiezen welke soorten objecten te wijzigen door gebruik te maken van de checklist onder 'Inhoud Types' hier. Foto's worden opgenomen wanneer u Texturen selecteert. - -* Dit gereedschap is alleen succesvol in het wijzigen van permissies op objecten die u mag wijzigen. -* U kunt geen 'Volgende Eigenaar' permissies toekennen die u niet al bezit. -* De 'Volgende Eigenaar' permissies zijn slechts verzoeken. Indien een item niet alle nieuwe permissies kan overnemen, zal geen van zijn permissies wijzigen. - -Wanneer u klaar bent om de permissies in bulk te wijzigen, klik dan 'Toepassen' en wacht tot de resultaten worden weergegeven. - -Indien u het Bulkpermissies venster sluit terwijl permissies gewijzigd worden, zal de verwerking gestopt worden. - </notification> - <notification label="Sta Letsel Toe" name="HelpRegionAllowDamage"> - Indien dit is aan gevinkt stelt het Letsel systeem in voor alle percelen, ongeacht de individuele instellingen op de percelen. Indien uitgeschakeld, kunnen perceel eigenaren het Letsel systeem op hun perceel activeren. - -Standaard: uitgeschakeld - </notification> - <notification label="Agent Limiet" name="HelpRegionAgentLimit"> - Stelt het maximale aantal toegestane avatars in voor deze regio. -De prestaties kunnen variëren afhankelijk van het aantal aanwezige avatars. - -Standaard: 40 - </notification> - <notification label="Object Bonus" name="HelpRegionObjectBonus"> - De Object Bonus is een vermeerderaar voor primitieven op een willekeurig perceel. -Het bereik is van 1 tot 10. Ingesteld op '1' kan elk 512m² perceel 117 objecten bevatten. Ingesteld op '2' kan elk 512m² perceel 234 objecten bevatten, enzovoort. Het maximale aantal objecten blijft 15.000, ongeacht wat de Object Bonus is. Denk er aan, dat eenmaal ingesteld, het verlagen van de Object Bonus het retourneren of verwijderen van objecten tot gevolg kan hebben. - -Standaard: 1.0 - </notification> - <notification label="Inhoudscategorie:" name="HelpRegionMaturity"> - Stelt de inhoudscategorie van de regio in, zoals getoond in de menubalk bovenaan de viewer van elke inwoner en in tooltips op de wereldkaart wanneer de aanwijzer boven deze regio zweeft. Deze instelling heeft ook invloed op de toegang tot deze regio en zoekresultaten. Andere inwoners kunnen alleen regio's binnengaan of zoekresultaten zien met dezelfde inhoudscategorie als die zij zelf hebben gekozen in hun voorkeuren. - -Het kan enige tijd duren voordat deze wijziging zichtbaar is op de wereldkaart. - </notification> - <notification label="Beperk Duwen" name="HelpRegionRestrictPushObject"> - Deze instelling stelt de hele regio in op beperkte duwen permissies. -Indien aan gevinkt kunnen Inwoners alleen door hun zelf geduwd worden of door de perceel eigenaar. - -(Push (Duwen) verwijst naar de llPushObject() LSL functie) - -Standaard: Uitgeschakeld - </notification> - <notification label="Perceel Samenvoegen/Opsplitsen" name="HelpParcelChanges"> - Deze instelling stel in of percelen die niet van de estate eigenaar zijn kunnen worden samengevoegd of opgesplitst. - -Indien niet aan gevinkt: - * Alleen Estate eigenaren of beheerders kunnen percelen samenvoegen op opsplitsen. - * Zij kunnen alleen percelen samenvoegen of opsplitsen die eigendom zijn van de eigenaar of van een groep met de juiste bevoegdheden. - -Indien aan gevinkt: - * Alle perceel eigenaren kunnen percelen samenvoegen of opsplitsen die zij bezitten. - * Voor percelen in Groep eigendom, kunnen alleen zij met de juiste rechten percelen samenvoegen of opsplitsen. - -Standaard: Ingeschakeld - </notification> - <notification label="Niet in Zoeken tonen" name="HelpRegionSearch"> - Deze optie aan vinken zal perceel eigenaren blokkeren hun perceel in Zoeken te tonen. - -Standaard: Uitgeschakeld - </notification> - <notification label="Regio Volwassenen Gewijzigd" name="RegionMaturityChange"> - De Volwassen instelling voor deze regio is bijgewerkt. -Het kan enige tijd duren voordat de wijziging zichtbaar is op de Kaart. - </notification> - <notification label="Land Herverkoop" name="HelpRegionLandResell"> - Estate eigenaren en beheerders kunnen elk stuk land verkopen in eigendom van de Estate eigenaar. - -Indien deze optie niet is aan gevinkt, kunnen kopers hun land in deze regio niet verkopen. -Indien deze optie is aan gevinkt, kunnen kopers hun land in deze regio verkopen. - -Standaard: Niet toestaan - </notification> - <notification label="Scripts Uitschakelen" name="HelpRegionDisableScripts"> - Indien de sim prestaties slecht zijn, kan een script de oorzaak zijn. Open de Statistieken balk (Ctrl+Shift+1). Kijk naar de Simulator Fysieke FPS. Indien het lager is dan 45, open dan het Tijd paneel onderaan de Statistieken balk. Indien de Script Tijd 25 ms of hoger is, klik dan op de Top Scripts knop. U krijgt dan een naam en lokatie van scripts die mogelijk de slechte prestaties veroorzaken. - -Het aan vinken van Scripts Uitschakelen en vervolgens op de Toepassen knop drukken, zal tijdelijk alle scripts in deze regio uitschakelen. U zult dit mogelijk moeten doen om naar de lokatie te gaan van het 'top script'. Eenmaal aangekomen, onderzoek dan of het script het probleem veroorzaakt. U zult mogelijk de eigenaar willen contacteren of het object willen retourneren c.q. verwijderen. -Verwijder het vinkje van Scripts Uitschakelen en klik op Toepassen om scripts weer te reactiveren in de regio. - -Standaard: Uitgeschakeld - </notification> - <notification label="Botsingen Uitschakelen" name="HelpRegionDisableCollisions"> - Indien de sim prestaties slecht zijn, kunnen fysieke objecten de oorzaak zijn. Open de Statistieken balk (Ctrl+Shift+1). Kijk naar de Simulator Fysieke FPS. Indien het lager is dan 45, open dan het Tijd paneel onderaan de Statistieken balk. Indien de Sim Tijd (Fysiek) 20 ms of hoger is, klik dan op de Toon Top Botsingen knop. U krijgt dan een naam en lokatie van de fysieke objecten die mogelijk de slecht prestaties veroorzaken. - -Het aan vinken van de Botsingen Uitschakelen knop en vervolgens op de Toepassen knop drukken, zal tijdelijk object-object botsingen uitschakelen. U zult dit mogelijk moeten doen om naar de lokatie te gaan van de 'top botsingen'. Eenmaal aangekomen, onderzoek dan het object. Botst het constant met andere objecten? U zult mogelijk de eigenaar willen contacteren of het object willen retourneren c.q. verwijderen. -Verwijder het vinkje van Botsingen Uitschakelen en klik op Toepassen om botsingen weer te reactiveren in de regio. - -Standaard: Uitgeschakeld - </notification> - <notification label="Fysiek Uitschakelen" name="HelpRegionDisablePhysics"> - Fysiek Uitschakelen is gelijkwaardig aan Botsingen Uitschakelen, alleen alle fysieke simulatie is uitgeschakeld. Dit betekend dat niet alleen alle objecten zullen stoppen met botsen, maar ook dat avatars zich niet meer kunnen bewegen. - -Dit zou alleen gebruikt moeten worden als het uitschakelen van Botsingen niet genoeg prestatie winst geeft om een fysiek probleem of top botsingen te onderzoeken. - -Indien u klaar bent, wees er dan zeker van Fysiek weer in te schakelen, anders kunnen avatars zich niet meer bewegen. - -Standaard: Uitgeschakeld - </notification> - <notification label="Top Botsingen" name="HelpRegionTopColliders"> - Toon een lijst van objecten van het grootste aantal potentiële object-object botsingen. -Deze objecten kunnen een trage prestatie veroorzaken. Selecteer Beeld > Statistieken Balk en kijk onder Simulator > Tijd > Sim Tijd (Fysiek) om te zien of meer dan 20 ms wordt gespendeerd aan fysiek. - </notification> - <notification label="Top Scripts" name="HelpRegionTopScripts"> - Toon een lijst van objecten die de meeste tijd besteden aan het uitvoeren van LSL scripts. -Deze objecten kunnen een trage prestatie veroorzaken. Selecteer Beeld > Statistieken Balk en kijk onder Simulator > Tijd > Script Tijd om te zien of meer dan 25 ms wordt gespendeerd aan scripts. - </notification> - <notification label="Herstart Regio" name="HelpRegionRestart"> - Herstart het server proces van de regio na een twee minuten waarschuwing. -Alle Inwoners van de regio zullen de verbinding kwijt raken. De regio zal alle gegevens bewaren en zou binnen 90 seconden weer operabel moeten zijn. - -De regio herstarten zou de meeste prestatie problemen moeten verhelpen en zou normaal gesproken alleen gebruikt moeten worden indien aangegeven. - </notification> - <notification label="Water Hoogte" name="HelpRegionWaterHeight"> - Dit is de hoogte in meters waarop het water verschijnt. -Als deze instelling anders is dan 20 en u heeft water aan de rand van de wereld of u heeft 'ontbrekend' water, zal er een gat zichtbaar zijn. - -Standaard: 20 - </notification> - <notification label="Terrein Ophogen" name="HelpRegionTerrainRaise"> - Dit is de hoogte in meters dat perceel eigenaren hun terrein kunnen verhogen boven de standaard 'baked' terrein hoogte. - -Standaard: 4 - </notification> - <notification label="Terrein Verlagen" name="HelpRegionTerrainLower"> - Dit is de hoogte in meters dat perceel eigenaren hun terrein kunnen verlagen onder de standaard 'baked' terrein hoogte. - -Standaard: -4 - </notification> - <notification label="Upload RAW Terrein" name="HelpRegionUploadRaw"> - Deze knop upload een .RAW bestand naar de regio waar u zich bevindt. -Het bestand moet de juiste afmetingen hebben (RGB, 256x256) en 13 kanalen. -De beste manier om een terrein bestand te maken is het downloaden van een bestaand RAW bestand. Een goede eerste stap is om het rode kanaal (land hoogte) aan te passen en dat te uploaden. - -De upload kan tot 45 seconden in beslag nemen. Bedenk dat het uploaden van een terrein bestand de objecten reeds aanwezig op het land *niet* zal verplaatsen, alleen het terrein zelf en de permissies geassocieerd met de percelen. Dit kan resulteren in objecten die ondergronds gaan. - -Voor meer informatie over het wijzigen van de hoogte velden, raadpleeg F1 Help. - </notification> - <notification label="Download RAW Terrein" name="HelpRegionDownloadRaw"> - Deze knop download een bestand welke de hoogte veld gegevens, perceel afmetingen, perceel te koop status en sommige perceel permissies bevat voor deze regio. -Indien u het bestand opent in een programma als Photoshop, moet u de document afmetingen opgeven, welk RGB, 256x256 met 13 kanalen is. Dit terrein bestand kan op geen enkele andere manier worden geopend. - -Voor meer informatie over het wijzigen van de hoogte velden, raadpleeg F1 Help. - </notification> - <notification label="Gebruik Estate Zon" name="HelpRegionUseEstateSun"> - Dit aan vinken zorgt er voor dat de zon positie overeen komt met de zon positie in de rest van het Estate. - -Standaard: Ingeschakeld - </notification> - <notification label="Vaste Zon" name="HelpRegionFixedSun"> - Dit aan vinken stelt de zon in op de positie van de Fase schuif knop en stopt het verder bewegen van de zon. - -Standaard: Uitgeschakeld - </notification> - <notification label="Bake Terrein" name="HelpRegionBakeTerrain"> - Deze knop slaat de huidige vorm van het terrein op als nieuwe standaard voor de regio. Eenmaal baked, kan het land terugkeren naar de opgeslagen vorm wanneer u of anderen gebruik maken van de Wijzig Terrein 'Terugkeer' optie. Het baked terrein is ook het uitgangspunt voor de terrein verhogings- en verlagingslimieten. - </notification> - <notification label="Estate Beheerders" name="HelpEstateEstateManager"> - Een Estate Beheerder is een Inwoner aan wie u de controle over de regio en estate instellingen heeft uitbesteed. De Estate Beheerder kan de instellingen wijzigen in deze panels, behalve het uploaden, downloaden en terrein bakken. In bijzonder kunnen zij Inwoners toestaan of verbannen van het Estate. - -Estate Beheerders kunnen alleen toegevoegd of verwijderd worden door de eigenaar van het Estate, niet door elkaar. Gebruik alstublieft alleen Inwoners die u kunt vertrouwen als Estate Beheerders, omdat uiteindelijk u verantwoordelijk bent voor hun acties. - </notification> - <notification label="Gebruik Globale Tijd" name="HelpEstateUseGlobalTime"> - Dit aan vinken zorgt ervoor dat de zon in uw estate dezelfde positie volgt als in Linden-eigendom 'mainland' Estates. - -Standaard: aan - </notification> - <notification label="Vaste Zon" name="HelpEstateFixedSun"> - Dit aan vinken stelt de zon in op de positie van de Fase schuif knop en stopt het verder bewegen van de zon. - </notification> - <notification label="Publieke Toegang" name="HelpEstateExternallyVisible"> - Dit aan vinken geeft aan dat Inwoners die in andere Estates zijn, deze Estate kunnen bezoeken zonder op de Toegangs lijst te staan. - -Standaard: Ingeschakeld - </notification> - <notification label="Direct Teleporteren Toestaan" name="HelpEstateAllowDirectTeleport"> - Indien aan gevinkt staat het Inwoners toe om direct te Teleporteren naar elke plek in uw Estate. Indien niet aan gevinkt kunnen Inwoners Teleporteren naar de dichtstbijzijnde telehub. - -Standaard: Uitgeschakeld - </notification> - <notification label="Toegang Toestaan" name="HelpEstateAllowResident"> - Toegang tot dit Estate zal gelimiteerd zijn tot Inwoners in deze lijst en onderstaande groepen. Deze instelling is allen beschikbaar indien Publieke Toegang niet is aan gevinkt. - </notification> - <notification label="Groeps Toegang Toestaan" name="HelpEstateAllowGroup"> - Toegang tot dit Estate zal gelimiteerd worden tot groepen in deze lijst en elke Inwoner bovenaan. Deze Instelling is alleen beschikbaar als Publieke Toegang niet is aan gevinkt. - </notification> - <notification label="Misbruik Email Adres" name="HelpEstateAbuseEmailAddress"> - Dit instellen met een geldig email adres zal misbruik rapporten op dit Estate doen versturen naar dat adres. -Indien u het leeg laat, zullen misbruik rapporten alleen verzonden worden naar Linden Lab. - </notification> - <notification label="Toegang Weigeren" name="HelpEstateBanResident"> - Inwoners in deze lijst zijn de toegang geweigerd in uw Estate, ongeacht elke andere instelling. - </notification> - <notification label="Voice Chat Toestaan" name="HelpEstateVoiceChat"> - Percelen in dit Estate kunnen hun eigen Voice kanalen hebben waarin Inwoners die in de buurt van elkaar zijn, elkaar kunnen horen en met elkaar kunnen praten. - -Standaard: Uitgeschakeld - </notification> - <notification label="Voice Versie Ongelijkheid" name="VoiceVersionMismatch"> - Deze versie van [APP_NAME] is niet compatibel met de Voice spraak optie in deze regio. Om Voice Chat goed te laten functioneren, moet u [APP_NAME] bijwerken. - </notification> - <notification label="Estate Convenant" name="HelpEstateCovenant"> - Het instellen van een Estate Convenant maakt het u mogelijk om percelen in het Estate te verkopen. Indien de Convenant niet is ingesteld kunt u het niet verkopen. Een notitiekaart voor uw Convenant kan leeg zijn indien u geen regels wilt instellen, advies aan kopers wilt geven of iets anders in relatie tot het land wilt mededelen voor als men het koopt. - -Een Convenant kan gebruikt worden als u regels wilt mededelen, richtlijnen, culturele informatie of simpelweg uw eigen verwachtingen aan prospect kopers. -Dit kan zoneren bevatten, bouw reglementen, betaal opties of elke andere vorm van informatie waarvan u het belangrijk vind dat de nieuwe eigenaar het heeft gezien en mee akkoord is gegaan alvorens het te kopen. - -De koper moet instemmen met de Convenant middels het aan vinken van het kadertje alvorens zij de aankoop af kunnen ronden. Estate Overeenkomsten zijn altijd zichtbaar in het Over Land dialoog venster voor elk perceel dat er eentje ingesteld heeft staan. - </notification> - <notification label="Kan Geen Objecten Kopen" name="BuyObjectOneOwner"> - Kan geen objecten van verschillende eigenaren tegelijk kopen. - -Kies alstublieft slechts één object en probeer het opnieuw. - </notification> - <notification label="Kan Inhoud Niet Kopen" name="BuyContentsOneOnly"> - Kan geen inhoud kopen van meer dan één object tegelijk. - -Kies alstublieft slechts één object en probeer het opnieuw. - </notification> - <notification label="Kan Inhoud Niet Kopen" name="BuyContentsOneOwner"> - Kan geen inhoud kopen van verschillende eigenaren tegelijk. - -Kies alstublieft slechts één object en probeer het opnieuw. - </notification> - <notification name="BuyOriginal"> - Koop originele object van [OWNER] voor L$[PRICE]? -U zult de eigenaar worden van dit object. -U kunt het dan: - Wijzigen: [MODIFYPERM] - Kopiëren: [COPYPERM] - Verkopen of Weggeven: [RESELLPERM] - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="BuyOriginalNoOwner"> - Koop originele object voor L$[PRICE]? -U zult de eigenaar worden van dit object. -U kunt het dan: - Wijzigen: [MODIFYPERM] - Kopiëren: [COPYPERM] - Verkopen of Weggeven: [RESELLPERM] - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="BuyCopy"> - Koop een kopie van [OWNER] voor L$[PRICE]? -Het object zal gekopieerd worden naar uw inventaris. -U kunt het dan: - Wijzigen: [MODIFYPERM] - Kopiëren: [COPYPERM] - Verkopen of Weggeven: [RESELLPERM] - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="BuyCopyNoOwner"> - Koop een kopie voor L$[PRICE]? -Het object zal gekopieerd worden naar uw inventaris. -U kunt het dan: - Wijzigen: [MODIFYPERM] - Kopiëren: [COPYPERM] - Verkopen of Weggeven: [RESELLPERM] - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="BuyContents"> - Koop de inhoud van [OWNER] voor L$[PRICE]? -De inhoud zal naar uw inventaris gekopieerd worden. - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="BuyContentsNoOwner"> - Koop de inhoud voor L$[PRICE]? -De inhoud zal naar uw inventaris gekopieerd worden. - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ConfirmPurchase"> - Deze transactie zal: -[ACTION] - -Weet u zeker dat u verder wilt gaan met deze aankoop? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ConfirmPurchasePassword"> - Deze transactie zal: -[ACTION] - -Weet u zeker dat u verder wilt gaan met deze aankoop? -Voer alstublieft opnieuw uw wachtwoord in en klik op OK. - <form name="form"> - <input name="message"/> - <button name="ConfirmPurchase" text="OK"/> - <button name="Cancel" text="Annuleren"/> - </form> - </notification> - <notification name="SetPickLocation"> - Opmerking: - -U heeft de locatie van deze Favoriet bijgewerkt, maar andere details blijven ongewijzigd. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="MoveInventoryFromObject"> - U heeft 'niet kopieerbare' items geselecteerd. -Deze items zullen worden verplaatst naar uw inventaris, niet gekopieerd. - -Verplaats de inventaris item(s)? - <usetemplate ignoretext="Wanneer niet kopieerbare inventaris uit objecten verplaatst wordt" name="okcancelignore" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="MoveInventoryFromScriptedObject"> - U heeft 'niet kopieerbare' inventaris items geselecteerd. -Deze items zullen verplaatst worden naar uw inventaris, niet gekopieerd. -Omdat deze objecten scripts bevatten, kan het verplaatsen naar uw inventaris er voor zorgen dat het object niet meer werkt. -inventaris item(s) verplaatsen? - <usetemplate ignoretext="Indien verplaatsen 'niet kopieerbare' inventaris van gescripte objecten" name="okcancelignore" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ClickActionNotPayable"> - Waarschuwing: Het 'Betaal object' aan klik actie is ingesteld, maar het zal alleen werken als er een script is toegevoegd met een money() event. - <form name="form"> - <ignore name="ignore" text="Indien instellen 'Betaal' op objecten zonder money() events"/> - </form> - </notification> - <notification name="OpenObjectCannotCopy"> - Er zitten geen items in dit object die u kunt kopiëren. - </notification> - <notification name="WebLaunchAccountHistory"> - Naar de [SECOND_LIFE] web site gaan om uw account geschiedenis te bekijken? - <usetemplate ignoretext="Bij laden van de account geschiedenis webpagina" name="okcancelignore" notext="Annuleren" yestext="Ga naar pagina"/> - </notification> - <notification name="ClickOpenF1Help"> - De [SECOND_LIFE] Support Web site bezoeken? - <usetemplate ignoretext="Bij bezoeken van de [SECOND_LIFE] Support Website." name="okcancelignore" notext="Annuleren" yestext="Ga"/> - </notification> - <notification name="ConfirmQuit"> - Weet u zeker dat u wilt afsluiten? - <usetemplate ignoretext="Bij afsluiten [APP_NAME]." name="okcancelignore" notext="Doorgaan" yestext="Afsluiten"/> - </notification> - <notification name="HelpReportAbuseEmailLL"> - Gebruik dit gereedschap om overtredingen van de Voorwaarden voor Service (Terms of Service) en Gemeenschaps Standaarden (Community Standards)te rapporteren. Zie: - -http://secondlife.com/corporate/tos.php -http://secondlife.com/corporate/cs.php - -Alle gerapporteerde misbruiken van de Voorwaarden voor Service en Gemeenschaps Standaarden zullen worden onderzocht en opgelost. U kunt de incident oplossing in de Incidenten Rapportage zien op: - -http://secondlife.com/support/incidentreport.php - </notification> - <notification name="HelpReportAbuseEmailEO"> - BELANGRIJK: Dit rapport zal naar de eigenaar van deze regio gaan en niet naar Linden Lab! - -Als een service aan Inwoners en bezoekers heeft de eigenaar van deze regio er voor gekozen om rapporten vanuit deze regio zelf te ontvangen en af te handelen. Linden Lab zal geen onderzoek doen naar rapporten die u indient vanaf deze locatie. - -De regio eigenaar zal de rapporten afhandelen op basis van de regels geldend voor deze regio zoals weergegeven in het Estate Convenant (Bekijk Convenants door naar Wereld te gaan in het menu en te kiezen voor Over Land). - -De afhandeling van dit rapport is alleen van toepassing op deze regio. -Toegang van Inwoners tot andere gebieden van [SECOND_LIFE] zullen niet beïnvloed worden door de uitkomst van dit rapport. Alleen Linden Lab kan de toegang tot geheel [SECOND_LIFE] beperken. - </notification> - <notification name="HelpReportAbuseSelectCategory"> - Selecteer alstublieft een categorie voor dit misbruik rapport. - -Het selecteren van een categorie helpt ons met het archiveren en verwerken van misbruik rapporten. - </notification> - <notification name="HelpReportAbuseAbuserNameEmpty"> - Geef alstublieft een naam op van de misbruiker. - -Een accurate waarde opgeven helpt ons met het archiveren en verwerken van misbruik rapporten. - </notification> - <notification name="HelpReportAbuseAbuserLocationEmpty"> - Geef alstublieft een locatie op waar het misbruik plaats vond. - -Een accurate waarde opgeven helpt ons met het archiveren en verwerken van misbruik rapporten. - </notification> - <notification name="HelpReportAbuseSummaryEmpty"> - Geef alstublieft een korte samenvatting op van het misbruik dat plaats vond. - -Een accurate waarde opgeven helpt ons met het archiveren en verwerken van misbruik rapporten. - </notification> - <notification name="HelpReportAbuseDetailsEmpty"> - Geef alstublieft een gedetailleerde omschrijving van het misbruik dat plaats vond. - -Wees zo specifiek als mogelijk, inclusief namen en details van het incident waarover u rapporteert. - -Het opgeven van een accurate omschrijving helpt ons met het archiveren en verwerken van misbruik rapporten. - </notification> - <notification name="HelpReportAbuseContainsCopyright"> - Beste Inwoner, - -Het lijkt er op dat u intellectueel eigendoms misbruik rapporteert. Wees er alstublieft van overtuigd dat u dit correct rapporteert: - -(1) Het Misbruik Proces. U kunt een misbruik rapport indienen als u er van overtuigd bent dat een Inwoner het [SECOND_LIFE] permissie systeem uitbuit, bijvoorbeeld door gebruik van CopyBot of soortgelijke gereedschappen, daarmee de intellectuele eigendoms rechten overtredend. Het Abuse Team onderzoekt en zal passende maatregelen uitvaardigen tegen gedrag dat de [SECOND_LIFE] Gemeenschaps Standaarden overtreedt. Echter, het Abuse Team zal geen actie ondernemen en niet reageren op verzoeken om inhoud te verwijderen uit de [SECOND_LIFE] wereld. - -(2) Het DMCA of Inhoud Verwijder Proces. Voor een verzoek tot verwijdering van inhoud in [SECOND_LIFE], MOET u een geldige berichtgeving van misbruik indienen zoals voorzien in onze DMCA beleid op http://secondlife.com/corporate/dmca.php. - -Indien u nog steeds door wilt gaan met het misbruik proces, sluit dan alstublieft dit venster en maak het indienen van uw rapport af. U zult mogelijk een specifieke catagorie moeten kiezen 'CopyBot of Permissie Uitbuiting'. - -Dank U, -Linden Lab - </notification> - <notification name="FailedRequirementsCheck"> - De volgende vereiste componenten ontbreken van [FLOATER]: -[COMPONENTS] - </notification> - <notification label="Vervang Bestaande Bevestiging" name="ReplaceAttachment"> - Er is al een object bevestigd op dit punt aan uw lichaam. -Wilt u dit vervangen met het geselecteerde object? - <form name="form"> - <ignore name="ignore" save_option="true" text="Bij vervangen van bestaande bevestigingen"/> - <button name="Yes" text="OK"/> - <button name="No" text="Annuleren"/> - </form> - </notification> - <notification label="Niet Storen Modus Waarschuwing" name="BusyModePay"> - U bevind zich in Niet Storen Modus, hetgeen inhoudt dat u geen enkele items kunt ontvangen voor deze betaling. - -Wilt u de Niet Storen Modus verlaten voordat u deze transactie completeert? - <form name="form"> - <ignore name="ignore" save_option="true" text="Bij betalen van een persoon of object in Niet Storen modus"/> - <button name="Yes" text="OK"/> - <button name="No" text="Annuleren"/> - </form> - </notification> - <notification name="ConfirmEmptyTrash"> - Weet u zeker dat u de inhoud van uw vuilnisbak map permanent wilt verwijderen? - <usetemplate ignoretext="Bij verwijderen van de inhoud uit de inventaris vuilnisbak map" name="okcancelignore" notext="Annuleren" yestext="OK"/> - </notification> - <notification name="ConfirmClearBrowserCache"> - Weet u zeker dat u uw browsercache wilt legen? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="Ja"/> - </notification> - <notification name="ConfirmClearCookies"> - Weet u zeker dat u al uw cookies wilt verwijderen? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="Ja"/> - </notification> - <notification name="ConfirmClearMediaUrlList"> - Weet u zeker dat u uw lijst met al de opgeslagen URL's wilt verwijderen? - <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="Ja"/> - </notification> - <notification name="ConfirmEmptyLostAndFound"> - Weet u zeker dat u de inhoud van de Verloren en Gevonden map permanent wilt verwijderen? - <usetemplate ignoretext="Bij legen van uw inventaris Verloren en Gevonden map" name="okcancelignore" notext="Nee" yestext="Ja"/> - </notification> - <notification name="CopySLURL"> - De volgende SLurl is gekopieerd naar uw klem bord: -[SLURL] - -Plaats het in een web pagina om anderen eenvoudig toegang te verschaffen naar de locatie of test het zelf door het te plakken in de adres balk van uw web browser. - <form name="form"> - <ignore name="ignore" text="Bij kopiëren van een SLurl naar het klem bord"/> - </form> - </notification> - <notification name="GraphicsPreferencesHelp"> - Dit venster bepaald de venster afmetingen, resolutie en kwaliteit van de client's grafische weergave. De Voorkeuren > Grafische interface laat u kiezen uit vier grafische niveaus: Laag, Middel, Hoog en Ultra. U kunt ook uw grafische instellingen aanpassen met het aan vinken van het Aangepast vakje en de volgende instellingen manipuleren: - -Shaders: In of uitschakelen van de verschillende typen pixel shaders. - -Reflectiedetail: Stelt het type objecten in hetgeen water kan reflecteren. - -Avatarweergave: Stelt de opties in die van invloed zijn op hoe de client een avatar zal renderen. - -Zichtbereik: Beïnvloed tot hoe ver objecten vanaf uw zichtpunt worden weergegeven in de scène. - -Maximaal Aantal Particles: Stelt het maximaal aantal particles in die u tegelijk kunt zien op uw scherm. - -Nabewerkingskwaliteit: Stelt de resolutie in waarmee Gloei wordt weergegeven. - -Maasdetail: Stelt de hoeveelheid detail of het aantal driehoeken in gebruikt voor de weergave van bepaalde objecten. Een hogere waarde zal langer nemen om weer te gegeven, maar zorgen voor objecten met meer detail. - -Lichtdetail: Bepaald welke typen lichten u wenst weer te geven. - -Terreindetail: Stelt de hoeveelheid detail in die u wilt zien voor het terrein textuur. - </notification> - <notification name="WLSavePresetAlert"> - Wilt u de opgeslagen voor instellingen overschrijven? - <usetemplate name="okcancelbuttons" notext="Nee" yestext="Ja"/> - </notification> - <notification name="WLDeletePresetAlert"> - Wilt u [SKY] verwijderen? - <usetemplate name="okcancelbuttons" notext="Nee" yestext="Ja"/> - </notification> - <notification name="WLNoEditDefault"> - U kunt de standaard instellingen niet wijzigen of verwijderen. - </notification> - <notification name="WLMissingSky"> - Dit dag cyclus bestand heeft een ontbrekend lucht bestand: [SKY]. - </notification> - <notification name="PPSaveEffectAlert"> - Voorbewerkingeffecten bestaan. Wilt u ze alsnog overschrijven? - <usetemplate name="okcancelbuttons" notext="Nee" yestext="Ja"/> - </notification> - <notification name="HelpEditSky"> - Wijzig de WindLight schuif knoppen en maak en sla een set van luchten op. - </notification> - <notification name="HelpEditDayCycle"> - Bepaald de luchten te gebruiken gedurende de dag. - </notification> - <notification name="EnvSettingsHelpButton"> - Deze instelling bepalen hoe de omgeving er uit ziet op uw computer. Uw grafische kaart zal grafische shaders moeten ondersteunen om toegang te krijgen tot alle instellingen. - -Wijzig de "Tijd van de Dag" schuif knop om de fase van de dag lokaal in de viewer aan te passen. - -Wijzig de "Wolken Dichtheid" schuif knop om de hoeveelheid wolken die de lucht bedekken in te stellen. - -Kies een kleur in de "Water Kleur" kleuren kiezer om de kleur van het water aan te passen. - -Wijzig de "Water Mist" schuif knop om de dichtheid van de mist onder water in te stellen. - -Klik op "Gebruik Estate Tijd" om de tijd van de dag te herstellen naar de huidige tijd en die te volgen. - -Klik op "Geavanceerde Lucht" om de editor op te roepen voor geavanceerde instellingen voor de lucht. - -Klik op "Geavanceerd Water" om de editor op te roepen voor geavanceerde instellingen voor water. - </notification> - <notification name="HelpDayCycle"> - De Dag Cyclus Editor geeft u controle over de lucht gedurende de [SECOND_LIFE]'s dag/nacht cyclus. Dit is de cyclus die gebruikt wordt in de Basis Omgeving Editor's Tijd van de Dag schuif knop. - -De Dag Cyclus Editor werkt beter met het instellen van gemarkeerde frames. Dit zijn nodes (weergegeven als grijze blips in de tijd weergave) die Hemel voorinstelling met zich geassocieerd hebben. Als de Tijd van de Dag voortschrijdt, "animeert" de WindLight Hemel als het interpoleert tussen de gemarkeerde frames. - -De gele pijlen boven de tijdlijn representeert uw huidige zicht, gebaseerd op de Tijd van de Dag. Klik en sleep deze om te zien hoe uw dag zal animeren. U kunt gemarkeerde frames toe voegen of verwijderen middels het indrukken van de Frame Toevoegen of Frame Verwijderen knoppen, rechts van de tijdlijn. - -U kunt de tijds positie van een gemarkeerd frame instellen door het te slepen over de tijdlijn of middels het handmatig invullen van de Gemarkeerde Frame Instellingen. Binnen de Gemarkeerde Frame Instellingen krijgt u de mogelijkheid het gemarkeerde frame te associëren met de respectievelijke WindLight voorinstelling. - -De lengte van de Cyclus bepaald de totale tijdsduur van een "dag". Stelt u dit in op een lage waarde (bijv. twee minuten) betekend dat uw volledig 24 uurs tijdlijn zal animeren in slechts twee minuten! Als u tevreden bent met uw tijdlijn en gemarkeerde frame cyclus, gebruik dan de Start en Stop knoppen om het resultaat voor te beschouwen. Onthoud dat u ook de gele tijd indicator pijl boven de tijdlijn kunt bewegen om de animatie cyclus interactief te bekijken. Het gebruik van de Estate Tijd knop zal de lengte en tijd van uw dag synchroniseren met de Estate's dag cyclus. - -Als u tevreden bent met uw Dag Cyclus, kunt het opslaan en laden met de Test Dag Opslaan en Laad Test Dag knoppen. Merk op, dat wij momenteel slechts één Dag Cyclus toestaan. - </notification> - <notification name="HelpBlueHorizon"> - Gebruik de Rood/Groen/Blauw schuif knoppen om de kleur van de hemel aan te passen. U kunt de Intensiteit (I) schuif knop gebruiken om alle drie de schuif knoppen tegelijk te bewegen. - </notification> - <notification name="HelpHazeHorizon"> - Nevel Horizon is één van de meest handige parameters voor de algehele belichting in de scène. Het is effectief om de vele belichting instellingen te simuleren, zoals wit-vlakken van de zon en donkere gesloten iris instellingen. - </notification> - <notification name="HelpBlueDensity"> - Blauw Dichtheid beïnvloed de algehele kleur verzadiging van de hemel en mist. Indien u de Intensiteit (I) schuif knop naar rechts schuift, zullen de kleuren lichter en sprekender worden. Indien u het geheel naar links schuift, worden de kleuren doffer, uiteindelijk vervagend naar zwart en wit. Als u de hemel kleur nauwkeurig wilt uitbalanceren, kunt u de individuele elementen van verzadiging instellen door gebruik van de Rood/Groen/Blauw (RGB) schuif knoppen. - </notification> - <notification name="HelpHazeDensity"> - Nevel Dichtheid bepaald de hoeveelheid dofheid, grijze nevel in de atmosfeer. Het is effectief om scènes met veel rook of zelf gemaakte vervuiling te simuleren. Het is ook effectief voor het simuleren van nevel en mist. - </notification> - <notification name="HelpDensityMult"> - De Dichtheid Vermeerderaar kan gebruikt worden om de algehele dichtheid van de atmosfeer te beïnvloeden. -Bij lagere instelling creëert het een gevoel van "dunne lucht" en met hogere instellingen een dik zwaar smog effect. - </notification> - <notification name="HelpDistanceMult"> - Stelt de WindLight's waargenomen afstand in. Een waarde van nul stopt de invloed van WindLight op terrein en objecten. Waarden groter dan 1 simuleren grotere afstanden voor dikkere atmosferische effecten. - </notification> - <notification name="HelpMaxAltitude"> - Maximale Hoogte bepaald de hoogte calculaties die WindLight uitvoert bij het berekenen van de atmosferische belichting. Later op de dag is het handig om de "diepte" van de zonsondergang weergave in te stellen. - </notification> - <notification name="HelpSunlightColor"> - Stelt de kleur en intensiteit in van direct licht in de scène. - </notification> - <notification name="HelpSunAmbient"> - Stelt de kleur en intensiteit in van het omgevings atmosferische licht in de scène. - </notification> - <notification name="HelpSunGlow"> - De Afmeting schuif knop stelt de afmeting van de zon in. -De Focus schuif knop bepaald de wazigheid van de zon aan de hemel. - </notification> - <notification name="HelpSceneGamma"> - Wijzigt de verdeling van licht op het scherm in licht of donker. - </notification> - <notification name="HelpStarBrightness"> - Wijzigt de helderheid van sterren aan de hemel. - </notification> - <notification name="HelpTimeOfDay"> - Bepaald de locatie van de zon aan de hemel. -Gelijkwaardig aan elevatie. - </notification> - <notification name="HelpEastAngle"> - Bepaald de locatie van de zon aan de hemel. -Gelijkwaardig aan azimut. - </notification> - <notification name="HelpCloudColor"> - Wijzigt de kleur van de wolken. Het is algemeen aanbevolen deze wit-achtig te houden, maar hé, heb plezier als u dit wilt. - </notification> - <notification name="HelpCloudDetail"> - Bepaald het detail plaatje als laag bovenop het basis wolken plaatje. X en Y bepalen de positie. D (Dichtheid) bepaald hoe wollig of verspreid de wolken verschijnen. - </notification> - <notification name="HelpCloudDensity"> - Geeft u de mogelijkheid de positie van wolken met de X en Y schuif knoppen in te stellen en hoe dicht ze zijn met de D schuif knop. - </notification> - <notification name="HelpCloudCoverage"> - Bepaald hoeveel de wolken de hemel bedekken. - </notification> - <notification name="HelpCloudScale"> - Bepaald de schaal van het wolken plaatje op de hemelboog. - </notification> - <notification name="HelpCloudScrollX"> - Bepaald de snelheid van de wolken terwijl zij in X richting bewegen. - </notification> - <notification name="HelpCloudScrollY"> - Bepaald de snelheid van de wolken terwijl zij in Y richting bewegen. - </notification> - <notification name="HelpClassicClouds"> - Vink dit aan voor weergave van [SECOND_LIFE]'s oudere klassieke wolken als toevoeging op WindLight's wolken. - </notification> - <notification name="HelpWaterFogColor"> - Kiest de kleur van de onder water nevel. - </notification> - <notification name="HelpWaterFogDensity"> - Bepaald hoe dicht de water nevel is en hoe ver u kunt zien onder water. - </notification> - <notification name="HelpUnderWaterFogMod"> - Past het effect aan van de Nevel Dichtheid Exponent om zo te bepalen hoe ver uw avatar onder water kan zien. - </notification> - <notification name="HelpWaterGlow"> - Bepaald hoeveel het oppervlak van het water gloeit. - </notification> - <notification name="HelpWaterNormalScale"> - Bepaald de schaling van de drie wavelets (golf patronen) die samen water vormen. - </notification> - <notification name="HelpWaterFresnelScale"> - Bepaald hoeveel licht er wordt gereflecteerd onder verschillende hoeken. - </notification> - <notification name="HelpWaterFresnelOffset"> - Bepaald de hoeveelheid licht intensiteit welke wordt gereflecteerd. - </notification> - <notification name="HelpWaterScaleAbove"> - Bepaald hoeveel licht er wordt weerkaatst wanneer van bovenop het water oppervlak gezien. - </notification> - <notification name="HelpWaterScaleBelow"> - Bepaald hoeveel licht er wordt weerkaatst wanneer van onder het water oppervlak gezien. - </notification> - <notification name="HelpWaterBlurMultiplier"> - Bepaald hoe golven en reflectie worden ge mixed. - </notification> - <notification name="HelpWaterNormalMap"> - Bepaald welke Normaal map gelaagd is over het water om de reflectie/weerkaatsing te bepalen. - </notification> - <notification name="HelpWaterWave1"> - Bepaald waar en hoe snel de grote schaal versie van de Normaal map beweegt in X en Y richting. - </notification> - <notification name="HelpWaterWave2"> - Bepaald waar en hoe snel de kleine schaal versie van de Normaal map beweegt in X en Y richting. - </notification> - <notification name="NewSkyPreset"> - Geef een naam op voor de nieuwe lucht. - <form name="form"> - <input name="message"> - Nieuwe Voorinstelling - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annuleren"/> - </form> - </notification> - <notification name="ExistsSkyPresetAlert"> - Voorinstelling bestaat al! - </notification> - <notification name="NewWaterPreset"> - Geef een naam voor de nieuwe voorinstelling van water. - <form name="form"> - <input name="message"> - Nieuwe Voorinstelling - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annuleren"/> - </form> - </notification> - <notification name="ExistsWaterPresetAlert"> - Voorinstelling bestaat al! - </notification> - <notification name="WaterNoEditDefault"> - u kunt de standaard voorinstelling niet wijzigen of verwijderen. - </notification> - <notification name="ChatterBoxSessionStartError"> - Kan geen nieuwe chat sessie starten met [RECIPIENT]. -[REASON] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ChatterBoxSessionEventError"> - [EVENT] -[REASON] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ForceCloseChatterBoxSession"> - Uw chat sessie met [NAME] zal moeten worden gesloten. -[REASON] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="Cannot_Purchase_an_Attachment"> - Items kunnen niet worden gekocht indien ze deel uit maken van een Bevestiging. - </notification> - <notification label="Over verzoeken voor debet permissies" name="DebitPermissionDetails"> - Toestemming geven aan dit script geeft het object een onbeperkte permissie om Linden dollars (L$) uit uw account te nemen! -Om dit recht in te trekken, moet de object eigenaar het object verwijderen of de scripts in het object opnieuw instellen. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AutoWearNewClothing"> - Wilt u de kleding items die u maakt automatisch aantrekken? - <usetemplate ignoretext="Automatisch nieuwe kleding aantrekken" name="okcancelignore" notext="Nee" yestext="Ja"/> - </notification> - <notification name="NotAgeVerified"> - U moet leeftijd geverifieerd zijn om toegang te verkrijgen tot dit perceel. -Wilt u de [SECOND_LIFE] website bezoeken om uw leeftijd te verifiëren? - -[_URL] - <url name="url" option="0"> - https://secondlife.com/account/verification.php - </url> - <usetemplate ignoretext="Waarschuw voor gebrek aan leeftijd verificatie" name="okcancelignore" notext="Nee" yestext="Ja"/> - </notification> - <notification name="Cannot enter parcel: no payment info on file"> - Dit perceel verlangd dat u betaal informatie geregistreerd hebt staan alvorens toegang te verkrijgen. -Wilt u de [SECOND_LIFE] website bezoeken om dit in te stellen? - -[_URL] - <url name="url" option="0"> - https://secondlife.com/account/index.php?lang=nl - </url> - <usetemplate ignoretext="Waarschuw voor gebrek aan betaal informatie" name="okcancelignore" notext="Nee" yestext="Ja"/> - </notification> - <notification name="MissingString"> - De tekst [STRING_NAME] ontbreekt in strings.xml - </notification> - <notification name="SystemMessageTip"> - [MESSAGE] - </notification> - <notification name="Cancelled"> - Geannuleerd - </notification> - <notification name="CancelledSit"> - Zitten geannuleerd - </notification> - <notification name="CancelledAttach"> - Bevestigen geannuleerd - </notification> - <notification name="ReplacedMissingWearable"> - Missend kleding/lichaamsdeel is vervangen door standaard. - </notification> - <notification name="GroupNotice"> - Onderwerp: [SUBJECT], Bericht: [MESSAGE] - </notification> - <notification name="FriendOnline"> - [NAME] is Online - </notification> - <notification name="FriendOffline"> - [NAME] is Offline - </notification> - <notification name="AddSelfFriend"> - U kunt uzelf niet als vriend toevoegen. - </notification> - <notification name="UploadingAuctionSnapshot"> - In-wereld en website foto's worden geüpload... -(Duurt ongeveer 5 minuten.) - </notification> - <notification name="UploadPayment"> - U heeft L$[AMOUNT] betaald om te uploaden. - </notification> - <notification name="UploadWebSnapshotDone"> - Upload van website foto is gereed. - </notification> - <notification name="UploadSnapshotDone"> - Upload van in-wereld foto is gereed. - </notification> - <notification name="TerrainDownloaded"> - Terrain.raw gedownload - </notification> - <notification name="GestureMissing"> - Gebaar [NAME] mist in de database. - </notification> - <notification name="UnableToLoadGesture"> - Kan gebaar [NAME] niet laden. Probeer het a.u.b. opnieuw. - </notification> - <notification name="LandmarkMissing"> - Landmarkering mist in de database. - </notification> - <notification name="UnableToLoadLandmark"> - Kan landmarkering niet laden. Probeer het a.u.b. opnieuw. - </notification> - <notification name="CapsKeyOn"> - Uw Caps Lock toets staat aan. Aangezien dit effect heeft op het wachtwoord dat u intypt, zult u het wellicht willen uitzetten. - </notification> - <notification name="NotecardMissing"> - Notitiekaart mist in de database. - </notification> - <notification name="NotecardNoPermissions"> - Onvoldoende permissies om de notitiekaart te bekijken. - </notification> - <notification name="RezItemNoPermissions"> - Onvoldoende permissies om het object te rezzen. - </notification> - <notification name="UnableToLoadNotecard"> - Kan op dit moment notitiekaart inhoud niet laden. - </notification> - <notification name="ScriptMissing"> - Script mist in de database. - </notification> - <notification name="ScriptNoPermissions"> - Onvoldoende permissies om het script te bekijken. - </notification> - <notification name="UnableToLoadScript"> - Kan script niet laden. Probeer het a.u.b. opnieuw. - </notification> - <notification name="IncompleteInventory"> - De complete inhoud die u aanbiedt is nog niet lokaal beschikbaar. Probeer die items over een minuut nogmaals aan te bieden. - </notification> - <notification name="CannotModifyProtectedCategories"> - U kunt geen beschermde categorieën wijzigen. - </notification> - <notification name="CannotRemoveProtectedCategories"> - U kunt geen beschermde categorieën verwijderen. - </notification> - <notification name="UnableToBuyWhileDownloading"> - Niet mogelijk te kopen terwijl objectdata wordt gedownload. Probeer het alstublieft opnieuw. - </notification> - <notification name="UnableToLinkWhileDownloading"> - Niet mogelijk om te koppelen terwijl objectdata wordt gedownload. Probeer het alstublieft opnieuw. - </notification> - <notification name="CannotBuyObjectsFromDifferentOwners"> - Kan geen objecten van meerdere eigenaren op hetzelfde moment kopen. Selecteer alstublieft een enkel object. - </notification> - <notification name="ObjectNotForSale"> - Object lijkt niet te koop. - </notification> - <notification name="EnteringGodMode"> - God modus binnengaan, niveau [LEVEL] - </notification> - <notification name="LeavingGodMode"> - God modus verlaten, niveau [LEVEL] - </notification> - <notification name="CopyFailed"> - Kopiëren mislukt omdat u geen kopieerpermissie bezit. - </notification> - <notification name="InventoryAccepted"> - [NAME] heeft uw inventarisaanbod geaccepteerd. - </notification> - <notification name="InventoryDeclined"> - [NAME] heeft uw inventarisaanbod afgewezen. - </notification> - <notification name="ObjectMessage"> - [NAME]: [MESSAGE] - </notification> - <notification name="CallingCardAccepted"> - Uw visitekaartje is geaccepteerd. - </notification> - <notification name="CallingCardDeclined"> - Uw visite kaart is afgewezen. - </notification> - <notification name="TeleportToLandmark"> - Nu u het mainland bereikt heeft, kunt u teleporteren naar locaties als '[NAME]' door op de Inventaris knop rechtsonder in uw scherm te klikken en dan de Landmarkeringen map te selecteren. Dubbelklik op de landmarkering en klik op Teleport om ernaartoe te reizen. - </notification> - <notification name="TeleportToPerson"> - Nu u het mainland bereikt heeft, kunt u contact opnemen met inwoners als '[NAME]' door op de Inventaris knop rechtsonder in uw scherm te klikken en dan de Visitekaartjes map te selecteren. Dubbelklik op het visitekaartje, klik op Instant Message en type een bericht. - </notification> - <notification name="CantSelectLandFromMultipleRegions"> - Kan geen land selecteren over servergrenzen. -Probeer een kleiner stuk land te selecteren. - </notification> - <notification name="SearchWordBanned"> - Sommige termen in uw zoekopdracht werden uitgesloten vanwege inhoudbeperkingen zoals beschreven in de Gemeenschap Standaarden. - </notification> - <notification name="NoContentToSearch"> - Selecteer alstublieft minstens een type inhoud om te zoeken (PG, Mature of Adult). - </notification> - <notification name="GroupVote"> - [NAME] heeft voorgesteld om te stemmen over: -[MESSAGE] - <form name="form"> - <button name="VoteNow" text="Stem Nu"/> - <button name="Later" text="Later"/> - </form> - </notification> - <notification name="SystemMessage"> - [MESSAGE] - </notification> - <notification name="EventNotification"> - Evenement Bericht: - -[NAME] -[DATE] - <form name="form"> - <button name="Details" text="Omschrijving"/> - <button name="Cancel" text="Annuleren"/> - </form> - </notification> - <notification name="TransferObjectsHighlighted"> - Alle objecten op dit perceel die zullen worden overgedragen aan de koper van dit perceel zijn nu opgelicht. - -* Bomen en grassen die worden overgedragen zijn niet opgelicht. - <form name="form"> - <button name="Done" text="Gereed"/> - </form> - </notification> - <notification name="DeactivatedGesturesTrigger"> - Deactiveren van gebaren met dezelfde trigger: -[NAMES] - </notification> - <notification name="NoQuickTime"> - De QuickTime software van Apple schijnt niet op uw systeem geïnstalleerd te zijn. -Indien u streaming media wilt zien op percelen die dit ondersteunen, dient u naar de QuickTime webpagina te gaan (http://www.apple.com/QuickTime) en de QuickTime Player te installeren. - </notification> - <notification name="OwnedObjectsReturned"> - De objecten die uw eigendom zijn op het geselecteerde perceel zijn geretourneerd naar uw inventaris. - </notification> - <notification name="OtherObjectsReturned"> - De objecten op het geselecteerde perceel dat het eigendom is van [NAME], zijn geretourneerd naar zijn of haar inventaris. - </notification> - <notification name="OtherObjectsReturned2"> - De objecten op het geselecteerde perceel dat het eigendom is van inwoner '[NAME]', zijn geretourneerd naar hun eigenaar. - </notification> - <notification name="GroupObjectsReturned"> - De objecten op het geselecteerde perceel dat gedeeld is met de groep [GROUPNAME] zijn geretourneerd naar de inventaris van hun eigenaar. -Overdraagbare objecten die eigendom zijn van de groep zijn geretourneerd naar hun voormalige eigenaren. -Niet-overdraagbare objecten die eigendom zijn van de groep zijn verwijderd. - </notification> - <notification name="UnOwnedObjectsReturned"> - De objecten op het geselecteerde perceel die NIET uw eigendom zijn, zijn geretourneerd naar hun eigenaren. - </notification> - <notification name="NotSafe"> - Op dit land is letsel ingeschakeld ('niet veilig'). -U kunt hier letsel oplopen. Indien u sterft, zult u naar uw thuis locatie worden geteleporteerd. - </notification> - <notification name="NoFly"> - Op dit land is vliegen uitgeschakeld ('niet vliegen'). -U kunt hier niet vliegen. - </notification> - <notification name="PushRestricted"> - Dit land is 'Niet Duwen'. -U kunt geen anderen duwen, tenzij u het land bezit. - </notification> - <notification name="NoVoice"> - Op dit land is voice uitgeschakeld. - </notification> - <notification name="NoBuild"> - Op dit land is bouwen uitgeschakeld ('niet bouwen'). -U kunt hier geen objecten creëren. - </notification> - <notification name="ScriptsStopped"> - Een beheerder heeft scripts in deze regio tijdelijk gestopt. - </notification> - <notification name="ScriptsNotRunning"> - In deze regio worden geen scripts uitgevoerd. - </notification> - <notification name="NoOutsideScripts"> - Op dit land zijn externe scripts uitgeschakeld (geen externe scripts). -Geen scripts zullen worden uitgevoerd, behalve scripts die toebehoren aan de landeigenaar. - </notification> - <notification name="ClaimPublicLand"> - Kan alleen publiek land claimen in de regio waar u aanwezig bent. - </notification> - <notification name="RegionTPAccessBlocked"> - U bent niet toegestaan in die regio vanwege uw inhoudscategorie. Wellicht dient u uw leeftijd te valideren en/of de nieuwste viewer te installeren. - -Gaat u alstublieft naar de kennisbank voor details over het betreden van gebieden met deze inhoudscategorie. - </notification> - <notification name="URBannedFromRegion"> - U bent uit deze regio verbannen. - </notification> - <notification name="NoTeenGridAccess"> - Uw account kan geen verbinding maken met deze teen grid regio. - </notification> - <notification name="NoHelpIslandTP"> - U kunt niet terug teleporteren naar Help Island. Ga naar 'Help Island Public' om de handleiding te herhalen. - </notification> - <notification name="ImproperPaymentStatus"> - U heeft niet de juiste betalingstatus om deze regio binnen te gaan. - </notification> - <notification name="MustGetAgeRegion"> - U moet leeftijd geverifieerd zijn om deze regio binnen te gaan. - </notification> - <notification name="MustGetAgeParcel"> - U moet leeftijd geverifieerd zijn om dit perceel binnen te gaan. - </notification> - <notification name="NoDestRegion"> - Geen bestemmingsregio gevonden. - </notification> - <notification name="NotAllowedInDest"> - U wordt niet op de bestemming toegelaten. - </notification> - <notification name="RegionParcelBan"> - Kan niet naar de regio oversteken in een verbannen perceel. Probeer het op een andere manier. - </notification> - <notification name="TelehubRedirect"> - U bent doorverwezen naar een telehub. - </notification> - <notification name="CouldntTPCloser"> - Kan niet dichter bij bestemming teleporteren. - </notification> - <notification name="TPCancelled"> - Teleport geannuleerd. - </notification> - <notification name="FullRegionTryAgain"> - De regio die u probeert binnen te gaan is momenteel vol. -Probeer het alstublieft opnieuw over enkele ogenblikken. - </notification> - <notification name="GeneralFailure"> - Algemene fout. - </notification> - <notification name="RoutedWrongRegion"> - Gerouteerd naar de verkeerde regio. Probeer het alstublieft opnieuw. - </notification> - <notification name="NoValidAgentID"> - Geen geldige agent ID. - </notification> - <notification name="NoValidSession"> - Geen geldige sessie ID. - </notification> - <notification name="NoValidCircuit"> - Geen geldige circuit code. - </notification> - <notification name="NoValidTimestamp"> - Geen geldige tijdstempel. - </notification> - <notification name="NoPendingConnection"> - Kan wachtende verbinding niet maken. - </notification> - <notification name="InternalUsherError"> - Er is een interne fout opgetreden terwijl geprobeerd werd u naar uw teleportbestemming te begeleiden. [SECOND_LIFE] heeft op dit moment mogelijk problemen met de dienstverlening. - </notification> - <notification name="NoGoodTPDestination"> - Kan geen goede teleportbestemming vinden in deze regio. - </notification> - <notification name="InternalErrorRegionResolver"> - Er is een interne fout opgetreden terwijl de globale coördinaten voor uw teleportverzoek werden bepaald. [SECOND_LIFE] heeft op dit moment mogelijk problemen met de dienstverlening. - </notification> - <notification name="NoValidLanding"> - Er kon geen geldig landingspunt worden gevonden. - </notification> - <notification name="NoValidParcel"> - Geen geldig perceel kon gevonden worden. - </notification> - <notification name="ObjectGiveItem"> - Een object genaamd <nolink>[OBJECTFROMNAME]</nolink>, eigendom van [NAME_SLURL], heeft u een [OBJECTTYPE] genaamd <nolink>[ITEM_SLURL]</nolink> gegeven. - <form name="form"> - <button name="Keep" text="Behouden"/> - <button name="Discard" text="Afwijzen"/> - <button name="Mute" text="Negeren"/> - </form> - </notification> - <notification name="ObjectGiveItemUnknownUser"> - Een object genaamd [OBJECTFROMNAME], eigendom van (een onbekende gebruiker), heeft u een [OBJECTTYPE] genaamd [OBJECTNAME] gegeven. - <form name="form"> - <button name="Keep" text="Behouden"/> - <button name="Discard" text="Afwijzen"/> - <button name="Mute" text="Negeren"/> - </form> - </notification> - <notification name="UserGiveItem"> - [NAME] heeft u een [OBJECTTYPE] genaamd '[OBJECTNAME]' gegeven. - <form name="form"> - <button name="Keep" text="Behouden"/> - <button name="Discard" text="Afwijzen"/> - <button name="Mute" text="Negeren"/> - </form> - </notification> - <notification name="GodMessage"> - [NAME] -[MESSAGE] - </notification> - <notification name="JoinGroup"> - [MESSAGE] - <form name="form"> - <button name="Join" text="Deelnemen"/> - <button name="Decline" text="Afwijzen"/> - <button name="Info" text="Info"/> - </form> - </notification> - <notification name="TeleportOffered"> - [NAME] heeft aangeboden u te teleporteren naar zijn of haar locatie: - -[MESSAGE] - <form name="form"> - <button name="Teleport" text="Teleport"/> - <button name="Cancel" text="Annuleren"/> - </form> - </notification> - <notification name="GotoURL"> - [MESSAGE] -[URL] - <form name="form"> - <button name="Later" text="Later"/> - <button name="GoNow..." text="Ga Nu..."/> - </form> - </notification> - <notification name="OfferFriendship"> - [NAME] biedt vriendschap aan. - -[MESSAGE] - -(Standaard zult u in staat zijn om elkaars online status te zien.) - <form name="form"> - <button name="Accept" text="Accepteren"/> - <button name="Decline" text="Afwijzen"/> - </form> - </notification> - <notification name="OfferFriendshipNoMessage"> - [NAME] biedt vriendschap aan. - -(Standaard zult u in staat zijn om elkaars online status te zien.) - <form name="form"> - <button name="Accept" text="Accepteren"/> - <button name="Decline" text="Afwijzen"/> - </form> - </notification> - <notification name="FriendshipAccepted"> - [NAME] heeft uw vriendschapsaanbod geaccepteerd. - </notification> - <notification name="FriendshipDeclined"> - [NAME] heeft uw vriendschapsaanbod afgewezen. - </notification> - <notification name="OfferCallingCard"> - [NAME] biedt zijn/haar visitekaartje aan. -Dit zal een bladwijzer in uw inventaris toevoegen zodat u deze inwoner snel kunt een IM kunt sturen. - <form name="form"> - <button name="Accept" text="Accepteren"/> - <button name="Decline" text="Afwijzen"/> - </form> - </notification> - <notification name="RegionRestartMinutes"> - De regio zal over [MINUTES] minuten herstarten. -Indien u in deze regio blijft, zult u worden uitgelogd. - </notification> - <notification name="RegionRestartSeconds"> - De regio zal over [SECONDS] seconden herstarten. -Indien u in deze regio blijft, zult u worden uitgelogd. - </notification> - <notification name="LoadWebPage"> - Laad webpagina [URL]? - -[MESSAGE] - -Van object: [OBJECTNAME], eigenaar: [NAME]? - <form name="form"> - <button name="Gotopage" text="Laden"/> - <button name="Cancel" text="Annuleren"/> - </form> - </notification> - <notification name="FailedToFindWearableUnnamed"> - Kon [TYPE] niet in de database vinden. - </notification> - <notification name="FailedToFindWearable"> - Kon [TYPE] genaamd [DESC] niet in de database vinden. - </notification> - <notification name="InvalidWearable"> - Het item dat u probeert te dragen gebruikt een kenmerk dat uw viewer niet kan lezen. Upgrade u alstublieft uw versie van [APP_NAME] om dit item te dragen. - </notification> - <notification name="ScriptQuestion"> - [OBJECTNAME]', een object van '[NAME]', wil graag: - -[QUESTIONS] -Is dit OK? - <form name="form"> - <button name="Yes" text="Ja"/> - <button name="No" text="Nee"/> - <button name="Mute" text="Negeren"/> - </form> - </notification> - <notification name="ScriptQuestionCaution"> - [OBJECTNAME]', een object van '[NAME]', wil graag - -[QUESTIONS] -Indien u dit object en zijn maker niet vertrouwt, zou u het verzoek moeten weigeren. Klik de Details knop voor additionele informatie. - -Dit verzoek inwilligen? - <form name="form"> - <button name="Grant" text="Inwilligen"/> - <button name="Deny" text="Weigeren"/> - <button name="Details" text="Details..."/> - </form> - </notification> - <notification name="ScriptDialog"> - [NAME]'s '<nolink>[TITLE]</nolink>' -[MESSAGE] - <form name="form"> - <button name="Ignore" text="Negeren"/> - </form> - </notification> - <notification name="ScriptDialogGroup"> - [GROUPNAME]'s '[TITLE]' -[MESSAGE] - <form name="form"> - <button name="Ignore" text="Negeren"/> - </form> - </notification> - <notification name="FirstBalanceIncrease"> - U heeft zojuist L$[AMOUNT] ontvangen. -Objecten en andere gebruikers kunnen u L$ geven. -Uw saldo wordt in de rechterbovenhoek van het scherm getoond. - </notification> - <notification name="FirstBalanceDecrease"> - U heeft zojuist L$[AMOUNT] betaald. -Uw saldo wordt in de rechterbovenhoek van het scherm getoond. - </notification> - <notification name="FirstSit"> - U zit. -Gebruik de pijltjestoetsen (of AWSD) of uw gezichtsveld te wijzigen. -Klik de 'Sta Op' knop om op te staan. - </notification> - <notification name="FirstMap"> - Klik en sleep om de kaart te verplaatsen. -Dubbelklik om te teleporteren. -Gebruik de bedieningselementen aan de rechterkant om dingen te vinden en verschillende achtergronden te tonen. - </notification> - <notification name="FirstBuild"> - U kunt nieuwe objecten bouwen in sommige gebieden van [SECOND_LIFE]. -Gebruik de gereedschappen in de linkerbovenhoek om te bouwen en probeer Ctrl en Alt ingedrukt te houden om snel tussen gereedschappen te wisselen. -Druk Esc om te stoppen met bouwen. - </notification> - <notification name="FirstLeftClickNoHit"> - Links-klikken werkt in op speciale objecten. -Indien de muisaanwijzer verandert in een hand, kunt u interacteren met het object. -Rechts-klikken toont altijd een menu van dingen die u kunt doen. - </notification> - <notification name="FirstTeleport"> - Deze regio staat geen point-to-point teleport toe, dus u bent naar de dichtstbijzijnde telehub getransporteerd. -Uw bestemming is gemarkeerd met een groot baken. -Volg de rode pijl naar het baken, of klik de pijl om het baken te verwijderen. - </notification> - <notification name="FirstOverrideKeys"> - Uw bewegingstoetsen worden nu door een object afgehandeld. -Probeer de pijltjestoetsen of AWSD om te zien wat ze doen. -Sommige objecten (zoals geweren) vereisen dat u in mouselook gaat om ze te gebruiken. -Druk 'M' om dit te doen. - </notification> - <notification name="FirstAppearance"> - U bent uw uiterlijk aan het bewerken. -Gebruik de pijltjestoetsen om uw gezichtsveld te draaien en te zoomen. -Druk 'Alles Opslaan' om uw uiterlijk op te slaan wanneer u klaar bent. -U kunt uw uiterlijk zo vaak als u wil bewerken. - </notification> - <notification name="FirstInventory"> - Dit is uw inventaris, die objecten, notitiekaarten, kleding en andere eigendommen bevat. -* Om een object of een kleding-map te dragen, sleep het op uzelf. -* Om een object in de wereld te brengen, sleep het op de grond. -* Om een notitiekaart te lezen, dubbelklik erop. - </notification> - <notification name="FirstSandbox"> - Dit is een zandbak regio. -Objecten die u hier bouwt, kunnen worden verwijderd nadat u het gebied verlaat. Zandbakken schonen op regelmatige basis, kijk alstublieft naar de informatie aan de bovenkant van het scherm, naast de regionaam. - -Zandbak regio's zijn ongewoon en gemarkeerd met borden. - </notification> - <notification name="FirstFlexible"> - Dit object is flexibel. -Flexibele objecten mogen niet fysiek zijn en moeten fantoom zijn tot de 'flexibel' checkbox wordt uitgezet. - </notification> - <notification name="FirstDebugMenus"> - U heeft het menu Geavanceerd geactiveerd. -Dit menu bevat opties die handig zijn voor ontwikkelaars tijdens het debuggen van [SECOND_LIFE]. -Om dit menu in en uit te schakelen drukt u binnen Windows Ctrl+Alt+D. Met een Mac drukt u ⌥⌘D. - </notification> - <notification name="FirstSculptedPrim"> - U bent een sculpted prim aan het bewerken. -Sculpted prims vereisen een speciaal textuur om hun vorm te bepalen. -U kunt voorbeelden van sculpt-texturen in de inventaris bibliotheek vinden. - </notification> - <notification name="FirstMedia"> - U bent begonnen met het afspelen van media. In het Voorkeurenvenster, onder Audio / Video, kan media worden ingesteld om automatisch te beginnen met afspelen. Let op dat dit een beveiligingsrisico kan zijn voor media sites die u niet vertrouwt. - </notification> - <notification name="MaxListSelectMessage"> - U mag slecht maximaal [MAX_SELECT] items van deze lijst kiezen. - </notification> - <notification name="VoiceInviteP2P"> - [NAME] nodigt u uit voor een Voice chat gesprek. -Klik Accepteren om deel te nemen aan dit gesprek of Afwijzen om de uitnodiging af te wijzen. Klik Negeren om deze persoon te negeren. - <form name="form"> - <button name="Accept" text="Accepteren"/> - <button name="Decline" text="Afwijzen"/> - <button name="Mute" text="Negeren"/> - </form> - </notification> - <notification name="AutoUnmuteByIM"> - Er is een instant message naar [NAME] gestuurd, waardoor deze automatisch van de negeerlijst is gehaald. - </notification> - <notification name="AutoUnmuteByMoney"> - Er is geld gegeven aan [NAME], waardoor deze automatisch van de negeerlijst is gehaald. - </notification> - <notification name="AutoUnmuteByInventory"> - Er is inventaris aangeboden aan [NAME], waardoor deze automatisch van de negeerlijst is gehaald. - </notification> - <notification name="VoiceInviteGroup"> - [NAME] doet nu mee met een Voice chat gesprek binnen de groep [GROUP]. -Klik Accepteren om deel te nemen aan het gesprek of Afwijzen om de uitnodiging af te wijzen. Klik Negeren om deze persoon te negeren. - <form name="form"> - <button name="Accept" text="Accepteren"/> - <button name="Decline" text="Afwijzen"/> - <button name="Mute" text="Negeren"/> - </form> - </notification> - <notification name="VoiceInviteAdHoc"> - [NAME] doet nu mee met een Voice chat gesprek binnen een conferentie chat. -Klik Accepteren om deel te nemen aan het gesprek of Afwijzen om de uitnodiging af te wijzen. Klik Negeren om deze persoon te negeren. - <form name="form"> - <button name="Accept" text="Accepteren"/> - <button name="Decline" text="Afwijzen"/> - <button name="Mute" text="Negeren"/> - </form> - </notification> - <notification name="InviteAdHoc"> - [NAME] nodigt u uit voor een conferentie chat. -Klik Accepteren om deel te nemen aan de chat of Afwijzen om de uitnodiging af te wijzen. Klik Negeren om deze persoon te negeren. - <form name="form"> - <button name="Accept" text="Accepteren"/> - <button name="Decline" text="Afwijzen"/> - <button name="Mute" text="Negeren"/> - </form> - </notification> - <notification name="VoiceChannelFull"> - Het voice gesprek waaraan u probeert deel te nemen, [VOICE_CHANNEL_NAME], heeft zijn maximale capaciteit bereikt. Probeert u het alstublieft later nog een keer. - </notification> - <notification name="ProximalVoiceChannelFull"> - Onze excuses. Dit gebied heeft zijn maximale capaciteit voor voice conversaties bereikt. Probeert u alstublieft voice te gebruiken in een ander gebied. - </notification> - <notification name="VoiceChannelDisconnected"> - U bent niet meer verbonden met [VOICE_CHANNEL_NAME]. U zult weer worden verbonden met spatiale voice chat. - </notification> - <notification name="VoiceChannelDisconnectedP2P"> - [VOICE_CHANNEL_NAME] heeft het gesprek beëindigd. U zult weer worden verbonden met spatiale voice chat. - </notification> - <notification name="P2PCallDeclined"> - [VOICE_CHANNEL_NAME] heeft uw oproep afgewezen. U zult weer worden verbonden met spatiale voice chat. - </notification> - <notification name="P2PCallNoAnswer"> - [VOICE_CHANNEL_NAME] is niet beschikbaar om uw oproep aan te nemen. U zult weer worden verbonden met spatiale voice chat. - </notification> - <notification name="VoiceChannelJoinFailed"> - Verbinden met [VOICE_CHANNEL_NAME] is mislukt, probeert u het later alstublieft nog een keer. U zult weer worden verbonden met spatiale voice chat. - </notification> - <notification name="VoiceLoginRetry"> - We zijn bezig om een voice kanaal voor u te maken. Dit kan tot een minuut duren. - </notification> - <notification name="Cannot enter parcel: not a group member"> - Kan het perceel niet betreden, u bent geen lid van de juiste groep. - </notification> - <notification name="Cannot enter parcel: banned"> - Kan het perceel niet betreden, u bent verbannen. - </notification> - <notification name="Cannot enter parcel: not on access list"> - Kan het perceel niet betreden, u staat niet op de toegangslijst. - </notification> - <notification name="VoiceNotAllowed"> - U heeft geen permissie om met voice chat te verbinden voor [VOICE_CHANNEL_NAME]. - </notification> - <notification name="VoiceCallGenericError"> - Er is een fout opgetreden tijdens het verbinden met voice chat voor [VOICE_CHANNEL_NAME]. Probeert u het later alstublieft opnieuw. - </notification> - <notification name="UnableToOpenCommandURL"> - De URL die u heeft geklikt kan niet binnen deze webbrowser worden geopend. - </notification> - <global name="UnsupportedCPU"> - - Uw Processor snelheid (CPU) voldoet niet aan de minimale eisen. - </global> - <global name="UnsupportedGLRequirements"> - U heeft mogelijk niet de vereiste hardware voor [APP_NAME]. [APP_NAME] verlangd een OpenGL grafische kaart die multi-texture ondersteund. Indien dat het geval is, overtuig u er dan van dat u de laatste stuurprogramma's voor uw grafische kaart, service packs en patches voor uw Operating systeem heeft. - -Indien u problemen blijft houden, bezoek dan: http://www.secondlife.com/support - </global> - <global name="UnsupportedCPUAmount"> - 796 - </global> - <global name="UnsupportedRAMAmount"> - 510 - </global> - <global name="UnsupportedGPU"> - - Uw grafische kaart voldoet niet aan de minimale eisen. - </global> - <global name="UnsupportedRAM"> - - Uw systeem geheugen voldoet niet aan de minimale eisen. - </global> - <global name="PermYes"> - Ja - </global> - <global name="PermNo"> - Nee - </global> -</notifications> diff --git a/indra/newview/skins/default/xui/nl/panel_block_list_sidetray.xml b/indra/newview/skins/default/xui/nl/panel_block_list_sidetray.xml deleted file mode 100644 index 38018a3626a..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_block_list_sidetray.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="block_list_panel"> - <text name="title_text"> - Blokkeer Lijst - </text> - <scroll_list name="blocked" tool_tip="Lijst van momenteel geblokkeerde bewoners"/> - <button label="Blokkeer Bewoner..." label_selected="Blokkeer Bewoner..." name="Block resident..." tool_tip="Kies een bewoner om te blokkeren"/> - <button label="Blokkeer object bij naam..." label_selected="Blokkeer object bij naam..." name="Block object by name..."/> - <button label="Deblokkeren" label_selected="Deblokkeren" name="Unblock" tool_tip="Verweider bewoner of object uit blokkeer lijst"/> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_edit_profile.xml b/indra/newview/skins/default/xui/nl/panel_edit_profile.xml deleted file mode 100644 index fffdb9e8dfd..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_edit_profile.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel name="edit_profile_panel"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] [PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="AcctTypeResident" - value="Inwoner" /> - <string name="AcctTypeTrial" - value="Proef" /> - <string name="AcctTypeCharterMember" - value="Charter lid" /> - <string name="AcctTypeEmployee" - value="Linden Lab werknemer" /> - <string name="PaymentInfoUsed" - value="Betalingsinformatie gebruikt" /> - <string name="PaymentInfoOnFile" - value="Betalingsinformatie aanwezig" /> - <string name="NoPaymentInfoOnFile" - value="Geen betalingsinfo aanwezig" /> - <string name="AgeVerified" - value="Leeftijd geverifieerd" /> - <string name="NotAgeVerified" - value="Leeftijd niet geverifieerd" /> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=nl - </string> - <panel name="scroll_content_panel"> - <panel name="data_panel" > - <panel name="lifes_images_panel"> - <panel name="second_life_image_panel"> - <text name="second_life_photo_title_text"> - [SECOND_LIFE]: - </text> - </panel> - </panel> - <text name="title_partner_text" value="Partner:"/> - <panel name="partner_data_panel"> - <text name="partner_text"/> - </panel> - <text name="text_box3"> - Antwoord bij Niet Storen: - </text> - </panel> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_group_general.xml b/indra/newview/skins/default/xui/nl/panel_group_general.xml deleted file mode 100644 index 2a0fe032321..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_group_general.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Algemeen" name="general_tab"> - <string name="help_text"> - Het tabblad Algemeen bevat algemene informatie over deze groep, een lijst met eigenaren en zichtbare leden, algemene groepsvoorkeuren en ledenopties. - -Laat uw muis boven de opties zweven voor meer help. - </string> - <string name="group_info_unchanged"> - Algemene groepsinformatie is gewijzigd. - </string> - <button label="?" label_selected="?" name="help_button"/> - <line_editor label="Typ uw nieuwe groepsnaam hier" name="group_name_editor"/> - <text name="group_name"> - Typ uw nieuwe groepsnaam hier - </text> - <text name="prepend_founded_by"> - Opgericht door - </text> - <text name="founder_name" left_delta="84"> - (wachten) - </text> - <text name="group_charter_label" width="244"> - Groepcharter - </text> - <texture_picker label="Groepinsigne" name="insignia" tool_tip="Klik om een afbeelding te kiezen"/> - <text_editor name="charter" width="244"> - Groepcharter - </text_editor> - <button label="Deelnemen (L$0)" label_selected="Deelnemen (L$0)" name="join_button"/> - <button label="Gedetailleerde weergave" label_selected="Gedetailleerde weergave" name="info_button" width="154"/> - <text name="text_owners_and_visible_members"> - Eigenaren en zichtbare leden - </text> - <text name="text_owners_are_shown_in_bold"> - (Eigenaren worden vet getoond) - </text> - <name_list name="visible_members"> - <name_list.columns label="Lidnaam" name="name"/> - <name_list.columns label="Titel" name="title"/> - <name_list.columns label="Laatste login" name="online"/> - </name_list> - <text name="text_group_preferences"> - Groepvoorkeuren - </text> - <panel name="preferences_container"> - <check_box label="Toon in zoeken" name="show_in_group_list" tool_tip="Stelt in of deze groep zichtbaar is in de zoekresultaten."/> - <check_box label="Vrije toegang" name="open_enrollement" tool_tip="Stelt in of deze groep toestaat dat nieuwe leden lid kunnen worden zonder uitgenodigd te zijn."/> - <check_box label="Contributiebijdrage:" name="check_enrollment_fee" tool_tip="Stelt in of er een contributiebijdrage vereist is om lid te worden van de groep."/> - <spinner name="spin_enrollment_fee" tool_tip="Nieuwe leden moeten deze bijdrage betalen om deel te nemen aan de groep wanneer "Contributie bijdrage" is aangevinkt." width="58" left_delta="142"/> - <combo_box name="group_mature_check" tool_tip="Stelt in of uw groepsinformatie als mature beschouwd wordt."> - <combo_box.item name="select_mature" label="- Selecteer -"/> - <combo_box.item name="mature" label="Mature inhoud"/> - <combo_box.item name="pg" label="PG inhoud"/> - </combo_box> - <panel name="title_container"> - <text name="active_title_label"> - Mijn actieve titel - </text> - <combo_box name="active_title" tool_tip="Stelt de titel in die in uw avatar's naamlabel verschijnt wanneer deze groep actief is."/> - </panel> - <check_box label="Ontvang groepsberichten" name="receive_notices" tool_tip="Stelt in of u berichten van deze groep wilt ontvangen. Verwijder het vinkje wanneer u spam ontvangt van deze groep." left_delta="-4"/> - <check_box label="Toon deze groep in mijn profiel" name="list_groups_in_profile" tool_tip="Stelt in of u deze groep in uw profiel wil laten zien"/> - </panel> - <string name="incomplete_member_data_str"> - Ledendata ophalen - </string> - <string name="confirm_group_create_str"> - Het maken van deze groep zal u L$ 100 kosten. Weet u ECHT héél zeker dat u L$ 100 wilt betalen om deze groep te maken? - -WEES U ER VAN BEWUST, dat als er niemand binnen 48 uur lid wordt van deze groep, deze weer ontmanteld zal worden. Hierbij zal ook de groepsnaam onbeschikbaar blijven voor toekomstig gebruik! - </string> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_group_invite.xml b/indra/newview/skins/default/xui/nl/panel_group_invite.xml deleted file mode 100644 index e012d88ff59..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_group_invite.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Nodig een lid uit" name="invite_panel"> - <text name="help_text"> - U kunt meerdere inwoners selecteren -om voor uw groep uit te nodigen. Klik -'Open inwonerkiezer' om te starten. - </text> - <button label="Open inwonerkiezer" name="add_button" tool_tip=""/> - <name_list name="invitee_list" tool_tip="Houd de Ctrl-toets vast en klik de namen van de inwoners om meerdere te selecteren."/> - <button label="Verwijder geselecteerden van lijst" name="remove_button" tool_tip="Verwijderd hierboven geselecteerde inwoners van de uitnodigingslijst."/> - <text name="role_text"> - Kies welke rol aan hen wordt -toegewezen: - </text> - <combo_box name="role_name" tool_tip="Kies uit de lijst met rollen waarvoor u toestemming heeft om leden toe te wijzen." bottom_delta="-30"/> - <button label="Verzend uitnodigingen" name="ok_button"/> - <button label="Annuleren" name="cancel_button"/> - <string name="confirm_invite_owner_str"> - Weet u zeker dat u een (een) nieuwe eigenaar(s) wilt uitnodigen? Deze actie is permanent! - </string> - <string name="loading"> - (laden...) - </string> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_group_land_money.xml b/indra/newview/skins/default/xui/nl/panel_group_land_money.xml deleted file mode 100644 index 43babafdf8d..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_group_land_money.xml +++ /dev/null @@ -1,84 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Land & L$" name="land_money_tab"> - <string name="help_text"> - Percelen in groepseigendom worden getoond, samen met bijdragedetails. Een waarschuwing verschijnt totdat Totaal Land In Gebruik minder dan of gelijk aan de totale bijdrage is. De Planning, Details en Verkopen tabbladen verschaffen meer informatie over de financiën van de groep. - </string> - <button label="?" name="help_button"/> - <string name="cant_view_group_land_text"> - U heeft geen permissie om land te bekijken dat eigendom van de groep is. - </string> - <string name="cant_view_group_accounting_text"> - U heeft geen permissie om accounting informatie van de groep te bekijken. - </string> - <string name="loading_txt"> - Laden... - </string> - <text name="group_land_heading" width="260"> - Land in eigendom van groep - </text> - <scroll_list name="group_parcel_list"> - <column label="Perceelnaam" name="name"/> - <column label="Regio" name="location"/> - <column label="Type" name="type"/> - <column label="Gebied" name="area"/> - </scroll_list> - <button label="Toon op kaart" label_selected="Toon op kaart" name="map_button"/> - <text name="total_contributed_land_label"> - Totale bijdrage: - </text> - <text name="total_contributed_land_value" width="200"> - [AREA] m² - </text> - <text name="total_land_in_use_label"> - Totaal land in gebruik: - </text> - <text name="total_land_in_use_value"> - [AREA] m² - </text> - <text name="land_available_label"> - Land beschikbaar: - </text> - <text name="land_available_value"> - [AREA] m² - </text> - <text name="your_contribution_label"> - Uw bijdrage: - </text> - <string name="land_contrib_error"> - Niet in staat uw landbijdrage in te stellen. - </string> - <text name="your_contribution_units"> - ( m² ) - </text> - <text name="your_contribution_max_value"> - ([AMOUNT] max) - </text> - <text name="group_over_limit_text"> - Groepsleden moeten landcredits bijdragen om het gebruikte land -te ondersteunen. - </text> - <text name="group_money_heading"> - Groep L$ - </text> - <tab_container name="group_money_tab_container"> - <panel label="Planning" name="group_money_planning_tab"> - <text_editor name="group_money_planning_text"> - Berekenen... - </text_editor> - </panel> - <panel label="Details" name="group_money_details_tab"> - <text_editor name="group_money_details_text"> - Berekenen... - </text_editor> - <button label="< Eerder" label_selected="< Eerder" name="earlier_details_button" tool_tip="Ga terug in de tijd"/> - <button label="Later >" label_selected="Later >" name="later_details_button" tool_tip="Ga vooruit in de tijd"/> - </panel> - <panel label="Verkopen" name="group_money_sales_tab"> - <text_editor name="group_money_sales_text"> - Berekenen... - </text_editor> - <button label="< Eerder" label_selected="< Eerder" name="earlier_sales_button" tool_tip="Ga terug in de tijd"/> - <button label="Later >" label_selected="Later >" name="later_sales_button" tool_tip="Ga vooruit in de tijd"/> - </panel> - </tab_container> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_group_notices.xml b/indra/newview/skins/default/xui/nl/panel_group_notices.xml deleted file mode 100644 index a1929bb5e12..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_group_notices.xml +++ /dev/null @@ -1,62 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Berichten" name="notices_tab"> - <string name="help_text"> - Berichten vormen een snelle manier om met een groep te communiceren door een bericht en optioneel een bevestigd item af te leveren. Berichten gaan alleen naar groepsleden in rollen die de mogelijkheid hebben om berichten te ontvangen. U kunt berichten uitzetten in de tab Algemeen. - </string> - <string name="no_notices_text"> - Er zijn geen oude berichten. - </string> - <button label="?" label_selected="?" name="help_button"/> - <text name="lbl"> - Groepsberichtenarchief - </text> - <text name="lbl2"> - Berichten worden 14 dagen bewaard. Berichtenlijsten zijn gelimiteerd tot 200 berichten groep per dag. - </text> - <scroll_list name="notice_list"> - <column label="Onderwerp" name="subject"/> - <column label="Van" name="from"/> - <column label="Datum" name="date"/> - </scroll_list> - <text name="notice_list_none_found"> - Geen gevonden. - </text> - <button label="Maak nieuw bericht" label_selected="Maak nieuw bericht" name="create_new_notice"/> - <button label="Verversen" label_selected="Ververs lijst" name="refresh_notices"/> - <panel label="Maak nieuw bericht" name="panel_create_new_notice"> - <text name="lbl"> - Maak een bericht - </text> - <text name="lbl2"> - U kunt een enkel item aan een bericht toevoegen door het van uw inventaris naar dit paneel te slepen. Bevestigde items moeten kopieerbaar en overdraagbaar zijn en u kunt geen mappen versturen. - </text> - <text name="lbl3"> - Onderwerp: - </text> - <text name="lbl4"> - Bericht: - </text> - <text name="lbl5"> - Bevestig: - </text> - <button label="Verwijder bevestiging" label_selected="Verwijder bevestiging" name="remove_attachment"/> - <button label="Verzend bericht" label_selected="Verzend bericht" name="send_notice"/> - <panel name="drop_target" tool_tip="Sleep een inventarisitem op het berichtvenster om het met het bericht mee te sturen. U dient permissie te hebben om het object te kopiëren en over te dragen wilt u het met het bericht mee kunnen sturen."/> - </panel> - <panel label="Bekijk oud bericht" name="panel_view_past_notice"> - <text name="lbl"> - Gearchiveerd bericht - </text> - <text name="lbl2"> - Om een nieuw bericht te sturen, klik de 'Maak nieuw bericht' knop hierboven. - </text> - <text name="lbl3"> - Onderwerp: - </text> - <text name="lbl4"> - Bericht: - </text> - <button label="Open bevestiging" label_selected="Open bevestiging" name="open_attachment" width="118"/> - <line_editor left="128" name="view_inventory_name" width="256"/> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_group_roles.xml b/indra/newview/skins/default/xui/nl/panel_group_roles.xml deleted file mode 100644 index 507906c0d7c..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_group_roles.xml +++ /dev/null @@ -1,101 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Leden & Rollen" name="roles_tab"> - <panel.string name="default_needs_apply_text"> - Er zijn niet opgeslagen veranderingen op de huidige tab - </panel.string> - <panel.string name="want_apply_text"> - Wilt u deze wijzigingen opslaan? - </panel.string> - <tab_container height="164" name="roles_tab_container"> - <panel height="148" label="LEDEN" name="members_sub_tab" tool_tip="Leden"> - <panel.string name="help_text"> - U kunt Rollen aan Leden toewijzen of van Leden afnemen. Selecteer meerdere Leden door de Ctrl toets ingedrukt te houden en op hun namen te klikken. - </panel.string> - <filter_editor label="Filter Leden" name="filter_input"/> - <name_list bottom_delta="-105" height="104" name="member_list"> - <name_list.columns label="Lid Naam" name="name"/> - <name_list.columns label="Donaties" name="donated"/> - <name_list.columns label="Laatste Login" name="online"/> - </name_list> - <button label="Uitnodigen" name="member_invite"/> - <button label="Uitwerpen" name="member_eject"/> - </panel> - <panel height="148" label="ROLLEN" name="roles_sub_tab"> - <panel.string name="help_text"> - Rollen hebben een titel en een toegestane lijst met Vaardigheden die Leden kunnen uitvoeren. Leden kunnen tot 1 of meer Rollen behoren. Een groep kan tot 10 Rollen bevatten, inclusief de Iedereen en Eigenaren Rollen. - </panel.string> - <panel.string name="cant_delete_role"> - De 'Iedereen' en 'Eigenaren' Rollen zijn speciaal en kunnen niet verwijderd worden. - </panel.string> - <panel.string name="power_folder_icon"> - Inv_FolderClosed - </panel.string> - <filter_editor label="Filter Rollen" name="filter_input"/> - <scroll_list bottom_delta="-104" height="104" name="role_list"> - <scroll_list.columns label="Rol" name="name"/> - <scroll_list.columns label="Titel" name="title"/> - <scroll_list.columns label="Leden" name="members"/> - </scroll_list> - <button label="Nieuwe Rol..." name="role_create"/> - <button label="Rol Verwijderen" name="role_delete"/> - </panel> - <panel height="148" label="VAARDIGHEDEN" name="actions_sub_tab" tool_tip="Je kan een vaardigheid's beschrijving en welke Rollen en Leden kunnen uitvoeren van de Vaardigheid."> - <panel.string name="help_text"> - Mogelijkheden stellen leden in staat om specifieke dingen in een groep te doen. Er is een brede variëteit aan Mogelijkheden. - </panel.string> - <filter_editor label="Filter Vaardigheden" name="filter_input"/> - <scroll_list bottom_delta="-120" height="118" name="action_list" tool_tip="Selecteer een Vaardigheid om meer details te bekijken"/> - </panel> - </tab_container> - <panel name="members_footer"> - <text name="static"> - Toegekende Rollen - </text> - <text name="static2"> - Toegestane Mogelijkheden - </text> - <scroll_list name="member_allowed_actions" tool_tip="Voor details van elke Toegestane Vaardigheid in de Mogelijkheden tab"/> - </panel> - <panel name="roles_footer"> - <text name="static"> - Naam - </text> - <line_editor name="role_name"> - Werknemers - </line_editor> - <text name="static3"> - Titel - </text> - <line_editor name="role_title"> - (wachten) - </line_editor> - <text name="static2"> - Omschrijving - </text> - <text_editor name="role_description"> - (wachten) - </text_editor> - <text name="static4"> - Toegewezen Rollen - </text> - <check_box label="Leden Onthullen" name="role_visible_in_list" tool_tip="Bepaalt of leden van deze rol zichtbaar zijn in de Algemeen tab voor mensen buiten de groep."/> - <text name="static5" tool_tip="Een lijst met Mogelijkheden die de geselecteerd rol kan uitvoeren."> - Toegestane Mogelijkheden - </text> - <scroll_list name="role_allowed_actions" tool_tip="For details of each allowed ability see the abilities tab"/> - </panel> - <panel name="actions_footer"> - <text name="static"> - Vaardigheid omschrijving - </text> - <text_editor name="action_description"> - Dit is de Mogelijkheid 'Werp Leden uit deze Groep'. Alleen een Eigenaar kan een andere Eigenaar uitwerpen. - </text_editor> - <text name="static2"> - Rollen met deze vaardigheid - </text> - <text name="static3"> - Leden met deze vaardigheid - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_login.xml b/indra/newview/skins/default/xui/nl/panel_login.xml deleted file mode 100644 index bcc888061f9..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_login.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_login"> - <panel.string name="create_account_url"> - http://join.secondlife.com/index.php?lang=nl-NL - </panel.string> - <panel.string name="forgot_password_url"> - http://secondlife.com/account/request.php?lang=nl-NL - </panel.string> - <panel name="login_widgets"> - <text name="first_name_text"> - Voornaam: - </text> - <line_editor name="first_name_edit" tool_tip="[SECOND_LIFE] Voornaam"/> - <text name="last_name_text"> - Achternaam: - </text> - <line_editor name="last_name_edit" tool_tip="[SECOND_LIFE] Achternaam"/> - <text name="password_text"> - Paswoord: - </text> - <button label="Inloggen" label_selected="Inloggen" name="connect_btn"/> - <text name="start_location_text"> - Start locatie: - </text> - <combo_box name="start_location_combo"> - <combo_box.item label="Mijn Laatste Locatie" name="MyLastLocation"/> - <combo_box.item label="Mijn Thuis" name="MyHome"/> - <combo_box.item label="<Tik regio naam>" name="Typeregionname"/> - </combo_box> - <check_box label="Onthoud paswoord" name="remember_check"/> - <text name="create_new_account_text"> - Maak een nieuwe account - </text> - <text name="forgot_password_text"> - Naam of paswoord vergeten? - </text> - <text name="channel_text"> - [VERSION] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_main_inventory.xml b/indra/newview/skins/default/xui/nl/panel_main_inventory.xml deleted file mode 100644 index c533cc20c0a..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_main_inventory.xml +++ /dev/null @@ -1,64 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Dingen" name="main inventory panel"> - <panel.string name="Title"> - Dingen - </panel.string> - <filter_editor label="Filter" name="inventory search editor"/> - <tab_container name="inventory filter tabs"> - <inventory_panel label="Alle Voorwerpen" name="All Items"/> - <inventory_panel label="Recente Voorwerpen" name="Recent Items"/> - </tab_container> - <panel name="bottom_panel"> - <button name="options_gear_btn" tool_tip="Toon extra opties"/> - <button name="add_btn" tool_tip="Voeg nieuw voorwerp toe"/> - <dnd_button name="trash_btn" tool_tip="Remove selected item"/> - </panel> - <menu_bar name="Inventory Menu"> - <menu label="Bestand" name="File"> - <menu_item_call label="Open" name="Open"/> - <menu label="Upload" name="upload"> - <menu_item_call label="Plaatje (L$[COST])..." name="Upload Image"/> - <menu_item_call label="Geluid (L$[COST])..." name="Upload Sound"/> - <menu_item_call label="Animatie (L$[COST])..." name="Upload Animation"/> - <menu_item_call label="Bulk (L$[COST] per bestand)..." name="Bulk Upload"/> - </menu> - <menu_item_call label="Nieuw Venster" name="New Window"/> - <menu_item_call label="Toon Filters" name="Show Filters"/> - <menu_item_call label="Reset Filters" name="Reset Current"/> - <menu_item_call label="Sluit Alle Mappen" name="Close All Folders"/> - <menu_item_call label="Prullenbak Leegmaken" name="Empty Trash"/> - <menu_item_call label="Leeg Verloren En Gevonden" name="Empty Lost And Found"/> - </menu> - <menu label="Maken" name="Create"> - <menu_item_call label="Nieuwe Map" name="New Folder"/> - <menu_item_call label="Nieuw Script" name="New Script"/> - <menu_item_call label="Nieuwe Notitie" name="New Note"/> - <menu_item_call label="Nieuw Gebaar" name="New Gesture"/> - <menu label="Nieuwe Kleding" name="New Clothes"> - <menu_item_call label="Nieuw Overhemd" name="New Shirt"/> - <menu_item_call label="Nieuwe Broek" name="New Pants"/> - <menu_item_call label="Nieuwe Schoenen" name="New Shoes"/> - <menu_item_call label="Nieuwe Sokken" name="New Socks"/> - <menu_item_call label="Nieuwe Jas" name="New Jacket"/> - <menu_item_call label="Nieuwe Rok" name="New Skirt"/> - <menu_item_call label="Nieuwe Handschoenen" name="New Gloves"/> - <menu_item_call label="Nieuw Hemd" name="New Undershirt"/> - <menu_item_call label="Nieuwe Onderbroek" name="New Underpants"/> - <menu_item_call label="Nieuwe Alpha" name="New Alpha"/> - <menu_item_call label="Nieuwe Tattoo" name="New Tattoo"/> - </menu> - <menu label="Nieuwe Lichaamsdelen" name="New Body Parts"> - <menu_item_call label="Nieuwe Vorm" name="New Shape"/> - <menu_item_call label="Nieuwe Huid" name="New Skin"/> - <menu_item_call label="Nieuw Haar" name="New Hair"/> - <menu_item_call label="Nieuwe Ogen" name="New Eyes"/> - </menu> - </menu> - <menu label="Sorteer" name="Sort"> - <menu_item_check label="Bij Naam" name="By Name"/> - <menu_item_check label="Bij Datum" name="By Date"/> - <menu_item_check label="Mappen Altijd Op Naam" name="Folders Always By Name"/> - <menu_item_check label="Syteemmappen Naar Boven" name="System Folders To Top"/> - </menu> - </menu_bar> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/nl/panel_preferences_advanced.xml deleted file mode 100644 index 6626c574724..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_preferences_advanced.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="advanced"> - <panel.string name="resolution_format"> - [RES_X] x [RES_Y] - </panel.string> - <panel.string name="aspect_ratio_text"> - [NUM]:[DEN] - </panel.string> - <check_box label="Bubble chat" name="bubble_text_chat"/> - <color_swatch name="background" tool_tip="Kies kleur voor bubble chat"/> - <slider label="Opaciteit" name="bubble_chat_opacity"/> - <text name="AspectRatioLabel1" tool_tip="breedte / hoogte"> - Beeldverhouding - </text> - <combo_box name="aspect_ratio" tool_tip="breedte / hoogte"> - <combo_box.item label="4:3 (Standaard beeldbuis)" name="item1"/> - <combo_box.item label="5:4 (1280x1024 LCD)" name="item2"/> - <combo_box.item label="8:5 (Breedbeeld)" name="item3"/> - <combo_box.item label="16:9 (Breedbeeld)" name="item4"/> - </combo_box> - <check_box label="Automatisch detecteren" name="aspect_auto_detect"/> - <text name="heading1"> - Camera: - </text> - <slider label="Kijkhoek" name="camera_fov"/> - <slider label="Afstand" name="camera_offset_scale"/> - <text name="heading2"> - Automatisch positionering voor: - </text> - <check_box label="Maken/Bewerken" name="edit_camera_movement" tool_tip="Gebruik automatische camera positionering bij ingaan en verlaten van Bewerk modus."/> - <check_box label="Uiterlijk" name="appearance_camera_movement" tool_tip="Gebruik automatische camera positionering wanneer in bewerk modus"/> - <text name="heading3"> - Avatars: - </text> - <check_box label="Toon mij in Muis Modus" name="first_person_avatar_visible"/> - <check_box label="Pijltjestoetsen bewegen mij altijd" name="arrow_keys_move_avatar_check"/> - <check_box label="Tik-tik-vasthouden om te rennen" name="tap_tap_hold_to_run"/> - <check_box label="Beweeg avatar lippen tijdens het praten" name="enable_lip_sync"/> - <check_box label="Toon script fouten" name="show_script_errors"/> - <radio_group name="show_location"> - <radio_item label="In chat" name="0"/> - <radio_item label="In een venster" name="1"/> - </radio_group> - <check_box label="Toggle modus voor microfoon wanneer ik de spreek toets indruk:" name="push_to_talk_toggle_check" tool_tip="Wanneer in toggle mode, drukt u éénmaal op de ontspanner toets om de microfoon in-of uitschakelen. Wanneer niet in toggle mode, kan de microfoon uitzendingen uw stem alleen tijdens de ontspanner wordt ingedrukt."/> - <line_editor label="Push-to-Speak trigger" name="modifier_combo"/> - <button label="Plaats Toets" name="set_voice_hotkey_button"/> - <button label="Middelste Muis Knop" name="set_voice_middlemouse_button"/> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_alerts.xml b/indra/newview/skins/default/xui/nl/panel_preferences_alerts.xml deleted file mode 100644 index d3174a703d7..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_preferences_alerts.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Pop-ups" name="popups" title="Pop-ups"> - <text name="tell_me_label"> - Vertel mij: - </text> - <check_box label="Wanneer ik L$ spendeer of krijg" name="notify_money_change_checkbox"/> - <check_box label="Wanneer mijn vrienden in- of uit-loggen" name="friends_online_notify_checkbox"/> - <text name="show_label"> - Toon altijd deze waarschuwingen: - </text> - <text name="dont_show_label"> - Toon nooit deze waarschuwingen: - </text> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_chat.xml b/indra/newview/skins/default/xui/nl/panel_preferences_chat.xml deleted file mode 100644 index 84f385c86bc..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_preferences_chat.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Tekst chat" name="chat"> - <radio_group name="chat_font_size"> - <radio_item label="Klein" name="radio"/> - <radio_item label="Middel" name="radio2"/> - <radio_item label="Groot" name="radio3"/> - </radio_group> - <color_swatch label="U" name="user"/> - <text name="text_box1"> - U - </text> - <color_swatch label="Anderen" name="agent"/> - <text name="text_box2"> - Anderen - </text> - <color_swatch label="IM" name="im"/> - <text name="text_box3"> - IM - </text> - <color_swatch label="Systeem" name="system"/> - <text name="text_box4"> - Systeem - </text> - <color_swatch label="Fouten" name="script_error"/> - <text name="text_box5"> - Fouten - </text> - <color_swatch label="Objecten" name="objects"/> - <text name="text_box6"> - Objecten - </text> - <color_swatch label="Eigenaar" name="owner"/> - <text name="text_box7"> - Eigenaar - </text> - <color_swatch label="URL's" name="links"/> - <text name="text_box9"> - URL's - </text> - <check_box initial_value="true" label="Speel typeanimatie tijdens chat" name="play_typing_animation"/> - <check_box label="Email mij IMs wanneer ik offline ben" name="send_im_to_email"/> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_general.xml b/indra/newview/skins/default/xui/nl/panel_preferences_general.xml deleted file mode 100644 index d193fb8724e..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_preferences_general.xml +++ /dev/null @@ -1,89 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Algemeen" name="general_panel"> - <combo_box name="start_location_combo"> - <combo_box.item name="MyHome" tool_tip="Log standaard in op mijn thuislocatie." label="Mijn thuis"/> - <combo_box.item name="MyLastLocation" tool_tip="Log standaard in op mijn laatste locatie." label="Mijn laatste locatie"/> - </combo_box> - <check_box label="Toon startlocatie op loginscherm" name="show_location_checkbox"/> - <combo_box name="fade_out_combobox"> - <combo_box.item name="Never" label="Nooit"/> - <combo_box.item name="Show Temporarily" label="Toon tijdelijk"/> - <combo_box.item name="Always" label="Altijd"/> - </combo_box> - <check_box label="Kleine avatarnamen" name="small_avatar_names_checkbox"/> - <check_box label="Verberg mijn naam op mijn scherm" name="show_my_name_checkbox"/> - <text name="group_titles_textbox"> - Groepstitels: - </text> - <check_box label="Verberg alle groepstitels" name="show_all_title_checkbox"/> - <check_box label="Verberg mijn groepstitel" name="show_my_title_checkbox"/> - <color_swatch label="" name="effect_color_swatch" tool_tip="Klik om de kleurkiezer te openen"/> - <text name="UI Size:"> - UI grootte: - </text> - <check_box label="Gebruik resolutie onafhankelijke schaal" name="ui_auto_scale"/> - <spinner label="Afwezigheidtijdsduur:" name="afk_timeout_spinner"/> - <check_box label="Waarschuwen wanneer L$ worden uitgegeven of ontvangen" name="notify_money_change_checkbox"/> - <text name="maturity_desired_label"> - Inhoudscategorie: - </text> - <text name="maturity_desired_prompt"> - Ik wil toegang tot inhoud die is beoordeeld als: - </text> - <combo_box name="maturity_desired_combobox"> - <combo_box.item name="Desired_Adult" label="PG, Mature en Adult"/> - <combo_box.item name="Desired_Mature" label="PG en Mature"/> - <combo_box.item name="Desired_PG" label="PG"/> - </combo_box> - <text name="maturity_desired_textbox"> - PG - </text> - <text name="start_location_textbox"> - Startlocatie: - </text> - <text name="show_names_textbox"> - Toon namen: - </text> - <text name="effects_color_textbox"> - Kleur voor mijn effecten: - </text> - <text name="seconds_textbox"> - seconden - </text> - <text name="crash_report_textbox"> - Crash rapporten: - </text> - <text name="language_textbox"> - Taal: - </text> - <text name="language_textbox2"> - (Vereist herstart) - </text> - <string name="region_name_prompt"> - < Type regionaam > - </string> - <combo_box name="crash_behavior_combobox"> - <combo_box.item name="Askbeforesending" label="Vraag voor verzenden"/> - <combo_box.item name="Alwayssend" label="Altijd verzenden"/> - <combo_box.item name="Neversend" label="Nooit verzenden"/> - </combo_box> - <combo_box name="language_combobox"> - <combo_box.item name="System Default Language" label="Systeemstandaard"/> - <combo_box.item name="English" label="Engels (English)"/> - <combo_box.item name="Danish" label="Dansk (Deens) - Bèta"/> - <combo_box.item name="Deutsch(German)" label="Deutsch (Duits) - Bèta"/> - <combo_box.item name="Spanish" label="Español (Spaans) - Bèta"/> - <combo_box.item name="French" label="Français (Frans) - Bèta"/> - <combo_box.item name="Italian" label="Italiano (Italiaans) - Bèta"/> - <combo_box.item name="Hungarian" label="Magyar (Hongaars) - Bèta"/> - <combo_box.item name="Polish" label="Polski (Pools) - Bèta"/> - <combo_box.item name="Portugese" label="Português (Portugees) - Bèta"/> - <combo_box.item name="Russian" label="РуÑÑкий (Russisch) - Bèta"/> - <combo_box.item name="Turkish" label="Türkçe (Turks) - Bèta"/> - <combo_box.item name="Ukrainian" label="УкраїнÑька (Oekraïens) - Bèta"/> - <combo_box.item name="Chinese" label="ä¸æ–‡ (简体) (Chinees) - Bèta"/> - <combo_box.item name="(Japanese)" label="日本語 (Japans) - Bèta"/> - <combo_box.item name="(Korean)" label="í•œêµì–´ (Koreaans) - Bèta"/> - </combo_box> - <check_box label="Deel taal met objecten" name="language_is_public" tool_tip="Dit laat in-wereld objecten uw voorkeurstaal weten."/> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/nl/panel_preferences_graphics1.xml deleted file mode 100644 index 8f4244e2222..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_preferences_graphics1.xml +++ /dev/null @@ -1,145 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Grafisch" name="Display panel"> - <button label="?" name="GraphicsPreferencesHelpButton"/> - <check_box label="Voer Second Life uit in een venster" name="windowed mode"/> - <text_editor name="FullScreenInfo" bottom="-56" height="40" width="480"> - Wanneer niet aangevinkt, zal de viewer in volledig-scherm modus getoond worden wanneer u inlogt. - </text_editor> - <text name="WindowSizeLabel"> - Venstergrootte: - </text> - <combo_box name="windowsize combo" left="115" > - <combo_box.item name="640x480" label="640x480"/> - <combo_box.item name="800x600" label="800x600"/> - <combo_box.item name="720x480" label="720x480 (NTSC)"/> - <combo_box.item name="768x576" label="768x576 (PAL)"/> - <combo_box.item name="1024x768" label="1024x768"/> - </combo_box> - <text name="DisplayResLabel" width="100"> - Weergaveresolutie: - </text> - <combo_box left="115" name="fullscreen combo" /> - <text name="AspectRatioLabel1" tool_tip="breedte / hoogte" width="100"> - Beeldverhouding: - </text> - <combo_box name="aspect_ratio" tool_tip="breedte / hoogte" left="115" > - <combo_box.item name="4:3(StandardCRT)" label="4:3 (Standaard beeldbuis)"/> - <combo_box.item name="5:4(1280x1024LCD)" label="5:4 (1280x1024 LCD)"/> - <combo_box.item name="8:5(Widescreen)" label="8:5 (Breedbeeld)"/> - <combo_box.item name="16:9(Widescreen)" label="16:9 (Breedbeeld)"/> - </combo_box> - <check_box label="Verhouding automatisch detecteren" name="aspect_auto_detect" left="275" /> - <text name="HigherText"> - Kwaliteit en - </text> - <text name="QualityText"> - Prestatie: - </text> - <text name="FasterText"> - Sneller - </text> - <text name="ShadersPrefText"> - Laag - </text> - <text name="ShadersPrefText2"> - Middel - </text> - <text name="ShadersPrefText3"> - Hoog - </text> - <text name="ShadersPrefText4"> - Ultra - </text> - <text name="HigherText2"> - Hogere - </text> - <text name="QualityText2"> - Kwaliteit - </text> - <check_box label="Aangepast" name="CustomSettings"/> - <panel name="CustomGraphics Panel"> - <text name="ShadersText"> - Shaders: - </text> - <check_box label="Bump mapping en glans" name="BumpShiny"/> - <check_box label="Basis shaders" name="BasicShaders" tool_tip="Het uitschakelen van deze optie kan voorkomen dat sommige drivers voor grafische kaarten crashen."/> - <check_box label="Atmosferische shaders" name="WindLightUseAtmosShaders"/> - <check_box label="Waterreflecties" name="Reflections"/> - <text name="ReflectionDetailText"> - Reflectiedetail: - </text> - <radio_group name="ReflectionDetailRadio"> - <radio_item name="0" label="Terrein en bomen" /> - <radio_item name="1" label="Alle statische objecten" /> - <radio_item name="2" label="Alle avatars en objecten" /> - <radio_item name="3" label="Alles" /> - </radio_group> - <text name="AvatarRenderingText"> - Avatarweergave: - </text> - <check_box label="Avatar schimmen" name="AvatarImpostors"/> - <check_box label="Hardware Skinning" name="AvatarVertexProgram"/> - <check_box label="Avatar kleding" name="AvatarCloth"/> - <text name="DrawDistanceMeterText1"> - m - </text> - <text name="DrawDistanceMeterText2"> - m - </text> - <slider label="Zichtbereik:" name="DrawDistance"/> - <slider label="Max. aantal particles:" name="MaxParticleCount"/> - <slider label="Nabewerkingskwaliteit:" name="RenderPostProcess"/> - <text name="MeshDetailText"> - Maasdetail: - </text> - <slider label=" Objecten:" name="ObjectMeshDetail"/> - <slider label=" Flexibele prims:" name="FlexibleMeshDetail"/> - <slider label=" Bomen:" name="TreeMeshDetail"/> - <slider label=" Avatars:" name="AvatarMeshDetail"/> - <slider label=" Terrein:" name="TerrainMeshDetail"/> - <slider label=" Lucht:" name="SkyMeshDetail"/> - <text name="PostProcessText"> - Laag - </text> - <text name="ObjectMeshDetailText"> - Laag - </text> - <text name="FlexibleMeshDetailText"> - Laag - </text> - <text name="TreeMeshDetailText"> - Laag - </text> - <text name="AvatarMeshDetailText"> - Laag - </text> - <text name="TerrainMeshDetailText"> - Laag - </text> - <text name="SkyMeshDetailText"> - Laag - </text> - <text name="LightingDetailText"> - Lichtdetail: - </text> - <radio_group name="LightingDetailRadio"> - <radio_item name="SunMoon" label="Alleen zon en maan" /> - <radio_item name="LocalLights" label="Lokale lichten in de buurt" /> - </radio_group> - <text name="TerrainDetailText"> - Terreindetail: - </text> - <radio_group name="TerrainDetailRadio"> - <radio_item name="0" label="Laag" /> - <radio_item name="2" label="Hoog" /> - </radio_group> - </panel> - <button label="Aanbevolen instellingen" name="Defaults"/> - <button label="Hardware opties" label_selected="Hardware opties" name="GraphicsHardwareButton"/> - <panel.string name="resolution_format"> - [RES_X] x [RES_Y] - </panel.string> - <panel.string name="aspect_ratio_text"> - [NUM]:[DEN] - </panel.string> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/nl/panel_preferences_privacy.xml deleted file mode 100644 index c2014bf0cb9..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_preferences_privacy.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Communicatie" name="im"> - <text name="text_box"> - Mijn online status: - </text> - <check_box left="140" label="Allen mijn vrienden en groepen kunnen zien wanneer ik online ben" name="online_visibility"/> - <text name="text_box2"> - IM opties: - </text> - <string name="log_in_to_change"> - log in om te wijzigen - </string> - <check_box left="140" label="Stuur IM naar Email ([EMAIL])" name="send_im_to_email"/> - <check_box left="140" label="Voeg IM toe in chatconsole" name="include_im_in_chat_console"/> - <check_box left="140" label="Toon tijdstempels in IM" name="show_timestamps_check"/> - <check_box left="140" label="Toon melding bij vriend online" name="friends_online_notify_checkbox"/> - <text name="text_box3"> - Antwoord bij -Niet Storen: - </text> - <text name="text_box4"> - Log opties: - </text> - <check_box label="Bewaar een log van IM op mijn computer" name="log_instant_messages"/> - <check_box label="Toon tijdstempels in IM-log" name="log_instant_messages_timestamp"/> - <check_box label="Toon het einde van de laatste IM conversatie" name="log_show_history"/> - <check_box label="Bewaar een log van lokale chat op mijn computer" name="log_chat"/> - <check_box label="Toon tijdstempels in lokale chatlog" name="log_chat_timestamp"/> - <check_box label="Toon binnenkomende IM in lokale chatlog" name="log_chat_IM"/> - <check_box label="Voeg datum toe aan tijdstempels" name="log_date_timestamp"/> - <button label="Wijzig pad" label_selected="Wijzig pad" name="log_path_button"/> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_setup.xml b/indra/newview/skins/default/xui/nl/panel_preferences_setup.xml deleted file mode 100644 index f9f58befe88..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_preferences_setup.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Invoer & Camera" name="Input panel"> - <text name=" Mouselook Options:"> - Mouselook opties: - </text> - <text name=" Mouse Sensitivity:"> - Muis gevoeligheid: - </text> - <check_box label="Muisbeweging omkeren" name="invert_mouse"/> - <text name=" Auto Fly Options:"> - Automatisch vliegen -opties: - </text> - <check_box label="Vlieg/Land bij indrukken Page Up/Page Down" name="automatic_fly"/> - <text name=" Camera Options:"> - Camera opties: - </text> - <text name="camera_fov_label"> - Camera Zichthoek - </text> - <text name="Camera Follow Distance:"> - Camera volgafstand: - </text> - <check_box label="Automatische camerabeweging bij bewerken" name="edit_camera_movement" tool_tip="Gebruik automatische camerapositionering bij het betreden en verlaten van de bewerken modus"/> - <check_box label="Automatische camerabeweging bij uiterlijk bewerken" name="appearance_camera_movement" tool_tip="Gebruik automatische camerapositionering in de bewerken modus"/> - <text name="text2"> - Avatar weergave opties: - </text> - <check_box label="Toon avatar in mouselook" name="first_person_avatar_visible"/> - <button label="Joystick instellingen" name="joystick_setup_button"/> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_sound.xml b/indra/newview/skins/default/xui/nl/panel_preferences_sound.xml deleted file mode 100644 index 5ded0158688..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_preferences_sound.xml +++ /dev/null @@ -1,39 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Geluid" name="Preference Media panel"> - <slider label="Hoofd volume" name="System Volume"/> - <check_box initial_value="true" name="mute_when_minimized"/> - <text name="mute_chb_label">Dempen indien geminimaliseerd</text> - <slider label="Omliggend" name="Wind Volume"/> - <slider label="Knoppen" name="UI Volume"/> - <slider label="Media" name="Media Volume"/> - <slider label="Geluids effecten" name="SFX Volume"/> - <slider label="Streamen van muziek" name="Music Volume"/> - <check_box label="Voice" name="enable_voice_check"/> - <slider label="Voice" name="Voice Volume"/> - <text name="Listen from"> - Luisteren vanuit: - </text> - <radio_group name="ear_location"> - <radio_item label="Camera positie" name="0"/> - <radio_item label="Avatar positie" name="1"/> - </radio_group> - <button label="Input/Output Apparaten" name="device_settings_btn"/> - <panel label="Apparaat Instellingen" name="device_settings_panel"> - <panel.string name="default_text"> - Standaard - </panel.string> - <text name="Input"> - Input - </text> - <text name="My volume label"> - Mijn volume: - </text> - <slider_bar initial_value="1.0" name="mic_volume_slider" tool_tip="Verander de volume door gebruik te nemen van deze schuifknop"/> - <text name="wait_text"> - Even geduld - </text> - <text name="Output"> - Output - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_region_covenant.xml b/indra/newview/skins/default/xui/nl/panel_region_covenant.xml deleted file mode 100644 index adfc62dd226..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_region_covenant.xml +++ /dev/null @@ -1,84 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Convenant" name="Covenant"> - <text name="estate_section_lbl"> - Estate: - </text> - <text name="estate_name_lbl"> - Naam: - </text> - <text name="estate_name_text"> - mainland - </text> - <text name="estate_owner_lbl"> - Eigenaar: - </text> - <text name="estate_owner_text"> - (geen) - </text> - <text name="estate_cov_lbl"> - Convenant: - </text> - <text name="covenant_timestamp_text"> - Laatst gewijzigd Wed Dec 31 16:00:00 1969 - </text> - <button label="?" name="covenant_help"/> - <text_editor name="covenant_editor" bottom="-247" height="162"> - Er is geen convenant voor deze estate. - </text_editor> - <button label="Opnieuw instellen" name="reset_covenant" right="460" width="110"/> - <text name="covenant_help_text" bottom="-25"> - Wijzigingen in het convenant zullen in alle percelen van het estate - zichtbaar zijn. - </text> - <text name="covenant_instructions" bottom_delta="-36" > - Sleep en deponeer een notitiekaart om het convenant voor deze - estate te wijzigen. - </text> - <text name="region_section_lbl" bottom_delta="-36" > - Regio: - </text> - <text name="region_name_lbl"> - Naam: - </text> - <text name="region_name_text"> - leyla - </text> - <text name="region_landtype_lbl"> - Type: - </text> - <text name="region_landtype_text"> - Mainland / Homestead - </text> - <text name="region_maturity_lbl"> - Inhoudscategorie: - </text> - <text name="region_maturity_text"> - Adult - </text> - <text name="resellable_lbl"> - Doorverkopen: - </text> - <text name="resellable_clause"> - Land in deze regio mag niet worden doorverkocht. - </text> - <text name="changeable_lbl"> - Opsplitsen: - </text> - <text name="changeable_clause"> - Land in deze regio mag niet worden samengevoegd/opgesplitst. - </text> - <string name="can_resell"> - Aangekocht land in deze regio mag worden doorverkocht. - </string> - <string name="can_not_resell"> - Aangekocht land in deze regio mag niet worden doorverkocht. - </string> - <string name="can_change"> - Aangekocht land in deze regio mag worden gecombineerd of -opgedeeld. - </string> - <string name="can_not_change"> - Aangekocht land in deze regio mag niet worden gecombineerd -of opgedeeld. - </string> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_region_debug.xml b/indra/newview/skins/default/xui/nl/panel_region_debug.xml deleted file mode 100644 index 9fad8e478aa..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_region_debug.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Debug" name="Debug"> - <text name="region_text_lbl"> - Regio: - </text> - <text name="region_text"> - onbekend - </text> - <check_box label="Schakel scripts uit" name="disable_scripts_check" tool_tip="Schakel alle scripts in deze regio uit"/> - <button label="?" name="disable_scripts_help"/> - <check_box label="Schakel botsingen uit" name="disable_collisions_check" tool_tip="Schakel alle niet-avatar botsingen in deze regio uit"/> - <button label="?" name="disable_collisions_help"/> - <check_box label="Fysiek uitschakelen" name="disable_physics_check" tool_tip="Alle fysiek in deze regio uitschakelen"/> - <button label="?" name="disable_physics_help"/> - <button label="Toepassen" name="apply_btn"/> - <text name="objret_text_lbl"> - Object retourneren - </text> - <text name="resident_text_lbl"> - Inwoner: - </text> - <line_editor name="target_avatar_name"> - (none) - </line_editor> - <button label="Kies..." name="choose_avatar_btn"/> - <text name="options_text_lbl"> - Opties: - </text> - <check_box label="Retourneer alleen objecten die scripts bevatten." name="return_scripts" tool_tip="Retourneer alleen objecten met scripts."/> - <check_box label="Retourneer alleen die objecten op het land van iemand anders" name="return_other_land" tool_tip="Retourneer alleen objecten die zich op land bevinden dat aan iemand anders toebehoort"/> - <check_box label="Retourneer objecten in alle regio's van dit estate" name="return_estate_wide" tool_tip="Retourneer objecten in alle regio's van dit estate"/> - <button label="Retourneren" name="return_btn"/> - <button label="Toon top botsingen..." name="top_colliders_btn" tool_tip="Lijst met objecten die de meeste mogelijke botsingen ondergaan"/> - <button label="?" name="top_colliders_help"/> - <button label="Toon top scripts..." name="top_scripts_btn" tool_tip="Lijst met objecten die de meeste tijd besteden met het uitvoeren van scripts"/> - <button label="?" name="top_scripts_help"/> - <button label="Herstart regio" name="restart_btn" tool_tip="Geef een 2 minuten afteltijd en herstart de regio."/> - <button label="?" name="restart_help"/> - <button label="Vertraag herstart" name="cancel_restart_btn" tool_tip="Vertraag herstart met een uur"/> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_region_estate.xml b/indra/newview/skins/default/xui/nl/panel_region_estate.xml deleted file mode 100644 index 08b68c8d305..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_region_estate.xml +++ /dev/null @@ -1,70 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Estate" name="Estate"> - <text name="estate_help_text"> - Wijzigingen van instellingen op dit tabblad -zullen alle regio's in de estate beïnvloeden. - </text> - <text name="estate_text"> - Estate: - </text> - <text name="estate_name"> - (onbekend) - </text> - <text name="owner_text"> - Eigenaar: - </text> - <text name="estate_owner"> - (onbekend) - </text> - <check_box label="Gebruik globale tijd" name="use_global_time_check"/> - <button label="?" name="use_global_time_help"/> - <check_box label="Vaste zon" name="fixed_sun_check"/> - <button label="?" name="fixed_sun_help"/> - <slider label="Fase" name="sun_hour_slider"/> - <check_box label="Publieke toegang toestaan" name="externally_visible_check"/> - <button label="?" name="externally_visible_help"/> - <text name="Only Allow"> - Beperk toegang tot: - </text> - <check_box label="Inwoners met betalingsinformatie opgeslagen" name="limit_payment" tool_tip="Verban ongeïdentificeerde inwoners."/> - <check_box label="Leeftijdgeverifieerde volwassenen" name="limit_age_verified" tool_tip="Verban inwoners die hun leeftijd niet geverifieerd hebben. Zie support.secondlife.com voor meer informatie." bottom_delta="-30"/> - <check_box label="Voice chat toestaan" name="voice_chat_check"/> - <button label="?" name="voice_chat_help"/> - <check_box label="Directe teleport toestaan" name="allow_direct_teleport"/> - <button label="?" name="allow_direct_teleport_help"/> - <text name="abuse_email_text" bottom_delta="-23"> - Misbruik e-mail adres: - </text> - <line_editor bottom_delta="-14" name="abuse_email_address" /> - <string name="email_unsupported"> - Optie niet ondersteund - </string> - <button label="?" name="abuse_email_address_help"/> - <button label="Toepassen" name="apply_btn" bottom_delta="-22"/> - <button label="Gebruiker verwijderen van estate..." name="kick_user_from_estate_btn"/> - <button label="Zend bericht naar estate..." name="message_estate_btn"/> - <text name="estate_manager_label"> - Estate beheerders: - </text> - <button label="?" name="estate_manager_help"/> - <button label="Verwijderen..." name="remove_estate_manager_btn"/> - <button label="Toevoegen..." name="add_estate_manager_btn"/> - <text name="allow_resident_label"> - Toegestane inwoners: - </text> - <button label="?" name="allow_resident_help"/> - <button label="Verwijderen..." name="remove_allowed_avatar_btn"/> - <button label="Toevoegen..." name="add_allowed_avatar_btn"/> - <text name="allow_group_label"> - Toegestane groepen - </text> - <button label="?" name="allow_group_help"/> - <button label="Verwijderen..." name="remove_allowed_group_btn"/> - <button label="Toevoegen..." name="add_allowed_group_btn"/> - <text name="ban_resident_label"> - Verbannen inwoners: - </text> - <button label="?" name="ban_resident_help"/> - <button label="Verwijderen..." name="remove_banned_avatar_btn"/> - <button label="Toevoegen..." name="add_banned_avatar_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_region_general.xml b/indra/newview/skins/default/xui/nl/panel_region_general.xml deleted file mode 100644 index 74480ed0a49..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_region_general.xml +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Regio" name="General"> - <text name="region_text_lbl"> - Regio: - </text> - <text name="region_text"> - onbekend - </text> - <text name="version_channel_text_lbl"> - Versie: - </text> - <text name="version_channel_text"> - onbekend - </text> - <text name="region_type_lbl"> - Type: - </text> - <text name="region_type"> - onbekend - </text> - <check_box label="Blokkeer terreinbewerking" name="block_terraform_check"/> - <button label="?" name="terraform_help"/> - <check_box label="Blokkeer vliegen" name="block_fly_check"/> - <button label="?" name="fly_help"/> - <check_box label="Letsel toestaan" name="allow_damage_check"/> - <button label="?" name="damage_help"/> - <check_box label="Duwen Uitschakelen" name="restrict_pushobject"/> - <button label="?" name="restrict_pushobject_help"/> - <check_box label="Landverkoop toestaan" name="allow_land_resell_check"/> - <button label="?" name="land_resell_help"/> - <check_box label="Samenvoegen/opsplitsen land toestaan" name="allow_parcel_changes_check"/> - <button label="?" name="parcel_changes_help" left="240"/> - <check_box label="Blokkeer zichtbaarheid land in zoeken" name="block_parcel_search_check" tool_tip="Laat mensen deze regio en zijn percelen in zoekresultaten zien"/> - <button label="?" name="parcel_search_help" left="240"/> - <spinner label="Agent limiet" name="agent_limit_spin"/> - <button label="?" name="agent_limit_help"/> - <spinner label="Object bonus" name="object_bonus_spin"/> - <button label="?" name="object_bonus_help"/> - <text label="Volwassenheid" name="access_text"> - Inhoudscategorie: - </text> - <combo_box label="Mature" name="access_combo"> - <combo_box.item label="Adult" name="Adult"/> - <combo_box.item label="Mature" name="Mature"/> - <combo_box.item label="PG" name="PG"/> - </combo_box> - <button label="?" name="access_help"/> - <button label="Toepassen" name="apply_btn"/> - <button label="Teleport één gebruiker naar thuislocatie…" name="kick_btn"/> - <button label="Teleport alle gebruikers naar thuislocatie…" name="kick_all_btn"/> - <button label="Zend bericht naar regio…" name="im_btn"/> - <button label="Beheer telehub…" name="manage_telehub_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_region_terrain.xml b/indra/newview/skins/default/xui/nl/panel_region_terrain.xml deleted file mode 100644 index a79bcc0eb59..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_region_terrain.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Terrein" name="Terrain"> - <text name="region_text_lbl"> - Regio: - </text> - <text name="region_text"> - onbekend - </text> - <spinner label="Waterhoogte" name="water_height_spin"/> - <button label="?" name="water_height_help"/> - <spinner label="Terrein verhooglimiet" name="terrain_raise_spin"/> - <button label="?" name="terrain_raise_help"/> - <spinner label="Terrein verlaaglimiet" name="terrain_lower_spin"/> - <button label="?" name="terrain_lower_help"/> - <check_box label="Gebruik estate zon" name="use_estate_sun_check"/> - <button label="?" name="use_estate_sun_help"/> - <check_box label="Vaste zon" name="fixed_sun_check"/> - <button label="?" name="fixed_sun_help"/> - <slider label="Fase" name="sun_hour_slider"/> - <button label="Toepassen" name="apply_btn"/> - <button label="Download RAW terrein..." name="download_raw_btn" tool_tip="Alleen beschikbaar voor estate-eigenaren, niet beheerders"/> - <button label="?" name="download_raw_help"/> - <button label="Upload RAW terrein..." name="upload_raw_btn" tool_tip="Alleen beschikbaar voor estate-eigenaren, niet beheerders"/> - <button label="?" name="upload_raw_help"/> - <button label="Bake terrein" name="bake_terrain_btn" tool_tip="Huidig terrein instellen als middelpunt voor verhoog/verlaag limieten"/> - <button label="?" name="bake_terrain_help"/> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_region_texture.xml b/indra/newview/skins/default/xui/nl/panel_region_texture.xml deleted file mode 100644 index ff10e20b7ce..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_region_texture.xml +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Grond texturen" name="Textures"> - <text name="region_text_lbl"> - Regio: - </text> - <text name="region_text"> - onbekend - </text> - <text name="detail_texture_text"> - Terreintexturen (vereist 512x512, 24 bit .tga bestanden) - </text> - <text name="height_text_lbl"> - 1 (Laag) - </text> - <text name="height_text_lbl2"> - 2 - </text> - <text name="height_text_lbl3"> - 3 - </text> - <text name="height_text_lbl4"> - 4 (Hoog) - </text> - <text name="height_text_lbl5"> - Textuur hoogtebereiken - </text> - <text name="height_text_lbl6"> - Zuidwest - </text> - <text name="height_text_lbl7"> - Noordwest - </text> - <text name="height_text_lbl8"> - Zuidoost - </text> - <text name="height_text_lbl9"> - Noordoost - </text> - <spinner label="Laag" name="height_start_spin_0"/> - <spinner label="Laag" name="height_start_spin_1"/> - <spinner label="Laag" name="height_start_spin_2"/> - <spinner label="Laag" name="height_start_spin_3"/> - <spinner label="Hoog" name="height_range_spin_0"/> - <spinner label="Hoog" name="height_range_spin_1"/> - <spinner label="Hoog" name="height_range_spin_2"/> - <spinner label="Hoog" name="height_range_spin_3"/> - <text name="height_text_lbl10"> - Deze waardes vertegenwoordigen het mengbereik voor bovenstaande texturen. - </text> - <text name="height_text_lbl11"> - Gemeten in meters, is de LOW waarde de MAXIMUM hoogte van textuur #1, - </text> - <text name="height_text_lbl12"> - en de HIGH waarde is de MINIMUM hoogte van textuur #4. - </text> - <button label="Toepassen" name="apply_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_scrolling_param.xml b/indra/newview/skins/default/xui/nl/panel_scrolling_param.xml deleted file mode 100644 index 8487ff999a9..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_scrolling_param.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="LLScrollingPanelParam"> - <text name="Loading..."> - Laden... - </text> - <text name="Loading...2"> - Laden... - </text> - <slider label="[DESC]" name="param slider"/> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_status_bar.xml b/indra/newview/skins/default/xui/nl/panel_status_bar.xml deleted file mode 100644 index 1d68d25f66e..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_status_bar.xml +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="status"> - <text name="ParcelNameText" tool_tip="Naam van het landperceel waar u staat. Klik voor 'Over land'."> - Hier komt de naam van het perceel - </text> - <text name="BalanceText" tool_tip="Account saldo"> - Laden... - </text> - <button label="" label_selected="" name="buycurrency" tool_tip="Koop valuta"/> - <text name="TimeText" tool_tip="Huidige tijd (Pacifisch)"> - -3 - </text> - <string name="StatBarDaysOfWeek"> - Zondag:Maandag:Dinsdag:Woensdag:Donderdag:Vrijdag:Zaterdag - </string> - <string name="StatBarMonthsOfYear"> - Januari:Februari:Maart:April:Mei:Juni:Juli:Augustus:September:Oktober:November:December - </string> - <button label="" label_selected="" name="scriptout" tool_tip="Script waarschuwingen en fouten"/> - <button label="" label_selected="" name="health" tool_tip="Letsel"/> - <text name="HealthText" tool_tip="Letsel"> - 1 - </text> - <button label="" label_selected="" name="no_fly" tool_tip="Vliegen niet toegestaan"/> - <button label="" label_selected="" name="no_build" tool_tip="Bouwen/rezzen niet toegestaan"/> - <button label="" label_selected="" name="no_scripts" tool_tip="Scripts niet toegestaan"/> - <button label="" label_selected="" name="restrictpush" tool_tip="Niet duwen"/> - <button label="" label_selected="" name="status_no_voice" tool_tip="Voice is niet beschikbaar hier"/> - <button label="" label_selected="" name="buyland" tool_tip="Koop dit perceel"/> - <line_editor label="Zoeken" name="search_editor" tool_tip="Doorzoek [SECOND_LIFE]"/> - <button label="" label_selected="" name="search_btn" tool_tip="Doorzoek [SECOND_LIFE]"/> - <string name="packet_loss_tooltip"> - Pakketten verlies - </string> - <string name="bandwidth_tooltip"> - Bandbreedte - </string> -</panel> diff --git a/indra/newview/skins/default/xui/nl/panel_world_map.xml b/indra/newview/skins/default/xui/nl/panel_world_map.xml deleted file mode 100644 index d9a0b66fbcc..00000000000 --- a/indra/newview/skins/default/xui/nl/panel_world_map.xml +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="world_map"> - <panel.string name="Loading"> - Laden... - </panel.string> - <panel.string name="InvalidLocation"> - Ongeldige Locatie - </panel.string> - <panel.string name="world_map_north"> - N - </panel.string> - <panel.string name="world_map_east"> - O - </panel.string> - <panel.string name="world_map_west"> - W - </panel.string> - <panel.string name="world_map_south"> - Z - </panel.string> - <panel.string name="world_map_southeast"> - ZO - </panel.string> - <panel.string name="world_map_northeast"> - NO - </panel.string> - <panel.string name="world_map_southwest"> - ZW - </panel.string> - <panel.string name="world_map_northwest"> - NW - </panel.string> - <text label="N" name="floater_map_north" text="N"> - N - </text> - <text label="O" name="floater_map_east" text="O"> - O - </text> - <text label="W" name="floater_map_west" text="W"> - W - </text> - <text label="Z" name="floater_map_south" text="Z"> - Z - </text> - <text label="ZO" name="floater_map_southeast" text="ZO"> - ZO - </text> - <text label="NO" name="floater_map_northeast" text="NO"> - NO - </text> - <text label="ZW" name="floater_map_southwest" text="ZW"> - ZW - </text> - <text label="NW" name="floater_map_northwest" text="NW"> - NW - </text> -</panel> diff --git a/indra/newview/skins/default/xui/nl/role_actions.xml b/indra/newview/skins/default/xui/nl/role_actions.xml deleted file mode 100644 index 1f0a6e42350..00000000000 --- a/indra/newview/skins/default/xui/nl/role_actions.xml +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<role_actions> - <action_set description="Deze Mogelijkheden regelen het toevoegen en verwijderen van Groepsleden, en om aan te geven dat nieuwe Leden lid kunnen worden zonder uitnodiging." name="Membership"> - <action description="Personen uitnodigen voor deze Groep" longdescription="Personen uitnodigen voor deze Groep door de 'Uitnodigen Nieuwe Leden...' knop in de leden & Rollen tab > Leden sub-tab." name="member invite"/> - <action description="Leden uit deze Groep zetten" longdescription="Leden uit deze Groep zetten door de 'Uit Groep Zetten' knop in de leden tab & Rollen tab > Leden sub-tab. Een Eigenaar kan iedereen uit de groep zetten behalve een andere Eigenaar. Als je geen Eigenaar bent, kan een Lid worden uitgezet als, en alleen als, het Lid deel uitmaakt van de Iedereen Rol, en NIET van andere Rollen. Om Leden uit Rollen te verwijderen, moet je de 'Leden uit Rollen Verwijderen' mogelijkheid hebben." name="member eject"/> - <action description="Selecteer 'Vrije Toegang' en wijzig 'Contibutie Bijdrage'" longdescription="Selecteer 'Vrije Toegang' zodat nieuwe Leden lid kunnen worden zonder uitnodiging, en wijzig 'Contributie Bijdrage' in de Groep Voorkeuren sectie van de Algemene tab." name="member options"/> - </action_set> - <action_set description="Deze Mogelijkheden regelen het toevoegen, verwijderen, en wijzigen van Groepsrollen, toevoegen en verwijderen van Leden in Rollen, en toewijzen van Mogelijkheden aan Rollen." name="Roles"> - <action description="Creëren nieuwe Rollen" longdescription="Creëren nieuwe Rollen in de Leden & Rollen tab > Rollen sub-tab." name="role create"/> - <action description="Verwijderen Rollen" longdescription="Verwijderen Rollen in de Leden & Rollen tab > Rollen sub-tab." name="role delete"/> - <action description="Wijzigen Rol-naam, titel, beschrijving, en of de Rol leden publiekelijk zichtbaar zijn" longdescription="Wijzigen Rol-naam, titel, beschrijving, en of de Rol leden publiekelijk zichtbaar zijn. Dit kan worden gedaan onderaan de de Leden & Rollen tab > Rollen sub-tab na de selectie van een rol." name="role properties"/> - <action description="Toewijzen Leden aan Toewijzers Rollen" longdescription="Toewijzen Leden aan Rollen in de Toegewezen Rollen sectie van de Leden & Rol tab > Leden sub-tab. Een Lid met deze Mogelijkheid kan alleen Leden toevoegen aan een Rol waartoe men zelf al behoort." name="role assign member limited"/> - <action description="Toewijzen Leden aan Alle Rollen" longdescription="Toewijzen van Leden aan Alle Rollen in the Toegewezen Rollen sectie van de Leden & Rollen tab > Leden sub-tab. *WAARSCHUWING* Ieder Lid in een Rol met deze Mogelijkheid kan zichzelf--en ieder ander niet-Eigenaar Lid--toewijzen aan rollen met meer rechten dan zijzelf op dat moment hebben, hierdoor ontstaat de mogelijkheid om zichzelf bijna-Eigenaar rechten toewijzen. Wees er zeker van en controleer voordat deze Mogelijkheid wordt toegekend." name="role assign member"/> - <action description="Verwijderen Leden uit Rollen" longdescription="Verwijderen Leden uit Rollen in the Toegewezen Rollen sectie van de Leden & Rollen tab > Leden sub-tab. Eigenaars kunnen niet worcen verwijderd." name="role remove member"/> - <action description="Toewijzen en Verwijderen Mogelijkheden in Rollen" longdescription="Toewijzen en Verwijderen Mogelijkheden in Rollen in de Toegestane Mogelijkheden van de Leden & Rollen tab > Leden sub-tab. *WAARSCHUWING* Ieder Lid in een Rol met deze Mogelijkheid kan kan zichzelf--en ieder ander niet-Eigenaar Lid--toewijzen aan rollen met meer rechten dan zijzelf op dat moment hebben, hierdoor ontstaat de mogelijkheid om zichzelf bijna-Eigenaar rechten toewijzen. Wees er zeker van en controleer voordat deze Mogelijkheid wordt toegekend." name="role change actions"/> - </action_set> - <action_set description="Deze Mogelijkheden regelen het wijzigen van de Groepsidentiteit, zoals het veranderen van publieke zichtbaarheid, charter en insigne." name="Group Identity"> - <action description="Wijzigen Charter, Insigne, en 'Toon in zoeken'" longdescription="Wijzigen Charter, Insigne, en 'Toon in zoeken'. Dit kan worden gedaan in de Algemeen tab." name="group change identity"/> - </action_set> - <action_set description="Deze Mogelijkheden regelen het overdragen, wijzigen, en verkopen van land dat in bezit is van deze groep. Om naar het Over Land venster te gaan, rechts-klik de grond selecteer 'Over Land...', of klik op de perceel info in de menubalk." name="Parcel Management"> - <action description="Land overdragen en land kopen voor groep" longdescription="Land overdragen en land kopen voor groep. Dit kan worden gedaan in Over Land > Algemeen tab." name="land deed"/> - <action description="Land overdragen aan Govenor Linden" longdescription="Land overdragen aan Govenor Linden. *WAARSCHUWING* Ieder Lid in een Rol met deze Mogelijkheid kan land in eigendom van de groep laten vervallen in Over Land > Algemeen tab, teruggeven in Linden eigendom zonder verkoop! Wees er zeker van en controleer voordat deze Mogelijkheid wordt toegekend." name="land release"/> - <action description="Activeer land te koop info" longdescription="Activeer land te koop info. *WAARSCHUWING* Ieder Lid in een Rol met deze Mogelijkheid kan land in eigendom van de groep verkopen in Over Land > Algemeen tab als ze dat willen! Wees er zeker van en controleer voordat deze Mogelijkheid wordt toegekend." name="land set sale info"/> - <action description="Opdelen en samenvoegen van percelen" longdescription="Opdelen en samenvoegen van percelen. Dit kan worden gedaan door rechts klikken op de grond, 'Terrein Bewerken, en de muis te slepen naar het land om een selectie te maken. Om te verdelen, selecteer wat je wil splitsen en klik 'Opdelen...'. Om samen te voegen, selecteer twee of meer aaneengesloten percelen en klik 'Samenvoegen...'." name="land divide join"/> - </action_set> - <action_set description="Deze Mogelijkheden regelen het veranderen van de perceelnaam en publicatie instelling, zichtbaarheid in 'Tonen in zoeken', en landingspunt & TP routering." name="Parcel Identity"> - <action description="Selecteer 'Tonen in zoeken' en instellen categorie" longdescription="Selecteer 'Tonen in zoeken' en instellen van de categorie voor een perceel in Over Land > Opties tab." name="land find places"/> - <action description="Veranderen perceel naam, omschrijving, en 'Tonen in zoeken' instellingen" longdescription="Veranderen perceel naam, omschrijving en 'Tonen in zoeken' instellingen. Dit kan worden gedaan in Overland > Opties tab." name="land change identity"/> - <action description="Instellen landingsplaats en instellen teleport routering" longdescription="Op een perceel in groepseigendom, Leden in een Rol met die mogelijkheid kunnen een landingsplaats instellen om te bepalen waar inkomende teleports aankomen, en ook een teleport routering instelling voor meer controle. Dit kan worden gedaan in About Land > Opties tab." name="land set landing point"/> - </action_set> - <action_set description="Deze Mogelijkheden regelen het aanpassen van perceel opties, zoals 'Maak Objecten', 'Bewerken Terrein', en muziek & media instellingen." name="Parcel Settings"> - <action description="Veranderen muziek & media instellingen" longdescription="Veranderen streaming muziek en film instellingen in Over Land> Media tab." name="land change media"/> - <action description="Instellen 'Bewerken Terrein'" longdescription="Instellen 'Bewerken Terrein'. *WAARSCHUWING* Over Land > Opties tab > Bewerken Terrein staat toe dat iedereen de vorm van het terrein kan aanpassen, en Linden planten kan plaatsen en verplaatsen. Wees er zeker van en controleer voordat deze Mogelijkheid wordt toegekend. Bewerken terrein kan worden aangezet in Over Land> Opties tab." name="land edit"/> - <action description="Instellen diversen Over Land > Optie instellingen" longdescription="Instellen 'Veilig (geen letsel)', 'Vliegen' and andere Inwoners toestaan om: 'Objecten te maken', 'Terrein te bewerken', en 'Scripts uit te voeren' op land in groepseigendom in Over Land > Opties tab." name="land options"/> - </action_set> - <action_set description="Deze Mogelijkheden regelend de toestemming voor leden om beperkingen te omzeilen op percelen in groepseigendom." name="Parcel Powers"> - <action description="'Bewerken Terrein' altijd toestaan" longdescription="Leden in een Rol met deze Mogelijkheid kunnen terrein bewerken op een perceel in groepseigendom, zelfs als de optie uitstaat in Over Land > Opties tab." name="land allow edit land"/> - <action description="'Vliegen' altijd toestaan" longdescription="Leden in een Rol met deze Mogelijkheid kunnen vliegen op een perceel in groepseigendom, zelfs als de optie uitstaat in Over Land > Opties tab." name="land allow fly"/> - <action description="'Maak Objecten' altijd toestaan" longdescription="Leden in een Rol met deze Mogelijkheid kunnen objecten maken op een perceel in groepseigendom, zelfs als de optie uitstaat in Over Land > Opties tab." name="land allow create"/> - <action description="'Maak Landmarkering' altijd toestaan" longdescription="Leden in een Rol met deze Mogelijkheid kunnen een landmarkering maken op een perceel in groepseigendom, zelfs als de optie uitstaat in Over Land > Opties tab." name="land allow landmark"/> - <action description="Toestaan 'Thuis hier Instellen' op land in groepseigendom" longdescription="Leden in een Rol met deze Mogelijkheid kunnen gebruik maken van Wereld menu > Thuis hier Instellen op een perceel afgestaan aan deze groep." name="land allow set home"/> - </action_set> - <action_set description="Deze Mogelijkheden regelen het toestaan of beperken van toegang van percelen in groepseigendom, inclusief het bevriezen en verbannen van Inwoners." name="Parcel Access"> - <action description="Beheren perceel Toegang lijsten" longdescription="Beheren perceel Toegang lijsten in Over Land > Toegang tab." name="land manage allowed"/> - <action description="Beheren perceel Verbannen lijst" longdescription="Beheren perceel Verbannen lijst in Over Land > Verbannen tab." name="land manage banned"/> - <action description="Veranderen perceel 'Verkoop toegangspassen...' instellingen" longdescription="Verandere perceel 'Verkoop toegangspassen...'instellingen" name="land manage passes"/> - <action description="Uitwerpen en bevriezen Inwoners op percelen" longdescription="Leden in een Rol met deze mogelijkheid kunnen een onwelkome Inwoners aanpakken op een perceel in groepseigendom door een rechter-klik op deze inwoner > en 'Uitwerpen...'of 'Bevriezen...'te selecteren." name="land admin"/> - </action_set> - <action_set description="Deze Mogelijkheden regelen de toestemming voor leden om objecten te retourneren en Linden planten te plaatsen en te verplaatsen. Dit is nuttig voor Leden om rommel op te ruimen en landschappen te maken, echter het moet ook met omzichtigheid worden gebruikt, omdat er geen herstelfunktie is voor retourneren objecten." name="Parcel Content"> - <action description="Retourneren objecten in groepseigendom" longdescription="Retourneren van objecten die in eigendom zijn van de groep op percelen in groepseigendom in Over Land > Objecten tab." name="land return group owned"/> - <action description="Retourneren objecten toegewezen aan de groep" longdescriotion="Retourneren van objecten die aan de groep zijn toegewezen op percelen in groepseigendom in Over Land > Objecten tab." name="land return group set"/> - <action description="Retourneren objecten die niet van de groep zijn" longdescription="Retourneren objecten die niet van de groep zijn op percelen in groepeigendom in Over Land > Objecten tab." name="land return non group"/> - <action description="Landschappen maken met Linden planten" longdescription="Landschappen maken om Linden bomen, planten en grassen te plaatsen en te verplaatsen. Deze opties zijn te vinden in de inventaris Library > Objects folder of ze kunnen worden gemaakt via de Bouwen knop." name="land gardening"/> - </action_set> - <action_set description="Deze Mogelijkheden regelen het afstaan, wijzigen, en verkopen van objecten in groepseigendom. Deze veranderingen worden gedaan in Bewerken Gereedschap > Algemeen tab. Rechts-klik een object en selecteer Bewerken om de instellingen ervan te bekijken." name="Object Management"> - <action description="Overdragen objecten aan groep" longdescription="Overdragen objecten aan groep in de Bewerkings Hulpmiddelen > Algemeen tab." name="object deed"/> - <action description="Manipuleren (verplaatsen, copieren, wijzigen) van objecten in groepseigendom" longdescription="Manipuleren (verplaatsen, copieren, wijzigen) van objecten in groepseigendom in de Bewerkings Hulpmiddelen > Algemeen tab." name="object manipulate"/> - <action description="Te koop zetten van objecten in groepseigendom" longdescription="Te koop zetten van objecten in groepseigendom in de Bewerkings Hulpmiddelen > Algemeen tab." name="object set sale"/> - </action_set> - <action_set description="Deze Mogelijkheden regelen dat Leden groepsverplichtingen betalen en groepsdividenden ontvangen, en toegang beperken tot de financiele historie van de groep." name="Accounting"> - <action description="Betalen groepsverplichtingen en ontvangen van groepsdividenden" longdescription="Leden in een Rol met deze mogelijkheid betalen groepsverplichtingen en ontvangen groepsdividenden automatisch. Dit betekent dat ze een deel ontvangen van de verkoop van land in groepseigendom die dagelijks worden verdeeld, maar ook dat ze bijdragen aan zaken zoals lijstbijdrage voor het perceel." name="accounting accountable"/> - </action_set> - <action_set description="Deze Mogelijkheden regelen de toestemming dat Leden Groepsberichten kunnen versturen, ontvangen en inzien." name="Notices"> - <action description="Versturen Berichten" longdescription="Leden in een Rol met deze Mogelijkheid kunnen Berichten versturen in Groep Informatie > Berichten tab." name="notices send"/> - <action description="Ontvangen Berichten en inzien van oude Berichten" longdescription="Leden in een Rol met deze Mogelijkheid kunnen Berichten ontvangen en oude Berichten inzien in Groep Informatie > Berichten tab." name="notices receive"/> - </action_set> - <action_set description="Deze Mogelijkheden regelen de toestemming dat Leden Voorstellen kunnen maken, Voorstellen kunnen inzien, en het stemverloop kunnen bekijken." name="Proposals"> - <action description="Maken Voorstellen" longdescription="Leden in een Rol met deze Mogelijkheid kunnen Voorstellen maken waarop kan worden gestemd in Groep Informatie > Voorstellen tab." name="proposal start"/> - <action description="Stemmen op Voorstellen" longdescription="Leden in een Rol met deze Mogelijkheid kunnen stemmen op Voorstellen in Groep Informatie > Voorstellen tab." name="proposal vote"/> - </action_set> - <action_set description="Deze Mogelijkheden regelen de toegang (en de beperking ervan) tot groep chat sessies en groep voice chat." name="Chat"> - <action description="Deelname aan Groep Chat" longdescription="Leden in een Rol met deze Mogelijkheid kunnen deelnemen aan groep chat sessies, zowel voor tekst als voice." name="join group chat"/> - <action description="Deelname aan Groep Voice Chat" longdescription="Leden in een Rol met deze Mogelijkheid kunnen deelnemen aan groep voice chat sessies. OPMERKING: De Deelname Group Chat is vereist om toegang te krijgen to de voice chat sessie." name="join voice chat"/> - <action description="Modereren Groep Chat" longdescription="Leden in een Rol met deze Mogelijkheid kunnen toegang en deelname controleren in groep voice en tekst chat sessies." name="moderate group chat"/> - </action_set> -</role_actions> \ No newline at end of file diff --git a/indra/newview/skins/default/xui/nl/strings.xml b/indra/newview/skins/default/xui/nl/strings.xml deleted file mode 100644 index ca6b8eb521b..00000000000 --- a/indra/newview/skins/default/xui/nl/strings.xml +++ /dev/null @@ -1,3247 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- This file contains strings that used to be hardcoded in the source. - It is only for those strings which do not belong in a floater. - For example, the strings used in avatar chat bubbles, and strings - that are returned from one component and may appear in many places--> -<strings> - <string name="SUPPORT_SITE"> - Second Life Ondersteunings Portaal - </string> - <string name="StartupDetectingHardware"> - Detecteert hardware... - </string> - <string name="StartupLoading"> - Laden - </string> - <string name="LoginInProgress"> - Inloggen. Het kan lijken dat [APP_NAME] is vastgelopen. Wacht u alstublieft... . - </string> - <string name="LoginInProgressNoFrozen"> - Inloggen... - </string> - <string name="LoginAuthenticating"> - Authenticeren - </string> - <string name="LoginMaintenance"> - Account onderhoud wordt uitgevoerd... - </string> - <string name="LoginAttempt"> - Vorige loginpoging is mislukt. Inloggen, poging [NUMBER] - </string> - <string name="LoginPrecaching"> - Wereld laden... - </string> - <string name="LoginInitializingBrowser"> - Geïntegreerde web browser initialiseren... - </string> - <string name="LoginInitializingMultimedia"> - Multimedia initialiseren... - </string> - <string name="LoginInitializingFonts"> - Lettertypen laden... - </string> - <string name="LoginVerifyingCache"> - Veriveren cache bestanden (kan 60-90 seconden duren)... - </string> - <string name="LoginProcessingResponse"> - Reactie Verwerken... - </string> - <string name="LoginInitializingWorld"> - Wereld initialiseren... - </string> - <string name="LoginDecodingImages"> - Afbeeldingen decoderen... - </string> - <string name="LoginInitializingQuicktime"> - QuickTime initialiseren... - </string> - <string name="LoginQuicktimeNotFound"> - QuickTime niet gevonden - kan niet initialiseren. - </string> - <string name="LoginQuicktimeOK"> - QuickTime succesvol geïnitialiseerd. - </string> - <string name="LoginWaitingForRegionHandshake"> - Wachten op overeenstemming met regio... - </string> - <string name="LoginConnectingToRegion"> - Verbinden met regio... - </string> - <string name="LoginDownloadingClothing"> - Kleding downloaden... - </string> - <string name="LoginFailedNoNetwork"> - Netwerk Fout: Kon geen verbinding maken, kijk uw nerwerk connectie na alstublieft. - </string> - <string name="Quit"> - Afsluiten - </string> - <string name="create_account_url"> - http://join.secondlife.com/index.php?lang=nl-NL - </string> - <string name="AgentLostConnection"> - Deze regio kan problemen ondervinden. Controleer alstublieft uw verbinding met het internet. - </string> - <string name="TooltipPerson"> - Persoon - </string> - <string name="TooltipNoName"> - (geen naam) - </string> - <string name="TooltipOwner"> - Eigenaar: - </string> - <string name="TooltipPublic"> - Openbaar - </string> - <string name="TooltipIsGroup"> - (Groep) - </string> - <string name="TooltipForSaleL$"> - Te koop: L$[AMOUNT] - </string> - <string name="TooltipFlagGroupBuild"> - Groep bouwen - </string> - <string name="TooltipFlagNoBuild"> - Niet bouwen - </string> - <string name="TooltipFlagNoEdit"> - Groep bouwen - </string> - <string name="TooltipFlagNotSafe"> - Niet veilig - </string> - <string name="TooltipFlagNoFly"> - Niet vliegen - </string> - <string name="TooltipFlagGroupScripts"> - Groep scripts - </string> - <string name="TooltipFlagNoScripts"> - Geen scripts - </string> - <string name="TooltipLand"> - Land: - </string> - <string name="TooltipMustSingleDrop"> - Slechts een enkel item kan hier naartoe gesleept worden - </string> - <string name="TooltipHttpUrl"> - Klik om deze web pagina te bekijken - </string> - <string name="TooltipSLURL"> - Klik om deze locatie informatie te bekijken - </string> - <string name="TooltipAgentUrl"> - Klik om deze inwoner zijn profiel te bekijken - </string> - <string name="TooltipGroupUrl"> - Klik om deze groeps informatie te bekijken - </string> - <string name="TooltipEventUrl"> - Klik om deze evenement informatie te bekijken - </string> - <string name="TooltipClassifiedUrl"> - Klik om deze advertentie te bekijken - </string> - <string name="TooltipParcelUrl"> - Klik om deze perceel informatie te bekijken - </string> - <string name="TooltipTeleportUrl"> - Klik om naar deze lokatie te teleporteren - </string> - <string name="TooltipObjectIMUrl"> - Klik om deze object informatie te bekijken - </string> - <string name="TooltipMapUrl"> - Klik om deze locatie op een map te bekijken - </string> - <string name="TooltipSLAPP"> - Klik om het secondlife:// commando te starten - </string> - <string name="CurrentURL" value="HuidigeURL: [HuidigeURL]"/> - <string name="SLurlLabelTeleport"> - Teleporteer naar - </string> - <string name="SLurlLabelShowOnMap"> - Toon Map voor - </string> - <string name="BUTTON_CLOSE_DARWIN"> - Sluiten (⌘W) - </string> - <string name="BUTTON_CLOSE_WIN"> - Sluiten (Ctrl+W) - </string> - <string name="BUTTON_RESTORE"> - Restore - </string> - <string name="BUTTON_MINIMIZE"> - Minimaliseren - </string> - <string name="BUTTON_TEAR_OFF"> - Afscheuren - </string> - <string name="BUTTON_DOCK"> - Koppelen - </string> - <string name="BUTTON_UNDOCK"> - Loskoppelen - </string> - <string name="BUTTON_HELP"> - Toon Help - </string> - <string name="Searching"> - Zoeken... - </string> - <string name="NoneFound"> - Geen gevonden. - </string> - <string name="RetrievingData"> - Ophalen... - </string> - <string name="ReleaseNotes"> - Release Notes - </string> - <string name="LoadingData"> - Laden... - </string> - <string name="AvatarNameNobody"> - (niemand) - </string> - <string name="AvatarNameWaiting"> - (wachten) - </string> - <string name="AvatarNameHippos"> - (hippos) - </string> - <string name="GroupNameNone"> - (geen) - </string> - <string name="AssetErrorNone"> - Geen fout - </string> - <string name="AssetErrorRequestFailed"> - Asset verzoek: mislukt - </string> - <string name="AssetErrorNonexistentFile"> - Asset verzoek: niet-bestaand bestand - </string> - <string name="AssetErrorNotInDatabase"> - Asset verzoek: asset niet gevonden in de database - </string> - <string name="AssetErrorEOF"> - Einde van bestand - </string> - <string name="AssetErrorCannotOpenFile"> - Kan bestand niet openen - </string> - <string name="AssetErrorFileNotFound"> - Bestand niet gevonden - </string> - <string name="AssetErrorTCPTimeout"> - Bestandsoverdracht time-out - </string> - <string name="AssetErrorCircuitGone"> - Circuit verdwenen - </string> - <string name="AssetErrorPriceMismatch"> - Viewer en server zijn het niet eens over de prijs. - </string> - <string name="AssetErrorUnknownStatus"> - Onbekende status - </string> - <string name="texture"> - textuur - </string> - <string name="sound"> - geluid - </string> - <string name="calling card"> - visitekaart - </string> - <string name="landmark"> - landmarkering - </string> - <string name="legacy script"> - legacy script - </string> - <string name="clothing"> - kleding - </string> - <string name="object"> - object - </string> - <string name="note card"> - notecard - </string> - <string name="folder"> - map - </string> - <string name="root"> - root - </string> - <string name="lsl2 script"> - LSL2 script - </string> - <string name="lsl bytecode"> - LSL bytecode - </string> - <string name="tga texture"> - tga textuur - </string> - <string name="body part"> - lichaamsdeel - </string> - <string name="snapshot"> - foto - </string> - <string name="lost and found"> - Verloren en Gevonden - </string> - <string name="targa image"> - targa plaatje - </string> - <string name="trash"> - Prullenbak - </string> - <string name="jpeg image"> - jpeg plaatje - </string> - <string name="animation"> - animatie - </string> - <string name="gesture"> - gebaar - </string> - <string name="simstate"> - simstate - </string> - <string name="favorite"> - favorieten - </string> - <string name="symbolic link"> - link - </string> - <string name="AvatarAway"> - Afwezig - </string> - <string name="AvatarBusy"> - Bezet - </string> - <string name="AvatarMuted"> - Genegeerd - </string> - <string name="anim_express_afraid"> - Bang - </string> - <string name="anim_express_anger"> - Boos - </string> - <string name="anim_away"> - Afwezig - </string> - <string name="anim_backflip"> - Salto achterwaarts - </string> - <string name="anim_express_laugh"> - Daverende lach - </string> - <string name="anim_express_toothsmile"> - Grote lach - </string> - <string name="anim_blowkiss"> - Blaas kus - </string> - <string name="anim_express_bored"> - Verveeld - </string> - <string name="anim_bow"> - Buigen - </string> - <string name="anim_clap"> - Klappen - </string> - <string name="anim_courtbow"> - Hof buiging - </string> - <string name="anim_express_cry"> - Huilen - </string> - <string name="anim_dance1"> - Dansen 1 - </string> - <string name="anim_dance2"> - Dansen 2 - </string> - <string name="anim_dance3"> - Dansen 3 - </string> - <string name="anim_dance4"> - Dansen 4 - </string> - <string name="anim_dance5"> - Dansen 5 - </string> - <string name="anim_dance6"> - Dansen 6 - </string> - <string name="anim_dance7"> - Dansen 7 - </string> - <string name="anim_dance8"> - Dansen 8 - </string> - <string name="anim_express_disdain"> - Minachting - </string> - <string name="anim_drink"> - Drinken - </string> - <string name="anim_express_embarrased"> - Beschaamd - </string> - <string name="anim_angry_fingerwag"> - Vinger opsteken - </string> - <string name="anim_fist_pump"> - Vuist pompen - </string> - <string name="anim_yoga_float"> - Zwevende Yoga - </string> - <string name="anim_express_frown"> - Fronsen - </string> - <string name="anim_impatient"> - Ongeduldig - </string> - <string name="anim_jumpforjoy"> - Vreugdesprong - </string> - <string name="anim_kissmybutt"> - Kus mijn reet - </string> - <string name="anim_express_kiss"> - Kussen - </string> - <string name="anim_laugh_short"> - Lachen - </string> - <string name="anim_musclebeach"> - Spieren tonen - </string> - <string name="anim_no_unhappy"> - Nee (ongelukkig) - </string> - <string name="anim_no_head"> - Nee - </string> - <string name="anim_nyanya"> - Nya-nya-nya - </string> - <string name="anim_punch_onetwo"> - Een-twee stomp - </string> - <string name="anim_express_open_mouth"> - Open mond - </string> - <string name="anim_peace"> - Vrede - </string> - <string name="anim_point_you"> - Wijzen naar ander - </string> - <string name="anim_point_me"> - Wijzen naar jezelf - </string> - <string name="anim_punch_l"> - Stomp links - </string> - <string name="anim_punch_r"> - Stomp rechts - </string> - <string name="anim_rps_countdown"> - SPS tellen - </string> - <string name="anim_rps_paper"> - SPS papier - </string> - <string name="anim_rps_rock"> - SPS steen - </string> - <string name="anim_rps_scissors"> - SPS schaar - </string> - <string name="anim_express_repulsed"> - Afkeer - </string> - <string name="anim_kick_roundhouse_r"> - Ronddraaiende trap - </string> - <string name="anim_express_sad"> - Droevig - </string> - <string name="anim_salute"> - Groet - </string> - <string name="anim_shout"> - Roepen - </string> - <string name="anim_express_shrug"> - Schouders ophalen - </string> - <string name="anim_express_smile"> - Glimlachen - </string> - <string name="anim_smoke_idle"> - Roken inactief - </string> - <string name="anim_smoke_inhale"> - Roken inhaleren - </string> - <string name="anim_smoke_throw_down"> - Roken neergooien - </string> - <string name="anim_express_surprise"> - Verrassing - </string> - <string name="anim_sword_strike_r"> - Zwaardslag - </string> - <string name="anim_angry_tantrum"> - Woedeaanval - </string> - <string name="anim_express_tongue_out"> - Tong uitsteken - </string> - <string name="anim_hello"> - Zwaaien - </string> - <string name="anim_whisper"> - Fluisteren - </string> - <string name="anim_whistle"> - Fluiten - </string> - <string name="anim_express_wink"> - Knipogen - </string> - <string name="anim_wink_hollywood"> - Knipogen (Hollywood) - </string> - <string name="anim_express_worry"> - Bezorgd - </string> - <string name="anim_yes_happy"> - Ja (vrolijk) - </string> - <string name="anim_yes_head"> - Ja - </string> - <string name="texture_loading"> - Laden... - </string> - <string name="worldmap_offline"> - Off line - </string> - <string name="worldmap_results_none_found"> - Geen gevonden. - </string> - <string name="Ok"> - OK - </string> - <string name="Premature end of file"> - Vroegtijdig eind van bestand - </string> - <string name="ST_NO_JOINT"> - Kan niet ROOT of JOINT vinden. - </string> - <string name="whisper"> - fluistert: - </string> - <string name="shout"> - schreeuwt: - </string> - <string name="ringing"> - Verbinden met in-wereld voice chat... - </string> - <string name="connected"> - Verbonden - </string> - <string name="unavailable"> - Voice is niet beschikbaar op uw huidige locatie - </string> - <string name="hang_up"> - Verbinding met in-wereld voicechat verbroken - </string> - <string name="ScriptQuestionCautionChatGranted"> - '[OBJECTNAME]', een object van '[OWNERNAME]', gevestigd in [REGIONNAME] op [REGIONPOS], is toestemming verleend om te: [PERMISSIONS]. - </string> - <string name="ScriptQuestionCautionChatDenied"> - '[OBJECTNAME]', een object van '[OWNERNAME]', gevestigd in [REGIONNAME] op [REGIONPOS], is toestemming geweigerd om te: [PERMISSIONS]. - </string> - <string name="ScriptTakeMoney"> - Linden dollars (L$) van u wegnemen - </string> - <string name="ActOnControlInputs"> - Acteren op uw bedieningsinvoer - </string> - <string name="RemapControlInputs"> - Uw bedieningsinvoer herdefiniëren - </string> - <string name="AnimateYourAvatar"> - Animeer uw avatar - </string> - <string name="AttachToYourAvatar"> - Bevestig aan uw avatar - </string> - <string name="ReleaseOwnership"> - Eigendom vrijgeven en openbaar worden - </string> - <string name="LinkAndDelink"> - Koppelen met en ontkoppelen van andere objecten - </string> - <string name="AddAndRemoveJoints"> - Toevoegen en verwijderen koppelingen met andere objecten - </string> - <string name="ChangePermissions"> - Wijzig zijn permissies - </string> - <string name="TrackYourCamera"> - Volg uw camera - </string> - <string name="ControlYourCamera"> - Bedien uw camera - </string> - <string name="SIM_ACCESS_PG"> - PG - </string> - <string name="SIM_ACCESS_MATURE"> - Mature - </string> - <string name="SIM_ACCESS_ADULT"> - Adult - </string> - <string name="SIM_ACCESS_DOWN"> - Offline - </string> - <string name="SIM_ACCESS_MIN"> - Onbekend - </string> - <string name="land_type_unknown"> - (onbekend) - </string> - <string name="all_files"> - Alle bestanden - </string> - <string name="sound_files"> - Geluiden - </string> - <string name="animation_files"> - Animaties - </string> - <string name="image_files"> - Afbeeldingen - </string> - <string name="save_file_verb"> - Opslaan - </string> - <string name="load_file_verb"> - Laden - </string> - <string name="targa_image_files"> - Targa afbeeldingen - </string> - <string name="bitmap_image_files"> - Bitmap afbeeldingen - </string> - <string name="avi_movie_file"> - AVI Film bestand - </string> - <string name="xaf_animation_file"> - XAF Anim bestand - </string> - <string name="xml_file"> - XML bestand - </string> - <string name="raw_file"> - RAW bestand - </string> - <string name="compressed_image_files"> - Gecomprimeerde afbeeldingen - </string> - <string name="load_files"> - Laad bestanden - </string> - <string name="choose_the_directory"> - Kies folder - </string> - <string name="AvatarSetNotAway"> - Niet Afwezig Instellen - </string> - <string name="AvatarSetAway"> - Afwezig Instellen - </string> - <string name="AvatarSetNotBusy"> - Niet Bezig Instellen - </string> - <string name="AvatarSetBusy"> - Bezig Instellen - </string> - <string name="shape"> - Postuur - </string> - <string name="skin"> - Huid - </string> - <string name="hair"> - Haar - </string> - <string name="eyes"> - Ogen - </string> - <string name="shirt"> - Hemd - </string> - <string name="pants"> - Broek - </string> - <string name="shoes"> - Schoenen - </string> - <string name="socks"> - Sokken - </string> - <string name="jacket"> - Jas - </string> - <string name="gloves"> - Handschoenen - </string> - <string name="undershirt"> - onderhemd - </string> - <string name="underpants"> - Onderbroek - </string> - <string name="skirt"> - Rok - </string> - <string name="alpha"> - Alpha - </string> - <string name="tattoo"> - Tattoo - </string> - <string name="invalid"> - ongeldig - </string> - <string name="next"> - Volgende - </string> - <string name="ok"> - OK - </string> - <string name="GroupNotifyGroupNotice"> - Groep Mededeling - </string> - <string name="GroupNotifyGroupNotices"> - Groep Mededelingen - </string> - <string name="GroupNotifySentBy"> - Verzonden Door: - </string> - <string name="GroupNotifyAttached"> - Bijgevoegt: - </string> - <string name="GroupNotifyViewPastNotices"> - Bekijk alle mededelingen en bijlages van verzonden Mededelingen in het verleden - </string> - <string name="GroupNotifyOpenAttachment"> - Open Bijlage - </string> - <string name="GroupNotifySaveAttachment"> - Sla Bijlage Op - </string> - <string name="TeleportOffer"> - Teleporteer Aanbieding - </string> - <string name="StartUpNotification"> - [%d] Nieuwe mededelingen aangekomen terwijl u weg was ... - </string> - <string name="StartUpNotifications"> - [%d] Nieuwe mededelingen aangekomen terwijl u weg was ... - </string> - <string name="OverflowInfoChannelString"> - U heeft [%d] meer mededelingen - </string> - <string name="BodyPartsRightArm"> - Rechter Arm - </string> - <string name="BodyPartsHead"> - Hoofd - </string> - <string name="BodyPartsLeftArm"> - Linker Arm - </string> - <string name="BodyPartsLeftLeg"> - Linker Been - </string> - <string name="BodyPartsTorso"> - Torso - </string> - <string name="BodyPartsRightLeg"> - Rechter Been - </string> - <string name="GraphicsQualityLow"> - Laag - </string> - <string name="GraphicsQualityMid"> - Middel - </string> - <string name="GraphicsQualityHigh"> - Hoog - </string> - <string name="LeaveMouselook"> - Druk op ESC om terug te keren naar Wereld Zicht - </string> - <string name="InventoryNoMatchingItems"> - Geen overeenkomende objecten gevonden in de voorraad. - </string> - <string name="InventoryNoTexture"> - Je hebt geen kopie van deze texture in je inventaris - </string> - <string name="no_transfer" value="(no transfer)"/> - <string name="no_modify" value="(no modify)"/> - <string name="no_copy" value="(no copy)"/> - <string name="worn" value="(worn)"/> - <string name="link" value="(link)"/> - <string name="broken_link" value="(broken_link)""/> - <string name="LoadingContents"> - Loading contents... - </string> - <string name="NoContents"> - No contents - </string> - <string name="WornOnAttachmentPoint" value="(worn on [ATTACHMENT_POINT])"/> - <string name="Chat" value="Chat :"/> - <string name="Sound" value="Geluid :"/> - <string name="Wait" value="--- Wachten :"/> - <string name="AnimFlagStop" value="Stop Animatie :"/> - <string name="AnimFlagStart" value="Start Animatie :"/> - <string name="Wave" value="Wave"/> - <string name="HelloAvatar" value="Hallo, avatar!"/> - <string name="ViewAllGestures" value="Bekijk alles >"/> - <string name="Animations" value="Animaties,"/> - <string name="Calling Cards" value="Calling Cards,"/> - <string name="Clothing" value="Kleding,"/> - <string name="Gestures" value="Gestures,"/> - <string name="Landmarks" value="Landmarks,"/> - <string name="Notecards" value="Notecards,"/> - <string name="Objects" value="Objecten,"/> - <string name="Scripts" value="Scripts,"/> - <string name="Sounds" value="Geluiden,"/> - <string name="Textures" value="Textures,"/> - <string name="Snapshots" value="Snapshots,"/> - <string name="No Filters" value="Nee"/> - <string name="Since Logoff" value="- Sinds Afmelden"/> - <string name="InvFolder My Inventory"> - Mijn Inventaris - </string> - <string name="InvFolder Library"> - Bibliotheek - </string> - <string name="InvFolder Textures"> - Textures - </string> - <string name="InvFolder Sounds"> - Geluiden - </string> - <string name="InvFolder Calling Cards"> - Calling Cards - </string> - <string name="InvFolder Landmarks"> - Landmarks - </string> - <string name="InvFolder Scripts"> - Scripts - </string> - <string name="InvFolder Clothing"> - Kleding - </string> - <string name="InvFolder Objects"> - Objecten - </string> - <string name="InvFolder Notecards"> - Notecards - </string> - <string name="InvFolder New Folder"> - Nieuwe Map - </string> - <string name="InvFolder Inventory"> - Inventaris - </string> - <string name="InvFolder Uncompressed Images"> - Ongecomprimeerde Afbeeldingen - </string> - <string name="InvFolder Body Parts"> - Lichaams Delen - </string> - <string name="InvFolder Trash"> - Afval - </string> - <string name="InvFolder Photo Album"> - Foto Album - </string> - <string name="InvFolder Lost And Found"> - Verloren en Gevonden - </string> - <string name="InvFolder Uncompressed Sounds"> - Ongecomprimeerde Geluiden - </string> - <string name="InvFolder Animations"> - Animaties - </string> - <string name="InvFolder Gestures"> - Gebaren - </string> - <string name="InvFolder Favorite"> - Mijn Favorieten - </string> - <string name="InvFolder favorite"> - Mijn Favorieten - </string> - <string name="InvFolder Current Outfit"> - Huidige Uitrusting - </string> - <string name="InvFolder My Outfits"> - Mijn Uitrustingen - </string> - <string name="InvFolder Friends"> - Vrienden - </string> - <string name="InvFolder All"> - Alles - </string> - <string name="Buy"> - Koop - </string> - <string name="BuyforL$"> - Koop voor L$ - </string> - <string name="Stone"> - Steen - </string> - <string name="Metal"> - Metaal - </string> - <string name="Glass"> - Glas - </string> - <string name="Wood"> - Hout - </string> - <string name="Flesh"> - Vlees - </string> - <string name="Plastic"> - Plastic - </string> - <string name="Rubber"> - Rubber - </string> - <string name="Light"> - Licht - </string> - <string name="KBShift"> - Shift - </string> - <string name="KBCtrl"> - Ctrl - </string> - <string name="Chest"> - Borstkas - </string> - <string name="Skull"> - Schedel - </string> - <string name="Left Shoulder"> - Linker Schouder - </string> - <string name="Right Shoulder"> - Rechter Schouder - </string> - <string name="Left Hand"> - Linker Hand - </string> - <string name="Right Hand"> - Rechter Hand - </string> - <string name="Left Foot"> - Linker Voet - </string> - <string name="Right Foot"> - Rechter Voet - </string> - <string name="Spine"> - Ruggegraat - </string> - <string name="Pelvis"> - Bekken - </string> - <string name="Mouth"> - Mond - </string> - <string name="Chin"> - Kin - </string> - <string name="Left Ear"> - Linker Oor - </string> - <string name="Right Ear"> - Rechter Oor - </string> - <string name="Left Eyeball"> - Linker Oogbal - </string> - <string name="Right Eyeball"> - Rechter Oogbal - </string> - <string name="Nose"> - Neus - </string> - <string name="R Upper Arm"> - R Boven Arm - </string> - <string name="R Forearm"> - R Onder Arm - </string> - <string name="L Upper Arm"> - L Boven Arm - </string> - <string name="L Forearm"> - L Onder Arm - </string> - <string name="Right Hip"> - Rechter Heup - </string> - <string name="R Upper Leg"> - R Boven Been - </string> - <string name="R Lower Leg"> - R Onder Been - </string> - <string name="Left Hip"> - Linker Heub - </string> - <string name="L Upper Leg"> - L Boven Been - </string> - <string name="L Lower Leg"> - L Onder Been - </string> - <string name="Stomach"> - Maag - </string> - <string name="Left Pec"> - Left Pec - </string> - <string name="Right Pec"> - Right Pec - </string> - <string name="YearsMonthsOld"> - [AGEYEARS] [AGEMONTHS] oud - </string> - <string name="YearsOld"> - [AGEYEARS] oud - </string> - <string name="MonthsOld"> - [AGEMONTHS] oud - </string> - <string name="WeeksOld"> - [AGEWEEKS] oud - </string> - <string name="DaysOld"> - [AGEDAYS] oud - </string> - <string name="TodayOld"> - Vandaag toegetreden - </string> - <string name="AgeYearsA"> - [COUNT] jaar - </string> - <string name="AgeYearsB"> - [COUNT] jaar - </string> - <string name="AgeYearsC"> - [COUNT] jaar - </string> - <string name="AgeMonthsA"> - [COUNT] maand - </string> - <string name="AgeMonthsB"> - [COUNT] maanden - </string> - <string name="AgeMonthsC"> - [COUNT] maanden - </string> - <string name="AgeWeeksA"> - [COUNT] week - </string> - <string name="AgeWeeksB"> - [COUNT] weken - </string> - <string name="AgeWeeksC"> - [COUNT] weken - </string> - <string name="AgeDaysA"> - [COUNT] dag - </string> - <string name="AgeDaysB"> - [COUNT] dagen - </string> - <string name="AgeDaysC"> - [COUNT] dagen - </string> - <string name="GroupMembersA"> - [COUNT] lid - </string> - <string name="GroupMembersB"> - [COUNT] leden - </string> - <string name="GroupMembersC"> - [COUNT] leden - </string> - <string name="AcctTypeResident"> - bewoner - </string> - <string name="AcctTypeTrial"> - Trial - </string> - <string name="AcctTypeCharterMember"> - Charter Member - </string> - <string name="AcctTypeEmployee"> - Linden Lab Werknemer - </string> - <string name="PaymentInfoUsed"> - Betalings info gebruikt - </string> - <string name="PaymentInfoOnFile"> - Betalings info op bestand - </string> - <string name="NoPaymentInfoOnFile"> - Geen betalings info op bestand - </string> - <string name="AgeVerified"> - Leeftijd gecontroleerd - </string> - <string name="NotAgeVerified"> - Niet leeftijd gecontroleerd - </string> - <string name="Center 2"> - Centrum 2 - </string> - <string name="Top Right"> - Rechts Boven - </string> - <string name="Top"> - Boven - </string> - <string name="Top Left"> - Links Boven - </string> - <string name="Center"> - Centrum - </string> - <string name="Bottom Left"> - Links beneden - </string> - <string name="Bottom"> - Beneden - </string> - <string name="Bottom Right"> - Rechts beneden - </string> - <string name="CompileQueueDownloadedCompiling"> - Dedownload, nu samenstellen - </string> - <string name="CompileQueueScriptNotFound"> - Script niet gevonden op server. - </string> - <string name="CompileQueueProblemDownloading"> - Problem downloading - </string> - <string name="CompileQueueInsufficientPermDownload"> - Onvoldoende rechten om een script te downloaden. - </string> - <string name="CompileQueueInsufficientPermFor"> - Onvoldoende rechten voor - </string> - <string name="CompileQueueUnknownFailure"> - Onbekende fout te downloaden - </string> - <string name="CompileQueueTitle"> - Hercompilatie vooruitgang - </string> - <string name="CompileQueueStart"> - Hercompilatie - </string> - <string name="ResetQueueTitle"> - Reset Vooruitgang - </string> - <string name="ResetQueueStart"> - reset - </string> - <string name="RunQueueTitle"> - Set Running Progress - </string> - <string name="RunQueueStart"> - set running - </string> - <string name="NotRunQueueTitle"> - Set Not Running Progress - </string> - <string name="NotRunQueueStart"> - set not running - </string> - <string name="CompileSuccessful"> - Compileren succesvol! - </string> - <string name="CompileSuccessfulSaving"> - Compileren succesvol, opslaan... - </string> - <string name="SaveComplete"> - Opslaan gereed. - </string> - <string name="ObjectOutOfRange"> - Script (object buiten het bereik) - </string> - <string name="GodToolsObjectOwnedBy"> - Object [OBJECT] eigendom van [OWNER] - </string> - <string name="GroupsNone"> - geen - </string> - <string name="Group" value="(group)"/> - <string name="Unknown"> - (Unknown) - </string> - <string name="SummaryForTheWeek" value="Samenvatting voor deze week, vanaf "/> - <string name="NextStipendDay" value=". The next stipend day is "/> - <string name="GroupIndividualShare" value="Groep Individueel Aandeel"/> - <string name="Balance"> - Banksaldo - </string> - <string name="Credits"> - Credits - </string> - <string name="Debits"> - Debiteert - </string> - <string name="Total"> - Totaal - </string> - <string name="NoGroupDataFound"> - Geen groep gegevens gevonden voor groep - </string> - <string name="IMParentEstate"> - parent estate - </string> - <string name="IMMainland"> - mainland - </string> - <string name="IMTeen"> - tiener - </string> - <string name="RegionInfoError"> - fout - </string> - <string name="RegionInfoAllEstatesOwnedBy"> - all estates owned by [OWNER] - </string> - <string name="RegionInfoAllEstatesYouOwn"> - all estates that you own - </string> - <string name="RegionInfoAllEstatesYouManage"> - all estates that you manage for [OWNER] - </string> - <string name="RegionInfoAllowedResidents"> - Toegestane bewoners: ([ALLOWEDAGENTS], max [MAXACCESS]) - </string> - <string name="RegionInfoAllowedGroups"> - Toegestane groepen: ([ALLOWEDGROUPS], max [MAXACCESS]) - </string> - <string name="CursorPos"> - Lijn [LINE], Column [COLUMN] - </string> - <string name="PanelDirCountFound"> - [COUNT] gevonden - </string> - <string name="PanelContentsNewScript"> - Nieuw Script - </string> - <string name="MuteByName"> - (by name) - </string> - <string name="MuteAgent"> - (resident) - </string> - <string name="MuteObject"> - (object) - </string> - <string name="MuteGroup"> - (group) - </string> - <string name="RegionNoCovenant"> - There is no Covenant provided for this Estate. - </string> - <string name="RegionNoCovenantOtherOwner"> - There is no Covenant provided for this Estate. The land on this estate is being sold by the Estate owner, not Linden Lab. Please contact the Estate Owner for sales details. - </string> - <string name="covenant_last_modified" value="Laatst bewerkt: " /> - <string name="none_text" value="(none)"/> - <string name="never_text" value="(never)"/> - <string name="GroupOwned"> - Groep Eigendom - </string> - <string name="Public"> - Openbaar - </string> - <string name="ClassifiedClicksTxt"> - Klikken: [TELEPORT] teleport, [MAP] map, [PROFILE] profiel - </string> - <string name="ClassifiedUpdateAfterPublish"> - (zal bijwerken na publiceren) - </string> - <string name="MultiPreviewTitle"> - Preview - </string> - <string name="MultiPropertiesTitle"> - Eigenschappen - </string> - <string name="InvOfferAnObjectNamed"> - Een object genaamd - </string> - <string name="InvOfferOwnedByGroup"> - Eigendom van groep - </string> - <string name="InvOfferOwnedByUnknownGroup"> - Eigendom van een onbekende groep - </string> - <string name="InvOfferOwnedBy"> - Eigendom van - </string> - <string name="InvOfferOwnedByUnknownUser"> - Eigendom van onbekende gebruiker - </string> - <string name="InvOfferGaveYou"> - gaf je - </string> - <string name="InvOfferYouDecline"> - You decline - </string> - <string name="InvOfferFrom"> - van - </string> - <string name="GroupMoneyTotal"> - Totaal - </string> - <string name="GroupMoneyBought"> - kocht - </string> - <string name="GroupMoneyPaidYou"> - betaald u - </string> - <string name="GroupMoneyPaidInto"> - gestort - </string> - <string name="GroupMoneyBoughtPassTo"> - bought pass to - </string> - <string name="GroupMoneyPaidFeeForEvent"> - betaalde vergoeding voor evenement - </string> - <string name="GroupMoneyPaidPrizeForEvent"> - betaalde prijs voor evenement - </string> - <string name="GroupMoneyBalance"> - Banksaldo - </string> - <string name="GroupMoneyCredits"> - Credits - </string> - <string name="GroupMoneyDebits"> - Debiteert - </string> - <string name="ViewerObjectContents"> - Inhoud - </string> - <string name="AcquiredItems"> - Verworven objecten - </string> - <string name="Cancel"> - Annuleren - </string> - <string name="UploadingCosts"> - Uploading [%s] kosten - </string> - <string name="UnknownFileExtension"> - Onbekende extensie [.%s] -Verwacht .wav, .tga, .bmp, .jpg, .jpeg, or .bvh - </string> - <string name="AddLandmarkNavBarMenu"> - Voeg Landmark toe... - </string> - <string name="EditLandmarkNavBarMenu"> - Bewerk Landmark... - </string> - <string name="accel-mac-control"> - ⌃ - </string> - <string name="accel-mac-command"> - ⌘ - </string> - <string name="accel-mac-option"> - ⌥ - </string> - <string name="accel-mac-shift"> - ⇧ - </string> - <string name="accel-win-control"> - Ctrl+ - </string> - <string name="accel-win-alt"> - Alt+ - </string> - <string name="accel-win-shift"> - Shift+ - </string> - <string name="FileSaved"> - Bestand Opgeslagen - </string> - <string name="Receiving"> - Ontvangen - </string> - <string name="AM"> - AM - </string> - <string name="PM"> - PM - </string> - <string name="PST"> - PST - </string> - <string name="PDT"> - PDT - </string> - <string name="Direction_Forward"> - Vooruit - </string> - <string name="Direction_Left"> - Links - </string> - <string name="Direction_Right"> - Rechts - </string> - <string name="Direction_Back"> - Achteruit - </string> - <string name="Direction_North"> - Noord - </string> - <string name="Direction_South"> - Zuid - </string> - <string name="Direction_West"> - West - </string> - <string name="Direction_East"> - Oost - </string> - <string name="Direction_Up"> - Omhoog - </string> - <string name="Direction_Down"> - Omlaag - </string> - <string name="Any Category"> - Elke Categorie - </string> - <string name="Shopping"> - Boodschappen - </string> - <string name="Land Rental"> - Land Verhuur - </string> - <string name="Property Rental"> - Verhuur van onroerend goed - </string> - <string name="Special Attraction"> - Speciale Attractie - </string> - <string name="New Products"> - Nieuwe Producten - </string> - <string name="Employment"> - Employment - </string> - <string name="Wanted"> - Gezocht - </string> - <string name="Service"> - Service - </string> - <string name="Personal"> - Personal - </string> - <string name="None"> - Geen - </string> - <string name="Linden Location"> - Linden locatie - </string> - <string name="Adult"> - Adult - </string> - <string name="Arts&Culture"> - Kunst & Cultuur - </string> - <string name="Business"> - Zakelijk - </string> - <string name="Educational"> - Educatief - </string> - <string name="Gaming"> - Spelen - </string> - <string name="Hangout"> - Ontmoetingsplaats - </string> - <string name="Newcomer Friendly"> - Nieuwkomervriendelijk - </string> - <string name="Parks&Nature"> - Parken & natuur - </string> - <string name="Residential"> - Woongebied - </string> - <string name="Stage"> - Stage - </string> - <string name="Other"> - Anders - </string> - <string name="Any"> - Any - </string> - <string name="You"> - Jij - </string> - <string name="Multiple Media"> - Meerdere Media - </string> - <string name="Play Media"> - Play/Pause Media - </string> - <string name="MBCmdLineError"> - An error was found parsing the command line. -Please see: http://wiki.secondlife.com/wiki/Client_parameters -Error: - </string> - <string name="MBCmdLineUsg"> - [APP_NAME] Command line usage: - </string> - <string name="MBUnableToAccessFile"> - [APP_NAME] is unable to access a file that it needs. - -This can be because you somehow have multiple copies running, or your system incorrectly thinks a file is open. -If this message persists, restart your computer and try again. -If it continues to persist, you may need to completely uninstall [APP_NAME] and reinstall it. - </string> - <string name="MBFatalError"> - Fatal Error - </string> - <string name="MBRequiresAltiVec"> - [APP_NAME] requires a processor with AltiVec (G4 or later). - </string> - <string name="MBAlreadyRunning"> - [APP_NAME] is already running. -Check your task bar for a minimized copy of the program. -If this message persists, restart your computer. - </string> - <string name="MBFrozenCrashed"> - [APP_NAME] appears to have frozen or crashed on the previous run. -Would you like to send a crash report? - </string> - <string name="MBAlert"> - Alert - </string> - <string name="MBNoDirectX"> - [APP_NAME] is unable to detect DirectX 9.0b or greater. -[APP_NAME] uses DirectX to detect hardware and/or outdated drivers that can cause stability problems, poor performance and crashes. While you can run [APP_NAME] without it, we highly recommend running with DirectX 9.0b. - -Do you wish to continue? - </string> - <string name="MBWarning"> - Warning - </string> - <string name="MBNoAutoUpdate"> - Automatic updating is not yet implemented for Linux. -Please download the latest version from www.secondlife.com. - </string> - <string name="MBRegClassFailed"> - RegisterClass failed - </string> - <string name="MBError"> - Error - </string> - <string name="MBFullScreenErr"> - Unable to run fullscreen at [WIDTH] x [HEIGHT]. -Running in window. - </string> - <string name="MBDestroyWinFailed"> - Shutdown Error while destroying window (DestroyWindow() failed) - </string> - <string name="MBShutdownErr"> - Shutdown Error - </string> - <string name="MBDevContextErr"> - Can't make GL device context - </string> - <string name="MBPixelFmtErr"> - Can't find suitable pixel format - </string> - <string name="MBPixelFmtDescErr"> - Can't get pixel format description - </string> - <string name="MBTrueColorWindow"> - [APP_NAME] requires True Color (32-bit) to run. -Please go to your computer's display settings and set the color mode to 32-bit. - </string> - <string name="MBAlpha"> - [APP_NAME] is unable to run because it can't get an 8 bit alpha channel. Usually this is due to video card driver issues. -Please make sure you have the latest video card drivers installed. -Also be sure your monitor is set to True Color (32-bit) in Control Panels > Display > Settings. -If you continue to receive this message, contact the [SUPPORT_SITE]. - </string> - <string name="MBPixelFmtSetErr"> - Can't set pixel format - </string> - <string name="MBGLContextErr"> - Can't create GL rendering context - </string> - <string name="MBGLContextActErr"> - Can't activate GL rendering context - </string> - <string name="MBVideoDrvErr"> - [APP_NAME] is unable to run because your video card drivers did not install properly, are out of date, or are for unsupported hardware. Please make sure you have the latest video card drivers and even if you do have the latest, try reinstalling them. - -If you continue to receive this message, contact the [SUPPORT_SITE]. - </string> - <string name="5 O'Clock Shadow"> - Stoppels - </string> - <string name="All White"> - Alles Wit - </string> - <string name="Anime Eyes"> - Ogen Animeren - </string> - <string name="Arced"> - Gebogen - </string> - <string name="Arm Length"> - Arm Lengte - </string> - <string name="Attached"> - Bijgevoegt - </string> - <string name="Attached Earlobes"> - Bijgevoegde Oorlellen - </string> - <string name="Back Bangs"> - Achterkant Pony - </string> - <string name="Back Bangs Down"> - Achterkant Pony Neer - </string> - <string name="Back Bangs Up"> - Achterkant Pony Omhoog - </string> - <string name="Back Fringe"> - Achterkant Franje - </string> - <string name="Back Hair"> - Achterkant Haar - </string> - <string name="Back Hair Down"> - Achterkant Haar Neer - </string> - <string name="Back Hair Up"> - Achterkant Haar Omhoog - </string> - <string name="Baggy"> - Oogwallen - </string> - <string name="Bangs"> - Pony - </string> - <string name="Bangs Down"> - Pony Neer - </string> - <string name="Bangs Up"> - Pony Omhoog - </string> - <string name="Beady Eyes"> - Kraaloogjes - </string> - <string name="Belly Size"> - Buik Grootte - </string> - <string name="Big"> - Groot - </string> - <string name="Big Butt"> - Grote Kont - </string> - <string name="Big Eyeball"> - Grote Oogbol - </string> - <string name="Big Hair Back"> - Haar Volume Achter - </string> - <string name="Big Hair Front"> - Haar Volume Voor - </string> - <string name="Big Hair Top"> - Haar Volume Boven - </string> - <string name="Big Head"> - Groot Hoofd - </string> - <string name="Big Pectorals"> - Groote Borstspieren - </string> - <string name="Big Spikes"> - Grote Stekels - </string> - <string name="Black"> - Zwart - </string> - <string name="Blonde"> - Blond - </string> - <string name="Blonde Hair"> - Blond Haar - </string> - <string name="Blush"> - Blozen - </string> - <string name="Blush Color"> - Bloos Kleur - </string> - <string name="Blush Opacity"> - Bloos Opaciteit - </string> - <string name="Body Definition"> - Lichaam Definitie - </string> - <string name="Body Fat"> - Lichaam vet - </string> - <string name="Body Freckles"> - Lichaam Sproeten - </string> - <string name="Body Thick"> - Lichaam Dik - </string> - <string name="Body Thickness"> - Lichaam Dikte - </string> - <string name="Body Thin"> - Lichaam Dun - </string> - <string name="Bow Legged"> - Boog Benen - </string> - <string name="Breast Buoyancy"> - Borst Drijfvermogen - </string> - <string name="Breast Cleavage"> - Borst Splijting - </string> - <string name="Breast Size"> - Borst Grootte - </string> - <string name="Bridge Width"> - Brug Breedte - </string> - <string name="Broad"> - Breed - </string> - <string name="Brow Size"> - Wenkbrauw Grootte - </string> - <string name="Bug Eyes"> - Insect Ogen - </string> - <string name="Bugged Eyes"> - Insect Ogen - </string> - <string name="Bulbous"> - Bolle - </string> - <string name="Bulbous Nose"> - Bolle Neus - </string> - <string name="Bushy Eyebrows"> - Borstelige Wenkbrauwen - </string> - <string name="Bushy Hair"> - Borstelig Haar - </string> - <string name="Butt Size"> - Kont Grootte - </string> - <string name="bustle skirt"> - Bustle Skirt - </string> - <string name="no bustle"> - No Bustle - </string> - <string name="more bustle"> - More Bustle - </string> - <string name="Chaplin"> - Smalle Snor - </string> - <string name="Cheek Bones"> - Jukbeenderen - </string> - <string name="Chest Size"> - Borst Grootte - </string> - <string name="Chin Angle"> - Kin Hoek - </string> - <string name="Chin Cleft"> - Gespleten Kin - </string> - <string name="Chin Curtains"> - Kin Gordijnen - </string> - <string name="Chin Depth"> - Kin Diepte - </string> - <string name="Chin Heavy"> - Kin Zware - </string> - <string name="Chin In"> - Kin In - </string> - <string name="Chin Out"> - Kin uit - </string> - <string name="Chin-Neck"> - Kin-Nek - </string> - <string name="Clear"> - Opschonen - </string> - <string name="Cleft"> - Gespleten - </string> - <string name="Close Set Eyes"> - Close Set Eyes - </string> - <string name="Closed"> - Gesloten - </string> - <string name="Closed Back"> - Gesloten Achterkant - </string> - <string name="Closed Front"> - Gesloten Voorkant - </string> - <string name="Closed Left"> - Gesloten Links - </string> - <string name="Closed Right"> - Gesloten Rechts - </string> - <string name="Coin Purse"> - Verminder Grootte - </string> - <string name="Collar Back"> - Kraag Achterkant - </string> - <string name="Collar Front"> - Kraag Voorkant - </string> - <string name="Corner Down"> - Hoek Omlaag - </string> - <string name="Corner Normal"> - Hoek Normaal - </string> - <string name="Corner Up"> - Hoek Omhoog - </string> - <string name="Creased"> - Gevouwen - </string> - <string name="Crooked Nose"> - Kromte Neus - </string> - <string name="Cropped Hair"> - Bijgesneden Haar - </string> - <string name="Cuff Flare"> - Cuff Flare - </string> - <string name="Dark"> - Donker - </string> - <string name="Dark Green"> - Donker Groen - </string> - <string name="Darker"> - Donkerder - </string> - <string name="Deep"> - Diep - </string> - <string name="Default Heels"> - Standaard Hielen - </string> - <string name="Default Toe"> - Standaard Teen - </string> - <string name="Dense"> - Dicht - </string> - <string name="Dense hair"> - Dicht haar - </string> - <string name="Double Chin"> - Dubbele Kin - </string> - <string name="Downturned"> - Downturned - </string> - <string name="Duffle Bag"> - Vergroot Grootte - </string> - <string name="Ear Angle"> - Oor Hoek - </string> - <string name="Ear Size"> - Oor Grootte - </string> - <string name="Ear Tips"> - Oor Punten - </string> - <string name="Egg Head"> - Ei Hoofd - </string> - <string name="Eye Bags"> - Oog Zakken - </string> - <string name="Eye Color"> - Oog Kleur - </string> - <string name="Eye Depth"> - Oog Diepte - </string> - <string name="Eye Lightness"> - Oog Lichtheid - </string> - <string name="Eye Opening"> - Oog Opening - </string> - <string name="Eye Pop"> - Asymmetrisch - </string> - <string name="Eye Size"> - Oog Grootte - </string> - <string name="Eye Spacing"> - Oog Afstand - </string> - <string name="Eyeball Size"> - Oogbal Grootte - </string> - <string name="Eyebrow Arc"> - Wenkbrauw Boog - </string> - <string name="Eyebrow Density"> - Wenkbrauw Dichtheid - </string> - <string name="Eyebrow Height"> - Wenkbrauw Hoogte - </string> - <string name="Eyebrow Points"> - Wenkbrauw Punten - </string> - <string name="Eyebrow Size"> - Eyebrow Grootte - </string> - <string name="Eyelash Length"> - Eyelash Lengte - </string> - <string name="Eyeliner"> - Eyeliner - </string> - <string name="Eyeliner Color"> - Eyeliner Kleur - </string> - <string name="Eyes Back"> - Ogen Achteruit - </string> - <string name="Eyes Bugged"> - Insect Ogen - </string> - <string name="Eyes Forward"> - Ogen Vooruit - </string> - <string name="Eyes Long Head"> - Eyes Long Head - </string> - <string name="Eyes Shear Left Up"> - Eyes Shear Left Up - </string> - <string name="Eyes Shear Right Up"> - Eyes Shear Right Up - </string> - <string name="Eyes Short Head"> - Eyes Short Head - </string> - <string name="Eyes Spread"> - Eyes Spread - </string> - <string name="Eyes Sunken"> - Ingevallen Ogen - </string> - <string name="Eyes Together"> - Ogen Bij Elkaar - </string> - <string name="Face Shear"> - Gezicht Gelijkheid - </string> - <string name="Facial Definition"> - Gezichts Definitie - </string> - <string name="Far Set Eyes"> - Ogen Uit Elkaar - </string> - <string name="Fat"> - Dik - </string> - <string name="Fat Head"> - Dik Hoofd - </string> - <string name="Fat Lips"> - Dikke Lippen - </string> - <string name="Fat Lower"> - Fat Lower - </string> - <string name="Fat Lower Lip"> - Fat Lower Lip - </string> - <string name="Fat Torso"> - Fat Torso - </string> - <string name="Fat Upper"> - Fat Upper - </string> - <string name="Fat Upper Lip"> - Dikke Boven Lip - </string> - <string name="Female"> - Vrouw - </string> - <string name="Fingerless"> - Vingerloos - </string> - <string name="Fingers"> - Vingers - </string> - <string name="Flared Cuffs"> - Verbrede Vorm - </string> - <string name="Flat"> - Plat - </string> - <string name="Flat Butt"> - Platte Kont - </string> - <string name="Flat Head"> - Plat Hoofd - </string> - <string name="Flat Toe"> - Platte Teen - </string> - <string name="Foot Size"> - Voet Grootte - </string> - <string name="Forehead Angle"> - Voorhoofd Hoek - </string> - <string name="Forehead Heavy"> - Zwaar Voorhoofd - </string> - <string name="Freckles"> - Sproeten - </string> - <string name="Front Bangs Down"> - Voorkant Pony Omlaag - </string> - <string name="Front Bangs Up"> - Voorkant Pony Omhoog - </string> - <string name="Front Fringe"> - Voorste Rand - </string> - <string name="Front Hair"> - Gezichtshaar - </string> - <string name="Front Hair Down"> - Gezichtshaar Omlaag - </string> - <string name="Front Hair Up"> - Gezichtshaar Omhoog - </string> - <string name="Full Back"> - Volle Achterkant - </string> - <string name="Full Eyeliner"> - Volle Eyeliner - </string> - <string name="Full Front"> - Volle Voorkant - </string> - <string name="Full Hair Sides"> - Full Hair Sides - </string> - <string name="Full Sides"> - Volle Zijkanten - </string> - <string name="Glossy"> - Glanzend - </string> - <string name="Glove Fingers"> - Vinger Handschoenen - </string> - <string name="Glove Length"> - Handschoen Lengte - </string> - <string name="Hair"> - Haar - </string> - <string name="Hair Back"> - Haar: Zwart - </string> - <string name="Hair Front"> - Haar: Voorkant - </string> - <string name="Hair Sides"> - Haar: Zijkant - </string> - <string name="Hair Sweep"> - Hair Sweep - </string> - <string name="Hair Thickess"> - Haar Dikheid - </string> - <string name="Hair Thickness"> - Hair Dikheid - </string> - <string name="Hair Tilt"> - Hair Tilt - </string> - <string name="Hair Tilted Left"> - Hair Tilted Left - </string> - <string name="Hair Tilted Right"> - Hair Tilted Right - </string> - <string name="Hair Volume"> - Haar: Volume - </string> - <string name="Hand Size"> - Hand Grootte - </string> - <string name="Handlebars"> - Handlebars - </string> - <string name="Head Length"> - Hoofd Lengte - </string> - <string name="Head Shape"> - Hoofd Vorm - </string> - <string name="Head Size"> - Hooft Grootte - </string> - <string name="Head Stretch"> - Hoofd Uitrekken - </string> - <string name="Heel Height"> - Hiel Hoogte - </string> - <string name="Heel Shape"> - Hiel Vorm - </string> - <string name="Height"> - Hoogte - </string> - <string name="High"> - Hoog - </string> - <string name="High Heels"> - Hoge Hielen - </string> - <string name="High Jaw"> - Hoge Kaak - </string> - <string name="High Platforms"> - High Platforms - </string> - <string name="High and Tight"> - Hoog en Strak - </string> - <string name="Higher"> - Hoger - </string> - <string name="Hip Length"> - Heup Lengte - </string> - <string name="Hip Width"> - Heup Breedte - </string> - <string name="In"> - Naar Binnen - </string> - <string name="In Shdw Color"> - Binnenste Schaduw Kleur - </string> - <string name="In Shdw Opacity"> - Binnenste Schaduw Opaciteit - </string> - <string name="Inner Eye Corner"> - Binnenste Oog Hoek - </string> - <string name="Inner Eye Shadow"> - Binnenste Oog Schaduw - </string> - <string name="Inner Shadow"> - Binnenste Schaduw - </string> - <string name="Jacket Length"> - Jas Lengte - </string> - <string name="Jacket Wrinkles"> - Jas Rimpels - </string> - <string name="Jaw Angle"> - Kaak Hoek - </string> - <string name="Jaw Jut"> - Jaw Jut - </string> - <string name="Jaw Shape"> - Kaak Vorm - </string> - <string name="Join"> - Samenvoegen - </string> - <string name="Jowls"> - Kaken - </string> - <string name="Knee Angle"> - Knie Hoek - </string> - <string name="Knock Kneed"> - Knieën Naar binnen - </string> - <string name="Large"> - Fors - </string> - <string name="Large Hands"> - Grote Handen - </string> - <string name="Left Part"> - Linker Deel - </string> - <string name="Leg Length"> - Been Lengte - </string> - <string name="Leg Muscles"> - Been Spieren - </string> - <string name="Less"> - Minder - </string> - <string name="Less Body Fat"> - Minder Lichaams Vet - </string> - <string name="Less Curtains"> - Less Curtains - </string> - <string name="Less Freckles"> - Minder Sproeten - </string> - <string name="Less Full"> - Minder Vol - </string> - <string name="Less Gravity"> - Minder Zwaartekracht - </string> - <string name="Less Love"> - Less Love - </string> - <string name="Less Muscles"> - Minder Spieren - </string> - <string name="Less Muscular"> - Minder Spieren - </string> - <string name="Less Rosy"> - Minder Rooskleurig - </string> - <string name="Less Round"> - Minder Rond - </string> - <string name="Less Saddle"> - Minder Heupen - </string> - <string name="Less Square"> - Minder Vierkant - </string> - <string name="Less Volume"> - Minder Volume - </string> - <string name="Less soul"> - Minder Ziel - </string> - <string name="Lighter"> - Lichter - </string> - <string name="Lip Cleft"> - Gespleten Lip - </string> - <string name="Lip Cleft Depth"> - Gespleten Lip Diepte - </string> - <string name="Lip Fullness"> - Lip Volheid - </string> - <string name="Lip Pinkness"> - Rozeheid Lippen - </string> - <string name="Lip Ratio"> - Lip Ratio - </string> - <string name="Lip Thickness"> - Lip Dikheid - </string> - <string name="Lip Width"> - Lip Breedte - </string> - <string name="Lipgloss"> - Lipgloss - </string> - <string name="Lipstick"> - Lipstick - </string> - <string name="Lipstick Color"> - Lipstick Kleur - </string> - <string name="Long"> - Lang - </string> - <string name="Long Head"> - Lang Hoofd - </string> - <string name="Long Hips"> - Lange Heupen - </string> - <string name="Long Legs"> - Lange Benen - </string> - <string name="Long Neck"> - Lange Nek - </string> - <string name="Long Pigtails"> - Long Pigtails - </string> - <string name="Long Ponytail"> - Lange Paardenstaart - </string> - <string name="Long Torso"> - Lang Torso - </string> - <string name="Long arms"> - Lange Armen - </string> - <string name="Longcuffs"> - Longcuffs - </string> - <string name="Loose Pants"> - Losse Broek - </string> - <string name="Loose Shirt"> - Los Shirt - </string> - <string name="Loose Sleeves"> - Losse Mouwen - </string> - <string name="Love Handles"> - Love Handles - </string> - <string name="Low"> - Laag - </string> - <string name="Low Heels"> - Lage Hielen - </string> - <string name="Low Jaw"> - Lage Kaak - </string> - <string name="Low Platforms"> - Lage Platforms - </string> - <string name="Low and Loose"> - Laag en Los - </string> - <string name="Lower"> - Lager - </string> - <string name="Lower Bridge"> - Lagere Brug - </string> - <string name="Lower Cheeks"> - Lagere Wangen - </string> - <string name="Male"> - Man - </string> - <string name="Middle Part"> - Middelste Deel - </string> - <string name="More"> - Meer - </string> - <string name="More Blush"> - Meer Blozen - </string> - <string name="More Body Fat"> - Meer Lichaams Vet - </string> - <string name="More Curtains"> - More Curtains - </string> - <string name="More Eyeshadow"> - Meer Oogshadow - </string> - <string name="More Freckles"> - Meer Sproeten - </string> - <string name="More Full"> - Meer Vol - </string> - <string name="More Gravity"> - Meer Zwaartekracht - </string> - <string name="More Lipstick"> - Meer Lippenstift - </string> - <string name="More Love"> - Meer Lovehandels - </string> - <string name="More Lower Lip"> - Meer Onder Lip - </string> - <string name="More Muscles"> - Meer Spieren - </string> - <string name="More Muscular"> - Meer Spieren - </string> - <string name="More Rosy"> - More Rosy - </string> - <string name="More Round"> - Meer Rond - </string> - <string name="More Saddle"> - Meer Heupen - </string> - <string name="More Sloped"> - Meer Hellend - </string> - <string name="More Square"> - Meer Vierkant - </string> - <string name="More Upper Lip"> - Meer Boven Lip - </string> - <string name="More Vertical"> - Meer Verticaal - </string> - <string name="More Volume"> - Meer Volume - </string> - <string name="More soul"> - Meer ziel - </string> - <string name="Moustache"> - Snor - </string> - <string name="Mouth Corner"> - Mond Hoek - </string> - <string name="Mouth Position"> - Mond Positie - </string> - <string name="Mowhawk"> - Hanekam - </string> - <string name="Muscular"> - Gespiert - </string> - <string name="Mutton Chops"> - Mutton Chops - </string> - <string name="Nail Polish"> - Nagel Lak - </string> - <string name="Nail Polish Color"> - Nagel Lak Kleur - </string> - <string name="Narrow"> - Smal - </string> - <string name="Narrow Back"> - Smalle Achterkant - </string> - <string name="Narrow Front"> - Smalle Voorkant - </string> - <string name="Narrow Lips"> - Smalle Lippen - </string> - <string name="Natural"> - Natural - </string> - <string name="Neck Length"> - Nek Lengte - </string> - <string name="Neck Thickness"> - Nek Dikheid - </string> - <string name="No Blush"> - Geen Bloos - </string> - <string name="No Eyeliner"> - Geen Eyeliner - </string> - <string name="No Eyeshadow"> - Geen Oogschaduw - </string> - <string name="No Heels"> - Geen Hakken - </string> - <string name="No Lipgloss"> - Geen Lipgloss - </string> - <string name="No Lipstick"> - Geen Lippenstift - </string> - <string name="No Part"> - Geen Deel - </string> - <string name="No Polish"> - Geen Glans - </string> - <string name="No Red"> - Geen Rood - </string> - <string name="No Spikes"> - Geen Stekels - </string> - <string name="No White"> - Geen Wit - </string> - <string name="No Wrinkles"> - Geen Rimpels - </string> - <string name="Normal Lower"> - Normaal Onder - </string> - <string name="Normal Upper"> - Normaal Boven - </string> - <string name="Nose Left"> - Neus Links - </string> - <string name="Nose Right"> - Neus Rechts - </string> - <string name="Nose Size"> - Neus Grootte - </string> - <string name="Nose Thickness"> - Neus Dickheid - </string> - <string name="Nose Tip Angle"> - Neus Top Hoek - </string> - <string name="Nose Tip Shape"> - Neus Top Vorm - </string> - <string name="Nose Width"> - Neus Breedte - </string> - <string name="Nostril Division"> - Nostril Division - </string> - <string name="Nostril Width"> - Neusgat Breedte - </string> - <string name="Old"> - Oud - </string> - <string name="Opaque"> - Ondoorzichtig - </string> - <string name="Open"> - Open - </string> - <string name="Open Back"> - Open Achterkant - </string> - <string name="Open Front"> - Open Voorkant - </string> - <string name="Open Left"> - Open Links - </string> - <string name="Open Right"> - Open Rechts - </string> - <string name="Orange"> - Oranje - </string> - <string name="Out"> - Uit - </string> - <string name="Out Shdw Color"> - Buitenste Schaduw Kleur - </string> - <string name="Out Shdw Opacity"> - Buitenste Schaduw Opaciteit - </string> - <string name="Outer Eye Corner"> - Buitenste Oog Hoek - </string> - <string name="Outer Eye Shadow"> - Buitenste Oog Schaduw - </string> - <string name="Outer Shadow"> - Buitenste Schaduw - </string> - <string name="Overbite"> - Overbeet - </string> - <string name="Package"> - Genitaliën - </string> - <string name="Painted Nails"> - Gelakte Nagels - </string> - <string name="Pale"> - Dof - </string> - <string name="Pants Crotch"> - Broek Kruis - </string> - <string name="Pants Fit"> - Broek Passend - </string> - <string name="Pants Length"> - Broek Lengte - </string> - <string name="Pants Waist"> - Broek Teille - </string> - <string name="Pants Wrinkles"> - Broek Rimpels - </string> - <string name="Part"> - Deel - </string> - <string name="Part Bangs"> - Part Bangs - </string> - <string name="Pectorals"> - Borstspieren - </string> - <string name="Pigment"> - Pigment - </string> - <string name="Pigtails"> - Pigtails - </string> - <string name="Pink"> - Roze - </string> - <string name="Pinker"> - Rozer - </string> - <string name="Platform Height"> - Platform Hoogte - </string> - <string name="Platform Width"> - Platform Breedte - </string> - <string name="Pointy"> - Puntig - </string> - <string name="Pointy Heels"> - Puntige Hielen - </string> - <string name="Pointy Toe"> - Puntige Tenen - </string> - <string name="Ponytail"> - Paardenstaard - </string> - <string name="Poofy Skirt"> - Poofy Skirt - </string> - <string name="Pop Left Eye"> - Asymmetrisch Links - </string> - <string name="Pop Right Eye"> - Asymmetrisch Rechts - </string> - <string name="Puffy"> - Opgezwollen - </string> - <string name="Puffy Eyelids"> - Opgezwollen Oogleden - </string> - <string name="Rainbow Color"> - Regenboog Kleur - </string> - <string name="Red Hair"> - Rood Haar - </string> - <string name="Red Skin"> - Rode Huid - </string> - <string name="Regular"> - Normaal - </string> - <string name="Regular Muscles"> - Normale Spieren - </string> - <string name="Right Part"> - Rechter Deel - </string> - <string name="Rosy Complexion"> - Rosy Complexion - </string> - <string name="Round"> - Rond - </string> - <string name="Round Forehead"> - Rond Voorhoofd - </string> - <string name="Ruddiness"> - Rossige kleur - </string> - <string name="Ruddy"> - Rossig - </string> - <string name="Rumpled Hair"> - Rumpled Hair - </string> - <string name="Saddle Bags"> - Saddle Bags - </string> - <string name="Saddlebags"> - Saddlebags - </string> - <string name="Scrawny"> - Magere - </string> - <string name="Scrawny Leg"> - Mager Been - </string> - <string name="Separate"> - Scheiden - </string> - <string name="Shading"> - Shading - </string> - <string name="Shadow hair"> - Schaduw Haar - </string> - <string name="Shallow"> - Ondiep - </string> - <string name="Shear Back"> - Shear Back - </string> - <string name="Shear Face"> - Shear Face - </string> - <string name="Shear Front"> - Shear Front - </string> - <string name="Shear Left"> - Shear Left - </string> - <string name="Shear Left Up"> - Shear Left Up - </string> - <string name="Shear Right"> - Shear Right - </string> - <string name="Shear Right Up"> - Shear Right Up - </string> - <string name="Sheared Back"> - Sheared Back - </string> - <string name="Sheared Front"> - Sheared Front - </string> - <string name="Shift Left"> - Verplaats Links - </string> - <string name="Shift Mouth"> - Verplaats Mond - </string> - <string name="Shift Right"> - Verplaats Rechts - </string> - <string name="Shirt Bottom"> - Hemd Onderkant - </string> - <string name="Shirt Fit"> - Hemd Passend - </string> - <string name="Shirt Wrinkles"> - Hemd Rimpels - </string> - <string name="Shoe Height"> - Schoen Hoogte - </string> - <string name="Short"> - Kort - </string> - <string name="Short Arms"> - Korte Armen - </string> - <string name="Short Legs"> - Korte Benen - </string> - <string name="Short Neck"> - Korte Nek - </string> - <string name="Short Pigtails"> - Short Pigtails - </string> - <string name="Short Ponytail"> - Korte Paardenstaart - </string> - <string name="Short Sideburns"> - Korte Bakkebaarden - </string> - <string name="Short Torso"> - Korte Torso - </string> - <string name="Short hips"> - Korte Heupen - </string> - <string name="Shoulders"> - Shouders - </string> - <string name="Side Bangs"> - Side Bangs - </string> - <string name="Side Bangs Down"> - Side Bangs Down - </string> - <string name="Side Bangs Up"> - Side Bangs Up - </string> - <string name="Side Fringe"> - Side Fringe - </string> - <string name="Sideburns"> - Bakkebaarden - </string> - <string name="Sides Hair"> - Sides Hair - </string> - <string name="Sides Hair Down"> - Sides Hair Down - </string> - <string name="Sides Hair Up"> - Sides Hair Up - </string> - <string name="Skinny"> - Broodmager - </string> - <string name="Skinny Neck"> - Smalle Nek - </string> - <string name="Skirt Fit"> - Skirt Fit - </string> - <string name="Skirt Length"> - Rok Lengte - </string> - <string name="Slanted Forehead"> - Schuin voorhoofd - </string> - <string name="Sleeve Length"> - Mouw Lengte - </string> - <string name="Sleeve Looseness"> - Mouw Losheid - </string> - <string name="Slit Back"> - Spleet: Achter - </string> - <string name="Slit Front"> - Spleet: Voor - </string> - <string name="Slit Left"> - Spleet: Links - </string> - <string name="Slit Right"> - Spleet: Rechts - </string> - <string name="Small"> - Klein - </string> - <string name="Small Hands"> - Kleine Handen - </string> - <string name="Small Head"> - Klein Hoofd - </string> - <string name="Smooth"> - Glad - </string> - <string name="Smooth Hair"> - Glad Haar - </string> - <string name="Socks Length"> - Sok Lengte - </string> - <string name="Some"> - enkele - </string> - <string name="Soulpatch"> - Soulpatch - </string> - <string name="Sparse"> - Schaars - </string> - <string name="Spiked Hair"> - Puntig Haar - </string> - <string name="Square"> - Vierkant - </string> - <string name="Square Toe"> - Vierkante Teen - </string> - <string name="Squash Head"> - Squash Head - </string> - <string name="Squash/Stretch Head"> - Squash/Stretch Head - </string> - <string name="Stretch Head"> - Uitgerekt Hoofd - </string> - <string name="Sunken"> - Verzonken - </string> - <string name="Sunken Chest"> - Verzonken Borstkas - </string> - <string name="Sunken Eyes"> - Verzonken Ogen - </string> - <string name="Sweep Back"> - Sweep Back - </string> - <string name="Sweep Forward"> - Sweep Forward - </string> - <string name="Swept Back"> - Swept Back - </string> - <string name="Swept Back Hair"> - Swept Back Hair - </string> - <string name="Swept Forward"> - Swept Forward - </string> - <string name="Swept Forward Hair"> - Swept Forward Hair - </string> - <string name="Tall"> - Lang - </string> - <string name="Taper Back"> - Spits Achter - </string> - <string name="Taper Front"> - Spits Voor - </string> - <string name="Thick Heels"> - Dikke Hielen - </string> - <string name="Thick Neck"> - Dikke Nek - </string> - <string name="Thick Toe"> - Dikke Teen - </string> - <string name="Thickness"> - Dikheid - </string> - <string name="Thin"> - Dun - </string> - <string name="Thin Eyebrows"> - Dunne Wenkbrouwen - </string> - <string name="Thin Lips"> - Dunne Lippen - </string> - <string name="Thin Nose"> - Dunne Neus - </string> - <string name="Tight Chin"> - Strakke Kin - </string> - <string name="Tight Cuffs"> - Strakke Manchetten - </string> - <string name="Tight Pants"> - Strakke Broek - </string> - <string name="Tight Shirt"> - Strak Hemd - </string> - <string name="Tight Skirt"> - Strakke Rok - </string> - <string name="Tight Sleeves"> - Strakke Mouwen - </string> - <string name="Tilt Left"> - Tilt Left - </string> - <string name="Tilt Right"> - Tilt Right - </string> - <string name="Toe Shape"> - Teen Vorm - </string> - <string name="Toe Thickness"> - Teen Dikheid - </string> - <string name="Torso Length"> - Borstkas Lengte - </string> - <string name="Torso Muscles"> - Borstkas Spieren - </string> - <string name="Torso Scrawny"> - Magere Borstkas - </string> - <string name="Unattached"> - Niet Verbonden - </string> - <string name="Uncreased"> - Uncreased - </string> - <string name="Underbite"> - onderbeet - </string> - <string name="Unnatural"> - Onnatuurlijk - </string> - <string name="Upper Bridge"> - Boven Brug - </string> - <string name="Upper Cheeks"> - Bovenste Wangen - </string> - <string name="Upper Chin Cleft"> - Bovenste Kin Gespleten - </string> - <string name="Upper Eyelid Fold"> - Bovenste Ooglid Gevouwen - </string> - <string name="Upturned"> - Omgekeerde - </string> - <string name="Very Red"> - Erg Rood - </string> - <string name="Waist Height"> - Taille Hoogte - </string> - <string name="Well-Fed"> - Goed Gevoed - </string> - <string name="White Hair"> - Wit Haar - </string> - <string name="Wide"> - Breed - </string> - <string name="Wide Back"> - Breede Achterkant - </string> - <string name="Wide Front"> - Breed Voorkant - </string> - <string name="Wide Lips"> - Breed Lippen - </string> - <string name="Wild"> - Wild - </string> - <string name="Wrinkles"> - Rimpels - </string> - <string name="LocationCtrlAddLandmarkTooltip"> - Add to My Landmarks - </string> - <string name="LocationCtrlEditLandmarkTooltip"> - Edit My Landmark - </string> - <string name="LocationCtrlInfoBtnTooltip"> - See more info about the current location - </string> - <string name="LocationCtrlComboBtnTooltip"> - My location history - </string> - <string name="UpdaterWindowTitle"> - [APP_NAME] Update - </string> - <string name="UpdaterNowUpdating"> - Now updating [APP_NAME]... - </string> - <string name="UpdaterNowInstalling"> - Installing [APP_NAME]... - </string> - <string name="UpdaterUpdatingDescriptive"> - Your [APP_NAME] Viewer is being updated to the latest release. This may take some time, so please be patient. - </string> - <string name="UpdaterProgressBarTextWithEllipses"> - Downloading update... - </string> - <string name="UpdaterProgressBarText"> - Downloading update - </string> - <string name="UpdaterFailDownloadTitle"> - Failed to download update - </string> - <string name="UpdaterFailUpdateDescriptive"> - An error occurred while updating [APP_NAME]. Please download the latest version from www.secondlife.com. - </string> - <string name="UpdaterFailInstallTitle"> - Failed to install update - </string> - <string name="UpdaterFailStartTitle"> - Failed to start viewer - </string> - <string name="IM_logging_string"> - -- Instant message logging enabled -- - </string> - <string name="IM_typing_start_string"> - [NAME] is typing... - </string> - <string name="Unnamed"> - (Unnamed) - </string> - <string name="IM_moderated_chat_label"> - (Moderated: Voices off by default) - </string> - <string name="IM_unavailable_text_label"> - Text chat is not available for this call. - </string> - <string name="IM_muted_text_label"> - Your text chat has been disabled by a Group Moderator. - </string> - <string name="IM_default_text_label"> - Click here to instant message. - </string> - <string name="IM_to_label"> - To - </string> - <string name="IM_moderator_label"> - (Moderator) - </string> - <string name="only_user_message"> - U bent de enige gebruiker in deze sessie. - </string> - <string name="offline_message"> - [NAME] is offline. - </string> - <string name="invite_message"> - Klik de [BUTTON NAME] knop om deze voicechat te accepteren/verbinden. - </string> - <string name="generic_request_error"> - Fout tijdens het maken van het verzoek, probeer het later nog een keer. - </string> - <string name="insufficient_perms_error"> - U heeft niet voldoende permissies. - </string> - <string name="session_does_not_exist_error"> - De sessie bestaat niet meer - </string> - <string name="no_ability_error"> - U beschikt niet over die mogelijkheid. - </string> - <string name="no_ability"> - U beschikt niet over die mogelijkheid. - </string> - <string name="not_a_mod_error"> - U bent geen sessie moderateur - </string> - <string name="muted_error"> - Een groepsmoderator heeft uw textchat uitgeschakeld. - </string> - <string name="add_session_event"> - Kan geen gebruikers toevoegen aan chatsessie met [RECIPIENT]. - </string> - <string name="message_session_event"> - Kan uw bericht niet versturen naar de chatsessie met [RECIPIENT]. - </string> - <string name="removed_from_group"> - U bent verwijderd uit de groep. - </string> - <string name="close_on_no_ability"> - U heeft niet langer de mogelijkheid om in deze chatsessie te zijn. - </string> -</strings> diff --git a/indra/newview/skins/default/xui/nl/teleport_strings.xml b/indra/newview/skins/default/xui/nl/teleport_strings.xml deleted file mode 100644 index 12a81447c0d..00000000000 --- a/indra/newview/skins/default/xui/nl/teleport_strings.xml +++ /dev/null @@ -1,75 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<teleport_messages> - <message_set name="errors"> - <message name="invalid_tport"> - Probleem ondervonden bij het verwerken van uw verzoek voor een teleport. Het kan nodig zijn om opnieuw in te loggen voordat u kunt teleporteren. -Als u dit bericht blijft krijgen, controleert u dan alstublieft [SUPPORT_SITE]. - </message> - <message name="invalid_region_handoff"> - Er is een probleem opgetreden bij het oversteken naar een andere regio. U dient wellicht opnieuw in te loggen voor uw kunt oversteken naar andere regio's. -Als u dit bericht blijft krijgen, controleert u dan alstublieft [SUPPORT_SITE]. - </message> - <message name="blocked_tport"> - Sorry, teleport is momenteel geblokkeerd. Probeer het zo meteen opnieuw. Indien u nog steeds niet kunt teleporteren, log dan alstublieft uit en weer in om het probleem te verhelpen. - </message> - <message name="nolandmark_tport"> - Sorry, het systeem was niet in staat de bestemming van de landmarkering te vinden. - </message> - <message name="timeout_tport"> - Sorry, het systeem was niet in staat om de teleport verbinding af te ronden. Probeer het zo meteen nog een keer. - </message> - <message name="noaccess_tport"> - Sorry, u heeft geen toegang tot die teleportbestemming. - </message> - <message name="missing_attach_tport"> - Uw bevestigingen zijn nog niet gearriveerd. Probeer nog een aantal seconden te wachten of log uit en weer in voor u probeert te teleporteren. - </message> - <message name="too_many_uploads_tport"> - De assetwachtrij in deze regio is momenteel volgelopen, dus uw teleportverzoek zal niet tijdig afgerond kunnen worden. Probeer het alstublieft opnieuw over een aantal minuten of ga naar een minder druk gebied. - </message> - <message name="expired_tport"> - Sorry, het systeem was niet in staat uw teleportverzoek tijdig af te ronden. Probeer het alstublieft opnieuw over een aantal minuten. - </message> - <message name="expired_region_handoff"> - Sorry, het systeem was niet in staat om het oversteken naar een andere regio tijdig af te ronden. Probeer het alstublieft opnieuw over een aantal minuten. - </message> - <message name="no_host"> - Kan teleportbestemming niet vinden. De bestemming is mogelijk tijdelijk niet beschikbaar of bestaat niet meer. Probeer het alstublieft opnieuw over een aantal minuten. - </message> - <message name="no_inventory_host"> - Het inventarissysteem is momenteel niet beschikbaar. - </message> - </message_set> - <message_set name="progress"> - <message name="sending_dest"> - Verzenden naar bestemming - </message> - <message name="redirecting"> - U wordt doorverwezen naar andere locatie. - </message> - <message name="relaying"> - Omschakelen naar bestemming. - </message> - <message name="sending_home"> - Thuislocatieverzoek verzenden - </message> - <message name="sending_landmark"> - Landmarkeringlocatieverzoek verzenden - </message> - <message name="completing"> - Teleport voltooien - </message> - <message name="resolving"> - Bestemming bepalen. - </message> - <message name="contacting"> - Contact maken met nieuwe regio. - </message> - <message name="arriving"> - Arriveren… - </message> - <message name="requesting"> - Teleport aanvragen… - </message> - </message_set> -</teleport_messages> -- GitLab From 451b6f843248bb14c03a3e3008db3c1d3c393148 Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine <vsavchuk@productengine.com> Date: Tue, 18 Oct 2011 12:53:48 +0200 Subject: [PATCH 252/256] =?UTF-8?q?STORM-1615=20WIP=20Changed=20Simplified?= =?UTF-8?q?=20Chinese=20(=E7=AE=80=E4=BD=93)=20to=20Traditional=20Chinese?= =?UTF-8?q?=20(=E6=AD=A3=E9=AB=94)=20in=20the=20list=20of=20languages=20fo?= =?UTF-8?q?r=20machine=20translation.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- indra/newview/skins/default/xui/da/panel_preferences_chat.xml | 2 +- indra/newview/skins/default/xui/de/panel_preferences_chat.xml | 2 +- indra/newview/skins/default/xui/en/panel_preferences_chat.xml | 2 +- indra/newview/skins/default/xui/es/panel_preferences_chat.xml | 2 +- indra/newview/skins/default/xui/fr/panel_preferences_chat.xml | 2 +- indra/newview/skins/default/xui/it/panel_preferences_chat.xml | 2 +- indra/newview/skins/default/xui/ja/panel_preferences_chat.xml | 2 +- indra/newview/skins/default/xui/pl/panel_preferences_chat.xml | 2 +- indra/newview/skins/default/xui/pt/panel_preferences_chat.xml | 2 +- indra/newview/skins/default/xui/zh/panel_preferences_chat.xml | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/indra/newview/skins/default/xui/da/panel_preferences_chat.xml b/indra/newview/skins/default/xui/da/panel_preferences_chat.xml index 19c82509cdb..f0f6242fffe 100644 --- a/indra/newview/skins/default/xui/da/panel_preferences_chat.xml +++ b/indra/newview/skins/default/xui/da/panel_preferences_chat.xml @@ -51,7 +51,7 @@ <combo_box.item label="РуÑÑкий (Russisk)" name="Russian"/> <combo_box.item label="Türkçe (Tyrkisk)" name="Turkish"/> <combo_box.item label="УкраїнÑька (Ukrainsk)" name="Ukrainian"/> - <combo_box.item label="ä¸æ–‡ (简体) (Kinesisk)" name="Chinese"/> + <combo_box.item label="ä¸æ–‡ (æ£é«”) (Kinesisk)" name="Chinese"/> <combo_box.item label="日本語 (Japansk)" name="Japanese"/> <combo_box.item label="í•œêµì–´ (Koreansk)" name="Korean"/> </combo_box> diff --git a/indra/newview/skins/default/xui/de/panel_preferences_chat.xml b/indra/newview/skins/default/xui/de/panel_preferences_chat.xml index ca8af27f58c..104f89b80cc 100644 --- a/indra/newview/skins/default/xui/de/panel_preferences_chat.xml +++ b/indra/newview/skins/default/xui/de/panel_preferences_chat.xml @@ -51,7 +51,7 @@ <combo_box.item label="РуÑÑкий (Russisch)" name="Russian"/> <combo_box.item label="Türkçe (Türkisch)" name="Turkish"/> <combo_box.item label="УкраїнÑька (Ukrainisch)" name="Ukrainian"/> - <combo_box.item label="ä¸æ–‡ (简体) (Chinesisch)" name="Chinese"/> + <combo_box.item label="ä¸æ–‡ (æ£é«”) (Chinesisch)" name="Chinese"/> <combo_box.item label="日本語 (Japanisch)" name="Japanese"/> <combo_box.item label="í•œêµì–´ (Koreanisch)" name="Korean"/> </combo_box> diff --git a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml index ea092865925..52be8052603 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml @@ -307,7 +307,7 @@ name="Ukrainian" value="uk" /> <combo_box.item - label="ä¸æ–‡ (简体) (Chinese)" + label="ä¸æ–‡ (æ£é«”) (Chinese)" name="Chinese" value="zh" /> <combo_box.item diff --git a/indra/newview/skins/default/xui/es/panel_preferences_chat.xml b/indra/newview/skins/default/xui/es/panel_preferences_chat.xml index d8fd43469d4..a15c8deaf93 100644 --- a/indra/newview/skins/default/xui/es/panel_preferences_chat.xml +++ b/indra/newview/skins/default/xui/es/panel_preferences_chat.xml @@ -51,7 +51,7 @@ <combo_box.item label="РуÑÑкий (ruso)" name="Russian"/> <combo_box.item label="Türkçe (turco)" name="Turkish"/> <combo_box.item label="УкраїнÑька (ucraniano)" name="Ukrainian"/> - <combo_box.item label="ä¸æ–‡ (简体) (chino)" name="Chinese"/> + <combo_box.item label="ä¸æ–‡ (æ£é«”) (chino)" name="Chinese"/> <combo_box.item label="日本語 (japonés)" name="Japanese"/> <combo_box.item label="í•œêµì–´ (coreano)" name="Korean"/> </combo_box> diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_chat.xml b/indra/newview/skins/default/xui/fr/panel_preferences_chat.xml index 1644eefbee1..646f53704c9 100644 --- a/indra/newview/skins/default/xui/fr/panel_preferences_chat.xml +++ b/indra/newview/skins/default/xui/fr/panel_preferences_chat.xml @@ -51,7 +51,7 @@ <combo_box.item label="РуÑÑкий (Russe)" name="Russian"/> <combo_box.item label="Türkçe (Turc)" name="Turkish"/> <combo_box.item label="УкраїнÑька (Ukrainien)" name="Ukrainian"/> - <combo_box.item label="ä¸æ–‡ (简体) (Chinois)" name="Chinese"/> + <combo_box.item label="ä¸æ–‡ (æ£é«”) (Chinois)" name="Chinese"/> <combo_box.item label="日本語 (Japonais)" name="Japanese"/> <combo_box.item label="í•œêµì–´ (Coréen)" name="Korean"/> </combo_box> diff --git a/indra/newview/skins/default/xui/it/panel_preferences_chat.xml b/indra/newview/skins/default/xui/it/panel_preferences_chat.xml index 2834d520d1f..72e687b6d1d 100644 --- a/indra/newview/skins/default/xui/it/panel_preferences_chat.xml +++ b/indra/newview/skins/default/xui/it/panel_preferences_chat.xml @@ -51,7 +51,7 @@ <combo_box.item label="РуÑÑкий (Russo)" name="Russian"/> <combo_box.item label="Türkçe (Turco)" name="Turkish"/> <combo_box.item label="УкраїнÑька (Ucraino)" name="Ukrainian"/> - <combo_box.item label="ä¸æ–‡ (简体) (Cinese)" name="Chinese"/> + <combo_box.item label="ä¸æ–‡ (æ£é«”) (Cinese)" name="Chinese"/> <combo_box.item label="日本語 (Giapponese)" name="Japanese"/> <combo_box.item label="í•œêµì–´ (Coreano)" name="Korean"/> </combo_box> diff --git a/indra/newview/skins/default/xui/ja/panel_preferences_chat.xml b/indra/newview/skins/default/xui/ja/panel_preferences_chat.xml index 5038140ce51..20e17de5f1a 100644 --- a/indra/newview/skins/default/xui/ja/panel_preferences_chat.xml +++ b/indra/newview/skins/default/xui/ja/panel_preferences_chat.xml @@ -51,7 +51,7 @@ <combo_box.item label="РуÑÑкий(ãƒã‚·ã‚¢èªžï¼‰" name="Russian"/> <combo_box.item label="Türkçe(トルコ語)" name="Turkish"/> <combo_box.item label="УкраїнÑька(ウクライナ語)" name="Ukrainian"/> - <combo_box.item label="ä¸æ–‡ (简体)(ä¸å›½èªžï¼‰" name="Chinese"/> + <combo_box.item label="ä¸æ–‡ (æ£é«”)(ä¸å›½èªžï¼‰" name="Chinese"/> <combo_box.item label="日本語" name="Japanese"/> <combo_box.item label="í•œêµì–´ï¼ˆéŸ“国語)" name="Korean"/> </combo_box> diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml b/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml index 3251099f747..be730eb73f2 100644 --- a/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml +++ b/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml @@ -51,7 +51,7 @@ <combo_box.item label="РуÑÑкий (Rosyjski)" name="Russian"/> <combo_box.item label="Türkçe (Turecki)" name="Turkish"/> <combo_box.item label="УкраїнÑька (UkraiÅ„ski)" name="Ukrainian"/> - <combo_box.item label="ä¸æ–‡ (简体) (ChiÅ„ski)" name="Chinese"/> + <combo_box.item label="ä¸æ–‡ (æ£é«”) (ChiÅ„ski)" name="Chinese"/> <combo_box.item label="日本語 (JapoÅ„ski)" name="Japanese"/> <combo_box.item label="í•œêµì–´ (KoreaÅ„ski)" name="Korean"/> </combo_box> diff --git a/indra/newview/skins/default/xui/pt/panel_preferences_chat.xml b/indra/newview/skins/default/xui/pt/panel_preferences_chat.xml index e5aa42aae0c..190b3e97bc6 100644 --- a/indra/newview/skins/default/xui/pt/panel_preferences_chat.xml +++ b/indra/newview/skins/default/xui/pt/panel_preferences_chat.xml @@ -51,7 +51,7 @@ <combo_box.item label="РуÑÑкий (Russo)" name="Russian"/> <combo_box.item label="Türkçe (Turco)" name="Turkish"/> <combo_box.item label="УкраїнÑька (Ucraniano)" name="Ukrainian"/> - <combo_box.item label="ä¸æ–‡ (简体) (Chinês)" name="Chinese"/> + <combo_box.item label="ä¸æ–‡ (æ£é«”) (Chinês)" name="Chinese"/> <combo_box.item label="日本語 (Japonês)" name="Japanese"/> <combo_box.item label="í•œêµì–´ (Coreano)" name="Korean"/> </combo_box> diff --git a/indra/newview/skins/default/xui/zh/panel_preferences_chat.xml b/indra/newview/skins/default/xui/zh/panel_preferences_chat.xml index c083d40a829..fc326c2ce26 100644 --- a/indra/newview/skins/default/xui/zh/panel_preferences_chat.xml +++ b/indra/newview/skins/default/xui/zh/panel_preferences_chat.xml @@ -50,7 +50,7 @@ <combo_box.item label="РуÑÑкий (Russian)" name="Russian"/> <combo_box.item label="Türkçe (Turkish)" name="Turkish"/> <combo_box.item label="УкраїнÑька (Ukrainian)" name="Ukrainian"/> - <combo_box.item label="ä¸æ–‡ (简体) (Chinese)" name="Chinese"/> + <combo_box.item label="ä¸æ–‡ (æ£é«”) (Chinese)" name="Chinese"/> <combo_box.item label="日本語 (Japanese)" name="Japanese"/> <combo_box.item label="í•œêµì–´ (Korean)" name="Korean"/> </combo_box> -- GitLab From 4e8de6d8361bf87ddf14cb85f5c6f6cf74df9b18 Mon Sep 17 00:00:00 2001 From: "Debi King (Dessie)" <dessie@lindenlab.com> Date: Tue, 18 Oct 2011 14:30:58 -0400 Subject: [PATCH 253/256] Added tag DRTVWR-92_3.1.0-release, 3.1.0-release for changeset ae2de7b0b33c --- .hgtags | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.hgtags b/.hgtags index 78ab817de15..4981827f026 100644 --- a/.hgtags +++ b/.hgtags @@ -204,3 +204,5 @@ dbaaef19266478a20654c46395300640163e98e3 DRTVWR-96_3.1.0-beta2 bc01ee26fd0f1866e266429e85f76340523e91f1 DRTVWR-96_3.1.0-beta2 dbaaef19266478a20654c46395300640163e98e3 3.1.0-beta2 bc01ee26fd0f1866e266429e85f76340523e91f1 3.1.0-beta2 +ae2de7b0b33c03dc5bdf3a7bfa54463b512221b2 DRTVWR-92_3.1.0-release +ae2de7b0b33c03dc5bdf3a7bfa54463b512221b2 3.1.0-release -- GitLab From 902b33068fa4809915982712f369ecd8cea3c20d Mon Sep 17 00:00:00 2001 From: Oz Linden <oz@lindenlab.com> Date: Tue, 18 Oct 2011 19:27:40 -0400 Subject: [PATCH 254/256] increment viewer version to 3.2.0 --- indra/llcommon/llversionviewer.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h index e4ad7f4f542..1dc22519d75 100644 --- a/indra/llcommon/llversionviewer.h +++ b/indra/llcommon/llversionviewer.h @@ -28,8 +28,8 @@ #define LL_LLVERSIONVIEWER_H const S32 LL_VERSION_MAJOR = 3; -const S32 LL_VERSION_MINOR = 1; -const S32 LL_VERSION_PATCH = 1; +const S32 LL_VERSION_MINOR = 2; +const S32 LL_VERSION_PATCH = 0; const S32 LL_VERSION_BUILD = 0; const char * const LL_CHANNEL = "Second Life Developer"; -- GitLab From 956abbb5b20c29b1bbd633a7cf7a0638563298bc Mon Sep 17 00:00:00 2001 From: Oz Linden <oz@lindenlab.com> Date: Tue, 18 Oct 2011 19:27:56 -0400 Subject: [PATCH 255/256] Added tag 3.2.0-start for changeset a8230590e28e --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 4981827f026..f39eadae1bb 100644 --- a/.hgtags +++ b/.hgtags @@ -206,3 +206,4 @@ dbaaef19266478a20654c46395300640163e98e3 3.1.0-beta2 bc01ee26fd0f1866e266429e85f76340523e91f1 3.1.0-beta2 ae2de7b0b33c03dc5bdf3a7bfa54463b512221b2 DRTVWR-92_3.1.0-release ae2de7b0b33c03dc5bdf3a7bfa54463b512221b2 3.1.0-release +a8230590e28e4f30f5105549e0e43211d9d55711 3.2.0-start -- GitLab From dd61baa3401a09bd8ff1e894514c15390946cdb3 Mon Sep 17 00:00:00 2001 From: Oz Linden <oz@lindenlab.com> Date: Tue, 18 Oct 2011 19:28:24 -0400 Subject: [PATCH 256/256] increment viewer version to 3.2.1 --- indra/llcommon/llversionviewer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h index 1dc22519d75..aa37a03ef85 100644 --- a/indra/llcommon/llversionviewer.h +++ b/indra/llcommon/llversionviewer.h @@ -29,7 +29,7 @@ const S32 LL_VERSION_MAJOR = 3; const S32 LL_VERSION_MINOR = 2; -const S32 LL_VERSION_PATCH = 0; +const S32 LL_VERSION_PATCH = 1; const S32 LL_VERSION_BUILD = 0; const char * const LL_CHANNEL = "Second Life Developer"; -- GitLab