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:"/>