summaryrefslogtreecommitdiff
path: root/indra/newview/llsettingspicker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llsettingspicker.cpp')
-rw-r--r--indra/newview/llsettingspicker.cpp66
1 files changed, 30 insertions, 36 deletions
diff --git a/indra/newview/llsettingspicker.cpp b/indra/newview/llsettingspicker.cpp
index 648a9503e1..619882dc5e 100644
--- a/indra/newview/llsettingspicker.cpp
+++ b/indra/newview/llsettingspicker.cpp
@@ -78,7 +78,7 @@ LLFloaterSettingsPicker::LLFloaterSettingsPicker(LLView * owner, LLUUID initial_
mOwnerHandle = owner->getHandle();
buildFromFile(FLOATER_DEFINITION_XML);
- setCanMinimize(FALSE);
+ setCanMinimize(false);
}
@@ -88,17 +88,17 @@ LLFloaterSettingsPicker::~LLFloaterSettingsPicker()
}
//-------------------------------------------------------------------------
-BOOL LLFloaterSettingsPicker::postBuild()
+bool LLFloaterSettingsPicker::postBuild()
{
if (!LLFloater::postBuild())
- return FALSE;
+ return false;
std::string prefix = getString(STR_TITLE_PREFIX);
std::string label = getString(STR_TITLE_SETTINGS);
setTitle(prefix + " " + label);
mFilterEdit = getChild<LLFilterEditor>(FLT_INVENTORY_SEARCH);
- mFilterEdit->setCommitCallback([this](LLUICtrl*, const LLSD& param){ onFilterEdit(param.asString()); });
+ mFilterEdit->setCommitCallback([this](LLUICtrl*, const LLSD& param) { onFilterEdit(param.asString()); });
mInventoryPanel = getChild<LLInventoryPanel>(PNL_INVENTORY);
if (mInventoryPanel)
@@ -115,7 +115,7 @@ BOOL LLFloaterSettingsPicker::postBuild()
// Disable auto selecting first filtered item because it takes away
// selection from the item set by LLTextureCtrl owning this floater.
- mInventoryPanel->getRootFolder()->setAutoSelectOverride(TRUE);
+ mInventoryPanel->getRootFolder()->setAutoSelectOverride(true);
// don't put keyboard focus on selected item, because the selection callback
// will assume that this was user input
@@ -127,7 +127,7 @@ BOOL LLFloaterSettingsPicker::postBuild()
getChild<LLView>(BTN_SELECT)->setEnabled(mSettingItemID.notNull());
}
- mNoCopySettingsSelected = FALSE;
+ mNoCopySettingsSelected = false;
childSetAction(BTN_CANCEL, [this](LLUICtrl*, const LLSD& param){ onButtonCancel(); });
childSetAction(BTN_SELECT, [this](LLUICtrl*, const LLSD& param){ onButtonSelect(); });
@@ -135,9 +135,9 @@ BOOL LLFloaterSettingsPicker::postBuild()
getChild<LLPanel>(PNL_COMBO)->setVisible(mTrackMode != TRACK_NONE);
// update permission filter once UI is fully initialized
- mSavedFolderState.setApply(FALSE);
+ mSavedFolderState.setApply(false);
- return TRUE;
+ return true;
}
void LLFloaterSettingsPicker::onClose(bool app_quitting)
@@ -149,7 +149,7 @@ void LLFloaterSettingsPicker::onClose(bool app_quitting)
LLView *owner = mOwnerHandle.get();
if (owner)
{
- owner->setFocus(TRUE);
+ owner->setFocus(true);
}
mSettingItemID.setNull();
mInventoryPanel->getRootFolder()->clearSelection();
@@ -203,7 +203,6 @@ void LLFloaterSettingsPicker::draw()
LLFloater::draw();
}
-
//=========================================================================
void LLFloaterSettingsPicker::onFilterEdit(const std::string& search_string)
{
@@ -218,20 +217,19 @@ void LLFloaterSettingsPicker::onFilterEdit(const std::string& search_string)
return;
}
- mSavedFolderState.setApply(TRUE);
+ mSavedFolderState.setApply(true);
mInventoryPanel->getRootFolder()->applyFunctorRecursively(mSavedFolderState);
// add folder with current item to list of previously opened folders
LLOpenFoldersWithSelection opener;
mInventoryPanel->getRootFolder()->applyFunctorRecursively(opener);
mInventoryPanel->getRootFolder()->scrollToShowSelection();
-
}
else if (mInventoryPanel->getFilterSubString().empty())
{
// first letter in search term, save existing folder open state
if (!mInventoryPanel->getFilter().isNotDefault())
{
- mSavedFolderState.setApply(FALSE);
+ mSavedFolderState.setApply(false);
mInventoryPanel->getRootFolder()->applyFunctorRecursively(mSavedFolderState);
}
}
@@ -269,6 +267,7 @@ void LLFloaterSettingsPicker::onSelectionChange(const LLFloaterSettingsPicker::i
}
}
}
+
bool track_picker_enabled = mTrackMode != TRACK_NONE;
getChild<LLView>(CMB_TRACK_SELECTION)->setEnabled(is_item && track_picker_enabled && mSettingAssetID == asset_id);
@@ -304,13 +303,14 @@ void LLFloaterSettingsPicker::onAssetLoaded(LLUUID asset_id, LLSettingsBase::ptr
LLComboBox* track_selection = getChild<LLComboBox>(CMB_TRACK_SELECTION);
track_selection->clear();
track_selection->removeall();
+
if (!settings)
{
LL_WARNS() << "Failed to load asset " << asset_id << LL_ENDL;
return;
}
- LLSettingsDay::ptr_t pday = std::dynamic_pointer_cast<LLSettingsDay>(settings);
+ LLSettingsDay::ptr_t pday = std::dynamic_pointer_cast<LLSettingsDay>(settings);
if (!pday)
{
LL_WARNS() << "Wrong asset type received by id " << asset_id << LL_ENDL;
@@ -326,7 +326,7 @@ void LLFloaterSettingsPicker::onAssetLoaded(LLUUID asset_id, LLSettingsBase::ptr
// track 1 always present
track_selection->add(getString(STR_TRACK_GROUND), LLSD::Integer(LLSettingsDay::TRACK_GROUND_LEVEL), ADD_TOP, true);
LLUIString formatted_label = getString(STR_TRACK_SKY);
- for (int i = 2; i < LLSettingsDay::TRACK_MAX; i++)
+ for (U32 i = 2; i < LLSettingsDay::TRACK_MAX; i++)
{
if (!pday->isTrackEmpty(i))
{
@@ -349,6 +349,11 @@ void LLFloaterSettingsPicker::onButtonCancel()
void LLFloaterSettingsPicker::onButtonSelect()
{
+ applySelectedItemAndCloseFloater();
+}
+
+void LLFloaterSettingsPicker::applySelectedItemAndCloseFloater()
+{
if (mCommitSignal)
{
LLSD res;
@@ -359,9 +364,9 @@ void LLFloaterSettingsPicker::onButtonSelect()
closeFloater();
}
-BOOL LLFloaterSettingsPicker::handleDoubleClick(S32 x, S32 y, MASK mask)
+bool LLFloaterSettingsPicker::handleDoubleClick(S32 x, S32 y, MASK mask)
{
- BOOL result = FALSE;
+ bool result = false;
if (mSettingItemID.notNull()
&& mInventoryPanel)
{
@@ -378,16 +383,9 @@ BOOL LLFloaterSettingsPicker::handleDoubleClick(S32 x, S32 y, MASK mask)
if (target_rect.pointInRect(x, y))
{
// Quick-apply
- if (mCommitSignal)
- {
- LLSD res;
- res["ItemId"] = mSettingItemID;
- res["Track"] = getChild<LLComboBox>(CMB_TRACK_SELECTION)->getValue();
- (*mCommitSignal)(this, res);
- }
- closeFloater();
+ applySelectedItemAndCloseFloater();
// hit inside panel on selected item, double click should do nothing
- result = TRUE;
+ result = true;
}
}
}
@@ -400,7 +398,7 @@ BOOL LLFloaterSettingsPicker::handleDoubleClick(S32 x, S32 y, MASK mask)
return result;
}
-BOOL LLFloaterSettingsPicker::handleKeyHere(KEY key, MASK mask)
+bool LLFloaterSettingsPicker::handleKeyHere(KEY key, MASK mask)
{
if ((key == KEY_RETURN) && (mask == MASK_NONE))
{
@@ -408,15 +406,8 @@ BOOL LLFloaterSettingsPicker::handleKeyHere(KEY key, MASK mask)
if (item_viewp && item_viewp->getIsCurSelection() && item_viewp->getVisible())
{
// Quick-apply
- if (mCommitSignal)
- {
- LLSD res;
- res["ItemId"] = mSettingItemID;
- res["Track"] = getChild<LLComboBox>(CMB_TRACK_SELECTION)->getValue();
- (*mCommitSignal)(this, res);
- }
- closeFloater();
- return TRUE;
+ applySelectedItemAndCloseFloater();
+ return true;
}
}
@@ -466,6 +457,9 @@ void LLFloaterSettingsPicker::setSettingsItemId(const LLUUID &settings_id, bool
LLInventoryItem* LLFloaterSettingsPicker::findItem(const LLUUID& asset_id, bool copyable_only, bool ignore_library)
{
+ if (asset_id.isNull())
+ return nullptr;
+
LLViewerInventoryCategory::cat_array_t cats;
LLViewerInventoryItem::item_array_t items;
LLAssetIDMatches asset_id_matches(asset_id);