summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/llui/llpanel.cpp12
-rw-r--r--indra/llui/llpanel.h5
-rw-r--r--indra/newview/llfloaterpreference.cpp6
-rw-r--r--indra/newview/llimpanel.cpp6
-rw-r--r--indra/newview/llpanelimcontrolpanel.cpp1
-rw-r--r--indra/newview/llsidetray.cpp3
-rw-r--r--indra/newview/llviewerwindow.cpp2
7 files changed, 23 insertions, 12 deletions
diff --git a/indra/llui/llpanel.cpp b/indra/llui/llpanel.cpp
index 1a948fdd00..da55ababab 100644
--- a/indra/llui/llpanel.cpp
+++ b/indra/llui/llpanel.cpp
@@ -94,7 +94,8 @@ LLPanel::LLPanel(const LLPanel::Params& p)
mBorder(NULL),
mLabel(p.label),
mCommitCallbackRegistrar(false),
- mEnableCallbackRegistrar(false)
+ mEnableCallbackRegistrar(false),
+ mXMLFilename("")
{
setIsChrome(FALSE);
@@ -486,8 +487,13 @@ BOOL LLPanel::initPanelXML(LLXMLNodePtr node, LLView *parent, LLXMLNodePtr outpu
LLFastTimer timer(FTM_PANEL_SETUP);
LLXMLNodePtr referenced_xml;
- std::string xml_filename;
- node->getAttributeString("filename", xml_filename);
+ std::string xml_filename = mXMLFilename;
+
+ // if the panel didn't provide a filename, check the node
+ if (xml_filename.empty())
+ {
+ node->getAttributeString("filename", xml_filename);
+ }
if (!xml_filename.empty())
{
diff --git a/indra/llui/llpanel.h b/indra/llui/llpanel.h
index 552a621a8e..2a70467ffc 100644
--- a/indra/llui/llpanel.h
+++ b/indra/llui/llpanel.h
@@ -249,6 +249,8 @@ public:
//call onOpen to let panel know when it's about to be shown or activated
virtual void onOpen(const LLSD& key) {}
+
+ void setXMLFilename(std::string filename) { mXMLFilename = filename; };
protected:
// Override to set not found list
@@ -278,6 +280,9 @@ private:
ui_string_map_t mUIStrings;
std::string mRequirementsError;
+
+ // for setting the xml filename when building panel in context dependent cases
+ std::string mXMLFilename;
}; // end class LLPanel
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index 6050fbfa5d..1a7f72d49c 100644
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -422,7 +422,7 @@ void LLFloaterPreference::apply()
panel->apply();
}
// hardware menu apply
- LLFloaterHardwareSettings* hardware_settings = LLFloaterReg::findTypedInstance<LLFloaterHardwareSettings>("prefs_hardware_settings");
+ LLFloaterHardwareSettings* hardware_settings = LLFloaterReg::getTypedInstance<LLFloaterHardwareSettings>("prefs_hardware_settings");
if (hardware_settings)
{
hardware_settings->apply();
@@ -514,7 +514,7 @@ void LLFloaterPreference::cancel()
LLFloaterReg::hideInstance("pref_joystick");
// cancel hardware menu
- LLFloaterHardwareSettings* hardware_settings = LLFloaterReg::findTypedInstance<LLFloaterHardwareSettings>("prefs_hardware_settings");
+ LLFloaterHardwareSettings* hardware_settings = LLFloaterReg::getTypedInstance<LLFloaterHardwareSettings>("prefs_hardware_settings");
if (hardware_settings)
{
hardware_settings->cancel();
@@ -649,7 +649,7 @@ void LLFloaterPreference::refreshEnabledGraphics()
{
instance->refreshEnabledState();
}
- LLFloaterHardwareSettings* hardware_settings = LLFloaterReg::findTypedInstance<LLFloaterHardwareSettings>("prefs_hardware_settings");
+ LLFloaterHardwareSettings* hardware_settings = LLFloaterReg::getTypedInstance<LLFloaterHardwareSettings>("prefs_hardware_settings");
if (hardware_settings)
{
hardware_settings->refreshEnabledState();
diff --git a/indra/newview/llimpanel.cpp b/indra/newview/llimpanel.cpp
index 954da8abd7..0b4e0f9317 100644
--- a/indra/newview/llimpanel.cpp
+++ b/indra/newview/llimpanel.cpp
@@ -2151,8 +2151,7 @@ void* LLIMFloater::createPanelIMControl(void* userdata)
{
LLIMFloater *self = (LLIMFloater*)userdata;
self->mControlPanel = new LLPanelIMControlPanel();
- LLUICtrlFactory::getInstance()->buildPanel(self->mControlPanel, "panel_im_control_panel.xml");
- self->mControlPanel->setVisible(FALSE);
+ self->mControlPanel->setXMLFilename("panel_im_control_panel.xml");
return self->mControlPanel;
}
@@ -2162,8 +2161,7 @@ void* LLIMFloater::createPanelGroupControl(void* userdata)
{
LLIMFloater *self = (LLIMFloater*)userdata;
self->mControlPanel = new LLPanelGroupControlPanel();
- LLUICtrlFactory::getInstance()->buildPanel(self->mControlPanel, "panel_group_control_panel.xml");
- self->mControlPanel->setVisible(FALSE);
+ self->mControlPanel->setXMLFilename("panel_group_control_panel.xml");
return self->mControlPanel;
}
diff --git a/indra/newview/llpanelimcontrolpanel.cpp b/indra/newview/llpanelimcontrolpanel.cpp
index 1d50bb26f6..51cdc5af93 100644
--- a/indra/newview/llpanelimcontrolpanel.cpp
+++ b/indra/newview/llpanelimcontrolpanel.cpp
@@ -53,6 +53,7 @@ BOOL LLPanelIMControlPanel::postBuild()
childSetAction("add_friend_btn", boost::bind(&LLPanelIMControlPanel::onAddFriendButtonClicked, this));
childSetAction("call_btn", boost::bind(&LLPanelIMControlPanel::onCallButtonClicked, this));
childSetAction("share_btn", boost::bind(&LLPanelIMControlPanel::onShareButtonClicked, this));
+ childSetEnabled("add_friend_btn", !LLAvatarActions::isFriend(getChild<LLAvatarIconCtrl>("avatar_icon")->getAvatarId()));
return TRUE;
}
diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp
index 0558cc3488..9990c22dac 100644
--- a/indra/newview/llsidetray.cpp
+++ b/indra/newview/llsidetray.cpp
@@ -34,6 +34,7 @@
#include "lltextbox.h"
+#include "llbottomtray.h"
#include "llsidetray.h"
#include "llviewerwindow.h"
#include "llaccordionctrl.h"
@@ -650,7 +651,7 @@ void LLSideTray::setPanelRect ()
if(!mCollapsed)
panel_width+=mMaxBarWidth;
- S32 panel_height = parent_rect.getHeight()-fake_top_offset;
+ S32 panel_height = parent_rect.getHeight() - fake_top_offset - LLBottomTray::getInstance()->getRect().getHeight();
LLRect panel_rect;
panel_rect.setLeftTopAndSize( parent_rect.mRight-panel_width, parent_rect.mTop-fake_top_offset, panel_width, panel_height);
setRect(panel_rect);
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index e757090da8..2b1dbf8e84 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -2440,7 +2440,7 @@ void LLViewerWindow::updateUI()
updateWorldViewRect();
- updateBottomTrayRect();
+ //updateBottomTrayRect();
LLView::sMouseHandlerMessage.clear();