Added 'NearbyMedia' floater (accessable via new button in Media Remote popup)
-Floater utilizes a slightly modified LLPanelNearbyMedia, which has fading and the 'minimal' mode disabled when its parent is a floater. -Due to how LL designed LLPanelNearbyMedia, only one instance should ever be allowed at a time. Added LLNameBox. To avoid having dupilcate code, logic in LLTextBox::fromXML had to be moved to LLTextBox::initFromXML. -Perfomed some additional cleanup. 'name' attribute now parsed in LLUICtrl::initFromXML, or as-needed for elements not based off of LLUICtrl. LLSlider now respects current DrawContext Fixed the AO toolbar widget reserving too much width. Made the "wlfAdvSettingsPopup" setting persist, and un-inverted its logic. Altered ui initilization order. Toolbar/overlay panels now constructed further into login process.
This commit is contained in:
@@ -307,9 +307,6 @@ LLXMLNodePtr LLCheckBoxCtrl::getXML(bool save_children) const
|
||||
// static
|
||||
LLView* LLCheckBoxCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("checkbox");
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
std::string label("");
|
||||
node->getAttributeString("label", label);
|
||||
|
||||
@@ -326,7 +323,7 @@ LLView* LLCheckBoxCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFacto
|
||||
LLRect rect;
|
||||
createRect(node, rect, parent, LLRect());
|
||||
|
||||
LLCheckBoxCtrl* checkbox = new LLCheckboxCtrl(name,
|
||||
LLCheckBoxCtrl* checkbox = new LLCheckboxCtrl("checkbox",
|
||||
rect,
|
||||
label,
|
||||
font,
|
||||
|
||||
@@ -149,9 +149,6 @@ LLXMLNodePtr LLComboBox::getXML(bool save_children) const
|
||||
// static
|
||||
LLView* LLComboBox::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("combo_box");
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
std::string label("");
|
||||
node->getAttributeString("label", label);
|
||||
|
||||
@@ -164,7 +161,7 @@ LLView* LLComboBox::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *
|
||||
S32 max_chars = 20;
|
||||
node->getAttributeS32("max_chars", max_chars);
|
||||
|
||||
LLComboBox* combo_box = new LLComboBox(name,
|
||||
LLComboBox* combo_box = new LLComboBox("combo_box",
|
||||
rect,
|
||||
label);
|
||||
combo_box->setAllowTextEntry(allow_text_entry, max_chars);
|
||||
@@ -1245,16 +1242,13 @@ LLXMLNodePtr LLFlyoutButton::getXML(bool save_children) const
|
||||
//static
|
||||
LLView* LLFlyoutButton::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name = "flyout_button";
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
std::string label("");
|
||||
node->getAttributeString("label", label);
|
||||
|
||||
LLRect rect;
|
||||
createRect(node, rect, parent, LLRect());
|
||||
|
||||
LLFlyoutButton* flyout_button = new LLFlyoutButton(name,
|
||||
LLFlyoutButton* flyout_button = new LLFlyoutButton("flyout_button",
|
||||
rect,
|
||||
label);
|
||||
|
||||
|
||||
@@ -52,9 +52,6 @@ void LLFilterEditor::handleKeystroke()
|
||||
// static
|
||||
LLView* LLFilterEditor::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("filter_editor");
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
LLRect rect;
|
||||
createRect(node, rect, parent, LLRect());
|
||||
|
||||
@@ -63,7 +60,7 @@ LLView* LLFilterEditor::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFacto
|
||||
|
||||
std::string text = node->getValue().substr(0, max_text_length - 1);
|
||||
|
||||
LLFilterEditor* search_editor = new LLFilterEditor(name,
|
||||
LLFilterEditor* search_editor = new LLFilterEditor("filter_editor",
|
||||
rect,
|
||||
max_text_length);
|
||||
|
||||
|
||||
@@ -158,9 +158,6 @@ LLXMLNodePtr LLIconCtrl::getXML(bool save_children) const
|
||||
|
||||
LLView* LLIconCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("icon");
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
LLRect rect;
|
||||
createRect(node, rect, parent, LLRect());
|
||||
|
||||
@@ -173,7 +170,7 @@ LLView* LLIconCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *
|
||||
LLColor4 color(LLColor4::white);
|
||||
LLUICtrlFactory::getAttributeColor(node,"color", color);
|
||||
|
||||
LLIconCtrl* icon = new LLIconCtrl(name, rect, image_name);
|
||||
LLIconCtrl* icon = new LLIconCtrl("icon", rect, image_name);
|
||||
|
||||
icon->setColor(color);
|
||||
|
||||
|
||||
@@ -976,8 +976,6 @@ LLView* LLLayoutStack::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactor
|
||||
layout_stackp->setName(name);
|
||||
layout_stackp->initFromXML(node, parent);
|
||||
|
||||
llinfos << "Created layout stack '"<<name<<"' clip="<<clip<<" border_size="<<border_size<<" rect="<<layout_stackp->getRect()<<llendl;
|
||||
|
||||
LLXMLNodePtr child;
|
||||
for (child = node->getFirstChild(); child.notNull(); child = child->getNextSibling())
|
||||
{
|
||||
@@ -1020,7 +1018,6 @@ LLView* LLLayoutPanel::fromXML(LLXMLNodePtr node, LLView* parent, LLUICtrlFactor
|
||||
panelp->initPanelXML(node, parent, factory);
|
||||
panelp->mCommitCallbackRegistrar.popScope();
|
||||
panelp->mEnableCallbackRegistrar.popScope();
|
||||
llinfos << "Created standard layout panel '"<<name<<"'"<<" rect="<<panelp->getRect()<<llendl;
|
||||
|
||||
}
|
||||
else
|
||||
@@ -1033,11 +1030,6 @@ LLView* LLLayoutPanel::fromXML(LLXMLNodePtr node, LLView* parent, LLUICtrlFactor
|
||||
panelp->initPanelXML(node, parent, factory);
|
||||
panelp->mCommitCallbackRegistrar.popScope();
|
||||
panelp->mEnableCallbackRegistrar.popScope();
|
||||
llinfos << "Created factory layout panel '"<<name<<"'"<<" rect="<<panelp->getRect()<<llendl;
|
||||
}
|
||||
else
|
||||
{
|
||||
llinfos << "Factory layout panel already inited '"<<name<<"'"<<" rect="<<panelp->getRect()<<llendl;
|
||||
}
|
||||
}
|
||||
panelp->setOrigin(0, 0);
|
||||
|
||||
@@ -2555,9 +2555,6 @@ LLXMLNodePtr LLLineEditor::getXML(bool save_children) const
|
||||
// static
|
||||
LLView* LLLineEditor::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("line_editor");
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
LLRect rect;
|
||||
createRect(node, rect, parent, LLRect());
|
||||
|
||||
@@ -2584,7 +2581,7 @@ LLView* LLLineEditor::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory
|
||||
S32 border_thickness = 1;
|
||||
node->getAttributeS32("border_thickness", border_thickness);
|
||||
|
||||
LLLineEditor* line_editor = new LLLineEditor(name,
|
||||
LLLineEditor* line_editor = new LLLineEditor("line_editor",
|
||||
rect,
|
||||
text,
|
||||
font,
|
||||
|
||||
@@ -4150,13 +4150,10 @@ LLXMLNodePtr LLMenuBarGL::getXML(bool save_children) const
|
||||
|
||||
LLView* LLMenuBarGL::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("menu");
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
BOOL opaque = FALSE;
|
||||
node->getAttributeBOOL("opaque", opaque);
|
||||
|
||||
LLMenuBarGL *menubar = new LLMenuBarGL(name);
|
||||
LLMenuBarGL *menubar = new LLMenuBarGL("menu");
|
||||
|
||||
LLHandle<LLFloater> parent_handle;
|
||||
LLFloater* parent_floater = dynamic_cast<LLFloater*>(parent);
|
||||
|
||||
@@ -624,9 +624,6 @@ LLXMLNodePtr LLMultiSlider::getXML(bool save_children) const
|
||||
//static
|
||||
LLView* LLMultiSlider::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("multi_slider_bar");
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
LLRect rect;
|
||||
createRect(node, rect, parent, LLRect());
|
||||
|
||||
@@ -654,7 +651,7 @@ LLView* LLMultiSlider::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactor
|
||||
BOOL use_triangle = FALSE;
|
||||
node->getAttributeBOOL("use_triangle", use_triangle);
|
||||
|
||||
LLMultiSlider* multiSlider = new LLMultiSlider(name,
|
||||
LLMultiSlider* multiSlider = new LLMultiSlider("multi_slider_bar",
|
||||
rect,
|
||||
NULL,
|
||||
initial_value,
|
||||
|
||||
@@ -472,9 +472,6 @@ LLXMLNodePtr LLMultiSliderCtrl::getXML(bool save_children) const
|
||||
|
||||
LLView* LLMultiSliderCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("multi_slider");
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
std::string label;
|
||||
node->getAttributeString("label", label);
|
||||
|
||||
@@ -558,7 +555,7 @@ LLView* LLMultiSliderCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFa
|
||||
label.assign(node->getTextContents());
|
||||
}
|
||||
|
||||
LLMultiSliderCtrl* slider = new LLMultiSliderCtrl(name,
|
||||
LLMultiSliderCtrl* slider = new LLMultiSliderCtrl("multi_slider",
|
||||
rect,
|
||||
label,
|
||||
font,
|
||||
|
||||
@@ -352,9 +352,6 @@ LLXMLNodePtr LLRadioGroup::getXML(bool save_children) const
|
||||
// static
|
||||
LLView* LLRadioGroup::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("radio_group");
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
U32 initial_value = 0;
|
||||
node->getAttributeU32("initial_value", initial_value);
|
||||
|
||||
@@ -364,7 +361,7 @@ LLView* LLRadioGroup::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory
|
||||
LLRect rect;
|
||||
createRect(node, rect, parent, LLRect());
|
||||
|
||||
LLRadioGroup* radio_group = new LLRadioGroup(name,
|
||||
LLRadioGroup* radio_group = new LLRadioGroup("radio_group",
|
||||
rect,
|
||||
initial_value,
|
||||
NULL,
|
||||
@@ -408,10 +405,8 @@ LLView* LLRadioGroup::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory
|
||||
LLRect item_rect;
|
||||
createRect(child, item_rect, radio_group, rect);
|
||||
|
||||
std::string radioname("radio");
|
||||
child->getAttributeString("name", radioname);
|
||||
std::string item_label = child->getTextContents();
|
||||
LLRadioCtrl* radio = radio_group->addRadioButton(radioname, item_label, item_rect, font);
|
||||
LLRadioCtrl* radio = radio_group->addRadioButton("radio", item_label, item_rect, font);
|
||||
|
||||
radio->initFromXML(child, radio_group);
|
||||
}
|
||||
|
||||
@@ -152,13 +152,10 @@ LLXMLNodePtr LLScrollingPanelList::getXML(bool save_children) const
|
||||
// static
|
||||
LLView* LLScrollingPanelList::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("scrolling_panel_list");
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
LLRect rect;
|
||||
createRect(node, rect, parent, LLRect());
|
||||
|
||||
LLScrollingPanelList* scrolling_panel_list = new LLScrollingPanelList(name, rect);
|
||||
LLScrollingPanelList* scrolling_panel_list = new LLScrollingPanelList("scrolling_panel_list", rect);
|
||||
scrolling_panel_list->initFromXML(node, parent);
|
||||
return scrolling_panel_list;
|
||||
}
|
||||
|
||||
@@ -3104,9 +3104,6 @@ void LLScrollListCtrl::setScrollListParameters(LLXMLNodePtr node)
|
||||
// static
|
||||
LLView* LLScrollListCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("scroll_list");
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
LLRect rect;
|
||||
createRect(node, rect, parent, LLRect());
|
||||
|
||||
@@ -3132,7 +3129,7 @@ LLView* LLScrollListCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFac
|
||||
node->getAttributeBOOL("mouse_wheel_opaque", mouse_wheel_opaque);
|
||||
|
||||
LLScrollListCtrl* scroll_list = new LLScrollListCtrl(
|
||||
name,
|
||||
"scroll_list",
|
||||
rect,
|
||||
NULL,
|
||||
multi_select,
|
||||
|
||||
@@ -147,9 +147,6 @@ void LLSearchEditor::handleKeystroke()
|
||||
// static
|
||||
LLView* LLSearchEditor::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("search_editor");
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
LLRect rect;
|
||||
createRect(node, rect, parent, LLRect());
|
||||
|
||||
@@ -158,7 +155,7 @@ LLView* LLSearchEditor::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFacto
|
||||
|
||||
std::string text = node->getValue().substr(0, max_text_length - 1);
|
||||
|
||||
LLSearchEditor* search_editor = new LLSearchEditor(name,
|
||||
LLSearchEditor* search_editor = new LLSearchEditor("search_editor",
|
||||
rect,
|
||||
max_text_length);
|
||||
|
||||
|
||||
@@ -250,6 +250,8 @@ BOOL LLSlider::handleKeyHere(KEY key, MASK mask)
|
||||
|
||||
void LLSlider::draw()
|
||||
{
|
||||
F32 alpha = getDrawContext().mAlpha;
|
||||
|
||||
// since thumb image might still be decoding, need thumb to accomodate image size
|
||||
updateThumbRect();
|
||||
|
||||
@@ -258,31 +260,47 @@ void LLSlider::draw()
|
||||
// drawing solids requires texturing be disabled
|
||||
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
|
||||
|
||||
F32 opacity = getEnabled() ? 1.f : 0.3f;
|
||||
LLColor4 center_color = (mThumbCenterColor % opacity);
|
||||
|
||||
// Track
|
||||
LLRect track_rect(mThumbImage->getWidth() / 2,
|
||||
getLocalRect().getCenterY() + (mTrackImage->getHeight() / 2),
|
||||
getRect().getWidth() - mThumbImage->getWidth() / 2,
|
||||
getLocalRect().getCenterY() - (mTrackImage->getHeight() / 2) );
|
||||
LLRect highlight_rect(track_rect.mLeft, track_rect.mTop, mThumbRect.getCenterX(), track_rect.mBottom);
|
||||
mTrackImage->draw(track_rect);
|
||||
mTrackHighlightImage->draw(highlight_rect);
|
||||
mTrackImage->draw(track_rect, LLColor4::white % alpha);
|
||||
mTrackHighlightImage->draw(highlight_rect, LLColor4::white % alpha);
|
||||
|
||||
// Thumb
|
||||
if( hasMouseCapture() )
|
||||
{
|
||||
// Show ghost where thumb was before dragging began.
|
||||
mThumbImage->draw(mDragStartThumbRect, mThumbCenterColor % 0.3f);
|
||||
}
|
||||
if (hasFocus())
|
||||
{
|
||||
// Draw focus highlighting.
|
||||
mThumbImage->drawBorder(mThumbRect, gFocusMgr.getFocusColor(), gFocusMgr.getFocusFlashWidth());
|
||||
mThumbImage->drawBorder(mThumbRect, gFocusMgr.getFocusColor() % alpha, gFocusMgr.getFocusFlashWidth());
|
||||
}
|
||||
|
||||
if( hasMouseCapture() )
|
||||
{
|
||||
// Show ghost where thumb was before dragging began.
|
||||
if (mThumbImage.notNull())
|
||||
{
|
||||
mThumbImage->draw(mDragStartThumbRect, mThumbCenterColor % (0.3f * alpha));
|
||||
mThumbImage->draw(mThumbRect, mThumbOutlineColor % alpha);
|
||||
}
|
||||
}
|
||||
else if(!getEnabled())
|
||||
{
|
||||
if (mThumbImage.notNull())
|
||||
{
|
||||
mThumbImage->draw(mThumbRect, mThumbCenterColor % (0.3f * alpha));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (mThumbImage.notNull())
|
||||
{
|
||||
mThumbImage->draw(mThumbRect, mThumbCenterColor % alpha);
|
||||
}
|
||||
}
|
||||
// Fill in the thumb.
|
||||
mThumbImage->draw(mThumbRect, hasMouseCapture() ? mThumbOutlineColor : center_color);
|
||||
|
||||
|
||||
LLUICtrl::draw();
|
||||
}
|
||||
@@ -325,9 +343,6 @@ boost::signals2::connection LLSlider::setMouseUpCallback( const commit_signal_t:
|
||||
//static
|
||||
LLView* LLSlider::fromXML(LLXMLNodePtr node, LLView *parent, class LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("slider_bar");
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
LLRect rect;
|
||||
createRect(node, rect, parent, LLRect());
|
||||
|
||||
@@ -346,7 +361,7 @@ LLView* LLSlider::fromXML(LLXMLNodePtr node, LLView *parent, class LLUICtrlFacto
|
||||
BOOL volume = node->hasName("volume_slider") ? TRUE : FALSE;
|
||||
node->getAttributeBOOL("volume", volume);
|
||||
|
||||
LLSlider* slider = new LLSlider(name,
|
||||
LLSlider* slider = new LLSlider("slider_bar",
|
||||
rect,
|
||||
NULL,
|
||||
initial_value,
|
||||
|
||||
@@ -96,9 +96,9 @@ private:
|
||||
S32 mMouseOffset;
|
||||
LLRect mDragStartThumbRect;
|
||||
|
||||
LLUIImage* mThumbImage;
|
||||
LLUIImage* mTrackImage;
|
||||
LLUIImage* mTrackHighlightImage;
|
||||
LLPointer<LLUIImage> mThumbImage;
|
||||
LLPointer<LLUIImage> mTrackImage;
|
||||
LLPointer<LLUIImage> mTrackHighlightImage;
|
||||
|
||||
LLRect mThumbRect;
|
||||
LLColor4 mTrackColor;
|
||||
|
||||
@@ -403,9 +403,6 @@ LLXMLNodePtr LLSliderCtrl::getXML(bool save_children) const
|
||||
|
||||
LLView* LLSliderCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("slider");
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
std::string label;
|
||||
node->getAttributeString("label", label);
|
||||
|
||||
@@ -480,7 +477,7 @@ LLView* LLSliderCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory
|
||||
label.assign(node->getTextContents());
|
||||
}
|
||||
|
||||
LLSliderCtrl* slider = new LLSliderCtrl(name,
|
||||
LLSliderCtrl* slider = new LLSliderCtrl("slider",
|
||||
rect,
|
||||
label,
|
||||
font,
|
||||
|
||||
@@ -519,9 +519,6 @@ LLXMLNodePtr LLSpinCtrl::getXML(bool save_children) const
|
||||
|
||||
LLView* LLSpinCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("spinner");
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
std::string label;
|
||||
node->getAttributeString("label", label);
|
||||
|
||||
@@ -556,7 +553,7 @@ LLView* LLSpinCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *
|
||||
label.assign( node->getValue() );
|
||||
}
|
||||
|
||||
LLSpinCtrl* spinner = new LLSpinCtrl(name,
|
||||
LLSpinCtrl* spinner = new LLSpinCtrl("spinner",
|
||||
rect,
|
||||
label,
|
||||
font,
|
||||
|
||||
@@ -387,6 +387,69 @@ void LLTextBox::reshapeToFitText()
|
||||
reshape( width + 2 * mHPad, height + 2 * mVPad );
|
||||
}
|
||||
|
||||
// virtual
|
||||
void LLTextBox::initFromXML(LLXMLNodePtr node, LLView* parent)
|
||||
{
|
||||
LLUICtrl::initFromXML(node, parent);
|
||||
|
||||
LLFontGL* font = LLView::selectFont(node);
|
||||
if(font)
|
||||
mFontGL = font;
|
||||
|
||||
setText(node->getTextContents());
|
||||
|
||||
LLFontGL::HAlign halign = LLView::selectFontHAlign(node);
|
||||
setHAlign(halign);
|
||||
|
||||
node->getAttributeS32("line_spacing", mLineSpacing);
|
||||
|
||||
std::string font_style;
|
||||
if (node->getAttributeString("font-style", font_style))
|
||||
{
|
||||
mFontStyle = LLFontGL::getStyleFromString(font_style);
|
||||
}
|
||||
|
||||
if (node->getAttributeString("font-shadow", font_style))
|
||||
{
|
||||
if(font_style == "soft")
|
||||
mFontShadow = LLFontGL::DROP_SHADOW_SOFT;
|
||||
else if(font_style == "hard")
|
||||
mFontShadow = LLFontGL::DROP_SHADOW;
|
||||
else
|
||||
mFontShadow = LLFontGL::NO_SHADOW;
|
||||
}
|
||||
|
||||
BOOL mouse_opaque = getMouseOpaque();
|
||||
if (node->getAttributeBOOL("mouse_opaque", mouse_opaque))
|
||||
{
|
||||
setMouseOpaque(mouse_opaque);
|
||||
}
|
||||
|
||||
if(node->hasAttribute("text_color"))
|
||||
{
|
||||
LLColor4 color;
|
||||
LLUICtrlFactory::getAttributeColor(node, "text_color", color);
|
||||
setColor(color);
|
||||
}
|
||||
|
||||
if(node->hasAttribute("hover_color"))
|
||||
{
|
||||
LLColor4 color;
|
||||
LLUICtrlFactory::getAttributeColor(node, "hover_color", color);
|
||||
setHoverColor(color);
|
||||
setHoverActive(true);
|
||||
}
|
||||
|
||||
BOOL hover_active = FALSE;
|
||||
if(node->getAttributeBOOL("hover", hover_active))
|
||||
{
|
||||
setHoverActive(hover_active);
|
||||
}
|
||||
|
||||
node->getAttributeBOOL("use_ellipses", mUseEllipses);
|
||||
|
||||
}
|
||||
|
||||
// virtual
|
||||
LLXMLNodePtr LLTextBox::getXML(bool save_children) const
|
||||
{
|
||||
@@ -416,68 +479,8 @@ LLXMLNodePtr LLTextBox::getXML(bool save_children) const
|
||||
// static
|
||||
LLView* LLTextBox::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("text_box");
|
||||
node->getAttributeString("name", name);
|
||||
LLFontGL* font = LLView::selectFont(node);
|
||||
|
||||
std::string text = node->getTextContents();
|
||||
|
||||
LLTextBox* text_box = new LLTextBox(name,
|
||||
LLRect(),
|
||||
text,
|
||||
font,
|
||||
FALSE);
|
||||
|
||||
|
||||
LLFontGL::HAlign halign = LLView::selectFontHAlign(node);
|
||||
text_box->setHAlign(halign);
|
||||
|
||||
LLTextBox* text_box = new LLTextBox("text_box", LLRect(), "" , NULL, FALSE);
|
||||
text_box->initFromXML(node, parent);
|
||||
|
||||
node->getAttributeS32("line_spacing", text_box->mLineSpacing);
|
||||
|
||||
std::string font_style;
|
||||
if (node->getAttributeString("font-style", font_style))
|
||||
{
|
||||
text_box->mFontStyle = LLFontGL::getStyleFromString(font_style);
|
||||
}
|
||||
|
||||
if (node->getAttributeString("font-shadow", font_style))
|
||||
{
|
||||
if(font_style == "soft")
|
||||
text_box->mFontShadow = LLFontGL::DROP_SHADOW_SOFT;
|
||||
else if(font_style == "hard")
|
||||
text_box->mFontShadow = LLFontGL::DROP_SHADOW;
|
||||
else
|
||||
text_box->mFontShadow = LLFontGL::NO_SHADOW;
|
||||
}
|
||||
|
||||
BOOL mouse_opaque = text_box->getMouseOpaque();
|
||||
if (node->getAttributeBOOL("mouse_opaque", mouse_opaque))
|
||||
{
|
||||
text_box->setMouseOpaque(mouse_opaque);
|
||||
}
|
||||
|
||||
if(node->hasAttribute("text_color"))
|
||||
{
|
||||
LLColor4 color;
|
||||
LLUICtrlFactory::getAttributeColor(node, "text_color", color);
|
||||
text_box->setColor(color);
|
||||
}
|
||||
|
||||
if(node->hasAttribute("hover_color"))
|
||||
{
|
||||
LLColor4 color;
|
||||
LLUICtrlFactory::getAttributeColor(node, "hover_color", color);
|
||||
text_box->setHoverColor(color);
|
||||
text_box->setHoverActive(true);
|
||||
}
|
||||
|
||||
BOOL hover_active = FALSE;
|
||||
if(node->getAttributeBOOL("hover", hover_active))
|
||||
{
|
||||
text_box->setHoverActive(hover_active);
|
||||
}
|
||||
|
||||
return text_box;
|
||||
}
|
||||
|
||||
@@ -63,6 +63,7 @@ public:
|
||||
|
||||
virtual ~LLTextBox() {}
|
||||
|
||||
virtual void initFromXML(LLXMLNodePtr node, LLView* parent);
|
||||
virtual LLXMLNodePtr getXML(bool save_children = true) const;
|
||||
static LLView* fromXML(LLXMLNodePtr node, LLView *parent, class LLUICtrlFactory *factory);
|
||||
|
||||
|
||||
@@ -4748,9 +4748,6 @@ LLXMLNodePtr LLTextEditor::getXML(bool save_children) const
|
||||
// static
|
||||
LLView* LLTextEditor::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("text_editor");
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
LLRect rect;
|
||||
createRect(node, rect, parent, LLRect());
|
||||
|
||||
@@ -4764,7 +4761,7 @@ LLView* LLTextEditor::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory
|
||||
|
||||
std::string text = node->getTextContents().substr(0, max_text_length - 1);
|
||||
|
||||
LLTextEditor* text_editor = new LLTextEditor(name,
|
||||
LLTextEditor* text_editor = new LLTextEditor("text_editor",
|
||||
rect,
|
||||
max_text_length,
|
||||
text,
|
||||
|
||||
@@ -485,6 +485,10 @@ BOOL LLUICtrl::handleToolTip(S32 x, S32 y, std::string& msg, LLRect* sticky_rect
|
||||
|
||||
void LLUICtrl::initFromXML(LLXMLNodePtr node, LLView* parent)
|
||||
{
|
||||
std::string name;
|
||||
if(node->getAttributeString("name", name))
|
||||
setName(name);
|
||||
|
||||
BOOL has_tab_stop = hasTabStop();
|
||||
node->getAttributeBOOL("tab_stop", has_tab_stop);
|
||||
|
||||
|
||||
@@ -102,11 +102,8 @@ public:
|
||||
|
||||
static LLView *fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("pad");
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
LLUICtrlLocate *new_ctrl = new LLUICtrlLocate();
|
||||
new_ctrl->setName(name);
|
||||
new_ctrl->setName("pad");
|
||||
new_ctrl->initFromXML(node, parent);
|
||||
return new_ctrl;
|
||||
}
|
||||
|
||||
@@ -370,6 +370,7 @@ set(viewer_SOURCE_FILES
|
||||
llpanelmediasettingsgeneral.cpp
|
||||
llpanelmediasettingspermissions.cpp
|
||||
llpanelmediasettingssecurity.cpp
|
||||
llpanelnearbymedia.cpp
|
||||
llpanelmorph.cpp
|
||||
llpanelmsgs.cpp
|
||||
llpanelnetwork.cpp
|
||||
@@ -871,6 +872,7 @@ set(viewer_HEADER_FILES
|
||||
llpanelmediasettingsgeneral.h
|
||||
llpanelmediasettingspermissions.h
|
||||
llpanelmediasettingssecurity.h
|
||||
llpanelnearbymedia.h
|
||||
llpanelmorph.h
|
||||
llpanelmsgs.h
|
||||
llpanelnetwork.h
|
||||
|
||||
@@ -425,7 +425,19 @@
|
||||
</array>
|
||||
</map>
|
||||
|
||||
<!-- Begin: AO-->
|
||||
<key>ShowNearbyMediaFloater</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Show nearby media floter</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
|
||||
<!-- Begin: AO-->
|
||||
|
||||
<key>ShowAOSitPopup</key>
|
||||
<map>
|
||||
@@ -1125,7 +1137,7 @@ This should be as low as possible, but too low may break functionality</string>
|
||||
<key>Comment</key>
|
||||
<string>Show Windlight popup</string>
|
||||
<key>Persist</key>
|
||||
<integer>0</integer>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
@@ -16940,6 +16952,22 @@ This should be as low as possible, but too low may break functionality</string>
|
||||
<integer>473</integer>
|
||||
</array>
|
||||
</map>
|
||||
<key>FloaterNearbyMediaRect</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Rectangle for nearby media floater.</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Rect</string>
|
||||
<key>Value</key>
|
||||
<array>
|
||||
<integer>0</integer>
|
||||
<integer>0</integer>
|
||||
<integer>0</integer>
|
||||
<integer>0</integer>
|
||||
</array>
|
||||
</map>
|
||||
<key>WindEnabled</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
|
||||
@@ -352,9 +352,6 @@ LLXMLNodePtr LLColorSwatchCtrl::getXML(bool save_children) const
|
||||
|
||||
LLView* LLColorSwatchCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("colorswatch");
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
std::string label;
|
||||
node->getAttributeString("label", label);
|
||||
|
||||
@@ -373,7 +370,7 @@ LLView* LLColorSwatchCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFa
|
||||
}
|
||||
|
||||
LLColorSwatchCtrl* color_swatch = new LLColorSwatchCtrl(
|
||||
name,
|
||||
"colorswatch",
|
||||
rect,
|
||||
label,
|
||||
color );
|
||||
|
||||
@@ -124,6 +124,7 @@ public:
|
||||
static void closeWithoutSaving();
|
||||
|
||||
protected:
|
||||
friend class LLPanelNearByMedia;
|
||||
LLPreferenceCore *mPreferenceCore;
|
||||
|
||||
/*virtual*/ void onClose(bool app_quitting);
|
||||
|
||||
@@ -331,9 +331,6 @@ LLXMLNodePtr LLJoystickAgentTurn::getXML(bool save_children) const
|
||||
|
||||
LLView* LLJoystickAgentTurn::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("button");
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
std::string image_unselected;
|
||||
if (node->hasAttribute("image_unselected")) node->getAttributeString("image_unselected",image_unselected);
|
||||
|
||||
@@ -343,7 +340,7 @@ LLView* LLJoystickAgentTurn::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrl
|
||||
EJoystickQuadrant quad = JQ_ORIGIN;
|
||||
if (node->hasAttribute("quadrant")) quad = selectQuadrant(node);
|
||||
|
||||
LLJoystickAgentTurn *button = new LLJoystickAgentTurn(name,
|
||||
LLJoystickAgentTurn *button = new LLJoystickAgentTurn("button",
|
||||
LLRect(),
|
||||
image_unselected,
|
||||
image_selected,
|
||||
@@ -449,9 +446,6 @@ LLXMLNodePtr LLJoystickAgentSlide::getXML(bool save_children) const
|
||||
// static
|
||||
LLView* LLJoystickAgentSlide::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("button");
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
std::string image_unselected;
|
||||
if (node->hasAttribute("image_unselected")) node->getAttributeString("image_unselected",image_unselected);
|
||||
|
||||
@@ -462,7 +456,7 @@ LLView* LLJoystickAgentSlide::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtr
|
||||
EJoystickQuadrant quad = JQ_ORIGIN;
|
||||
if (node->hasAttribute("quadrant")) quad = selectQuadrant(node);
|
||||
|
||||
LLJoystickAgentSlide *button = new LLJoystickAgentSlide(name,
|
||||
LLJoystickAgentSlide *button = new LLJoystickAgentSlide("button",
|
||||
LLRect(),
|
||||
image_unselected,
|
||||
image_selected,
|
||||
|
||||
@@ -46,20 +46,18 @@
|
||||
// statics
|
||||
std::set<LLNameBox*> LLNameBox::sInstances;
|
||||
|
||||
static LLRegisterWidget<LLNameBox> r("name_box");
|
||||
|
||||
LLNameBox::LLNameBox(const std::string& name, const LLRect& rect, const LLUUID& name_id, BOOL is_group, const LLFontGL* font, BOOL mouse_opaque)
|
||||
: LLTextBox(name, rect, std::string("(retrieving)"), font, mouse_opaque),
|
||||
mNameID(name_id)
|
||||
|
||||
LLNameBox::LLNameBox(const std::string& name)
|
||||
: LLTextBox(name, LLRect(), "" , NULL, TRUE)
|
||||
{
|
||||
mNameID = LLUUID::null;
|
||||
mLink = false;
|
||||
//mParseHTML = mLink; // STORM-215
|
||||
mInitialValue = "(retrieving)";
|
||||
LLNameBox::sInstances.insert(this);
|
||||
if(!name_id.isNull())
|
||||
{
|
||||
setNameID(name_id, is_group);
|
||||
}
|
||||
else
|
||||
{
|
||||
setText(LLStringUtil::null);
|
||||
}
|
||||
setText(LLStringUtil::null);
|
||||
}
|
||||
|
||||
LLNameBox::~LLNameBox()
|
||||
@@ -72,25 +70,30 @@ void LLNameBox::setNameID(const LLUUID& name_id, BOOL is_group)
|
||||
mNameID = name_id;
|
||||
|
||||
std::string name;
|
||||
BOOL got_name = FALSE;
|
||||
|
||||
if (!is_group)
|
||||
{
|
||||
gCacheName->getFullName(name_id, name);
|
||||
got_name = gCacheName->getFullName(name_id, name);
|
||||
}
|
||||
else
|
||||
{
|
||||
gCacheName->getGroupName(name_id, name);
|
||||
got_name = gCacheName->getGroupName(name_id, name);
|
||||
}
|
||||
|
||||
setText(name);
|
||||
// Got the name already? Set it.
|
||||
// Otherwise it will be set later in refresh().
|
||||
if (got_name)
|
||||
setName(name, is_group);
|
||||
else
|
||||
setText(mInitialValue);
|
||||
}
|
||||
|
||||
void LLNameBox::refresh(const LLUUID& id, const std::string& full_name, bool is_group)
|
||||
|
||||
{
|
||||
if (id == mNameID)
|
||||
{
|
||||
setText(full_name);
|
||||
setName(full_name, is_group);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -105,3 +108,39 @@ void LLNameBox::refreshAll(const LLUUID& id, const std::string& full_name, bool
|
||||
box->refresh(id, full_name, is_group);
|
||||
}
|
||||
}
|
||||
|
||||
void LLNameBox::setName(const std::string& name, BOOL is_group)
|
||||
{
|
||||
if (mLink)
|
||||
{
|
||||
std::string url;
|
||||
|
||||
if (is_group)
|
||||
url = "[secondlife:///app/group/" + mNameID.asString() + "/about " + name + "]";
|
||||
else
|
||||
url = "[secondlife:///app/agent/" + mNameID.asString() + "/about " + name + "]";
|
||||
|
||||
setText(url);
|
||||
}
|
||||
else
|
||||
{
|
||||
setText(name);
|
||||
}
|
||||
}
|
||||
|
||||
// virtual
|
||||
void LLNameBox::initFromXML(LLXMLNodePtr node, LLView* parent)
|
||||
{
|
||||
LLTextBox::initFromXML(node, parent);
|
||||
node->getAttributeBOOL("link", mLink);
|
||||
node->getAttributeString("initial_value", mInitialValue);
|
||||
}
|
||||
|
||||
// static
|
||||
LLView* LLNameBox::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
LLNameBox* name_box = new LLNameBox("name_box");
|
||||
name_box->initFromXML(node,parent);
|
||||
return name_box;
|
||||
}
|
||||
|
||||
|
||||
@@ -44,10 +44,9 @@ class LLNameBox
|
||||
: public LLTextBox
|
||||
{
|
||||
public:
|
||||
LLNameBox(const std::string& name, const LLRect& rect, const LLUUID& name_id = LLUUID::null, BOOL is_group = FALSE, const LLFontGL* font = NULL, BOOL mouse_opaque = TRUE );
|
||||
// By default, follows top and left and is mouse-opaque.
|
||||
// If no text, text = name.
|
||||
// If no font, uses default system font.
|
||||
virtual void initFromXML(LLXMLNodePtr node, LLView* parent);
|
||||
static LLView* fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory);
|
||||
|
||||
virtual ~LLNameBox();
|
||||
|
||||
void setNameID(const LLUUID& name_id, BOOL is_group);
|
||||
@@ -56,11 +55,19 @@ public:
|
||||
|
||||
static void refreshAll(const LLUUID& id, const std::string& full_name, bool is_group);
|
||||
|
||||
protected:
|
||||
LLNameBox (const std::string& name);
|
||||
|
||||
friend class LLUICtrlFactory;
|
||||
private:
|
||||
void setName(const std::string& name, BOOL is_group);
|
||||
|
||||
static std::set<LLNameBox*> sInstances;
|
||||
|
||||
private:
|
||||
LLUUID mNameID;
|
||||
BOOL mLink;
|
||||
std::string mInitialValue;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -132,9 +132,6 @@ LLXMLNodePtr LLNameEditor::getXML(bool save_children) const
|
||||
|
||||
LLView* LLNameEditor::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("name_editor");
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
LLRect rect;
|
||||
createRect(node, rect, parent, LLRect());
|
||||
|
||||
@@ -143,7 +140,7 @@ LLView* LLNameEditor::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory
|
||||
|
||||
LLFontGL* font = LLView::selectFont(node);
|
||||
|
||||
LLNameEditor* line_editor = new LLNameEditor(name,
|
||||
LLNameEditor* line_editor = new LLNameEditor("name_editor",
|
||||
rect,
|
||||
LLUUID::null, FALSE,
|
||||
font,
|
||||
|
||||
@@ -319,9 +319,6 @@ LLXMLNodePtr LLNameListCtrl::getXML(bool save_children) const
|
||||
|
||||
LLView* LLNameListCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("name_list");
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
LLRect rect;
|
||||
createRect(node, rect, parent, LLRect());
|
||||
|
||||
@@ -337,7 +334,7 @@ LLView* LLNameListCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFacto
|
||||
S32 name_column_index = 0;
|
||||
node->getAttributeS32("name_column_index", name_column_index);
|
||||
|
||||
LLNameListCtrl* name_list = new LLNameListCtrl(name,
|
||||
LLNameListCtrl* name_list = new LLNameListCtrl("name_list",
|
||||
rect,
|
||||
multi_select,
|
||||
draw_border,
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
#include "llmediactrl.h"
|
||||
#include "llselectmgr.h"
|
||||
#include "wlfPanel_AdvSettings.h"
|
||||
|
||||
#include "llpanelnearbymedia.h"
|
||||
|
||||
|
||||
|
||||
@@ -90,7 +90,6 @@ LLOverlayBar *gOverlayBar = NULL;
|
||||
extern S32 MENU_BAR_HEIGHT;
|
||||
extern ImportTracker gImportTracker;
|
||||
|
||||
BOOL LLOverlayBar::sAdvSettingsPopup;
|
||||
BOOL LLOverlayBar::sChatVisible;
|
||||
|
||||
//
|
||||
@@ -156,15 +155,15 @@ LLOverlayBar::LLOverlayBar()
|
||||
|
||||
bool updateAdvSettingsPopup(const LLSD &data)
|
||||
{
|
||||
LLOverlayBar::sAdvSettingsPopup = gSavedSettings.getBOOL("wlfAdvSettingsPopup");
|
||||
bool wfl_adv_settings_popup = gSavedSettings.getBOOL("wlfAdvSettingsPopup");
|
||||
wlfPanel_AdvSettings::updateClass();
|
||||
if(LLLayoutStack* layout_stack = gOverlayBar->findChild<LLLayoutStack>("overlay_layout_panel"))
|
||||
{
|
||||
LLLayoutPanel* layout_panel = layout_stack->findChild<LLLayoutPanel>("AdvSettings_container");
|
||||
if(layout_panel)
|
||||
{
|
||||
layout_stack->collapsePanel(layout_panel,LLOverlayBar::sAdvSettingsPopup);
|
||||
if(!LLOverlayBar::sAdvSettingsPopup)
|
||||
layout_stack->collapsePanel(layout_panel,!wfl_adv_settings_popup);
|
||||
if(wfl_adv_settings_popup)
|
||||
layout_panel->setTargetDim(layout_panel->getChild<LLView>("Adv_Settings")->getBoundingRect().getWidth());
|
||||
}
|
||||
}
|
||||
@@ -184,6 +183,11 @@ bool updateAORemote(const LLSD &data)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool updateNearbyMediaFloater(const LLSD &data)
|
||||
{
|
||||
LLFloaterNearbyMedia::updateClass();
|
||||
return true;
|
||||
}
|
||||
|
||||
BOOL LLOverlayBar::postBuild()
|
||||
{
|
||||
@@ -212,22 +216,26 @@ BOOL LLOverlayBar::postBuild()
|
||||
|
||||
layoutButtons();
|
||||
|
||||
sAdvSettingsPopup = gSavedSettings.getBOOL("wlfAdvSettingsPopup");
|
||||
sChatVisible = gSavedSettings.getBOOL("ChatVisible");
|
||||
|
||||
gSavedSettings.getControl("wlfAdvSettingsPopup")->getSignal()->connect(boost::bind(&updateAdvSettingsPopup,_2));
|
||||
LLControlVariable* wfl_adv_settings_popupp = gSavedSettings.getControl("wlfAdvSettingsPopup");
|
||||
wfl_adv_settings_popupp->getSignal()->connect(boost::bind(&updateAdvSettingsPopup,_2));
|
||||
gSavedSettings.getControl("ChatVisible")->getSignal()->connect(boost::bind(&updateChatVisible,_2));
|
||||
gSavedSettings.getControl("EnableAORemote")->getSignal()->connect(boost::bind(&updateAORemote,_2));
|
||||
gSavedSettings.getControl("ShowNearbyMediaFloater")->getSignal()->connect(boost::bind(&updateNearbyMediaFloater,_2));
|
||||
|
||||
childSetVisible("ao_remote_container", gSavedSettings.getBOOL("EnableAORemote"));
|
||||
|
||||
wlfPanel_AdvSettings::updateClass();
|
||||
|
||||
bool wfl_adv_settings_popup = wfl_adv_settings_popupp->getValue().asBoolean();
|
||||
if(LLLayoutStack* layout_stack = findChild<LLLayoutStack>("overlay_layout_panel"))
|
||||
{
|
||||
LLLayoutPanel* layout_panel = layout_stack->findChild<LLLayoutPanel>("AdvSettings_container");
|
||||
if(layout_panel)
|
||||
{
|
||||
layout_stack->collapsePanel(layout_panel,LLOverlayBar::sAdvSettingsPopup);
|
||||
if(!LLOverlayBar::sAdvSettingsPopup)
|
||||
layout_stack->collapsePanel(layout_panel,!wfl_adv_settings_popup);
|
||||
if(wfl_adv_settings_popup)
|
||||
layout_panel->setTargetDim(layout_panel->getChild<LLView>("Adv_Settings")->getBoundingRect().getWidth());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,7 +99,6 @@ public:
|
||||
void setCancelTPButtonVisible(BOOL b, const std::string& label);
|
||||
|
||||
static BOOL sChatVisible;
|
||||
static BOOL sAdvSettingsPopup;
|
||||
protected:
|
||||
static void* createMediaRemote(void* userdata);
|
||||
static void* createVoiceRemote(void* userdata);
|
||||
@@ -110,6 +109,7 @@ protected:
|
||||
void enableMediaButtons();
|
||||
|
||||
protected:
|
||||
friend class LLFloaterNearbyMedia; //Crappy workaround to access mMediaRemote
|
||||
LLMediaRemoteCtrl* mMediaRemote;
|
||||
LLVoiceRemoteCtrl* mVoiceRemote;
|
||||
LLButton* mCancelBtn;
|
||||
|
||||
@@ -142,14 +142,7 @@ BOOL LLPanelGroupGeneral::postBuild()
|
||||
mBtnInfo->setClickedCallback(boost::bind(&LLPanelGroupGeneral::onClickInfo, this));
|
||||
}
|
||||
|
||||
LLTextBox* founder = getChild<LLTextBox>("founder_name");
|
||||
if (founder)
|
||||
{
|
||||
mFounderName = new LLNameBox(founder->getName(),founder->getRect(),LLUUID::null,FALSE,founder->getFont(),founder->getMouseOpaque());
|
||||
removeChild(founder);
|
||||
delete founder;
|
||||
addChild(mFounderName);
|
||||
}
|
||||
mFounderName = getChild<LLNameBox>("founder_name");
|
||||
|
||||
mListVisibleMembers = getChild<LLNameListCtrl>("visible_members", recurse);
|
||||
if (mListVisibleMembers)
|
||||
|
||||
@@ -76,7 +76,7 @@ BOOL LLPanelMediaSettingsPermissions::postBuild()
|
||||
mPermsWorldInteract = getChild< LLCheckBoxCtrl >( LLPanelContents::PERMS_ANYONE_INTERACT_KEY );
|
||||
mPermsWorldControl = getChild< LLCheckBoxCtrl >( LLPanelContents::PERMS_ANYONE_CONTROL_KEY );
|
||||
|
||||
//mPermsGroupName = getChild< LLNameBox >( "perms_group_name" );
|
||||
mPermsGroupName = getChild< LLNameBox >( "perms_group_name" );
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -94,7 +94,7 @@ void LLPanelMediaSettingsPermissions::draw()
|
||||
// housekeeping
|
||||
LLPanel::draw();
|
||||
|
||||
//getChild<LLUICtrl>("perms_group_name")->setValue(LLStringUtil::null);
|
||||
getChild<LLUICtrl>("perms_group_name")->setValue(LLStringUtil::null);
|
||||
LLUUID group_id;
|
||||
BOOL groups_identical = LLSelectMgr::getInstance()->selectGetGroup(group_id);
|
||||
if (groups_identical)
|
||||
@@ -139,7 +139,7 @@ void LLPanelMediaSettingsPermissions::clearValues( void* userdata, bool editable
|
||||
self->getChild< LLTextBox >("controls_label")->setEnabled(editable);
|
||||
self->getChild< LLTextBox >("owner_label")->setEnabled(editable);
|
||||
self->getChild< LLTextBox >("group_label")->setEnabled(editable);
|
||||
//self->getChild< LLNameBox >("perms_group_name")->setEnabled(editable);
|
||||
self->getChild< LLNameBox >("perms_group_name")->setEnabled(editable);
|
||||
self->getChild< LLTextBox >("anyone_label")->setEnabled(editable);
|
||||
}
|
||||
|
||||
@@ -218,7 +218,7 @@ void LLPanelMediaSettingsPermissions::initValues( void* userdata, const LLSD& me
|
||||
self->getChild< LLTextBox >("controls_label")->setEnabled(editable);
|
||||
self->getChild< LLTextBox >("owner_label")->setEnabled(editable);
|
||||
self->getChild< LLTextBox >("group_label")->setEnabled(editable);
|
||||
//self->getChild< LLNameBox >("perms_group_name")->setEnabled(editable);
|
||||
self->getChild< LLNameBox >("perms_group_name")->setEnabled(editable);
|
||||
self->getChild< LLTextBox >("anyone_label")->setEnabled(editable);
|
||||
}
|
||||
|
||||
|
||||
1313
indra/newview/llpanelnearbymedia.cpp
Normal file
1313
indra/newview/llpanelnearbymedia.cpp
Normal file
File diff suppressed because it is too large
Load Diff
198
indra/newview/llpanelnearbymedia.h
Normal file
198
indra/newview/llpanelnearbymedia.h
Normal file
@@ -0,0 +1,198 @@
|
||||
/**
|
||||
* @file llpanelnearbymedia.h
|
||||
* @brief Management interface for muting and controlling nearby media
|
||||
*
|
||||
* $LicenseInfo:firstyear=2005&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_LLPANELNEARBYMEDIA_H
|
||||
#define LL_LLPANELNEARBYMEDIA_H
|
||||
|
||||
#include "llpanel.h"
|
||||
#include "llfloater.h"
|
||||
#include "llsingleton.h"
|
||||
|
||||
class LLPanelNearbyMedia;
|
||||
class LLButton;
|
||||
class LLScrollListCtrl;
|
||||
class LLSlider;
|
||||
class LLSliderCtrl;
|
||||
class LLCheckBoxCtrl;
|
||||
class LLTextBox;
|
||||
class LLComboBox;
|
||||
class LLViewerMediaImpl;
|
||||
|
||||
class LLPanelNearByMedia : public LLPanel
|
||||
{
|
||||
public:
|
||||
|
||||
/*virtual*/ BOOL postBuild();
|
||||
/*virtual*/ void draw();
|
||||
/*virtual*/ void onMouseEnter(S32 x, S32 y, MASK mask);
|
||||
/*virtual*/ void onMouseLeave(S32 x, S32 y, MASK mask);
|
||||
/*virtual*/ void onTopLost();
|
||||
/*virtual*/ void handleVisibilityChange ( BOOL new_visibility );
|
||||
/*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent);
|
||||
/*virtual*/ BOOL handleHover(S32 x, S32 y, MASK mask);
|
||||
|
||||
// this is part of the nearby media *dialog* so we can track whether
|
||||
// the user *implicitly* wants audio on or off via their *explicit*
|
||||
// interaction with our buttons.
|
||||
bool getParcelAudioAutoStart();
|
||||
|
||||
// callback for when the auto play media preference changes
|
||||
// to update mParcelAudioAutoStart
|
||||
void handleMediaAutoPlayChanged(const LLSD& newvalue);
|
||||
|
||||
LLPanelNearByMedia(bool standalone_panel = true);
|
||||
virtual ~LLPanelNearByMedia();
|
||||
|
||||
private:
|
||||
|
||||
enum ColumnIndex {
|
||||
CHECKBOX_COLUMN = 0,
|
||||
PROXIMITY_COLUMN = 1,
|
||||
VISIBILITY_COLUMN = 2,
|
||||
CLASS_COLUMN = 3,
|
||||
NAME_COLUMN = 4,
|
||||
DEBUG_COLUMN = 5
|
||||
};
|
||||
|
||||
// Media "class" enumeration
|
||||
enum MediaClass {
|
||||
MEDIA_CLASS_ALL = 0,
|
||||
MEDIA_CLASS_FOCUSED = 1,
|
||||
MEDIA_CLASS_WITHIN_PARCEL = 2,
|
||||
MEDIA_CLASS_OUTSIDE_PARCEL = 3,
|
||||
MEDIA_CLASS_ON_OTHERS = 4
|
||||
};
|
||||
|
||||
// Add/remove an LLViewerMediaImpl to/from the list
|
||||
LLScrollListItem* addListItem(const LLUUID &id);
|
||||
void updateListItem(LLScrollListItem* item, LLViewerMediaImpl* impl);
|
||||
void updateListItem(LLScrollListItem* item,
|
||||
const std::string &item_name,
|
||||
const std::string &item_tooltip,
|
||||
S32 proximity,
|
||||
bool is_disabled,
|
||||
bool has_media,
|
||||
bool is_time_based_and_playing,
|
||||
MediaClass media_class,
|
||||
const std::string &debug_str);
|
||||
void removeListItem(const LLUUID &id);
|
||||
|
||||
// Refresh the list in the UI
|
||||
void refreshList();
|
||||
|
||||
void refreshParcelItems();
|
||||
|
||||
// UI Callbacks
|
||||
void onClickEnableAll();
|
||||
void onClickDisableAll();
|
||||
void onClickEnableParcelMedia();
|
||||
void onClickDisableParcelMedia();
|
||||
void onClickMuteParcelMedia();
|
||||
void onParcelMediaVolumeSlider();
|
||||
void onClickParcelMediaPlay();
|
||||
void onClickParcelMediaStop();
|
||||
void onClickParcelMediaPause();
|
||||
void onClickParcelAudioPlay();
|
||||
void onClickParcelAudioStop();
|
||||
void onClickParcelAudioPause();
|
||||
void onCheckAutoPlay();
|
||||
void onAdvancedButtonClick();
|
||||
void onMoreLess();
|
||||
|
||||
void onCheckItem(LLUICtrl* ctrl, const LLUUID &row_id);
|
||||
|
||||
static void onZoomMedia(void* user_data);
|
||||
|
||||
private:
|
||||
bool setDisabled(const LLUUID &id, bool disabled);
|
||||
|
||||
static void getNameAndUrlHelper(LLViewerMediaImpl* impl, std::string& name, std::string & url, const std::string &defaultName);
|
||||
|
||||
void updateColumns();
|
||||
|
||||
bool shouldShow(LLViewerMediaImpl* impl);
|
||||
|
||||
void showBasicControls(bool playing, bool include_zoom, bool is_zoomed, bool muted, F32 volume);
|
||||
void showTimeBasedControls(bool playing, bool include_zoom, bool is_zoomed, bool muted, F32 volume);
|
||||
void showDisabledControls();
|
||||
void updateControls();
|
||||
|
||||
void onClickSelectedMediaStop();
|
||||
void onClickSelectedMediaPlay();
|
||||
void onClickSelectedMediaPause();
|
||||
void onClickSelectedMediaMute();
|
||||
void onCommitSelectedMediaVolume();
|
||||
void onClickSelectedMediaZoom();
|
||||
void onClickSelectedMediaUnzoom();
|
||||
|
||||
LLUICtrl* mNearbyMediaPanel;
|
||||
LLScrollListCtrl* mMediaList;
|
||||
LLUICtrl* mEnableAllCtrl;
|
||||
LLUICtrl* mDisableAllCtrl;
|
||||
LLComboBox* mShowCtrl;
|
||||
|
||||
// Dynamic (selection-dependent) controls
|
||||
LLUICtrl* mStopCtrl;
|
||||
LLUICtrl* mPlayCtrl;
|
||||
LLUICtrl* mPauseCtrl;
|
||||
LLUICtrl* mMuteCtrl;
|
||||
LLUICtrl* mVolumeSliderCtrl;
|
||||
LLUICtrl* mZoomCtrl;
|
||||
LLUICtrl* mUnzoomCtrl;
|
||||
LLSlider* mVolumeSlider;
|
||||
LLButton* mMuteBtn;
|
||||
|
||||
bool mAllMediaDisabled;
|
||||
bool mDebugInfoVisible;
|
||||
bool mParcelAudioAutoStart;
|
||||
std::string mEmptyNameString;
|
||||
std::string mPlayingString;
|
||||
std::string mParcelMediaName;
|
||||
std::string mParcelAudioName;
|
||||
|
||||
LLRect mMoreRect;
|
||||
LLRect mLessRect;
|
||||
LLFrameTimer mHoverTimer;
|
||||
LLScrollListItem* mParcelMediaItem;
|
||||
LLScrollListItem* mParcelAudioItem;
|
||||
|
||||
bool mStandalonePanel;
|
||||
};
|
||||
|
||||
class LLFloaterNearbyMedia : public LLFloater, public LLSingleton<LLFloaterNearbyMedia>
|
||||
{
|
||||
public:
|
||||
LLFloaterNearbyMedia();
|
||||
|
||||
static void updateClass();
|
||||
|
||||
/*virtual*/ void onClose(bool app_quitting);
|
||||
/*virtual*/ void onOpen();
|
||||
|
||||
virtual void handleReshape(const LLRect& new_rect, bool by_user);
|
||||
};
|
||||
|
||||
#endif // LL_LLPANELNEARBYMEDIA_H
|
||||
@@ -4207,8 +4207,6 @@ bool process_login_success_response(std::string& password)
|
||||
LLViewerMedia::openIDSetup(openid_url, openid_token);
|
||||
}
|
||||
|
||||
gIMMgr->loadIgnoreGroup();
|
||||
|
||||
bool success = false;
|
||||
// JC: gesture loading done below, when we have an asset system
|
||||
// in place. Don't delete/clear user_credentials until then.
|
||||
|
||||
@@ -1175,9 +1175,6 @@ LLXMLNodePtr LLTextureCtrl::getXML(bool save_children) const
|
||||
|
||||
LLView* LLTextureCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("texture_picker");
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
LLRect rect;
|
||||
createRect(node, rect, parent);
|
||||
|
||||
@@ -1208,7 +1205,7 @@ LLView* LLTextureCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactor
|
||||
}
|
||||
|
||||
LLTextureCtrl* texture_picker = new LLTextureCtrl(
|
||||
name,
|
||||
"texture_picker",
|
||||
rect,
|
||||
label,
|
||||
LLUUID(image_id),
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
|
||||
#include "linden_common.h"
|
||||
#include "llpluginclassmedia.h"
|
||||
#include "llpluginclassmediaowner.h"
|
||||
#include "llviewermedia.h"
|
||||
|
||||
#include "llviewermedia_streamingaudio.h"
|
||||
@@ -63,18 +64,18 @@ void LLStreamingAudio_MediaPlugins::start(const std::string& url)
|
||||
if (!mMediaPlugin) // lazy-init the underlying media plugin
|
||||
{
|
||||
mMediaPlugin = initializeMedia("audio/mpeg"); // assumes that whatever media implementation supports mp3 also supports vorbis.
|
||||
llinfos << "mMediaPlugin is now " << mMediaPlugin << llendl;
|
||||
llinfos << "streaming audio mMediaPlugin is now " << mMediaPlugin << llendl;
|
||||
}
|
||||
|
||||
if(!mMediaPlugin)
|
||||
return;
|
||||
|
||||
|
||||
if (!url.empty()) {
|
||||
llinfos << "Starting internet stream: " << url << llendl;
|
||||
mURL = url;
|
||||
mMediaPlugin->loadURI ( url );
|
||||
mMediaPlugin->start();
|
||||
llinfos << "Playing....." << llendl;
|
||||
llinfos << "Playing stream..." << llendl;
|
||||
} else {
|
||||
llinfos << "setting stream to NULL"<< llendl;
|
||||
mURL.clear();
|
||||
@@ -84,11 +85,9 @@ void LLStreamingAudio_MediaPlugins::start(const std::string& url)
|
||||
|
||||
void LLStreamingAudio_MediaPlugins::stop()
|
||||
{
|
||||
llinfos << "entered LLStreamingAudio_MediaPlugins::stop()" << llendl;
|
||||
|
||||
llinfos << "Stopping internet stream." << llendl;
|
||||
if(mMediaPlugin)
|
||||
{
|
||||
llinfos << "Stopping internet stream: " << mURL << llendl;
|
||||
mMediaPlugin->stop();
|
||||
}
|
||||
|
||||
@@ -102,10 +101,12 @@ void LLStreamingAudio_MediaPlugins::pause(int pause)
|
||||
|
||||
if(pause)
|
||||
{
|
||||
llinfos << "Pausing internet stream." << llendl;
|
||||
mMediaPlugin->pause();
|
||||
}
|
||||
else
|
||||
{
|
||||
llinfos << "Unpausing internet stream." << llendl;
|
||||
mMediaPlugin->start();
|
||||
}
|
||||
}
|
||||
@@ -119,20 +120,21 @@ void LLStreamingAudio_MediaPlugins::update()
|
||||
int LLStreamingAudio_MediaPlugins::isPlaying()
|
||||
{
|
||||
if (!mMediaPlugin)
|
||||
return 0;
|
||||
return 0; // stopped
|
||||
|
||||
// *TODO: can probably do better than this
|
||||
if (mMediaPlugin->isPluginRunning())
|
||||
{
|
||||
return 1; // Active and playing
|
||||
}
|
||||
LLPluginClassMediaOwner::EMediaStatus status =
|
||||
mMediaPlugin->getStatus();
|
||||
|
||||
if (mMediaPlugin->isPluginExited())
|
||||
switch (status)
|
||||
{
|
||||
case LLPluginClassMediaOwner::MEDIA_LOADING: // but not MEDIA_LOADED
|
||||
case LLPluginClassMediaOwner::MEDIA_PLAYING:
|
||||
return 1; // Active and playing
|
||||
case LLPluginClassMediaOwner::MEDIA_PAUSED:
|
||||
return 2; // paused
|
||||
default:
|
||||
return 0; // stopped
|
||||
}
|
||||
|
||||
return 2; // paused
|
||||
}
|
||||
|
||||
void LLStreamingAudio_MediaPlugins::setGain(F32 vol)
|
||||
|
||||
@@ -35,12 +35,14 @@
|
||||
#include "llviewerparcelmedia.h"
|
||||
#include "llviewercontrol.h"
|
||||
#include "llviewermedia.h"
|
||||
#include "llviewerregion.h"
|
||||
#include "llparcel.h"
|
||||
#include "llviewerparcelmgr.h"
|
||||
#include "lluuid.h"
|
||||
#include "message.h"
|
||||
#include "llviewertexturelist.h" // for texture stats
|
||||
#include "llagent.h"
|
||||
#include "llmimetypes.h"
|
||||
|
||||
const F32 AUTOPLAY_TIME = 5; // how many seconds before we autoplay
|
||||
const F32 AUTOPLAY_SIZE = 24*24; // how big the texture must be (pixel area) before we autoplay
|
||||
@@ -48,6 +50,8 @@ const F32 AUTOPLAY_SPEED = 0.1f; // how slow should the agent be moving t
|
||||
|
||||
LLViewerParcelMediaAutoPlay::LLViewerParcelMediaAutoPlay() :
|
||||
LLEventTimer(1),
|
||||
|
||||
mLastParcelID(-1),
|
||||
mPlayed(FALSE),
|
||||
mTimeInParcel(0)
|
||||
{
|
||||
@@ -81,39 +85,54 @@ void LLViewerParcelMediaAutoPlay::playStarted()
|
||||
BOOL LLViewerParcelMediaAutoPlay::tick()
|
||||
{
|
||||
LLParcel *this_parcel = NULL;
|
||||
LLViewerRegion *this_region = NULL;
|
||||
std::string this_media_url;
|
||||
std::string this_media_type;
|
||||
LLUUID this_media_texture_id;
|
||||
S32 this_parcel_id = 0;
|
||||
LLUUID this_region_id;
|
||||
|
||||
this_region = gAgent.getRegion();
|
||||
|
||||
if (this_region)
|
||||
{
|
||||
this_region_id = this_region->getRegionID();
|
||||
}
|
||||
|
||||
this_parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
|
||||
|
||||
if (this_parcel)
|
||||
{
|
||||
this_media_url = std::string(this_parcel->getMediaURL());
|
||||
this_media_url = this_parcel->getMediaURL();
|
||||
|
||||
this_media_type = this_parcel->getMediaType();
|
||||
|
||||
this_media_texture_id = this_parcel->getMediaID();
|
||||
|
||||
this_parcel_id = this_parcel->getLocalID();
|
||||
}
|
||||
|
||||
if (this_parcel_id != mLastParcelID)
|
||||
if (this_parcel_id != mLastParcelID ||
|
||||
this_region_id != mLastRegionID)
|
||||
{
|
||||
// we've entered a new parcel
|
||||
mPlayed = FALSE; // we haven't autoplayed yet
|
||||
mTimeInParcel = 0; // reset our timer
|
||||
mLastParcelID = this_parcel_id;
|
||||
mLastRegionID = this_region_id;
|
||||
}
|
||||
|
||||
mTimeInParcel += mPeriod; // increase mTimeInParcel by the amount of time between ticks
|
||||
mTimeInParcel += mPeriod; // increase mTimeInParcel by the amount of time between ticks
|
||||
|
||||
if ((!mPlayed) && // if we've never played
|
||||
(mTimeInParcel > AUTOPLAY_TIME) && // and if we've been here for so many seconds
|
||||
(this_media_url.size() != 0) && // and if the parcel has media
|
||||
(LLViewerParcelMedia::sMediaImpl.isNull())) // and if the media is not already playing
|
||||
if ((!mPlayed) && // if we've never played
|
||||
(mTimeInParcel > AUTOPLAY_TIME) && // and if we've been here for so many seconds
|
||||
(!this_media_url.empty()) && // and if the parcel has media
|
||||
(stricmp(this_media_type.c_str(), LLMIMETypes::getDefaultMimeType().c_str()) != 0) &&
|
||||
(LLViewerParcelMedia::sMediaImpl.isNull())) // and if the media is not already playing
|
||||
{
|
||||
if (this_media_texture_id.notNull()) // and if the media texture is good
|
||||
if (this_media_texture_id.notNull()) // and if the media texture is good
|
||||
{
|
||||
LLViewerTexture *image = LLViewerTextureManager::getFetchedTexture(this_media_texture_id, FALSE);
|
||||
LLViewerMediaTexture *image = LLViewerTextureManager::getMediaTexture(this_media_texture_id, FALSE) ;
|
||||
|
||||
F32 image_size = 0;
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
#define LLVIEWERPARCELMEDIAAUTOPLAY_H
|
||||
|
||||
#include "lleventtimer.h"
|
||||
#include "lluuid.h"
|
||||
|
||||
// timer to automatically play media
|
||||
class LLViewerParcelMediaAutoPlay : LLEventTimer
|
||||
@@ -47,6 +48,7 @@ class LLViewerParcelMediaAutoPlay : LLEventTimer
|
||||
|
||||
private:
|
||||
S32 mLastParcelID;
|
||||
LLUUID mLastRegionID;
|
||||
BOOL mPlayed;
|
||||
F32 mTimeInParcel;
|
||||
};
|
||||
|
||||
@@ -1625,9 +1625,6 @@ LLXMLNodePtr LLViewerTextEditor::getXML(bool save_children) const
|
||||
|
||||
LLView* LLViewerTextEditor::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
|
||||
{
|
||||
std::string name("text_editor");
|
||||
node->getAttributeString("name", name);
|
||||
|
||||
LLRect rect;
|
||||
createRect(node, rect, parent, LLRect());
|
||||
|
||||
@@ -1648,7 +1645,7 @@ LLView* LLViewerTextEditor::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlF
|
||||
text.erase(max_text_length);
|
||||
}
|
||||
|
||||
LLViewerTextEditor* text_editor = new LLViewerTextEditor(name,
|
||||
LLViewerTextEditor* text_editor = new LLViewerTextEditor("text_editor",
|
||||
rect,
|
||||
max_text_length,
|
||||
LLStringUtil::null,
|
||||
|
||||
@@ -199,6 +199,8 @@
|
||||
#include "llfloatertest.h" // HACK!
|
||||
#include "llfloaternotificationsconsole.h"
|
||||
|
||||
#include "llpanelnearbymedia.h"
|
||||
|
||||
// [RLVa:KB]
|
||||
#include "rlvhandler.h"
|
||||
// [/RLVa:KB]
|
||||
@@ -2107,11 +2109,24 @@ void LLViewerWindow::adjustControlRectanglesForFirstUse(const LLRect& window)
|
||||
void LLViewerWindow::initWorldUI()
|
||||
{
|
||||
pre_init_menus();
|
||||
if(!gMenuHolder)
|
||||
{
|
||||
//
|
||||
// Tools for building
|
||||
//
|
||||
init_menus();
|
||||
}
|
||||
}
|
||||
|
||||
// initWorldUI that wasn't before logging in. Some of this may require the access the 'LindenUserDir'.
|
||||
void LLViewerWindow::initWorldUI_postLogin()
|
||||
{
|
||||
S32 height = mRootView->getRect().getHeight();
|
||||
S32 width = mRootView->getRect().getWidth();
|
||||
LLRect full_window(0, height, width, 0);
|
||||
|
||||
//============================================
|
||||
//Begin LLViewerWindow::initWorlUI
|
||||
// Don't re-enter if objects are alreay created
|
||||
if (gBottomPanel == NULL)
|
||||
{
|
||||
@@ -2119,18 +2134,15 @@ void LLViewerWindow::initWorldUI()
|
||||
gBottomPanel = new LLBottomPanel(mRootView->getRect());
|
||||
mRootView->addChild(gBottomPanel);
|
||||
|
||||
LLFloaterNearbyMedia::updateClass(); //Dependent on the overlay panel being fully initialized.
|
||||
|
||||
// View for hover information
|
||||
gHoverView = new LLHoverView(std::string("gHoverView"), full_window);
|
||||
gHoverView->setVisible(TRUE);
|
||||
mRootView->addChild(gHoverView);
|
||||
|
||||
gIMMgr = LLIMMgr::getInstance();
|
||||
|
||||
//
|
||||
// Tools for building
|
||||
//
|
||||
|
||||
init_menus();
|
||||
gIMMgr->loadIgnoreGroup();
|
||||
|
||||
// Toolbox floater
|
||||
gFloaterTools = new LLFloaterTools();
|
||||
@@ -2149,19 +2161,16 @@ void LLViewerWindow::initWorldUI()
|
||||
// put behind everything else in the UI
|
||||
mRootView->addChildInBack(gHUDView);
|
||||
}
|
||||
//End LLViewerWindow::initWorlUI
|
||||
//============================================
|
||||
|
||||
|
||||
LLPanel* panel_ssf_container = getRootView()->getChild<LLPanel>("state_management_buttons_container");
|
||||
panel_ssf_container->setVisible(TRUE);
|
||||
|
||||
LLMenuOptionPathfindingRebakeNavmesh::getInstance()->initialize();
|
||||
}
|
||||
|
||||
// initWorldUI that wasn't before logging in. Some of this may require the access the 'LindenUserDir'.
|
||||
void LLViewerWindow::initWorldUI_postLogin()
|
||||
{
|
||||
S32 height = mRootView->getRect().getHeight();
|
||||
S32 width = mRootView->getRect().getWidth();
|
||||
LLRect full_window(0, height, width, 0);
|
||||
|
||||
|
||||
// Don't re-enter if objects are alreay created.
|
||||
if (!gStatusBar)
|
||||
@@ -2236,7 +2245,8 @@ void LLViewerWindow::shutdownViews()
|
||||
mRootView = NULL;
|
||||
llinfos << "RootView deleted." << llendl ;
|
||||
|
||||
LLMenuOptionPathfindingRebakeNavmesh::getInstance()->quit();
|
||||
if(LLMenuOptionPathfindingRebakeNavmesh::instanceExists())
|
||||
LLMenuOptionPathfindingRebakeNavmesh::getInstance()->quit();
|
||||
|
||||
// Automatically deleted as children of mRootView. Fix the globals.
|
||||
gFloaterTools = NULL;
|
||||
@@ -3440,7 +3450,7 @@ void LLViewerWindow::updateLayout()
|
||||
}
|
||||
|
||||
// Update rectangles for the various toolbars
|
||||
if (gOverlayBar && gNotifyBoxView && gConsole && gToolBar)
|
||||
if (gOverlayBar && gNotifyBoxView && gConsole && gToolBar && gHUDView)
|
||||
{
|
||||
LLRect bar_rect(-1, STATUS_BAR_HEIGHT, getWindowWidth()+1, -1);
|
||||
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<floater
|
||||
name="Nearby Media"
|
||||
title="Nearby Media"
|
||||
can_resize="true"
|
||||
can_close="true"
|
||||
height="208"
|
||||
min_width="300"
|
||||
min_height="122"
|
||||
width="328">
|
||||
<panel
|
||||
name="nearby_media"
|
||||
width="328"
|
||||
height="190"
|
||||
bottom="-208"
|
||||
left="0"
|
||||
follows="all"
|
||||
mouse_opaque="false"
|
||||
/>
|
||||
</floater>
|
||||
@@ -483,13 +483,14 @@
|
||||
mouse_opaque="true" name="Group:" v_pad="0" width="78">
|
||||
Group:
|
||||
</text>
|
||||
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||
bottom="-126" drop_shadow_visible="true" follows="left|top"
|
||||
font="SansSerifSmall" h_pad="0" halign="left" height="16" left_delta="78"
|
||||
mouse_opaque="true" name="Group Name Proxy" v_pad="0" visible="false"
|
||||
width="88">
|
||||
The Lindens
|
||||
</text>
|
||||
<name_box
|
||||
follows="left|top"
|
||||
height="16"
|
||||
initial_value="Loading..."
|
||||
bottom="-126"
|
||||
left_delta="78"
|
||||
name="Group Name Proxy"
|
||||
width="142"/>
|
||||
<button bottom="-126" follows="top|right" font="SansSerifSmall" halign="center"
|
||||
height="16" label="Set" label_selected="Set..." left_delta="94"
|
||||
mouse_opaque="true" name="button set group" scale_image="TRUE" width="30" />
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
width="815">
|
||||
<button
|
||||
bottom="0"
|
||||
tool_tip="Navigate back"
|
||||
follows="left|top"
|
||||
height="25"
|
||||
label=""
|
||||
@@ -43,6 +44,7 @@
|
||||
function="WebContent.Back" />
|
||||
</button>
|
||||
<button
|
||||
tool_tip="Navigate forward"
|
||||
bottom_delta="0"
|
||||
follows="left|top"
|
||||
height="25" label=""
|
||||
@@ -55,6 +57,7 @@
|
||||
</button>
|
||||
<button
|
||||
bottom_delta="0"
|
||||
tool_tip="Stop navigation"
|
||||
enabled="true"
|
||||
follows="left|top"
|
||||
height="25"
|
||||
@@ -67,6 +70,7 @@
|
||||
function="WebContent.Stop" />
|
||||
</button>
|
||||
<button
|
||||
tool_tip="Reload page"
|
||||
bottom_delta="0"
|
||||
follows="left|top"
|
||||
height="25"
|
||||
@@ -86,20 +90,31 @@
|
||||
left_delta="29"
|
||||
max_chars="1024"
|
||||
name="address"
|
||||
tool_tip="Enter URL here"
|
||||
select_all_on_focus_received="true"
|
||||
bottom_delta="4"
|
||||
width="706">
|
||||
<combo_box.commit_callback
|
||||
function="WebContent.EnterAddress" />
|
||||
</combo_box>
|
||||
<icon
|
||||
name="media_secure_lock_flag"
|
||||
height="16"
|
||||
follows="top|right"
|
||||
image_name="lock.png"
|
||||
left_delta="667"
|
||||
bottom="6"
|
||||
tool_tip="Secured Browsing"
|
||||
width="16" />
|
||||
<button
|
||||
bottom_delta="-4"
|
||||
bottom_delta="-6"
|
||||
tool_tip="Open current URL in your desktop browser"
|
||||
follows="right|top"
|
||||
enabled="true"
|
||||
height="25"
|
||||
label=""
|
||||
image_overlay="media_btn_newwindow.png"
|
||||
left_delta="709"
|
||||
left_delta="41"
|
||||
name="popexternal"
|
||||
width="25">
|
||||
<button.commit_callback
|
||||
@@ -117,7 +132,7 @@
|
||||
width="540">
|
||||
<web_browser
|
||||
bottom="0"
|
||||
follows="left|right|top|bottom"
|
||||
follows="all"
|
||||
left="0"
|
||||
name="webbrowser"
|
||||
border_visible="false"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<panel border="false" height="100" label="Audio & Video" name="Media panel" width="250">
|
||||
<panel border="false" height="120" label="Audio & Video" name="Media panel" width="250">
|
||||
<slider control_name="AudioLevelMaster" follows="top" height="15" increment="0.005" initial_val="0.5" label="Master" label_width="55" left="10" max_val="1" min_val="0" name="System Volume" show_text="false" volume="true" width="181"/>
|
||||
<button bottom_delta="0" control_name="MuteAudio" follows="top" height="16" image_selected="icn_speaker-muted_dark.tga" image_unselected="icn_speaker_dark.tga" scale_image="false" label="" right="-28" name="mute_audio" toggle="true" width="25"/>
|
||||
<slider bottom_delta="-30" control_name="AudioLevelMusic" follows="top" height="15" increment="0.005" initial_val="0.5" label="Music" label_width="55" left="10" max_val="1" min_val="0" name="Music Volume" show_text="false" volume="true" width="181"/>
|
||||
@@ -14,4 +14,5 @@
|
||||
<button bottom_delta="0" control_name="MuteAmbient" follows="top" height="16" image_selected="icn_speaker-muted_dark.tga" image_unselected="icn_speaker_dark.tga" scale_image="false" right="-28" label="" name="mute_wind" toggle="true" width="25"/>
|
||||
<slider control_name="AudioLevelUI" follows="top" height="15" increment="0.005" initial_val="0.5" label="UI" label_width="55" left="10" max_val="1" min_val="0" name="UI Volume" show_text="false" volume="true" width="181"/>
|
||||
<button bottom_delta="0" control_name="MuteUI" follows="top" height="16" image_selected="icn_speaker-muted_dark.tga" image_unselected="icn_speaker_dark.tga" scale_image="false" right="-28" label="" name="mute_ui" toggle="true" width="25"/>
|
||||
<button bottom_delta="-20" control_name="ShowNearbyMediaFloater" follows="top" height="18" left="10" label="Nearby Media" name="nearby_media" toggle="true" width="200"/>
|
||||
</panel>
|
||||
|
||||
@@ -28,12 +28,11 @@ Hover your mouse over the options for more help.
|
||||
<text font="SansSerifSmall" name="prepend_founded_by">
|
||||
Founded by
|
||||
</text>
|
||||
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||
<name_box bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||
bottom_delta="-6" drop_shadow_visible="true" follows="left|top"
|
||||
font="SansSerifSmall" h_pad="0" halign="left" height="16" left_delta="63"
|
||||
mouse_opaque="true" name="founder_name" v_pad="0" width="200">
|
||||
(waiting)
|
||||
</text>
|
||||
mouse_opaque="true" name="founder_name" v_pad="0" width="200" initial_value="Loading..."
|
||||
/>
|
||||
<text font="SansSerifSmall" name="group_key_text" follows="left|top" left="7" bottom="-50">
|
||||
Group Key:
|
||||
</text>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
follows="right|bottom" height="185" left="0" name="media_remote"
|
||||
use_bounding_rect="true" width="220">
|
||||
<panel bottom="0" filename="panel_bg_tab.xml" height="187" left="0" width="220" />
|
||||
<panel border="false" bottom="22" filename="panel_audio.xml" height="160"
|
||||
<panel border="false" bottom="22" filename="panel_audio.xml" height="165"
|
||||
label="Audio & Video" name="Volume Panel" width="220" />
|
||||
<panel bottom_delta="-10" filename="panel_media_controls.xml" left="0" />
|
||||
<string name="play_label">
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
Group:
|
||||
</text>
|
||||
|
||||
<!-- <name_box
|
||||
<name_box
|
||||
bottom_delta="-5"
|
||||
enabled="false"
|
||||
follows="left|top"
|
||||
@@ -100,7 +100,7 @@
|
||||
name="perms_group_name"
|
||||
text_readonly_color="LabelDisabledColor"
|
||||
value =""
|
||||
width="200" />-->
|
||||
width="200" />
|
||||
|
||||
<check_box
|
||||
bottom_delta="-22"
|
||||
|
||||
382
indra/newview/skins/default/xui/en-us/panel_nearby_media.xml
Normal file
382
indra/newview/skins/default/xui/en-us/panel_nearby_media.xml
Normal file
@@ -0,0 +1,382 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<panel
|
||||
background_opaque="true"
|
||||
background_visible="false"
|
||||
width="328"
|
||||
height="190"
|
||||
bottom="-248"
|
||||
follows="all"
|
||||
name="nearby_media"
|
||||
help_topic="nearby_media">
|
||||
<string name="media_item_count_format">(%ld media items)</string>
|
||||
<string name="empty_item_text"><empty></string>
|
||||
<string name="parcel_media_name">Parcel Streaming Media</string>
|
||||
<string name="parcel_audio_name">Parcel Streaming Audio</string>
|
||||
<string name="playing_suffix">(playing)</string>
|
||||
<panel
|
||||
bevel_style="in"
|
||||
background_visible="false"
|
||||
follows="left|right|top"
|
||||
height="35"
|
||||
name="minimized_controls"
|
||||
mouse_opaque="false"
|
||||
bottom="-25"
|
||||
width="328"
|
||||
left="0">
|
||||
<button
|
||||
name="all_nearby_media_disable_btn"
|
||||
follows="left"
|
||||
tool_tip="Turn all nearby media off"
|
||||
left="8"
|
||||
width="95"
|
||||
height="22"
|
||||
bottom="0"
|
||||
label="Stop All">
|
||||
<button.commit_callback
|
||||
function="MediaListCtrl.DisableAll" />
|
||||
</button>
|
||||
<button
|
||||
name="all_nearby_media_enable_btn"
|
||||
follows="left"
|
||||
tool_tip="Turn all nearby media on"
|
||||
left_delta="96"
|
||||
width="95"
|
||||
height="22"
|
||||
bottom="0"
|
||||
label="Start All">
|
||||
<button.commit_callback
|
||||
function="MediaListCtrl.EnableAll" />
|
||||
</button>
|
||||
<button
|
||||
name="open_prefs_btn"
|
||||
hover_glow_amount="0.15"
|
||||
tool_tip = "Bring up media prefs"
|
||||
label="Settings"
|
||||
left_delta="96"
|
||||
bottom="0"
|
||||
height="22"
|
||||
width="95">
|
||||
<button.commit_callback
|
||||
function="MediaListCtrl.GoMediaPrefs" />
|
||||
</button>
|
||||
<button
|
||||
name="more_btn"
|
||||
follows="right"
|
||||
tool_tip="Advanced Controls"
|
||||
top_delta="0"
|
||||
value="1"
|
||||
width="27"
|
||||
height="22"
|
||||
bottom="0"
|
||||
left_delta="96"
|
||||
toggle="true"
|
||||
label=">>"
|
||||
label_selected="<< Less">
|
||||
<button.commit_callback
|
||||
function="MediaListCtrl.MoreLess" />
|
||||
</button>
|
||||
</panel>
|
||||
<panel
|
||||
name="nearby_media_panel"
|
||||
bevel_style="in"
|
||||
border_style="line"
|
||||
bg_alpha_color="0 0 0 0"
|
||||
bg_opaque_color="0 0 0 0.3"
|
||||
follows="left|right|top|bottom"
|
||||
bottom="-192"
|
||||
width="328"
|
||||
left="0"
|
||||
height="165">
|
||||
<!--<text
|
||||
bottom="-10"
|
||||
type="string"
|
||||
length="1"
|
||||
follows="top|left"
|
||||
font="SansSerif"
|
||||
left="10"
|
||||
height="14"
|
||||
name="nearby_media_title"
|
||||
width="100">
|
||||
Nearby Media
|
||||
</text>-->
|
||||
<text
|
||||
type="string"
|
||||
length="1"
|
||||
follows="top|left"
|
||||
font="SansSerif"
|
||||
bottom="-20"
|
||||
height="14"
|
||||
left="10"
|
||||
name="show_text"
|
||||
width="62">
|
||||
Show:
|
||||
</text>
|
||||
<combo_box
|
||||
height="23"
|
||||
left="72"
|
||||
width="140"
|
||||
bottom="-23"
|
||||
follows="left|top"
|
||||
name="show_combo">
|
||||
<combo_item
|
||||
label="All"
|
||||
value="0"
|
||||
name="All" >
|
||||
All
|
||||
</combo_item>
|
||||
<combo_item
|
||||
label="In this Parcel"
|
||||
value="2"
|
||||
name="WithinParcel" >
|
||||
In this Parcel
|
||||
</combo_item>
|
||||
<combo_item
|
||||
label="Outside this Parcel"
|
||||
value="3"
|
||||
name="OutsideParcel" >
|
||||
Outside this Parcel
|
||||
</combo_item>
|
||||
<combo_item
|
||||
label="On other Avatars"
|
||||
value="4"
|
||||
name="OnOthers" >
|
||||
On other Avatars
|
||||
</combo_item>
|
||||
</combo_box>
|
||||
<scroll_list
|
||||
follows="left|top|bottom|right"
|
||||
column_padding="0"
|
||||
height="105"
|
||||
draw_heading="false"
|
||||
draw_stripes="true"
|
||||
top_pad="8"
|
||||
left="10"
|
||||
right="-10"
|
||||
name="media_list">
|
||||
<column
|
||||
width="-1"
|
||||
label=""
|
||||
name="media_checkbox_ctrl" />
|
||||
<column
|
||||
sort_column="media_proximity"
|
||||
width="-1"
|
||||
label="Proximity"
|
||||
name="media_proximity" />
|
||||
<column
|
||||
sort_column="media_visibility"
|
||||
width="-1"
|
||||
label="Visible"
|
||||
name="media_visibility" />
|
||||
<column
|
||||
sort_column="media_class"
|
||||
width="-1"
|
||||
label="Class"
|
||||
name="media_class" />
|
||||
<column
|
||||
label="Name"
|
||||
dynamicwidth="true"
|
||||
name="media_name" />
|
||||
<column
|
||||
sort_column="media_debug"
|
||||
width="-1"
|
||||
label="Debug"
|
||||
name="media_debug" />
|
||||
</scroll_list>
|
||||
<panel
|
||||
bevel_style="in"
|
||||
background_visible="false"
|
||||
follows="left|right|bottom"
|
||||
name="media_controls_panel"
|
||||
mouse_opaque="false"
|
||||
bottom="-161"
|
||||
height="30"
|
||||
left="10"
|
||||
right="-10">
|
||||
<layout_stack
|
||||
name="media_controls"
|
||||
follows="left|right|top"
|
||||
animate="false"
|
||||
height="26"
|
||||
layout="topleft"
|
||||
bottom="-30"
|
||||
left="8"
|
||||
right="-10"
|
||||
border_size="0"
|
||||
mouse_opaque="false"
|
||||
orientation="horizontal">
|
||||
<layout_panel
|
||||
user_resize="false"
|
||||
name="stop"
|
||||
mouse_opaque="false"
|
||||
auto_resize="false"
|
||||
layout="topleft"
|
||||
top="0"
|
||||
height="22"
|
||||
min_width="22"
|
||||
width="22">
|
||||
<button
|
||||
name="stop_btn"
|
||||
follows="top"
|
||||
image_overlay="go-media-stop.png"
|
||||
label=""
|
||||
bottom="-22"
|
||||
hover_glow_amount="0.15"
|
||||
tool_tip="Stop selected media"
|
||||
height="22"
|
||||
width="22">
|
||||
<button.commit_callback
|
||||
function="SelectedMediaCtrl.Stop" />
|
||||
</button>
|
||||
</layout_panel>
|
||||
<layout_panel
|
||||
user_resize="false"
|
||||
name="play"
|
||||
mouse_opaque="false"
|
||||
auto_resize="false"
|
||||
layout="topleft"
|
||||
height="22"
|
||||
min_width="22"
|
||||
width="22">
|
||||
<button
|
||||
name="play_btn"
|
||||
follows="top"
|
||||
image_overlay="go-media-play.png"
|
||||
label=""
|
||||
bottom="-22"
|
||||
hover_glow_amount="0.15"
|
||||
tool_tip = "Play selected media"
|
||||
height="22"
|
||||
width="22">
|
||||
<button.commit_callback
|
||||
function="SelectedMediaCtrl.Play" />
|
||||
</button>
|
||||
</layout_panel>
|
||||
<layout_panel
|
||||
user_resize="false"
|
||||
name="pause"
|
||||
mouse_opaque="false"
|
||||
auto_resize="false"
|
||||
layout="topleft"
|
||||
min_width="22"
|
||||
width="22">
|
||||
<button
|
||||
name="pause_btn"
|
||||
follows="top"
|
||||
image_overlay="go-media-pause.png"
|
||||
label=""
|
||||
hover_glow_amount="0.15"
|
||||
bottom="-22"
|
||||
height="22"
|
||||
width="22"
|
||||
tool_tip = "Pause selected media">
|
||||
<button.commit_callback
|
||||
function="SelectedMediaCtrl.Pause" />
|
||||
</button>
|
||||
</layout_panel>
|
||||
<layout_panel
|
||||
user_resize="false"
|
||||
name="volume_slider_ctrl"
|
||||
mouse_opaque="false"
|
||||
auto_resize="true"
|
||||
follows="left|right"
|
||||
layout="topleft"
|
||||
height="22"
|
||||
min_width="100"
|
||||
width="200">
|
||||
<slider_bar
|
||||
name="volume_slider"
|
||||
follows="left|right|top"
|
||||
bottom="-22"
|
||||
height="22"
|
||||
increment="0.01"
|
||||
initial_value="0.5"
|
||||
tool_tip="Audio volume for selected media"
|
||||
width="200">
|
||||
<slider_bar.commit_callback
|
||||
function="SelectedMediaCtrl.Volume" />
|
||||
</slider_bar>
|
||||
</layout_panel>
|
||||
<layout_panel
|
||||
user_resize="false"
|
||||
name="mute"
|
||||
mouse_opaque="false"
|
||||
auto_resize="false"
|
||||
layout="topleft"
|
||||
top="0"
|
||||
height="72"
|
||||
min_width="22"
|
||||
width="22">
|
||||
<button
|
||||
name="mute_btn"
|
||||
follows="top"
|
||||
image_selected="icn_speaker-muted_dark.tga"
|
||||
image_unselected="icn_speaker_dark.tga"
|
||||
label=""
|
||||
hover_glow_amount="0.15"
|
||||
is_toggle="true"
|
||||
layout="topleft"
|
||||
scale_image="false"
|
||||
tool_tip="Mute audio on selected media"
|
||||
bottom="-19"
|
||||
height="20"
|
||||
width="22" >
|
||||
<button.commit_callback
|
||||
function="SelectedMediaCtrl.Mute" />
|
||||
</button>
|
||||
</layout_panel>
|
||||
<layout_panel
|
||||
user_resize="false"
|
||||
name="zoom"
|
||||
mouse_opaque="false"
|
||||
auto_resize="false"
|
||||
layout="topleft"
|
||||
top="0"
|
||||
height="28"
|
||||
min_width="22"
|
||||
width="22">
|
||||
<button
|
||||
name="zoom_btn"
|
||||
follows="top"
|
||||
image_overlay="go-media-zoom.png"
|
||||
label=""
|
||||
hover_glow_amount="0.15"
|
||||
bottom="-22"
|
||||
height="22"
|
||||
tool_tip="Zoom into selected media"
|
||||
width="22">
|
||||
<button.commit_callback
|
||||
function="SelectedMediaCtrl.Zoom" />
|
||||
</button>
|
||||
</layout_panel>
|
||||
<layout_panel
|
||||
user_resize="false"
|
||||
name="unzoom"
|
||||
mouse_opaque="false"
|
||||
auto_resize="false"
|
||||
layout="topleft"
|
||||
top="0"
|
||||
min_width="21"
|
||||
width="21" >
|
||||
<button
|
||||
name="unzoom_btn"
|
||||
follows="top"
|
||||
image_overlay="go-media-unzoom.png"
|
||||
label=""
|
||||
hover_glow_amount="0.15"
|
||||
bottom="-22"
|
||||
height="22"
|
||||
tool_tip ="Zoom back from selected media"
|
||||
width="21" >
|
||||
<button.commit_callback
|
||||
function="SelectedMediaCtrl.Unzoom" />
|
||||
</button>
|
||||
</layout_panel>
|
||||
<layout_panel
|
||||
user_resize="false"
|
||||
name="right_bookend"
|
||||
width="0"
|
||||
mouse_opaque="false"/>
|
||||
</layout_stack>
|
||||
</panel>
|
||||
</panel>
|
||||
</panel>
|
||||
@@ -50,7 +50,7 @@
|
||||
</layout_panel>
|
||||
<layout_panel auto_resize="false" bottom="0" left="0" min_width="96" mouse_opaque="false"
|
||||
name="ao_remote_container" use_bounding_rect="true" user_resize="false"
|
||||
width="100">
|
||||
width="96">
|
||||
<panel background_visible="false" border="false" bottom="0" name="ao_remote" />
|
||||
</layout_panel>
|
||||
<layout_panel auto_resize="false" bottom="0" left="0" min_width="220" mouse_opaque="false"
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
height="8"
|
||||
top="0"
|
||||
left="0"
|
||||
/>
|
||||
tool_tip="Media is Loading"/>
|
||||
</layout_panel>
|
||||
<layout_panel
|
||||
name="right_bookend_bottom"
|
||||
@@ -87,6 +87,7 @@
|
||||
image_overlay="go-previous.png"
|
||||
auto_resize="false"
|
||||
label=""
|
||||
tool_tip="Navigate back"
|
||||
bottom="-22"
|
||||
left="0"
|
||||
width="22"
|
||||
@@ -111,7 +112,8 @@
|
||||
label=""
|
||||
bottom="-22"
|
||||
height="22"
|
||||
width="22">
|
||||
width="22"
|
||||
tool_tip="Navigate forward">
|
||||
<button.commit_callback
|
||||
function="MediaCtrl.Forward" />
|
||||
</button>
|
||||
@@ -130,6 +132,7 @@
|
||||
follows="top"
|
||||
image_overlay="go-home.png"
|
||||
label=""
|
||||
tool_tip="Home page"
|
||||
bottom="-22"
|
||||
height="22"
|
||||
width="22">
|
||||
@@ -151,6 +154,7 @@
|
||||
follows="top"
|
||||
image_overlay="go-media-stop.png"
|
||||
label=""
|
||||
tool_tip="Stop media"
|
||||
bottom="-22"
|
||||
height="22"
|
||||
width="22">
|
||||
@@ -172,6 +176,7 @@
|
||||
follows="top"
|
||||
image_overlay="go-reload.png"
|
||||
label=""
|
||||
tool_tip="Reload"
|
||||
bottom="-22"
|
||||
height="22"
|
||||
width="22">
|
||||
@@ -193,6 +198,7 @@
|
||||
follows="top"
|
||||
image_overlay="go-stop.png"
|
||||
label=""
|
||||
tool_tip = "Stop loading"
|
||||
bottom="-22"
|
||||
height="22"
|
||||
width="22">
|
||||
@@ -214,6 +220,7 @@
|
||||
follows="top"
|
||||
image_overlay="go-media-play.png"
|
||||
label=""
|
||||
tool_tip = "Play media"
|
||||
bottom="-22"
|
||||
height="22"
|
||||
width="22">
|
||||
@@ -258,6 +265,7 @@
|
||||
follows="top|left|right"
|
||||
height="22"
|
||||
bottom="-22"
|
||||
tool_tip="Media URL"
|
||||
text_pad_right="16">
|
||||
<line_editor.commit_callback
|
||||
function="MediaCtrl.CommitURL"/>
|
||||
@@ -269,7 +277,7 @@
|
||||
height="20"
|
||||
width="38"
|
||||
left="140"
|
||||
bottom="0"
|
||||
bottom="0"
|
||||
border_size="0"
|
||||
mouse_opaque="false"
|
||||
orientation="horizontal">
|
||||
@@ -284,6 +292,7 @@
|
||||
height="16"
|
||||
image_name="Flag.png"
|
||||
layout="topleft"
|
||||
tool_tip="White List enabled"
|
||||
bottom="-16"
|
||||
width="16" />
|
||||
</layout_panel>
|
||||
@@ -297,6 +306,7 @@
|
||||
height="16"
|
||||
image_name="lock.png"
|
||||
bottom="-16"
|
||||
tool_tip="Secured Browsing"
|
||||
width="16" />
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
@@ -317,6 +327,7 @@
|
||||
height="22"
|
||||
increment="0.01"
|
||||
initial_value="0.5"
|
||||
tool_tip="Movie play progress"
|
||||
width="200">
|
||||
<slider_bar.commit_callback
|
||||
function="MediaCtrl.JumpProgress" />
|
||||
@@ -337,6 +348,7 @@
|
||||
bottom="-22"
|
||||
auto_resize="false"
|
||||
height="22"
|
||||
tool_tip="Step back"
|
||||
width="22">
|
||||
<button.commit_callback
|
||||
function="MediaCtrl.SkipBack" />
|
||||
@@ -356,6 +368,7 @@
|
||||
label=""
|
||||
bottom="-22"
|
||||
height="22"
|
||||
tool_tip="Step forward"
|
||||
width="22">
|
||||
<button.commit_callback
|
||||
function="MediaCtrl.SkipForward" />
|
||||
@@ -383,6 +396,7 @@
|
||||
hover_glow_amount="0.15"
|
||||
is_toggle="true"
|
||||
scale_image="false"
|
||||
tool_tip="Mute This Media"
|
||||
left_delta="5"
|
||||
bottom="-22"
|
||||
draw_border="true"
|
||||
@@ -430,6 +444,7 @@
|
||||
label=""
|
||||
bottom="-22"
|
||||
height="22"
|
||||
tool_tip="Zoom into media"
|
||||
width="22">
|
||||
<button.commit_callback
|
||||
function="MediaCtrl.Zoom" />
|
||||
@@ -449,6 +464,7 @@
|
||||
image_overlay="go-media-unzoom.png"
|
||||
label=""
|
||||
height="22"
|
||||
tool_tip ="Zoom Back"
|
||||
bottom="-22"
|
||||
width="21">
|
||||
<button.commit_callback
|
||||
@@ -469,6 +485,7 @@
|
||||
label=""
|
||||
bottom="-22"
|
||||
height="22"
|
||||
tool_tip = "Open URL in browser"
|
||||
width="24" >
|
||||
<button.commit_callback
|
||||
function="MediaCtrl.Open" />
|
||||
|
||||
@@ -135,9 +135,7 @@
|
||||
<text name="Group:">
|
||||
Grupo:
|
||||
</text>
|
||||
<text name="Group Name Proxy">
|
||||
The Lindens
|
||||
</text>
|
||||
<name_box initial_value="Cargando..." name="Group Name Proxy"></name_box>
|
||||
<button label="Definir" label_selected="Definir..." name="button set group" width="48"/>
|
||||
<button label="Ver" label_selected="Abrir" name="button open group" left_delta="48" width="30" />
|
||||
<text name="Permissions:">
|
||||
|
||||
@@ -7,4 +7,5 @@
|
||||
<slider label="Sonidos" name="SFX Volume"/>
|
||||
<slider label="Ambiente" name="Wind Volume"/>
|
||||
<slider label="UI" name="UI Volume"/>
|
||||
<button label="Media cercanos" name="nearby_media"/>
|
||||
</panel>
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel label="General" name="Media Settings General">
|
||||
<text name="home_label">
|
||||
Página inicial:
|
||||
</text>
|
||||
<text name="home_fails_whitelist_label">
|
||||
(La Lista Blanca especificada no aprueba esta página)
|
||||
</text>
|
||||
<line_editor name="home_url" tool_tip="Página inicial para el origen de este media"/>
|
||||
<text name="preview_label">
|
||||
Vista previa
|
||||
</text>
|
||||
<text name="current_url_label">
|
||||
Página actual:
|
||||
</text>
|
||||
<text name="current_url" tool_tip="Página actual para el origen de este media" value=""/>
|
||||
<button label="Definir" name="current_url_reset_btn"/>
|
||||
<check_box initial_value="false" label="Media en bucle" name="auto_loop"/>
|
||||
<check_box initial_value="false" label="A la primera pulsación" name="first_click_interact"/>
|
||||
<check_box initial_value="false" label="Zoom automático" name="auto_zoom"/>
|
||||
<check_box initial_value="false" label="Ejecutar automáticamente los media" name="auto_play"/>
|
||||
<text name="media_setting_note">
|
||||
Nota: los residentes pueden elegir una configuración distinta
|
||||
de ésta
|
||||
</text>
|
||||
<check_box initial_value="false" label="Ajustar automáticamente los media en la cara del objeto" name="auto_scale"/>
|
||||
<text name="size_label">
|
||||
Tamaño:
|
||||
</text>
|
||||
<text name="X_label">
|
||||
X
|
||||
</text>
|
||||
</panel>
|
||||
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel label="Personalizar" name="Media settings for controls">
|
||||
<text name="controls_label">
|
||||
Controles:
|
||||
</text>
|
||||
<combo_box name="controls">
|
||||
<combo_item name="Standard">
|
||||
Estándar
|
||||
</combo_item>
|
||||
<combo_item name="Mini">
|
||||
Mini
|
||||
</combo_item>
|
||||
</combo_box>
|
||||
<text name="owner_label">
|
||||
Propietario
|
||||
</text>
|
||||
<check_box initial_value="false" label="Permitir la navegación e interactividad" name="perms_owner_interact"/>
|
||||
<check_box initial_value="false" label="Mostrar la barra de control" name="perms_owner_control"/>
|
||||
<text name="group_label">
|
||||
Grupo:
|
||||
</text>
|
||||
<check_box initial_value="false" label="Permitir la navegación e interactividad" name="perms_group_interact"/>
|
||||
<check_box initial_value="false" label="Mostrar la barra de control" name="perms_group_control"/>
|
||||
<text name="anyone_label">
|
||||
Cualquiera
|
||||
</text>
|
||||
<check_box initial_value="false" label="Permitir la navegación e interactividad" name="perms_anyone_interact"/>
|
||||
<check_box initial_value="false" label="Mostrar la barra de control" name="perms_anyone_control"/>
|
||||
</panel>
|
||||
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel label="Seguridad" name="Media Settings Security">
|
||||
<check_box initial_value="false" label="Permitir el acceso sólo a los patrones de URL especificados" name="whitelist_enable"/>
|
||||
<text name="home_url_fails_some_items_in_whitelist">
|
||||
Están marcadas las entradas que la página web no
|
||||
admite:
|
||||
</text>
|
||||
<button label="Añadir" name="whitelist_add"/>
|
||||
<button label="Borrar" name="whitelist_del"/>
|
||||
<text name="home_url_fails_whitelist">
|
||||
Atención: la página web especificada en la pestaña General
|
||||
no se admite en esta lista blanca. Se ha desactivado hasta
|
||||
que se añada una entrada correcta.
|
||||
</text>
|
||||
</panel>
|
||||
71
indra/newview/skins/default/xui/es/panel_nearby_media.xml
Normal file
71
indra/newview/skins/default/xui/es/panel_nearby_media.xml
Normal file
@@ -0,0 +1,71 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel name="nearby_media">
|
||||
<string name="media_item_count_format">
|
||||
(%ld ítems media)
|
||||
</string>
|
||||
<string name="empty_item_text">
|
||||
<vacío>
|
||||
</string>
|
||||
<string name="parcel_media_name">
|
||||
Media en streaming de la parcela
|
||||
</string>
|
||||
<string name="parcel_audio_name">
|
||||
Audio en streaming de la parcela
|
||||
</string>
|
||||
<string name="playing_suffix">
|
||||
(ejecutándose)
|
||||
</string>
|
||||
<panel name="minimized_controls">
|
||||
<button label="Parar todo" name="all_nearby_media_disable_btn" tool_tip="Apagar todos los media cercanos"/>
|
||||
<button label="Iniciar todo" name="all_nearby_media_enable_btn" tool_tip="Encender todos los media cercanos"/>
|
||||
<button name="open_prefs_btn" tool_tip="Abrir las preferencias de los media"/>
|
||||
<button label="Más >>" label_selected="<< Menos" name="more_btn" tool_tip="Controles avanzados"/>
|
||||
<button label="Más >>" label_selected="Menos <<" name="less_btn" tool_tip="Controles avanzados"/>
|
||||
</panel>
|
||||
<panel name="nearby_media_panel">
|
||||
<text name="nearby_media_title">
|
||||
Media cercanos
|
||||
</text>
|
||||
<text name="show_text">
|
||||
Mostrar:
|
||||
</text>
|
||||
<combo_box name="show_combo">
|
||||
<combo_box.item label="Todo" name="All"/>
|
||||
<combo_box.item label="En esta parcela" name="WithinParcel"/>
|
||||
<combo_box.item label="Fuera de la parcela" name="OutsideParcel"/>
|
||||
<combo_box.item label="En otros avatares" name="OnOthers"/>
|
||||
</combo_box>
|
||||
<scroll_list name="media_list">
|
||||
<scroll_list.columns label="Cercanía" name="media_proximity"/>
|
||||
<scroll_list.columns label="Visibilidad" name="media_visibility"/>
|
||||
<scroll_list.columns label="Clase" name="media_class"/>
|
||||
<scroll_list.columns label="Nombre" name="media_name"/>
|
||||
<scroll_list.columns label="Depurar" name="media_debug"/>
|
||||
</scroll_list>
|
||||
<panel name="media_controls_panel">
|
||||
<layout_stack name="media_controls">
|
||||
<layout_panel name="stop">
|
||||
<button name="stop_btn" tool_tip="Parar los media seleccionados"/>
|
||||
</layout_panel>
|
||||
<layout_panel name="play">
|
||||
<button name="play_btn" tool_tip="Ejecutar los media seleccionados"/>
|
||||
</layout_panel>
|
||||
<layout_panel name="pause">
|
||||
<button name="pause_btn" tool_tip="Pausar los media seleccionados"/>
|
||||
</layout_panel>
|
||||
<layout_panel name="volume_slider_ctrl">
|
||||
<slider_bar initial_value="0.5" name="volume_slider" tool_tip="Volumen de los media seleccionados"/>
|
||||
</layout_panel>
|
||||
<layout_panel name="mute">
|
||||
<button name="mute_btn" tool_tip="Silenciar el audio de los media seleccionados"/>
|
||||
</layout_panel>
|
||||
<layout_panel name="zoom">
|
||||
<button name="zoom_btn" tool_tip="Zoom en los media seleccionados"/>
|
||||
</layout_panel>
|
||||
<layout_panel name="unzoom">
|
||||
<button name="unzoom_btn" tool_tip="Alejar el zoom de los media seleccionados"/>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
</panel>
|
||||
</panel>
|
||||
</panel>
|
||||
@@ -131,9 +131,7 @@
|
||||
<text name="Group:">
|
||||
Groupe :
|
||||
</text>
|
||||
<text name="Group Name Proxy">
|
||||
Les Lindens
|
||||
</text>
|
||||
<name_box initial_value="Chargement..." name="Group Name Proxy"></name_box>
|
||||
<button label="Définir" label_selected="Définir" name="button set group"/>
|
||||
<button label="Voir" name="button open group"/>
|
||||
<text name="Permissions :">
|
||||
|
||||
@@ -7,4 +7,5 @@
|
||||
<slider label="Sons" label_width="65" name="SFX Volume"/>
|
||||
<slider label="Son ambiant" label_width="65" name="Wind Volume"/>
|
||||
<slider label="Interface" label_width="65" name="UI Volume"/>
|
||||
<button label="Médias proches" name="nearby_media"/>
|
||||
</panel>
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel label="Général" name="Media Settings General">
|
||||
<text name="home_label">
|
||||
Page d'accueil :
|
||||
</text>
|
||||
<text name="home_fails_whitelist_label">
|
||||
(Cette page a été rejetée par la liste blanche spécifiée)
|
||||
</text>
|
||||
<line_editor name="home_url" tool_tip="La page d'accueil pour cette source média"/>
|
||||
<text name="preview_label">
|
||||
Aperçu
|
||||
</text>
|
||||
<text name="current_url_label">
|
||||
Page actuelle :
|
||||
</text>
|
||||
<text name="current_url" tool_tip="La page actuelle pour cette source média" value=""/>
|
||||
<button label="Réinitialiser" name="current_url_reset_btn"/>
|
||||
<check_box initial_value="false" label="Boucle auto" name="auto_loop"/>
|
||||
<check_box initial_value="false" label="Premier clic interagit" name="first_click_interact"/>
|
||||
<check_box initial_value="false" label="Zoom auto" name="auto_zoom"/>
|
||||
<check_box initial_value="false" label="Lecture auto du média" name="auto_play"/>
|
||||
<text name="media_setting_note">
|
||||
Remarque : les résidents peuvent ignorer ce paramètre
|
||||
</text>
|
||||
<check_box initial_value="false" label="Mise à l'échelle auto du média sur la face de l'objet" name="auto_scale"/>
|
||||
<text name="size_label">
|
||||
Taille :
|
||||
</text>
|
||||
<text name="X_label">
|
||||
X
|
||||
</text>
|
||||
</panel>
|
||||
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel label="Personnaliser" name="Media settings for controls">
|
||||
<text name="controls_label">
|
||||
Contrôles :
|
||||
</text>
|
||||
<combo_box name="controls">
|
||||
<combo_item name="Standard">
|
||||
Standard
|
||||
</combo_item>
|
||||
<combo_item name="Mini">
|
||||
Mini
|
||||
</combo_item>
|
||||
</combo_box>
|
||||
<text name="owner_label">
|
||||
Propriétaire
|
||||
</text>
|
||||
<check_box initial_value="false" label="Activer la navigation et l'interactivité" name="perms_owner_interact"/>
|
||||
<check_box initial_value="false" label="Afficher la barre de contrôles" name="perms_owner_control"/>
|
||||
<text name="group_label">
|
||||
Groupe :
|
||||
</text>
|
||||
<check_box initial_value="false" label="Activer la navigation et l'interactivité" name="perms_group_interact"/>
|
||||
<check_box initial_value="false" label="Afficher la barre de contrôles" name="perms_group_control"/>
|
||||
<text name="anyone_label">
|
||||
Tout le monde
|
||||
</text>
|
||||
<check_box initial_value="false" label="Activer la navigation et l'interactivité" name="perms_anyone_interact"/>
|
||||
<check_box initial_value="false" label="Afficher la barre de contrôles" name="perms_anyone_control"/>
|
||||
</panel>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel label="Sécurité" name="Media Settings Security">
|
||||
<check_box initial_value="false" label="Autoriser l'accès aux styles d'URL spécifiés uniquement" name="whitelist_enable"/>
|
||||
<text name="home_url_fails_some_items_in_whitelist">
|
||||
Les entrées par lesquelles la page
|
||||
d'accueil est rejetée sont indiquées :
|
||||
</text>
|
||||
<button label="Ajouter" name="whitelist_add"/>
|
||||
<button label="Supprimer" name="whitelist_del"/>
|
||||
<text name="home_url_fails_whitelist">
|
||||
Avertissement : la page d'accueil spécifiée dans
|
||||
l'onglet Général a été rejetée par la liste blanche.
|
||||
Elle sera désactivée jusqu'à l'ajout d'une
|
||||
entrée valide.
|
||||
</text>
|
||||
</panel>
|
||||
71
indra/newview/skins/default/xui/fr/panel_nearby_media.xml
Normal file
71
indra/newview/skins/default/xui/fr/panel_nearby_media.xml
Normal file
@@ -0,0 +1,71 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel name="nearby_media">
|
||||
<string name="media_item_count_format">
|
||||
(%ld articles de média)
|
||||
</string>
|
||||
<string name="empty_item_text">
|
||||
<vide>
|
||||
</string>
|
||||
<string name="parcel_media_name">
|
||||
Flux de média de la parcelle
|
||||
</string>
|
||||
<string name="parcel_audio_name">
|
||||
Flux audio de la parcelle
|
||||
</string>
|
||||
<string name="playing_suffix">
|
||||
(lecture en cours)
|
||||
</string>
|
||||
<panel name="minimized_controls">
|
||||
<button label="Arrêter" name="all_nearby_media_disable_btn" tool_tip="Désactiver tous les médias près de vous"/>
|
||||
<button label="Lire" name="all_nearby_media_enable_btn" tool_tip="Activer tous les médias près de vous"/>
|
||||
<button name="open_prefs_btn" tool_tip="Ouvrir les préférences de média"/>
|
||||
<button label="Plus >>" label_selected="<< Moins" name="more_btn" tool_tip="Options avancées"/>
|
||||
<button label="Plus >>" label_selected="Moins <<" name="less_btn" tool_tip="Options avancées"/>
|
||||
</panel>
|
||||
<panel name="nearby_media_panel">
|
||||
<text name="nearby_media_title">
|
||||
Médias proches
|
||||
</text>
|
||||
<text name="show_text">
|
||||
Voir :
|
||||
</text>
|
||||
<combo_box name="show_combo">
|
||||
<combo_box.item label="Tout" name="All"/>
|
||||
<combo_box.item label="Sur cette parcelle" name="WithinParcel"/>
|
||||
<combo_box.item label="En dehors de la parcelle" name="OutsideParcel"/>
|
||||
<combo_box.item label="Sur les autres avatars" name="OnOthers"/>
|
||||
</combo_box>
|
||||
<scroll_list name="media_list">
|
||||
<scroll_list.columns label="Proximité" name="media_proximity"/>
|
||||
<scroll_list.columns label="Visible" name="media_visibility"/>
|
||||
<scroll_list.columns label="Classe" name="media_class"/>
|
||||
<scroll_list.columns label="Nom" name="media_name"/>
|
||||
<scroll_list.columns label="Débogage" name="media_debug"/>
|
||||
</scroll_list>
|
||||
<panel name="media_controls_panel">
|
||||
<layout_stack name="media_controls">
|
||||
<layout_panel name="stop">
|
||||
<button name="stop_btn" tool_tip="Arrêter le média sélectionné"/>
|
||||
</layout_panel>
|
||||
<layout_panel name="play">
|
||||
<button name="play_btn" tool_tip="Lire le média sélectionné"/>
|
||||
</layout_panel>
|
||||
<layout_panel name="pause">
|
||||
<button name="pause_btn" tool_tip="Pause du média sélectionné"/>
|
||||
</layout_panel>
|
||||
<layout_panel name="volume_slider_ctrl">
|
||||
<slider_bar initial_value="0.5" name="volume_slider" tool_tip="Volume audio du média sélectionné"/>
|
||||
</layout_panel>
|
||||
<layout_panel name="mute">
|
||||
<button name="mute_btn" tool_tip="Couper l'audio sur le média sélectionné"/>
|
||||
</layout_panel>
|
||||
<layout_panel name="zoom">
|
||||
<button name="zoom_btn" tool_tip="Zoomer en avant sur le média sélectionné"/>
|
||||
</layout_panel>
|
||||
<layout_panel name="unzoom">
|
||||
<button name="unzoom_btn" tool_tip="Zoomer en arrière sur le média sélectionné"/>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
</panel>
|
||||
</panel>
|
||||
</panel>
|
||||
@@ -124,9 +124,7 @@
|
||||
<text name="Group:">
|
||||
Grupo:
|
||||
</text>
|
||||
<text name="Group Name Proxy">
|
||||
The Lindens
|
||||
</text>
|
||||
<name_box initial_value="Carregando..." name="Group Name Proxy"></name_box>
|
||||
<button label="Definir..." label_selected="Definir..." name="button set group"/>
|
||||
<text name="Permissions:">
|
||||
Permissões:
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel label="Áudio & Vídeo" name="Media panel">
|
||||
<slider label="Mestre" name="System Volume"/>
|
||||
<slider label="Música" name="Music Volume"/>
|
||||
<slider label="Mídia" name="Media Volume"/>
|
||||
<slider label="Voz" name="Voice Volume"/>
|
||||
<slider label="Sons" name="SFX Volume"/>
|
||||
<slider label="Ambiente" name="Wind Volume"/>
|
||||
<slider label="UI" name="UI Volume"/>
|
||||
</panel>
|
||||
<slider label="Mestre" name="System Volume"></slider>
|
||||
<slider label="Música" name="Music Volume"></slider>
|
||||
<slider label="Mídia" name="Media Volume"></slider>
|
||||
<slider label="Voz" name="Voice Volume"></slider>
|
||||
<slider label="Sons" name="SFX Volume"></slider>
|
||||
<slider label="Ambiente" name="Wind Volume"></slider>
|
||||
<slider label="UI" name="UI Volume"></slider>
|
||||
<button label="Mídia por perto" name="nearby_media"/>
|
||||
</panel>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel label="Geral" name="Media Settings General">
|
||||
<text name="home_label">
|
||||
Página web:
|
||||
</text>
|
||||
<text name="home_fails_whitelist_label">
|
||||
(Esta página não atende à lista de páginas aprovadas)
|
||||
</text>
|
||||
<line_editor name="home_url" tool_tip="Website desta mídia"/>
|
||||
<text name="preview_label">
|
||||
Visualizar
|
||||
</text>
|
||||
<text name="current_url_label">
|
||||
Página atual:
|
||||
</text>
|
||||
<text name="current_url" tool_tip="Website desta mídia" value=""/>
|
||||
<button label="Redefinir" name="current_url_reset_btn"/>
|
||||
<check_box initial_value="false" label="Loop contínuo" name="auto_loop"/>
|
||||
<check_box initial_value="false" label="Interagir no primeiro clique" name="first_click_interact"/>
|
||||
<check_box initial_value="false" label="Zoom automático" name="auto_zoom"/>
|
||||
<check_box initial_value="false" label="Mídia auto-executável" name="auto_play"/>
|
||||
<text name="media_setting_note">
|
||||
Nota: Residentes podem redefinir a configuração.
|
||||
</text>
|
||||
<check_box initial_value="false" label="Dimensionamento automático na frente do objeto" name="auto_scale"/>
|
||||
<text name="size_label">
|
||||
Tamanho:
|
||||
</text>
|
||||
<text name="X_label">
|
||||
X
|
||||
</text>
|
||||
</panel>
|
||||
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel label="Customizar" name="Media settings for controls">
|
||||
<text name="controls_label">
|
||||
Controles:
|
||||
</text>
|
||||
<combo_box name="controls">
|
||||
<combo_item name="Standard">
|
||||
Padrão
|
||||
</combo_item>
|
||||
<combo_item name="Mini">
|
||||
Mini
|
||||
</combo_item>
|
||||
</combo_box>
|
||||
<text name="owner_label">
|
||||
Proprietário
|
||||
</text>
|
||||
<check_box initial_value="false" label="Permitir navegação & interatividade" name="perms_owner_interact"/>
|
||||
<check_box initial_value="false" label="Exibir barra de controle" name="perms_owner_control"/>
|
||||
<text name="group_label">
|
||||
Grupo:
|
||||
</text>
|
||||
<check_box initial_value="false" label="Permitir navegação & interatividade" name="perms_group_interact"/>
|
||||
<check_box initial_value="false" label="Exibir barra de controle" name="perms_group_control"/>
|
||||
<text name="anyone_label">
|
||||
Todos
|
||||
</text>
|
||||
<check_box initial_value="false" label="Permitir navegação & interatividade" name="perms_anyone_interact"/>
|
||||
<check_box initial_value="false" label="Exibir barra de controle" name="perms_anyone_control"/>
|
||||
</panel>
|
||||
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel label="Segurança" name="Media Settings Security">
|
||||
<check_box initial_value="false" label="Acesso permitido a URLs com padrão específico" name="whitelist_enable"/>
|
||||
<text name="home_url_fails_some_items_in_whitelist">
|
||||
URLs com falha de acesso na página inicial são
|
||||
indicados com um:
|
||||
</text>
|
||||
<button label="Adicionar" name="whitelist_add"/>
|
||||
<button label="Excluir" name="whitelist_del"/>
|
||||
<text name="home_url_fails_whitelist">
|
||||
Aviso: A página inicial especificada na aba Geral não consta
|
||||
na lista de acesso. Seu acesso será autorizado quando a
|
||||
lista for retificada.
|
||||
</text>
|
||||
</panel>
|
||||
71
indra/newview/skins/default/xui/pt/panel_nearby_media.xml
Normal file
71
indra/newview/skins/default/xui/pt/panel_nearby_media.xml
Normal file
@@ -0,0 +1,71 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel name="nearby_media">
|
||||
<string name="media_item_count_format">
|
||||
(%ld itens de mídia)
|
||||
</string>
|
||||
<string name="empty_item_text">
|
||||
<vazio>
|
||||
</string>
|
||||
<string name="parcel_media_name">
|
||||
Mídia em stream deste lote
|
||||
</string>
|
||||
<string name="parcel_audio_name">
|
||||
Áudio em stream do lote
|
||||
</string>
|
||||
<string name="playing_suffix">
|
||||
(em execução)
|
||||
</string>
|
||||
<panel name="minimized_controls">
|
||||
<button label="Parar tudo" name="all_nearby_media_disable_btn" tool_tip="Desligar mídias por perto"/>
|
||||
<button label="Executar tudo" name="all_nearby_media_enable_btn" tool_tip="Ligar mídias por perto"/>
|
||||
<button name="open_prefs_btn" tool_tip="Preferências de mídia"/>
|
||||
<button label="Mais >>" label_selected="<< Menos" name="more_btn" tool_tip="Controles avançados"/>
|
||||
<button label="Mais >>" label_selected="Menos <<" name="less_btn" tool_tip="Controles avançados"/>
|
||||
</panel>
|
||||
<panel name="nearby_media_panel">
|
||||
<text name="nearby_media_title">
|
||||
Mídia por perto
|
||||
</text>
|
||||
<text name="show_text">
|
||||
Mostrar:
|
||||
</text>
|
||||
<combo_box name="show_combo">
|
||||
<combo_box.item label="Tudo" name="All"/>
|
||||
<combo_box.item label="Neste lote" name="WithinParcel"/>
|
||||
<combo_box.item label="Fora deste lote" name="OutsideParcel"/>
|
||||
<combo_box.item label="Nos outros avatares" name="OnOthers"/>
|
||||
</combo_box>
|
||||
<scroll_list name="media_list">
|
||||
<scroll_list.columns label="Proximidade" name="media_proximity"/>
|
||||
<scroll_list.columns label="Visíveis" name="media_visibility"/>
|
||||
<scroll_list.columns label="Classe" name="media_class"/>
|
||||
<scroll_list.columns label="Nome" name="media_name"/>
|
||||
<scroll_list.columns label="Depurar" name="media_debug"/>
|
||||
</scroll_list>
|
||||
<panel name="media_controls_panel">
|
||||
<layout_stack name="media_controls">
|
||||
<layout_panel name="stop">
|
||||
<button name="stop_btn" tool_tip="Parar mídia selecionada"/>
|
||||
</layout_panel>
|
||||
<layout_panel name="play">
|
||||
<button name="play_btn" tool_tip="Tocar mídia selecionada"/>
|
||||
</layout_panel>
|
||||
<layout_panel name="pause">
|
||||
<button name="pause_btn" tool_tip="Pausar mídia selecionada"/>
|
||||
</layout_panel>
|
||||
<layout_panel name="volume_slider_ctrl">
|
||||
<slider_bar initial_value="0.5" name="volume_slider" tool_tip="Volume da mídia selecionada"/>
|
||||
</layout_panel>
|
||||
<layout_panel name="mute">
|
||||
<button name="mute_btn" tool_tip="Silenciar mídia selecionada"/>
|
||||
</layout_panel>
|
||||
<layout_panel name="zoom">
|
||||
<button name="zoom_btn" tool_tip="Enfocar mídia"/>
|
||||
</layout_panel>
|
||||
<layout_panel name="unzoom">
|
||||
<button name="unzoom_btn" tool_tip="Desenfocar mídia selecionada"/>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
</panel>
|
||||
</panel>
|
||||
</panel>
|
||||
@@ -76,7 +76,7 @@ void wlfPanel_AdvSettings::build()
|
||||
|
||||
deleteAllChildren();
|
||||
std::string ButtonState;
|
||||
if (!gSavedSettings.getBOOL("wlfAdvSettingsPopup"))
|
||||
if (gSavedSettings.getBOOL("wlfAdvSettingsPopup"))
|
||||
{
|
||||
LLUICtrlFactory::getInstance()->buildPanel(this, "wlfPanel_AdvSettings_expanded.xml", &getFactoryMap());
|
||||
ButtonState = "arrow_down.tga";
|
||||
@@ -92,7 +92,7 @@ void wlfPanel_AdvSettings::build()
|
||||
void wlfPanel_AdvSettings::refresh()
|
||||
{
|
||||
// [RLVa:KB] - Checked: 2009-09-19
|
||||
if (rlv_handler_t::isEnabled() && !gSavedSettings.getBOOL("wlfAdvSettingsPopup"))
|
||||
if (rlv_handler_t::isEnabled() && gSavedSettings.getBOOL("wlfAdvSettingsPopup"))
|
||||
{
|
||||
if (!findChild<LLView>("use_estate_wl")) return; // Singu Note: Not certain why, but sometimes none of these exist even though the above setting implies they should
|
||||
childSetEnabled("use_estate_wl", !gRlvHandler.hasBehaviour(RLV_BHVR_SETENV));
|
||||
@@ -141,7 +141,7 @@ BOOL wlfPanel_AdvSettings::postBuild()
|
||||
{
|
||||
childSetAction("expand", onClickExpandBtn, this);
|
||||
|
||||
if (!gSavedSettings.getBOOL("wlfAdvSettingsPopup"))
|
||||
if (gSavedSettings.getBOOL("wlfAdvSettingsPopup"))
|
||||
{
|
||||
getChild<LLCheckBoxCtrl>("use_estate_wl")->setCommitCallback(onUseRegionSettings);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user