SL-20109: write the name of each copied inventory item to the text editor

meow-7.2.2
Callum Prentice 2023-08-01 16:56:06 -07:00
parent 57b9500c23
commit 4ce1463167
3 changed files with 75 additions and 26 deletions

View File

@ -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;
}

View File

@ -1,4 +1,4 @@
/**
/**
* @file llfloaterbulkythumbs.h
* @author Callum Prentice
* @brief Helper floater for bulk processing of inventory thumbnails
@ -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$
*/
@ -29,21 +29,25 @@
#define LL_LLFLOATERBULKYTHUMBS_H
#include "llfloater.h"
class LLTextEditor;
class LLFloaterBulkyThumbs:
public LLFloater
public LLFloater
{
friend class LLFloaterReg;
private:
LLFloaterBulkyThumbs(const LLSD &key);
BOOL postBuild() override;
~LLFloaterBulkyThumbs();
friend class LLFloaterReg;
private:
LLFloaterBulkyThumbs(const LLSD& key);
BOOL postBuild() override;
~LLFloaterBulkyThumbs();
LLUICtrl *mPasteFromInventoryBtn;
void onPasteFromInventory();
LLUICtrl* mPasteFromInventoryBtn;
void onPasteFromInventory();
LLUICtrl *mProcessBulkyThumbsBtn;
void onProcessBulkyThumbs();
LLTextEditor* mInventoryItems;
void onCommitInventoryItems();
LLUICtrl* mProcessBulkyThumbsBtn;
void onProcessBulkyThumbs();
};
#endif // LL_LLFLOATERBULKYTHUMBS_H

View File

@ -23,7 +23,7 @@
height="510"
follows="top|left|right|bottom"
left_delta="0"
name="inv_items"
name="inventory_items"
top_pad="10"
width="480">
Entry 1