Files
SingularityViewer/indra/newview/llinventorybackup.h
Shyotl e756140e1d Innitial commit of experimental v2 texture system port work. Compiles and runs on windows, at least. Fixing bugs as they come.
Need to test:
localassetbrowser
preview related floaters
hgfloatertexteditor
maps
media textures! Currently very hacky
web browser
alpha masks on avatars
bumpmaps
Are all sky components appearing?
LLViewerDynamicTexture (texture baking, browser, animated textures, anim previews, etc)
Snapshot related features
Customize avatar
vfs floater
UI textures in general
Texture priority issues
2011-03-31 03:22:01 -05:00

136 lines
3.2 KiB
C++

// <edit>
#ifndef LL_LLINVENTORYBACKUP_H
#define LL_LLINVENTORYBACKUP_H
#if LL_WINDOWS
#define OS_SEP "\\"
#else
#define OS_SEP "/"
#endif
#include "llviewerinventory.h"
#include "llfolderview.h"
#include "llfilepicker.h"
#include "llviewertexture.h"
#include "llfloater.h"
class LLInventoryBackupOrder
{
public:
LLInventoryBackupOrder();
std::string mPath;
std::vector<LLInventoryCategory*> mCats;
std::vector<LLInventoryItem*> mItems;
bool mDownloadTextures;
bool mDownloadSounds;
bool mDownloadCallingCards;
bool mDownloadLandmarks;
bool mDownloadScripts;
bool mDownloadWearables;
bool mDownloadObjects;
bool mDownloadNotecards;
bool mDownloadAnimations;
bool mDownloadGestures;
//bool mDownloadOthers;
};
class LLFloaterInventoryBackupSettings
: public LLFloater
{
public:
LLFloaterInventoryBackupSettings(LLInventoryBackupOrder* order);
BOOL postBuild(void);
static void onClickNext(void* userdata);
LLInventoryBackupOrder* mOrder;
virtual ~LLFloaterInventoryBackupSettings();
};
class LLFloaterInventoryBackup
: public LLFloater
{
public:
LLFloaterInventoryBackup(std::string path, std::vector<LLInventoryCategory*> cats, std::vector<LLInventoryItem*> items);
BOOL postBuild(void);
std::string mPath;
std::vector<LLInventoryCategory*> mCats;
std::vector<LLInventoryItem*> mItems;
std::vector<LLInventoryItem*>::iterator mItemIter;
int mBusy;
static std::list<LLFloaterInventoryBackup*> sInstances;
private:
virtual ~LLFloaterInventoryBackup();
void setStatus(LLUUID itemid, std::string status);
void finishItem(LLUUID itemid, std::string status);
void advance();
static void imageCallback(BOOL success,
LLViewerFetchedTexture *src_vi,
LLImageRaw* src,
LLImageRaw* aux_src,
S32 discard_level,
BOOL final,
void* userdata);
static void assetCallback(LLVFS *vfs,
const LLUUID& asset_uuid,
LLAssetType::EType type,
void* user_data, S32 status, LLExtStat ext_status);
int mItemsTotal;
int mItemsCompleted;
enum LIST_COLUMN_ORDER
{
LIST_TYPE,
LIST_NAME,
LIST_STATUS
};
};
class LLInventoryBackup
{
public:
static LLFilePicker::ESaveFilter getSaveFilter(LLInventoryItem* item);
static std::string getExtension(LLInventoryItem* item);
static std::string getUniqueFilename(std::string filename, std::string extension);
static std::string getUniqueDirname(std::string dirname);
static bool itemIsFolder(LLInventoryItem* item);
static void save(LLFolderView* folder);
static void download(LLInventoryItem* item, LLFloater* floater, loaded_callback_func onImage, LLGetAssetCallback onAsset);
static std::string getPath(LLInventoryCategory* cat, std::vector<LLInventoryCategory*> cats);
struct callbackdata
{
LLFloater* floater;
LLInventoryItem* item;
};
private:
static void imageCallback(BOOL success,
LLViewerFetchedTexture *src_vi,
LLImageRaw* src,
LLImageRaw* aux_src,
S32 discard_level,
BOOL final,
void* userdata);
static void assetCallback(LLVFS *vfs,
const LLUUID& asset_uuid,
LLAssetType::EType type,
void* user_data, S32 status, LLExtStat ext_status);
static void climb(LLInventoryCategory* cat,
std::vector<LLInventoryCategory*>& cats,
std::vector<LLInventoryItem*>& items);
};
#endif
// </edit>