First commit of code to investigate how we might do bulk uploads of inventory item thumbnails - both from a code and a UI perspective

meow-7.2.2
Callum Prentice 2023-08-01 15:51:18 -07:00
parent 87c337047d
commit 2aecd42d1f
6 changed files with 166 additions and 0 deletions

View File

@ -185,6 +185,7 @@ set(viewer_SOURCE_FILES
llfloaterbigpreview.cpp
llfloaterbuildoptions.cpp
llfloaterbulkpermission.cpp
llfloaterbulkythumbs.cpp
llfloaterbump.cpp
llfloaterbuy.cpp
llfloaterbuycontents.cpp
@ -831,6 +832,7 @@ set(viewer_HEADER_FILES
llfloaterbigpreview.h
llfloaterbuildoptions.h
llfloaterbulkpermission.h
llfloaterbulkythumbs.h
llfloaterbump.h
llfloaterbuy.h
llfloaterbuycontents.h

View File

@ -0,0 +1,63 @@
/**
* @file llfloaterbulkythumbs.cpp
* @author Callum Prentice
* @brief LLFloaterBulkyThumbs class implementation
*
* $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$
*/
/**
* Floater that appears when buying an object, giving a preview
* of its contents and their permissions.
*/
#include "llviewerprecompiledheaders.h"
#include "llfloaterbulkythumbs.h"
#include "lluictrlfactory.h"
LLFloaterBulkyThumbs::LLFloaterBulkyThumbs(const LLSD &key)
: LLFloater("floater_bulky_thumbs")
{
}
LLFloaterBulkyThumbs::~LLFloaterBulkyThumbs() {}
BOOL LLFloaterBulkyThumbs::postBuild()
{
mPasteFromInventoryBtn = getChild<LLUICtrl>("paste_from_inventory");
mPasteFromInventoryBtn->setCommitCallback(boost::bind(&LLFloaterBulkyThumbs::onPasteFromInventory, this));
mProcessBulkyThumbsBtn = getChild<LLUICtrl>("process_bulky_thumbs");
mProcessBulkyThumbsBtn->setCommitCallback(boost::bind(&LLFloaterBulkyThumbs::onProcessBulkyThumbs, this));
mProcessBulkyThumbsBtn->setEnabled(false);
return true;
}
void LLFloaterBulkyThumbs::onPasteFromInventory()
{ std::cout << "onPasteFromInventory" << std::endl; }
void LLFloaterBulkyThumbs::onProcessBulkyThumbs()
{ std::cout << "onProcessBulkyThumbs" << std::endl; }

View File

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

View File

@ -47,6 +47,7 @@
#include "llfloaterbeacons.h"
#include "llfloaterbuildoptions.h"
#include "llfloaterbulkpermission.h"
#include "llfloaterbulkythumbs.h"
#include "llfloaterbump.h"
#include "llfloaterbuy.h"
#include "llfloaterbuycontents.h"
@ -328,6 +329,7 @@ void LLViewerFloaterReg::registerFloaters()
LLFloaterReg::add("build", "floater_tools.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterTools>);
LLFloaterReg::add("build_options", "floater_build_options.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterBuildOptions>);
LLFloaterReg::add("bumps", "floater_bumps.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterBump>);
LLFloaterReg::add("bulky_thumbs", "floater_bulky_thumbs.xml", (LLFloaterBuildFunc) &LLFloaterReg::build<LLFloaterBulkyThumbs>);
LLFloaterReg::add("camera", "floater_camera.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterCamera>);
LLFloaterReg::add("camera_presets", "floater_camera_presets.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterCameraPresets>);

View File

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater
legacy_header_height="18"
can_resize="true"
height="600"
layout="topleft"
min_height="175"
min_width="250"
name="contents"
help_topic="contents"
title="BULKY THUMBS"
width="500">
<button follows="left|top"
height="20"
label="Paste from Inventory copy"
layout="topleft"
left="10"
name="paste_from_inventory"
top="26 "
width="200" />
<text_editor
height="510"
follows="top|left|right|bottom"
left_delta="0"
name="inv_items"
top_pad="10"
width="480">
Entry 1
Entry 2
Entry 3
Entry 4
</text_editor>
<button follows="left|bottom"
height="20"
label="Process!"
layout="bottomleft"
left="10"
name="process_bulky_thumbs"
bottom="8"
width="200" />
</floater>

View File

@ -3485,6 +3485,14 @@ function="World.EnvPreset"
function="Advanced.WebContentTest"
parameter="http://duckduckgo.com"/>
</menu_item_call>
<menu_item_call
label="Bulky Thumbs"
name="Bulky Thumbs"
shortcut="control|alt|shift|Y">
<menu_item_call.on_click
function="Floater.Show"
parameter="bulky_thumbs" />
</menu_item_call>
<menu_item_call
label="FB Connect Test"
name="FB Connect Test">