diff options
Diffstat (limited to 'indra')
-rw-r--r-- | indra/llui/llpanel.cpp | 12 | ||||
-rw-r--r-- | indra/llui/llpanel.h | 5 | ||||
-rw-r--r-- | indra/newview/llfloaterpreference.cpp | 6 | ||||
-rw-r--r-- | indra/newview/llimpanel.cpp | 6 | ||||
-rw-r--r-- | indra/newview/llpanelimcontrolpanel.cpp | 1 | ||||
-rw-r--r-- | indra/newview/llsidetray.cpp | 3 | ||||
-rw-r--r-- | indra/newview/llviewerwindow.cpp | 2 |
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(); |