summaryrefslogtreecommitdiff
path: root/indra/newview/llpanellandmedia.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llpanellandmedia.cpp')
-rw-r--r--indra/newview/llpanellandmedia.cpp24
1 files changed, 21 insertions, 3 deletions
diff --git a/indra/newview/llpanellandmedia.cpp b/indra/newview/llpanellandmedia.cpp
index 8df677a755..085cbfa7a0 100644
--- a/indra/newview/llpanellandmedia.cpp
+++ b/indra/newview/llpanellandmedia.cpp
@@ -117,7 +117,6 @@ BOOL LLPanelLandMedia::postBuild()
mMediaTypeCombo = getChild<LLComboBox>("media type");
childSetCommitCallback("media type", onCommitType, this);
populateMIMECombo();
- mMediaTypeCombo->sortByName();
mMediaWidthCtrl = getChild<LLSpinCtrl>("media_size_width");
childSetCommitCallback("media_size_width", onCommitAny, this);
@@ -268,14 +267,28 @@ void LLPanelLandMedia::refresh()
void LLPanelLandMedia::populateMIMECombo()
{
+ LLString default_mime_type = "none/none";
+ LLString default_label;
LLMIMETypes::mime_widget_set_map_t::const_iterator it;
for (it = LLMIMETypes::sWidgetMap.begin(); it != LLMIMETypes::sWidgetMap.end(); ++it)
{
const LLString& mime_type = it->first;
const LLMIMETypes::LLMIMEWidgetSet& info = it->second;
- mMediaTypeCombo->add(info.mLabel, mime_type);
+ if (info.mDefaultMimeType == default_mime_type)
+ {
+ // Add this label at the end to make UI look cleaner
+ default_label = info.mLabel;
+ }
+ else
+ {
+ mMediaTypeCombo->add(info.mLabel, mime_type);
+ }
}
+ // *TODO: The sort order is based on std::map key, which is
+ // ASCII-sorted and is wrong in other languages. TRANSLATE
+ mMediaTypeCombo->add( default_label, default_mime_type, ADD_BOTTOM );
}
+
void LLPanelLandMedia::setMediaType(const LLString& mime_type)
{
LLParcel *parcel = mParcel->getParcel();
@@ -291,7 +304,11 @@ void LLPanelLandMedia::setMediaURL(const LLString& media_url)
{
mMediaURLEdit->setText(media_url);
mMediaURLEdit->onCommit();
+}
+LLString LLPanelLandMedia::getMediaURL()
+{
+ return mMediaURLEdit->getText();
}
// static
@@ -307,8 +324,9 @@ void LLPanelLandMedia::onCommitType(LLUICtrl *ctrl, void *userdata)
onCommitAny(ctrl, userdata);
}
+
// static
-void LLPanelLandMedia::onCommitAny(LLUICtrl *ctrl, void *userdata)
+void LLPanelLandMedia::onCommitAny(LLUICtrl*, void *userdata)
{
LLPanelLandMedia *self = (LLPanelLandMedia *)userdata;