diff options
| author | AndreyL ProductEngine <alihatskiy@productengine.com> | 2017-07-21 05:29:51 +0300 | 
|---|---|---|
| committer | AndreyL ProductEngine <alihatskiy@productengine.com> | 2017-07-21 05:29:51 +0300 | 
| commit | 2efa40fa6089dabbaccc228d331679c8c92f797f (patch) | |
| tree | 48d85625553575c337875b0f675daa1ed88bca1f /indra/newview | |
| parent | c55d9a59a25cbc311c63ca8bfee0189b090ff99a (diff) | |
MAINT-7356 Logic fix and cleanup
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/llinventoryfunctions.cpp | 32 | 
1 files changed, 6 insertions, 26 deletions
diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp index 90d6e9b8a8..d282240bfb 100644 --- a/indra/newview/llinventoryfunctions.cpp +++ b/indra/newview/llinventoryfunctions.cpp @@ -92,8 +92,6 @@ BOOL LLInventoryState::sWearNewClothing = FALSE;  LLUUID LLInventoryState::sWearNewClothingTransactionID;  std::list<LLUUID> LLInventoryAction::sMarketplaceFolders; -const int LLInventoryAction::sConfirmOnDeleteItemsNumber = 5; -  // Helper function : callback to update a folder after inventory action happened in the background  void update_folder_cb(const LLUUID& dest_folder)  { @@ -2298,29 +2296,6 @@ void LLInventoryAction::doToSelected(LLInventoryModel* model, LLFolderView* root  	if ("delete" == action)  	{  		static bool sDisplayedAtSession = false; - -		bool has_folder_items = false; -		for (std::set<LLFolderViewItem*>::iterator set_iter = selected_items.begin(); set_iter != selected_items.end(); ++set_iter) -		{ -			LLFolderViewModelItemInventory * viewModel = dynamic_cast<LLFolderViewModelItemInventory *>((*set_iter)->getViewModelItem()); -			if (viewModel && viewModel->hasChildren()) -			{ -				has_folder_items = true; -				break; -			} -		} -		if (root->getSelectedCount() >= sConfirmOnDeleteItemsNumber || has_folder_items) -		{ -			bool ignore = !(LLUI::sSettingGroups["ignores"]->getBOOL("DeleteItems")); -			if (ignore) -			{ -				if (!sDisplayedAtSession) -				{ -					LLUI::sSettingGroups["ignores"]->setBOOL("DeleteItems", TRUE); -					sDisplayedAtSession = true; -				} -			} -		}  		LLAllDescendentsPassedFilter f;  		for (std::set<LLFolderViewItem*>::iterator it = selected_items.begin(); (it != selected_items.end()) && (f.allDescendentsPassedFilter()); ++it) @@ -2330,7 +2305,6 @@ void LLInventoryAction::doToSelected(LLInventoryModel* model, LLFolderView* root  				folder->applyFunctorRecursively(f);  			}  		} -  		// Fall through to the generic confirmation if the user choose to ignore the specialized one  		if ( (!f.allDescendentsPassedFilter()) && (!LLNotifications::instance().getIgnored("DeleteFilteredItems")) )  		{ @@ -2338,6 +2312,12 @@ void LLInventoryAction::doToSelected(LLInventoryModel* model, LLFolderView* root  		}  		else  		{ +			if (!sDisplayedAtSession) // ask for the confirmation at least once per session +			{ +				LLNotifications::instance().setIgnored("DeleteItems", false); +				sDisplayedAtSession = true; +			} +  			LLSD args;  			args["QUESTION"] = LLTrans::getString(root->getSelectedCount() > 1 ? "DeleteItems" :  "DeleteItem");  			LLNotificationsUtil::add("DeleteItems", args, LLSD(), boost::bind(&LLInventoryAction::onItemsRemovalConfirmation, _1, _2, root->getHandle()));  | 
