diff --git a/indra/newview/omnifilter.cpp b/indra/newview/omnifilter.cpp index 2ba9edda5b..b9cf79fd83 100644 --- a/indra/newview/omnifilter.cpp +++ b/indra/newview/omnifilter.cpp @@ -123,6 +123,7 @@ void Omnifilter::onSelectNeedle() { mOwnerCtrl->setText(needle->mOwnerID.asString()); } + onOwnerChanged(); mTypeNearbyBtn->setToggleState(needle->mTypes.find(OmnifilterEngine::eType::NearbyChat) != needle->mTypes.end()); mTypeIMBtn->setToggleState(needle->mTypes.find(OmnifilterEngine::eType::InstantMessage) != needle->mTypes.end()); @@ -256,6 +257,20 @@ void Omnifilter::onNeedleCheckboxChanged(LLUICtrl* ctrl) OmnifilterEngine::getInstance()->setDirty(true); } +void Omnifilter::onOwnerChanged() +{ + static LLColor4 default_text_color = mOwnerCtrl->getFgColor(); + + if (LLUUID::validate(mOwnerCtrl->getValue())) + { + mOwnerCtrl->setFgColor(default_text_color); + } + else + { + mOwnerCtrl->setFgColor(LLUIColorTable::getInstance()->getColor("EmphasisColor")); + } +} + void Omnifilter::onLogLine(time_t time, const std::string& log_line) { LLDate date((F64)time); @@ -368,6 +383,7 @@ bool Omnifilter::postBuild() mButtonReplyCtrl->setCommitCallback(boost::bind(&Omnifilter::onNeedleChanged, this)); mTextBoxReplyCtrl->setCommitCallback(boost::bind(&Omnifilter::onNeedleChanged, this)); mOwnerCtrl->setCommitCallback(boost::bind(&Omnifilter::onNeedleChanged, this)); + mOwnerCtrl->setKeystrokeCallback(boost::bind(&Omnifilter::onOwnerChanged, this), nullptr); mTypeNearbyBtn->setCommitCallback(boost::bind(&Omnifilter::onNeedleChanged, this)); mTypeIMBtn->setCommitCallback(boost::bind(&Omnifilter::onNeedleChanged, this)); mTypeGroupIMBtn->setCommitCallback(boost::bind(&Omnifilter::onNeedleChanged, this)); diff --git a/indra/newview/omnifilter.h b/indra/newview/omnifilter.h index a5b29f1eb0..04cc5437e7 100644 --- a/indra/newview/omnifilter.h +++ b/indra/newview/omnifilter.h @@ -58,6 +58,7 @@ class Omnifilter void onRemoveNeedleClicked(); void onNeedleNameChanged(); void onNeedleCheckboxChanged(LLUICtrl* ctrl); + void onOwnerChanged(); void onLogLine(time_t time, const std::string& logLine); diff --git a/indra/newview/skins/default/xui/en/floater_omnifilter.xml b/indra/newview/skins/default/xui/en/floater_omnifilter.xml index bda6a0ce16..40f80e98da 100644 --- a/indra/newview/skins/default/xui/en/floater_omnifilter.xml +++ b/indra/newview/skins/default/xui/en/floater_omnifilter.xml @@ -330,7 +330,8 @@ follows="left|right|bottom" height="20" left_pad="4" - right="-4"/> + right="-4" + tool_tip="The region name of the source. Only available for inventory offers."/> + value="Owner Key:"/>