Ansariel 2023-11-07 10:23:48 +01:00
commit aa847c1bac
9 changed files with 163 additions and 125 deletions

View File

@ -21,14 +21,7 @@ jobs:
matrix:
os: [macos-11,ubuntu-20.04,windows-2022]
grid: [sl,os]
addrsize: [64,32]
exclude:
- os: ubuntu-20.04
addrsize: 32
- os: macos-11
addrsize: 32
# - grid: sl
# addrsize: 32
addrsize: [64]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3

View File

@ -848,9 +848,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>ad7b9fc10184e8145731f45ae400bfd1</string>
<string>c539c58aee1d010928ae29ad344656a5</string>
<key>url</key>
<string>http://3p.firestormviewer.org/dullahan-1.12.2.202210012157_92.0.27_g274abcf_chromium-92.0.4515.159-linux64-222741156.tar.bz2</string>
<string>http://3p.firestormviewer.org/dullahan-1.14.0.202311061750_118.6.8_ge44bee1_chromium-118.0.5993.117-linux64-233100650.tar.bz2</string>
</map>
<key>name</key>
<string>linux64</string>
@ -949,8 +949,6 @@
<map>
<key>archive</key>
<map>
<key>creds</key>
<string>github</string>
<key>hash</key>
<string>bfcc4acbe6b8dddaf10f0f7a47e4aad8</string>
<key>hash_algorithm</key>
@ -965,8 +963,6 @@
<map>
<key>archive</key>
<map>
<key>creds</key>
<string>github</string>
<key>hash</key>
<string>14846f1a55274399362db4b674fcded6</string>
<key>hash_algorithm</key>
@ -981,8 +977,6 @@
<map>
<key>archive</key>
<map>
<key>creds</key>
<string>github</string>
<key>hash</key>
<string>7b38bd83eb63f25df7c5a20070a05732</string>
<key>hash_algorithm</key>
@ -1485,8 +1479,6 @@
<map>
<key>archive</key>
<map>
<key>creds</key>
<string>github</string>
<key>hash</key>
<string>3142fccbcc0e2c5a019e3177ef364290</string>
<key>url</key>
@ -1499,8 +1491,6 @@
<map>
<key>archive</key>
<map>
<key>creds</key>
<string>github</string>
<key>hash</key>
<string>e13d6fe708613bb3a5d630c4cdd97a3b</string>
<key>url</key>
@ -1513,8 +1503,6 @@
<map>
<key>archive</key>
<map>
<key>creds</key>
<string>github</string>
<key>hash</key>
<string>4aa7df19125708580055b42190d2511e</string>
<key>url</key>

View File

@ -1081,8 +1081,7 @@ void MediaPluginCEF::keyEvent(dullahan::EKeyEvent key_event, LLSD native_key_dat
keypad = true;
}
// yes, we send native_virtual_key_win twice because native_virtual_key breaks it
mCEFLib->nativeKeyboardEventSDL2(key_event, native_virtual_key_win, native_virtual_key_win, native_modifiers, keypad);
mCEFLib->nativeKeyboardEventSDL2(key_event, native_virtual_key_win, native_modifiers, keypad);
}
#else

View File

@ -105,9 +105,9 @@ void FloaterAO::updateAnimationList()
return;
}
for (U32 index = 0; index < mSelectedSet->mStateNames.size(); ++index)
for (auto index = 0; index < mSelectedSet->mStateNames.size(); ++index)
{
std::string stateName = mSelectedSet->mStateNames[index];
const std::string& stateName = mSelectedSet->mStateNames[index];
AOSet::AOState* state = mSelectedSet->getStateByName(stateName);
mStateSelector->add(stateName, state, ADD_BOTTOM, TRUE);
}
@ -178,8 +178,8 @@ void FloaterAO::updateList()
}
}
U32 selected_index = 0;
for (U32 index = 0; index < mSetList.size(); ++index)
size_t selected_index = 0;
for (auto index = 0; index < mSetList.size(); ++index)
{
std::string setName = mSetList[index]->getName();
mSetSelector->add(setName, &mSetList[index], ADD_BOTTOM, TRUE);
@ -280,7 +280,7 @@ BOOL FloaterAO::postBuild()
onChangeAnimationSelection();
mMainInterfacePanel->setVisible(TRUE);
mSmallInterfacePanel->setVisible(FALSE);
reloading(TRUE);
reloading(true);
updateList();
@ -464,7 +464,7 @@ void FloaterAO::onSelectState()
mSelectedState = (AOSet::AOState*)mStateSelector->getCurrentUserdata();
if (mSelectedState->mAnimations.size())
{
for (U32 index = 0; index < mSelectedState->mAnimations.size(); ++index)
for (auto index = 0; index < mSelectedState->mAnimations.size(); ++index)
{
LLScrollListItem* item = addAnimation(mSelectedState->mAnimations[index].mName);
if (item)
@ -558,7 +558,7 @@ bool FloaterAO::removeSetCallback(const LLSD& notification, const LLSD& response
{
S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
if (option ==0 )
if (option ==0)
{
if (AOEngine::instance().removeSet(mSelectedSet))
{
@ -638,7 +638,7 @@ void FloaterAO::onChangeAnimationSelection()
mAnimationList->deselectAllItems();
LL_DEBUGS("AOEngine") << "Selection count now: " << list.size() << LL_ENDL;
}
else if (list.size() > 0)
else if (!list.empty())
{
if (list.size() == 1)
{
@ -715,7 +715,7 @@ void FloaterAO::onClickTrash()
return;
}
for (S32 index = list.size() - 1; index != -1; --index)
for (auto index = list.size() - 1; index != -1; --index)
{
AOEngine::instance().removeAnimation(mSelectedSet, mSelectedState, mAnimationList->getItemIndex(list[index]));
}
@ -833,11 +833,8 @@ void FloaterAO::onAnimationChanged(const LLUUID& animation)
}
// why do we have no LLScrollListCtrl::getItemByUserdata() ? -Zi
std::vector<LLScrollListItem*> item_list = mAnimationList->getAllData();
std::vector<LLScrollListItem*>::const_iterator iter;
for (iter = item_list.begin(); iter != item_list.end(); ++iter)
for (auto item : mAnimationList->getAllData())
{
LLScrollListItem* item = *iter;
LLUUID* id = (LLUUID*)item->getUserdata();
if (id == &animation)

View File

@ -44,7 +44,7 @@
#define ROOT_AO_FOLDER "#AO"
#include <boost/graph/graph_concepts.hpp>
const F32 INVENTORY_POLLING_INTERVAL = 5.0f;
constexpr F32 INVENTORY_POLLING_INTERVAL = 5.0f;
AOEngine::AOEngine() :
LLSingleton<AOEngine>(),
@ -128,7 +128,7 @@ void AOEngine::onPauseAO()
void AOEngine::clear(bool from_timer)
{
mOldSets.insert(mOldSets.end(), mSets.begin(), mSets.end());
std::move(mSets.begin(), mSets.end(), std::back_inserter(mOldSets));
mSets.clear();
mCurrentSet = nullptr;
@ -213,7 +213,7 @@ bool AOEngine::foreignAnimations()
return false;
}
LLUUID seat = agentRoot->getID();
const LLUUID& seat = agentRoot->getID();
if (seat == gAgentID)
{
LL_DEBUGS("AOEngine") << "Not checking for foreign animation when not sitting." << LL_ENDL;
@ -222,7 +222,7 @@ bool AOEngine::foreignAnimations()
LL_DEBUGS("AOEngine") << "Checking for foreign animation on seat " << seat << LL_ENDL;
for (const auto&[source_id, animation_id] : gAgentAvatarp->mAnimationSources)
for (const auto& [source_id, animation_id] : gAgentAvatarp->mAnimationSources)
{
// skip animations run by the avatar itself
if (source_id != gAgentID)
@ -584,7 +584,7 @@ const LLUUID AOEngine::override(const LLUUID& motion, bool start)
// case, as it plays at the same time as other motions
if (motion != ANIM_AGENT_TYPE)
{
const S32 cleanupStates[]=
constexpr S32 cleanupStates[]=
{
AOSet::Standing,
AOSet::Walking,
@ -806,8 +806,7 @@ void AOEngine::checkSitCancel()
{
if (foreignAnimations())
{
AOSet::AOState* aoState = mCurrentSet->getStateByRemapID(ANIM_AGENT_SIT);
if (aoState)
if (AOSet::AOState* aoState = mCurrentSet->getStateByRemapID(ANIM_AGENT_SIT); aoState)
{
LLUUID animation = aoState->mCurrentAnimationID;
if (animation.notNull())
@ -1020,7 +1019,7 @@ bool AOEngine::createAnimationLink(const AOSet* set, AOSet::AOState* state, cons
if (cats)
{
for (auto cat : *cats)
for (const auto& cat : *cats)
{
if (cat->getName().compare(state->mName) == 0)
{
@ -1039,8 +1038,7 @@ bool AOEngine::createAnimationLink(const AOSet* set, AOSet::AOState* state, cons
return false;
}
LLInventoryObject::const_object_list_t obj_array;
obj_array.push_back(LLConstPointer<LLInventoryObject>(item));
LLInventoryObject::const_object_list_t obj_array{ LLConstPointer<LLInventoryObject>(item) };
link_inventory_array(state->mInventoryUUID,
obj_array,
LLPointer<LLInventoryCallback>(nullptr));
@ -1055,7 +1053,7 @@ bool AOEngine::addAnimation(const AOSet* set, AOSet::AOState* state, const LLInv
anim.mInventoryUUID = item->getUUID();
anim.mName = item->getName();
anim.mSortOrder = state->mAnimations.size() + 1;
state->mAnimations.push_back(anim);
state->mAnimations.emplace_back(std::move(anim));
BOOL wasProtected = gSavedPerAccountSettings.getBOOL("LockAOFolders");
gSavedPerAccountSettings.setBOOL("LockAOFolders", FALSE);
@ -1175,7 +1173,7 @@ bool AOEngine::removeAnimation(const AOSet* set, AOSet::AOState* state, S32 inde
return false;
}
S32 numOfAnimations = state->mAnimations.size();
auto numOfAnimations = state->mAnimations.size();
if (numOfAnimations == 0)
{
return false;
@ -1220,7 +1218,7 @@ bool AOEngine::removeAnimation(const AOSet* set, AOSet::AOState* state, S32 inde
if (cats)
{
for (auto cat : *cats)
for (const auto& cat : *cats)
{
std::vector<std::string> params;
LLStringUtil::getTokens(cat->getName(), params, ":");
@ -1254,7 +1252,7 @@ bool AOEngine::removeAnimation(const AOSet* set, AOSet::AOState* state, S32 inde
bool AOEngine::swapWithPrevious(AOSet::AOState* state, S32 index)
{
S32 numOfAnimations = state->mAnimations.size();
auto numOfAnimations = state->mAnimations.size();
if (numOfAnimations < 2 || index == 0)
{
return false;
@ -1271,7 +1269,7 @@ bool AOEngine::swapWithPrevious(AOSet::AOState* state, S32 index)
bool AOEngine::swapWithNext(AOSet::AOState* state, S32 index)
{
S32 numOfAnimations = state->mAnimations.size();
auto numOfAnimations = state->mAnimations.size();
if (numOfAnimations < 2 || index == (numOfAnimations - 1))
{
return false;
@ -1297,7 +1295,7 @@ void AOEngine::reloadStateAnimations(AOSet::AOState* state)
if (items)
{
for (auto item : *items)
for (const auto& item : *items)
{
LL_DEBUGS("AOEngine") << "Found animation link " << item->LLInventoryItem::getName()
<< " desc " << item->LLInventoryItem::getDescription()
@ -1326,12 +1324,12 @@ void AOEngine::reloadStateAnimations(AOSet::AOState* state)
if (sortOrder == -1)
{
LL_WARNS("AOEngine") << "sort order was unknown so append to the end of the list" << LL_ENDL;
state->mAnimations.push_back(anim);
state->mAnimations.emplace_back(std::move(anim));
}
else
{
bool inserted = false;
for (U32 index = 0; index < state->mAnimations.size(); ++index)
for (auto index = 0; index < state->mAnimations.size(); ++index)
{
if (state->mAnimations[index].mSortOrder > sortOrder)
{
@ -1344,7 +1342,7 @@ void AOEngine::reloadStateAnimations(AOSet::AOState* state)
if (!inserted)
{
LL_DEBUGS("AOEngine") << "not inserted yet, appending to the list instead" << LL_ENDL;
state->mAnimations.push_back(anim);
state->mAnimations.emplace_back(std::move(anim));
}
}
LL_DEBUGS("AOEngine") << "Animation count now: " << state->mAnimations.size() << LL_ENDL;
@ -1377,7 +1375,7 @@ void AOEngine::update()
if (categories)
{
for (auto currentCategory : *categories)
for (const auto& currentCategory : *categories)
{
const std::string& setFolderName = currentCategory->getName();
@ -1401,7 +1399,7 @@ void AOEngine::update()
LL_DEBUGS("AOEngine") << "Adding set " << setFolderName << " to AO." << LL_ENDL;
newSet = new AOSet(currentCategory->getUUID());
newSet->setName(params[0]);
mSets.push_back(newSet);
mSets.emplace_back(newSet);
}
else
{
@ -1414,7 +1412,7 @@ void AOEngine::update()
}
allComplete = false;
for (U32 num = 1; num < params.size(); ++num)
for (auto num = 1; num < params.size(); ++num)
{
if (params[num].size() != 2)
{
@ -1451,7 +1449,7 @@ void AOEngine::update()
gInventory.getDirectDescendentsOf(currentCategory->getUUID(), stateCategories, items);
newSet->setComplete(true);
for (auto stateCategory : *stateCategories)
for (const auto& stateCategory : *stateCategories)
{
std::vector<std::string> state_params;
LLStringUtil::getTokens(stateCategory->getName(), state_params, ":");
@ -1471,7 +1469,7 @@ void AOEngine::update()
LL_DEBUGS("AOEngine") << "Reading state " << stateName << LL_ENDL;
state->mInventoryUUID = stateCategory->getUUID();
for (U32 num = 1; num < state_params.size(); ++num)
for (auto num = 1; num < state_params.size(); ++num)
{
if (state_params[num] == "CY")
{
@ -1925,7 +1923,7 @@ void AOEngine::tick()
gInventory.getDirectDescendentsOf(categoryID, categories, items);
LL_DEBUGS("AOEngine") << "cat " << categories->size() << " items " << items->size() << LL_ENDL;
for (auto cat : *categories)
for (const auto& cat : *categories)
{
const std::string& catName = cat->getName();
if (catName.compare(ROOT_AO_FOLDER) == 0)
@ -1975,8 +1973,8 @@ bool AOEngine::importNotecard(const LLInventoryItem* item)
gAssetStorage->getInvItemAsset(
sourceSim,
gAgent.getID(),
gAgent.getSessionID(),
gAgentID,
gAgentSessionID,
item->getPermissions().getOwner(),
LLUUID::null,
item->getUUID(),
@ -2013,8 +2011,8 @@ void AOEngine::onNotecardLoadComplete(const LLUUID& assetUUID, LLAssetType::ETyp
char* buffer = new char[notecardSize + 1];
buffer[notecardSize] = 0;
S32 ret = file.read((U8*)buffer, notecardSize);
if (ret > 0)
BOOL ret = file.read((U8*)buffer, notecardSize);
if (ret)
{
AOEngine::instance().parseNotecard(buffer);
}
@ -2046,17 +2044,17 @@ void AOEngine::parseNotecard(const char* buffer)
std::vector<std::string> lines;
LLStringUtil::getTokens(text, lines, "\n");
S32 found = -1;
for (U32 index = 0; index < lines.size(); ++index)
bool found{ false };
for (const auto& line : lines)
{
if (lines[index].find("Text length ") == 0)
if (line.find("Text length ") == 0)
{
found = index;
found = true;
break;
}
}
if (found == -1)
if (!found)
{
LLNotificationsUtil::add("AOImportNoText", LLSD());
delete mImportSet;
@ -2080,7 +2078,7 @@ void AOEngine::parseNotecard(const char* buffer)
LLInventoryModel::item_array_t* items;
gInventory.getDirectDescendentsOf(mImportSet->getInventoryUUID(), dummy, items);
for (U32 index = 0; index < items->size(); ++index)
for (auto index = 0; index < items->size(); ++index)
{
animationMap[items->at(index)->getName()] = items->at(index)->getUUID();
LL_DEBUGS("AOEngine") << "animation " << items->at(index)->getName() <<
@ -2088,7 +2086,7 @@ void AOEngine::parseNotecard(const char* buffer)
}
// [ State ]Anim1|Anim2|Anim3
for (U32 index = found + 1; index < lines.size(); ++index)
for (auto index = found + 1; index < lines.size(); ++index)
{
std::string line = lines[index];
@ -2125,7 +2123,7 @@ void AOEngine::parseNotecard(const char* buffer)
LLNotificationsUtil::add("AOImportNoValidDelimiter", args);
continue;
}
U32 endTag = line.find("]");
auto endTag = line.find("]");
std::string stateName = line.substr(1, endTag - 1);
LLStringUtil::trim(stateName);
@ -2143,7 +2141,7 @@ void AOEngine::parseNotecard(const char* buffer)
std::vector<std::string> animationList;
LLStringUtil::getTokens(animationLine, animationList, "|,");
for (U32 animIndex = 0; animIndex < animationList.size(); ++animIndex)
for (auto animIndex = 0; animIndex < animationList.size(); ++animIndex)
{
AOSet::AOAnimation animation;
animation.mName = animationList[animIndex];
@ -2182,46 +2180,46 @@ void AOEngine::processImport(bool from_timer)
{
bool success = addSet(mImportSet->getName(), [this, from_timer](const LLUUID& new_cat_id)
{
mImportCategory = new_cat_id;
mImportSet->setInventoryUUID(mImportCategory);
mImportCategory = new_cat_id;
mImportSet->setInventoryUUID(mImportCategory);
bool allComplete = true;
for (S32 index = 0; index < AOSet::AOSTATES_MAX; ++index)
bool allComplete = true;
for (S32 index = 0; index < AOSet::AOSTATES_MAX; ++index)
{
AOSet::AOState* state = mImportSet->getState(index);
if (!state->mAnimations.empty())
{
AOSet::AOState* state = mImportSet->getState(index);
if (state->mAnimations.size())
{
allComplete = false;
LL_DEBUGS("AOEngine") << "state " << state->mName << " still has animations to link." << LL_ENDL;
allComplete = false;
LL_DEBUGS("AOEngine") << "state " << state->mName << " still has animations to link." << LL_ENDL;
for (S32 animationIndex = state->mAnimations.size() - 1; animationIndex >= 0; --animationIndex)
for (auto animationIndex = state->mAnimations.size() - 1; animationIndex >= 0; --animationIndex)
{
LL_DEBUGS("AOEngine") << "linking animation " << state->mAnimations[animationIndex].mName << LL_ENDL;
if (createAnimationLink(mImportSet, state, gInventory.getItem(state->mAnimations[animationIndex].mInventoryUUID)))
{
LL_DEBUGS("AOEngine") << "linking animation " << state->mAnimations[animationIndex].mName << LL_ENDL;
if (createAnimationLink(mImportSet, state, gInventory.getItem(state->mAnimations[animationIndex].mInventoryUUID)))
{
LL_DEBUGS("AOEngine") << "link success, size " << state->mAnimations.size() << ", removing animation "
<< (*(state->mAnimations.begin() + animationIndex)).mName << " from import state" << LL_ENDL;
state->mAnimations.erase(state->mAnimations.begin() + animationIndex);
LL_DEBUGS("AOEngine") << "deleted, size now: " << state->mAnimations.size() << LL_ENDL;
}
else
{
LLSD args;
args["NAME"] = state->mAnimations[animationIndex].mName;
LLNotificationsUtil::add("AOImportLinkFailed", args);
}
LL_DEBUGS("AOEngine") << "link success, size " << state->mAnimations.size() << ", removing animation "
<< (*(state->mAnimations.begin() + animationIndex)).mName << " from import state" << LL_ENDL;
state->mAnimations.erase(state->mAnimations.begin() + animationIndex);
LL_DEBUGS("AOEngine") << "deleted, size now: " << state->mAnimations.size() << LL_ENDL;
}
else
{
LLSD args;
args["NAME"] = state->mAnimations[animationIndex].mName;
LLNotificationsUtil::add("AOImportLinkFailed", args);
}
}
}
}
if (allComplete)
{
mTimerCollection.enableImportTimer(false);
mOldImportSets.push_back(mImportSet); //<ND/> FIRE-3801; Cannot delete here, or LLInstanceTracker gets upset. Just remember and delete mOldImportSets once we can.
mImportSet = nullptr;
mImportCategory.setNull();
reload(from_timer);
}
if (allComplete)
{
mTimerCollection.enableImportTimer(false);
mOldImportSets.push_back(mImportSet); //<ND/> FIRE-3801; Cannot delete here, or LLInstanceTracker gets upset. Just remember and delete mOldImportSets once we can.
mImportSet = nullptr;
mImportCategory.setNull();
reload(from_timer);
}
}, false);
if (!success)
@ -2293,8 +2291,7 @@ void AOEngine::onRegionChange()
}
// do nothing if no AO animation is playing (e.g. smart sit cancel)
LLUUID animation = state->mCurrentAnimationID;
if (animation.isNull())
if (LLUUID animation = state->mCurrentAnimationID; animation.isNull())
{
return;
}

View File

@ -117,7 +117,7 @@ AOSet::AOSet(const LLUUID inventoryID)
mStates[index].mRandom = false;
mStates[index].mCycleTime = 0.0f;
mStates[index].mDirty = false;
mStateNames.push_back(stateNameList[0]);
mStateNames.emplace_back(stateNameList[0]);
}
stopTimer();
}
@ -137,7 +137,7 @@ AOSet::AOState* AOSet::getStateByName(const std::string& name)
for (S32 index = 0; index < AOSTATES_MAX; ++index)
{
AOState* state = &mStates[index];
for (U32 names = 0; names < state->mAlternateNames.size(); ++names)
for (auto names = 0; names < state->mAlternateNames.size(); ++names)
{
if (state->mAlternateNames[names].compare(name) == 0)
{
@ -170,7 +170,7 @@ const LLUUID& AOSet::getAnimationForState(AOState* state) const
{
if (state)
{
S32 numOfAnimations = state->mAnimations.size();
auto numOfAnimations = state->mAnimations.size();
if (numOfAnimations)
{
if (state->mCycle)

View File

@ -91,6 +91,53 @@
function="Floater.Toggle"
parameter="inventory_settings" />
</menu_item_check>
<menu_item_separator>
<menu_item_separator.on_visible
function="Inventory.GearDefault.Visible"
parameter="single_folder_view" />
</menu_item_separator>
<menu_item_check
label="List view"
layout="topleft"
name="list_view">
<on_click
function="Inventory.GearDefault.Custom.Action"
parameter="list_view" />
<on_check
function="Inventory.GearDefault.Check"
parameter="list_view" />
<on_visible
function="Inventory.GearDefault.Visible"
parameter="single_folder_view" />
</menu_item_check>
<menu_item_check
label="Gallery view"
layout="topleft"
name="gallery_view">
<on_click
function="Inventory.GearDefault.Custom.Action"
parameter="gallery_view" />
<on_check
function="Inventory.GearDefault.Check"
parameter="gallery_view" />
<on_visible
function="Inventory.GearDefault.Visible"
parameter="single_folder_view" />
</menu_item_check>
<menu_item_check
label="Combination view"
layout="topleft"
name="combination_view">
<on_click
function="Inventory.GearDefault.Custom.Action"
parameter="combination_view" />
<on_check
function="Inventory.GearDefault.Check"
parameter="combination_view" />
<on_visible
function="Inventory.GearDefault.Visible"
parameter="single_folder_view" />
</menu_item_check>
<menu_item_separator />
<menu_item_check
label="Add objects on double click"

View File

@ -9,6 +9,9 @@
<panel.string name="ItemcountUnknown">
Pobrano [ITEM_COUNT] elementów [FILTER]
</panel.string>
<panel.string name="inventory_title">
Szafa
</panel.string>
<menu_bar name="inventory_menu_bar">
<menu label="Szafa" name="inventory_inventory_menu">
<menu_item_call name="inventory_open" label="Otwórz" />
@ -16,6 +19,7 @@
<menu_item_call name="replace_links" label="Zastąp linki" />
<menu_item_call name="inventory_new_window" label="Nowe okno" />
<menu_item_check name="Protected Folders" label="Foldery chronione" />
<menu_item_check label="Ustawienia..." name="inv_settings" />
<menu_item_check name="add_inv_toggle" label="Dodawaj obiekty po dwukliku" />
<menu_item_check name="add_invclothing_toggle" label="Dodawaj ubrania po dwukliku" />
<menu_item_call name="inventory_show_filters" label="Pokaż filtry" />
@ -62,6 +66,9 @@
<menu_item_check name="inventory_sort_system_on_top" label="Foldery systemowe na górze" />
</menu>
<menu label="Szukanie" name="inventory_search_menu">
<menu_item_check label="W strojach" name="search_outfits" />
<menu_item_check label="W koszu" name="search_trash" />
<menu_item_check label="W Bibliotece" name="search_library" />
<menu_item_check name="inventory_search_by_name" label="Po nazwie" />
<menu_item_check name="inventory_search_by_creator" label="Po twórcy" />
<menu_item_check name="inventory_search_by_description" label="Po opisie" />
@ -77,7 +84,17 @@
<menu_item_check name="inventory_show_partial_results" label="Pokaż częściowe wyniki wyszukiwania" />
</menu>
</menu_bar>
<filter_editor label="Filtruj Szafę" name="inventory search editor" tool_tip="Wpisz jedno lub więcej słów które chcesz wyszukać, oddzielonych za pomocą '+' "/>
<layout_stack name="nav_stack">
<layout_panel name="nav_buttons">
<button name="back_btn" tool_tip="Wstecz" />
<button name="forward_btn" tool_tip="Naprzód" />
<button name="up_btn" tool_tip="Przejdź o jeden poziom wyżej" />
</layout_panel>
<layout_panel name="filter_panel">
<filter_editor label="Filtruj Szafę" name="inventory search editor" tool_tip="Wpisz jedno lub więcej słów które chcesz wyszukać, oddzielonych za pomocą '+' "/>
<button name="view_mode_btn" tool_tip="Przełącz między widokami" />
</layout_panel>
</layout_stack>
<button name="collapse_btn" label="Zwiń"/>
<button name="expand_btn" label="Rozwiń" />
<text name="filter_label" value="Filtruj:"/>
@ -98,12 +115,14 @@
<combo_box.item value="filter_type_settings" label="Otoczenia" />
<combo_box.item value="filter_type_custom" label="Własny filtr..." />
</combo_box>
<menu_button tool_tip="Pokaż opcje widoczności wyszukiwania" name="options_visibility_btn" />
<tab_container name="inventory filter tabs">
<inventory_panel label="Wszystkie" name="All Items"/>
<recent_inventory_panel label="Ostatnie" name="Recent Items"/>
<worn_inventory_panel label="Założone" name="Worn Items"/>
</tab_container>
<!-- <menu_button tool_tip="Pokaż opcje widoczności wyszukiwania" name="options_visibility_btn" /> -->
<panel name="default_inventory_panel">
<tab_container name="inventory filter tabs">
<inventory_panel label="Wszystkie" name="All Items"/>
<recent_inventory_panel label="Ostatnie" name="Recent Items"/>
<worn_inventory_panel label="Założone" name="Worn Items"/>
</tab_container>
</panel>
<text name="ItemcountText" tool_tip="[ITEMS] przedmiotów, [CATEGORIES] folderów">
Elementy
</text>

View File

@ -1972,12 +1972,10 @@ class LinuxManifest(ViewerManifest):
# CEF files
with self.prefix(src=os.path.join(pkgdir, 'lib', 'release'), dst="lib"):
self.path( "libcef.so" )
self.path( "libEGL.so" )
self.path( "libGLESv2.so" )
self.path( "libvk_swiftshader.so" )
self.path_optional( "libminigbm.so" )
with self.prefix(src=os.path.join(pkgdir, 'lib', 'release', 'swiftshader'), dst=os.path.join("bin", "swiftshader") ):
self.path( "*.so" )
with self.prefix(src=os.path.join(pkgdir, 'lib', 'release', 'swiftshader'), dst=os.path.join("lib", "swiftshader") ):
self.path( "*.so" )
with self.prefix(src=os.path.join(pkgdir, 'bin', 'release'), dst="bin"):
self.path( "chrome-sandbox" )
@ -1999,7 +1997,7 @@ class LinuxManifest(ViewerManifest):
self.path( "resources.pak" )
self.path( "icudtl.dat" )
with self.prefix(src=os.path.join(pkgdir, 'resources', 'locales'), dst=os.path.join('bin', 'locales')):
with self.prefix(src=os.path.join(pkgdir, 'resources', 'locales'), dst=os.path.join('lib', 'locales')):
self.path("am.pak")
self.path("ar.pak")
self.path("bg.pak")