Skip to content
Snippets Groups Projects
Commit 4ce14631 authored by Callum Prentice's avatar Callum Prentice
Browse files

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

parent 57b9500c
No related branches found
No related tags found
No related merge requests found
/** /**
* @file llfloaterbulkythumbs.cpp * @file llfloaterbulkythumbs.cpp
* @author Callum Prentice * @author Callum Prentice
* @brief LLFloaterBulkyThumbs class implementation * @brief LLFloaterBulkyThumbs class implementation
...@@ -6,21 +6,21 @@ ...@@ -6,21 +6,21 @@
* $LicenseInfo:firstyear=2008&license=viewerlgpl$ * $LicenseInfo:firstyear=2008&license=viewerlgpl$
* Second Life Viewer Source Code * Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc. * Copyright (C) 2010, Linden Research, Inc.
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; * License as published by the Free Software Foundation;
* version 2.1 of the License only. * version 2.1 of the License only.
* *
* This library is distributed in the hope that it will be useful, * This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details. * Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public * You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software * License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
* *
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$ * $/LicenseInfo$
*/ */
...@@ -34,10 +34,12 @@ ...@@ -34,10 +34,12 @@
#include "llfloaterbulkythumbs.h" #include "llfloaterbulkythumbs.h"
#include "lluictrlfactory.h" #include "lluictrlfactory.h"
#include "llclipboard.h"
#include "llinventorymodel.h"
#include "lltexteditor.h"
LLFloaterBulkyThumbs::LLFloaterBulkyThumbs(const LLSD& key)
LLFloaterBulkyThumbs::LLFloaterBulkyThumbs(const LLSD &key) : LLFloater("floater_bulky_thumbs")
: LLFloater("floater_bulky_thumbs")
{ {
} }
...@@ -48,6 +50,10 @@ BOOL LLFloaterBulkyThumbs::postBuild() ...@@ -48,6 +50,10 @@ BOOL LLFloaterBulkyThumbs::postBuild()
mPasteFromInventoryBtn = getChild<LLUICtrl>("paste_from_inventory"); mPasteFromInventoryBtn = getChild<LLUICtrl>("paste_from_inventory");
mPasteFromInventoryBtn->setCommitCallback(boost::bind(&LLFloaterBulkyThumbs::onPasteFromInventory, this)); 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 = getChild<LLUICtrl>("process_bulky_thumbs");
mProcessBulkyThumbsBtn->setCommitCallback(boost::bind(&LLFloaterBulkyThumbs::onProcessBulkyThumbs, this)); mProcessBulkyThumbsBtn->setCommitCallback(boost::bind(&LLFloaterBulkyThumbs::onProcessBulkyThumbs, this));
mProcessBulkyThumbsBtn->setEnabled(false); mProcessBulkyThumbsBtn->setEnabled(false);
...@@ -57,7 +63,46 @@ BOOL LLFloaterBulkyThumbs::postBuild() ...@@ -57,7 +63,46 @@ BOOL LLFloaterBulkyThumbs::postBuild()
void LLFloaterBulkyThumbs::onPasteFromInventory() 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() void LLFloaterBulkyThumbs::onProcessBulkyThumbs()
{ std::cout << "onProcessBulkyThumbs" << std::endl; } {
std::cout << "onProcessBulkyThumbs" << std::endl;
}
void LLFloaterBulkyThumbs::onCommitInventoryItems()
{
std::cout << "onCommitInventoryItems" << std::endl;
}
/** /**
* @file llfloaterbulkythumbs.h * @file llfloaterbulkythumbs.h
* @author Callum Prentice * @author Callum Prentice
* @brief Helper floater for bulk processing of inventory thumbnails * @brief Helper floater for bulk processing of inventory thumbnails
...@@ -6,21 +6,21 @@ ...@@ -6,21 +6,21 @@
* $LicenseInfo:firstyear=2008&license=viewerlgpl$ * $LicenseInfo:firstyear=2008&license=viewerlgpl$
* Second Life Viewer Source Code * Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc. * Copyright (C) 2010, Linden Research, Inc.
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; * License as published by the Free Software Foundation;
* version 2.1 of the License only. * version 2.1 of the License only.
* *
* This library is distributed in the hope that it will be useful, * This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details. * Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public * You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software * License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
* *
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$ * $/LicenseInfo$
*/ */
...@@ -29,21 +29,25 @@ ...@@ -29,21 +29,25 @@
#define LL_LLFLOATERBULKYTHUMBS_H #define LL_LLFLOATERBULKYTHUMBS_H
#include "llfloater.h" #include "llfloater.h"
class LLTextEditor;
class LLFloaterBulkyThumbs: class LLFloaterBulkyThumbs:
public LLFloater public LLFloater
{ {
friend class LLFloaterReg; friend class LLFloaterReg;
private: private:
LLFloaterBulkyThumbs(const LLSD &key); LLFloaterBulkyThumbs(const LLSD& key);
BOOL postBuild() override; BOOL postBuild() override;
~LLFloaterBulkyThumbs(); ~LLFloaterBulkyThumbs();
LLUICtrl* mPasteFromInventoryBtn;
void onPasteFromInventory();
LLUICtrl *mPasteFromInventoryBtn; LLTextEditor* mInventoryItems;
void onPasteFromInventory(); void onCommitInventoryItems();
LLUICtrl *mProcessBulkyThumbsBtn; LLUICtrl* mProcessBulkyThumbsBtn;
void onProcessBulkyThumbs(); void onProcessBulkyThumbs();
}; };
#endif // LL_LLFLOATERBULKYTHUMBS_H #endif // LL_LLFLOATERBULKYTHUMBS_H
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
height="510" height="510"
follows="top|left|right|bottom" follows="top|left|right|bottom"
left_delta="0" left_delta="0"
name="inv_items" name="inventory_items"
top_pad="10" top_pad="10"
width="480"> width="480">
Entry 1 Entry 1
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment