SL-12641 Remade 'Pick: Texture' floater to eliminate translation overlaps

master
Andrey Kleshchev 2020-02-18 18:33:28 +02:00
parent fe3a56f343
commit cfb2b95c8c
15 changed files with 83 additions and 133 deletions

View File

@ -514,6 +514,14 @@ S32 LLComboBox::getCurrentIndex() const
return -1;
}
void LLComboBox::setEnabledByValue(const LLSD& value, BOOL enabled)
{
LLScrollListItem *found = mList->getItem(value);
if (found)
{
found->setEnabled(enabled);
}
}
void LLComboBox::createLineEditor(const LLComboBox::Params& p)
{

View File

@ -158,6 +158,8 @@ public:
BOOL setCurrentByIndex( S32 index );
S32 getCurrentIndex() const;
void setEnabledByValue(const LLSD& value, BOOL enabled);
void createLineEditor(const Params&);
//========================================================================

View File

@ -140,17 +140,17 @@ void LLFloaterTexturePicker::setImageID(const LLUUID& image_id, bool set_selecti
if (LLAvatarAppearanceDefines::LLAvatarAppearanceDictionary::isBakedImageId(mImageAssetID))
{
if ( mBakeTextureEnabled && mModeSelector->getSelectedIndex() != 2)
if ( mBakeTextureEnabled && mModeSelector->getValue().asInteger() != 2)
{
mModeSelector->setSelectedIndex(2, 0);
mModeSelector->selectByValue(2);
onModeSelect(0,this);
}
}
else
{
if (mModeSelector->getSelectedIndex() == 2)
if (mModeSelector->getValue().asInteger() == 2)
{
mModeSelector->setSelectedIndex(0, 0);
mModeSelector->selectByValue(0);
onModeSelect(0,this);
}
@ -347,7 +347,7 @@ BOOL LLFloaterTexturePicker::postBuild()
}
mTentativeLabel = getChild<LLTextBox>("Multiple");
mResolutionLabel = getChild<LLTextBox>("unknown");
mResolutionLabel = getChild<LLTextBox>("size_lbl");
childSetAction("Default",LLFloaterTexturePicker::onBtnSetToDefault,this);
@ -363,9 +363,9 @@ BOOL LLFloaterTexturePicker::postBuild()
mInventoryPanel = getChild<LLInventoryPanel>("inventory panel");
mModeSelector = getChild<LLRadioGroup>("mode_selection");
mModeSelector = getChild<LLComboBox>("mode_selection");
mModeSelector->setCommitCallback(onModeSelect, this);
mModeSelector->setSelectedIndex(0, 0);
mModeSelector->selectByValue(0);
if(mInventoryPanel)
{
@ -756,7 +756,7 @@ void LLFloaterTexturePicker::onSelectionChange(const std::deque<LLFolderViewItem
void LLFloaterTexturePicker::onModeSelect(LLUICtrl* ctrl, void *userdata)
{
LLFloaterTexturePicker* self = (LLFloaterTexturePicker*) userdata;
int mode = self->mModeSelector->getSelectedIndex();
U32 mode = self->mModeSelector->getValue().asInteger();
self->getChild<LLButton>("Default")->setVisible(mode == 0);
self->getChild<LLButton>("Blank")->setVisible(mode == 0);
@ -1083,7 +1083,7 @@ void LLFloaterTexturePicker::onFilterEdit(const std::string& search_string )
void LLFloaterTexturePicker::setLocalTextureEnabled(BOOL enabled)
{
mModeSelector->setIndexEnabled(1,enabled);
mModeSelector->setEnabledByValue(1, enabled);
}
void LLFloaterTexturePicker::setBakeTextureEnabled(BOOL enabled)
@ -1091,18 +1091,18 @@ void LLFloaterTexturePicker::setBakeTextureEnabled(BOOL enabled)
BOOL changed = (enabled != mBakeTextureEnabled);
mBakeTextureEnabled = enabled;
mModeSelector->setIndexEnabled(2, enabled);
mModeSelector->setEnabledByValue(2, enabled);
if (!mBakeTextureEnabled && (mModeSelector->getSelectedIndex() == 2))
if (!mBakeTextureEnabled && (mModeSelector->getValue().asInteger() == 2))
{
mModeSelector->setSelectedIndex(0, 0);
mModeSelector->selectByValue(0);
}
if (changed && mBakeTextureEnabled && LLAvatarAppearanceDefines::LLAvatarAppearanceDictionary::isBakedImageId(mImageAssetID))
{
if (mModeSelector->getSelectedIndex() != 2)
if (mModeSelector->getValue().asInteger() != 2)
{
mModeSelector->setSelectedIndex(2, 0);
mModeSelector->selectByValue(2);
}
}
onModeSelect(0, this);

View File

@ -36,7 +36,6 @@
#include "llstring.h"
#include "lluictrl.h"
#include "llpermissionsflags.h"
#include "llradiogroup.h"
#include "lltextbox.h" // for params
#include "llviewerinventory.h"
#include "llviewborder.h" // for params
@ -44,7 +43,7 @@
#include "llviewertexture.h"
#include "llwindow.h"
class LLButton;
class LLComboBox;
class LLFloaterTexturePicker;
class LLInventoryItem;
class LLViewerFetchedTexture;
@ -367,7 +366,7 @@ protected:
LLSaveFolderState mSavedFolderState;
BOOL mSelectedItemPinned;
LLRadioGroup* mModeSelector;
LLComboBox* mModeSelector;
LLScrollListCtrl* mLocalScrollCtrl;
private:

View File

@ -9,13 +9,10 @@
<text name="Multiple">
Mehrere Texturen
</text>
<radio_group name="mode_selection">
<radio_item label="Inventar" name="inventory" value="0"/>
<radio_item label="Lokal" name="local" value="1"/>
</radio_group>
<text name="unknown">
Größe: [DIMENSIONS]
</text>
<combo_box name="mode_selection">
<combo_box.item label="Inventar" name="inventory" value="0"/>
<combo_box.item label="Lokal" name="local" value="1"/>
</combo_box>
<button label="Standard" label_selected="Standard" name="Default"/>
<button label="Leer" label_selected="Leer" name="Blank"/>
<button label="Keine" label_selected="Keine" name="None"/>

View File

@ -48,42 +48,28 @@
</text>
<!-- mode selector -->
<radio_group
<combo_box
control_name="mode_selection"
height="20"
layout="topleft"
left="0"
top_pad="80"
left="6"
top_pad="77"
name="mode_selection"
follows="left|top">
<radio_item
follows="left|top"
width="120">
<combo_box.item
label="Inventory"
name="inventory"
top_delta="20"
layout="topleft"
height="16"
left="0"
value="0"
width="70" />
<radio_item
value="0" />
<combo_box.item
label="Local"
left_pad="0"
layout="topleft"
top_delta="0"
height="16"
name="local"
value="1"
width="50" />
<radio_item
value="1" />
<combo_box.item
label="Bake"
left_pad="0"
layout="topleft"
top_delta="0"
height="16"
name="bake"
value="2"
width="50" />
</radio_group>
value="2" />
</combo_box>
<!-- -->
<text
@ -92,20 +78,8 @@
follows="left|top"
height="14"
layout="topleft"
left_delta="12"
left="8"
name="size_lbl"
top_pad="4">
Size:
</text>
<text
type="string"
length="1"
follows="left|top"
height="14"
layout="topleft"
left_delta="0"
name="unknown"
top_pad="4">
[DIMENSIONS]
</text>
@ -149,8 +123,8 @@
image_selected="eye_button_active.tga"
image_unselected="eye_button_inactive.tga"
layout="topleft"
left_delta="-80"
top_delta="-10"
left="18"
top_delta="-23"
name="Pipette"
width="28" />
<text
@ -327,7 +301,7 @@
label="OK"
label_selected="OK"
layout="topleft"
left="95"
left="176"
top="-30"
name="Select"
width="100" />
@ -350,5 +324,5 @@
left="6"
name="apply_immediate_check"
top_delta="0"
width="120" />
width="150" />
</floater>

View File

@ -9,13 +9,10 @@
<text name="Multiple">
Texturas múltiples
</text>
<radio_group name="mode_selection">
<radio_item label="Inventario" name="inventory" value="0"/>
<radio_item label="Local" name="local" value="1"/>
</radio_group>
<text name="unknown">
Tamaño: [DIMENSIONS]
</text>
<combo_box name="mode_selection">
<combo_box.item label="Inventario" name="inventory" value="0"/>
<combo_box.item label="Local" name="local" value="1"/>
</combo_box>
<button label="Por defecto" label_selected="Por defecto" name="Default" width="84"/>
<button label="Blanca" label_selected="Blanca" name="Blank"/>
<button label="Ninguna" label_selected="Ninguna" left="90" name="None"/>

View File

@ -9,13 +9,10 @@
<text name="Multiple">
Textures multiples
</text>
<radio_group name="mode_selection">
<radio_item label="Inventaire" name="inventory" value="0"/>
<radio_item label="Local" name="local" value="1"/>
</radio_group>
<text name="unknown">
Taille : [DIMENSIONS]
</text>
<combo_box name="mode_selection">
<combo_box.item label="Inventaire" name="inventory" value="0"/>
<combo_box.item label="Local" name="local" value="1"/>
</combo_box>
<button label="Défaut" label_selected="Défaut" name="Default" width="60"/>
<button label="Vierge" label_selected="Vierge" name="Blank" width="60"/>
<button label="Aucune" label_selected="Aucune" left="68" name="None" width="60"/>

View File

@ -9,13 +9,10 @@
<text name="Multiple">
Texture multiple
</text>
<radio_group name="mode_selection">
<radio_item label="Inventario" name="inventory" value="0"/>
<radio_item label="Locale" name="local" value="1"/>
</radio_group>
<text name="unknown">
Dimensioni: [DIMENSIONS]
</text>
<combo_box name="mode_selection">
<combo_box.item label="Inventario" name="inventory" value="0"/>
<combo_box.item label="Locale" name="local" value="1"/>
</combo_box>
<button label="Default" label_selected="Default" name="Default"/>
<button label="Vuoto" label_selected="Vuoto" name="Blank"/>
<button label="Niente" label_selected="Niente" name="None"/>

View File

@ -9,13 +9,10 @@
<text name="Multiple">
複数のテクスチャ
</text>
<radio_group name="mode_selection">
<radio_item label="インベントリ" name="inventory" value="0"/>
<radio_item label="ローカル" name="local" value="1"/>
</radio_group>
<text name="unknown">
サイズ: [DIMENSIONS]
</text>
<combo_box name="mode_selection">
<combo_box.item label="インベントリ" name="inventory" value="0"/>
<combo_box.item label="ローカル" name="local" value="1"/>
</combo_box>
<button label="デフォルト" label_selected="デフォルト" name="Default"/>
<button label="ブランク" label_selected="ブランク" name="Blank"/>
<button label="なし" label_selected="なし" name="None"/>

View File

@ -9,13 +9,10 @@
<text name="Multiple">
Wiele tekstur
</text>
<radio_group name="mode_selection">
<radio_item label="Szafa" name="inventory" />
<radio_item label="Lokalna" name="local" />
</radio_group>
<text name="unknown">
Rozm.: [DIMENSIONS]
</text>
<combo_box name="mode_selection">
<combo_box.item label="Szafa" name="inventory" />
<combo_box.item label="Lokalna" name="local" />
</combo_box>
<button label="Domyślna" label_selected="Domyślna" name="Default" />
<button label="Pusta" label_selected="Pusta" name="Blank" />
<button label="Przezrocz." label_selected="Przezrocz." name="None" />

View File

@ -9,16 +9,10 @@
<text name="Multiple">
Multiplas texturas
</text>
<radio_group name="mode_selection">
<radio_item label="Inventário" name="inventory" value="0"/>
<radio_item label="Local" name="local" value="1"/>
</radio_group>
<text name="size_lbl">
Tamanho:
</text>
<text name="unknown">
[DIMENSIONS]
</text>
<combo_box name="mode_selection">
<combo_box.item label="Inventário" name="inventory" value="0"/>
<combo_box.item label="Local" name="local" value="1"/>
</combo_box>
<button label="Padrão" label_selected="Padrão" name="Default"/>
<button label="Branco" label_selected="Branco" name="Blank"/>
<button label="Nenhum" label_selected="Nenhum" name="None"/>

View File

@ -9,13 +9,10 @@
<text name="Multiple">
Несколько текстур
</text>
<radio_group name="mode_selection">
<radio_item label="Инвентарь" name="inventory" value="0"/>
<radio_item label="Локально" name="local" value="1"/>
</radio_group>
<text name="unknown">
Размер: [DIMENSIONS]
</text>
<combo_box name="mode_selection">
<combo_box.item label="Инвентарь" name="inventory" value="0"/>
<combo_box.item label="Локально" name="local" value="1"/>
</combo_box>
<button label="По умолчанию" label_selected="По умолчанию" name="Default"/>
<button label="Очистить" label_selected="Очистить" name="Blank"/>
<button label="Нет" label_selected="Нет" name="None"/>

View File

@ -9,13 +9,10 @@
<text name="Multiple">
Birden çok doku
</text>
<radio_group name="mode_selection">
<radio_item label="Envanter" name="inventory" value="0"/>
<radio_item label="Yerel" name="local" value="1"/>
</radio_group>
<text name="unknown">
Büyüklük: [DIMENSIONS]
</text>
<combo_box name="mode_selection">
<combo_box.item label="Envanter" name="inventory" value="0"/>
<combo_box.item label="Yerel" name="local" value="1"/>
</combo_box>
<button label="Varsayılan" label_selected="Varsayılan" name="Default"/>
<button label="Boş" label_selected="Boş" name="Blank"/>
<button label="Hiçbiri" label_selected="Hiçbiri" name="None"/>

View File

@ -9,13 +9,10 @@
<text name="Multiple">
多重材質
</text>
<radio_group name="mode_selection">
<radio_item label="收納區" name="inventory" value="0"/>
<radio_item label="本地" name="local" value="1"/>
</radio_group>
<text name="unknown">
尺寸:[DIMENSIONS]
</text>
<combo_box name="mode_selection">
<combo_box.item label="收納區" name="inventory" value="0"/>
<combo_box.item label="本地" name="local" value="1"/>
</combo_box>
<button label="預設" label_selected="預設" name="Default"/>
<button label="空白" label_selected="空白" name="Blank"/>
<button label="無" label_selected="無" name="None"/>