diff options
Diffstat (limited to 'indra/newview/llpanellandmedia.cpp')
-rw-r--r-- | indra/newview/llpanellandmedia.cpp | 24 |
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; |