summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterbulkythumbs.cpp
diff options
context:
space:
mode:
authorCallum Prentice <callum@lindenlab.com>2023-08-01 16:56:06 -0700
committerCallum Prentice <callum@lindenlab.com>2023-08-01 16:56:06 -0700
commit4ce14631678195d7256e11a02f646396e3bc2dd8 (patch)
tree91a0b0961c2b0f290581b446464fa16ed7046322 /indra/newview/llfloaterbulkythumbs.cpp
parent57b9500c23b7dc3b1bf1a7154885e7424d7f10bd (diff)
SL-20109: write the name of each copied inventory item to the text editor
Diffstat (limited to 'indra/newview/llfloaterbulkythumbs.cpp')
-rw-r--r--indra/newview/llfloaterbulkythumbs.cpp65
1 files changed, 55 insertions, 10 deletions
diff --git a/indra/newview/llfloaterbulkythumbs.cpp b/indra/newview/llfloaterbulkythumbs.cpp
index 14ecc32c40..4392d1a906 100644
--- a/indra/newview/llfloaterbulkythumbs.cpp
+++ b/indra/newview/llfloaterbulkythumbs.cpp
@@ -1,4 +1,4 @@
-/**
+/**
* @file llfloaterbulkythumbs.cpp
* @author Callum Prentice
* @brief LLFloaterBulkyThumbs class implementation
@@ -6,21 +6,21 @@
* $LicenseInfo:firstyear=2008&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
- *
+ *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
- *
+ *
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
+ *
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -34,10 +34,12 @@
#include "llfloaterbulkythumbs.h"
#include "lluictrlfactory.h"
+#include "llclipboard.h"
+#include "llinventorymodel.h"
+#include "lltexteditor.h"
-
-LLFloaterBulkyThumbs::LLFloaterBulkyThumbs(const LLSD &key)
- : LLFloater("floater_bulky_thumbs")
+LLFloaterBulkyThumbs::LLFloaterBulkyThumbs(const LLSD& key)
+ : LLFloater("floater_bulky_thumbs")
{
}
@@ -48,6 +50,10 @@ BOOL LLFloaterBulkyThumbs::postBuild()
mPasteFromInventoryBtn = getChild<LLUICtrl>("paste_from_inventory");
mPasteFromInventoryBtn->setCommitCallback(boost::bind(&LLFloaterBulkyThumbs::onPasteFromInventory, this));
+ mInventoryItems = getChild<LLTextEditor>("inventory_items");
+ mInventoryItems->setMaxTextLength(0x8000);
+ mInventoryItems->setCommitCallback(boost::bind(&LLFloaterBulkyThumbs::onCommitInventoryItems, this));
+
mProcessBulkyThumbsBtn = getChild<LLUICtrl>("process_bulky_thumbs");
mProcessBulkyThumbsBtn->setCommitCallback(boost::bind(&LLFloaterBulkyThumbs::onProcessBulkyThumbs, this));
mProcessBulkyThumbsBtn->setEnabled(false);
@@ -57,7 +63,46 @@ BOOL LLFloaterBulkyThumbs::postBuild()
void LLFloaterBulkyThumbs::onPasteFromInventory()
-{ std::cout << "onPasteFromInventory" << std::endl; }
+{
+ std::cout << "onPasteFromInventory" << std::endl;
+
+ if (!LLClipboard::instance().hasContents())
+ {
+ return;
+ }
+
+ std::vector<LLUUID> objects;
+ LLClipboard::instance().pasteFromClipboard(objects);
+ size_t count = objects.size();
+
+ if (count > 0)
+ {
+ mInventoryItems->clear();
+
+ for (size_t i = 0; i < count; i++)
+ {
+ const LLUUID& item_id = objects.at(i);
+
+ const LLInventoryItem* item = gInventory.getItem(item_id);
+ if (item)
+ {
+ if (item->getType() == LLAssetType::AT_OBJECT)
+ {
+ mInventoryItems->appendText(item->getName(), "\n");
+ }
+ }
+ }
+
+ mProcessBulkyThumbsBtn->setEnabled(true);
+ }
+}
void LLFloaterBulkyThumbs::onProcessBulkyThumbs()
-{ std::cout << "onProcessBulkyThumbs" << std::endl; }
+{
+ std::cout << "onProcessBulkyThumbs" << std::endl;
+}
+
+void LLFloaterBulkyThumbs::onCommitInventoryItems()
+{
+ std::cout << "onCommitInventoryItems" << std::endl;
+}