summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xindra/newview/llfloatermarketplacelistings.cpp28
-rwxr-xr-xindra/newview/llfloatermarketplacelistings.h1
-rwxr-xr-xindra/newview/llmarketplacefunctions.h4
-rwxr-xr-xindra/newview/skins/default/xui/en/panel_marketplace_listings_inventory.xml2
-rwxr-xr-xindra/newview/skins/default/xui/en/panel_marketplace_listings_listed.xml2
-rwxr-xr-xindra/newview/skins/default/xui/en/panel_marketplace_listings_unassociated.xml2
-rwxr-xr-xindra/newview/skins/default/xui/en/panel_marketplace_listings_unlisted.xml2
7 files changed, 32 insertions, 9 deletions
diff --git a/indra/newview/llfloatermarketplacelistings.cpp b/indra/newview/llfloatermarketplacelistings.cpp
index eb60d706e4..0be79426c1 100755
--- a/indra/newview/llfloatermarketplacelistings.cpp
+++ b/indra/newview/llfloatermarketplacelistings.cpp
@@ -151,6 +151,12 @@ void LLPanelMarketplaceListings::onSelectionChange(LLInventoryPanel *panel, cons
panel->onSelectionChange(items, user_action);
}
+bool LLPanelMarketplaceListings::allowDropOnRoot()
+{
+ LLInventoryPanel* panel = (LLInventoryPanel*)getChild<LLTabContainer>("marketplace_filter_tabs")->getCurrentPanel();
+ return (panel ? panel->getAllowDropOnRoot() : false);
+}
+
void LLPanelMarketplaceListings::onTabChange()
{
// Find active panel
@@ -163,6 +169,19 @@ void LLPanelMarketplaceListings::onTabChange()
// Set filter string on active panel
panel->setFilterSubString(mFilterSubString);
+
+ // Show/hide the drop zone and resize the inventory tabs panel accordingly
+ LLPanel* drop_zone = (LLPanel*)getChild<LLPanel>("marketplace_drop_zone");
+ bool drop_zone_visible = drop_zone->getVisible();
+ if (drop_zone_visible != panel->getAllowDropOnRoot())
+ {
+ LLPanel* tabs = (LLPanel*)getChild<LLPanel>("tab_container_panel");
+ S32 delta_height = drop_zone->getRect().getHeight();
+ delta_height = (drop_zone_visible ? delta_height : -delta_height);
+ tabs->reshape(tabs->getRect().getWidth(),tabs->getRect().getHeight() + delta_height);
+ tabs->translate(0,-delta_height);
+ }
+ drop_zone->setVisible(panel->getAllowDropOnRoot());
}
}
@@ -538,14 +557,17 @@ BOOL LLFloaterMarketplaceListings::handleDragAndDrop(S32 x, S32 y, MASK mask, BO
// marketplace listings root folder
if (!handled || !isAccepted(*accept))
{
- if (!mPanelListings->getVisible() && mRootFolderId.notNull())
+ if ((LLMarketplaceData::instance().getSLMStatus() >= MarketplaceStatusCodes::MARKET_PLACE_MERCHANT) && mRootFolderId.notNull())
{
if (!mPanelListingsSet)
{
setPanels();
}
- LLFolderView* root_folder = mPanelListings->getRootFolder();
- handled = root_folder->handleDragAndDropToThisFolder(mask, drop, cargo_type, cargo_data, accept, tooltip_msg);
+ if (mPanelListings->allowDropOnRoot())
+ {
+ LLFolderView* root_folder = mPanelListings->getRootFolder();
+ handled = root_folder->handleDragAndDropToThisFolder(mask, drop, cargo_type, cargo_data, accept, tooltip_msg);
+ }
}
}
diff --git a/indra/newview/llfloatermarketplacelistings.h b/indra/newview/llfloatermarketplacelistings.h
index 8a9731dafc..a691872aaa 100755
--- a/indra/newview/llfloatermarketplacelistings.h
+++ b/indra/newview/llfloatermarketplacelistings.h
@@ -54,6 +54,7 @@ public:
BOOL postBuild();
void draw();
LLFolderView* getRootFolder() { return mRootFolder; }
+ bool allowDropOnRoot();
void buildAllPanels();
diff --git a/indra/newview/llmarketplacefunctions.h b/indra/newview/llmarketplacefunctions.h
index 4aca88cba1..af274c18f2 100755
--- a/indra/newview/llmarketplacefunctions.h
+++ b/indra/newview/llmarketplacefunctions.h
@@ -66,8 +66,8 @@ namespace MarketplaceStatusCodes
MARKET_PLACE_NOT_INITIALIZED = 0,
MARKET_PLACE_INITIALIZING = 1,
MARKET_PLACE_CONNECTION_FAILURE = 2,
- MARKET_PLACE_MERCHANT = 3,
- MARKET_PLACE_NOT_MERCHANT = 4,
+ MARKET_PLACE_NOT_MERCHANT = 3,
+ MARKET_PLACE_MERCHANT = 4,
MARKET_PLACE_NOT_MIGRATED_MERCHANT = 5,
MARKET_PLACE_MIGRATED_MERCHANT = 6
};
diff --git a/indra/newview/skins/default/xui/en/panel_marketplace_listings_inventory.xml b/indra/newview/skins/default/xui/en/panel_marketplace_listings_inventory.xml
index 567e5e2724..8d5fa265e2 100755
--- a/indra/newview/skins/default/xui/en/panel_marketplace_listings_inventory.xml
+++ b/indra/newview/skins/default/xui/en/panel_marketplace_listings_inventory.xml
@@ -11,7 +11,7 @@
left="0"
start_folder.name="Marketplace listings"
show_empty_message="true"
- show_root_folder="true"
+ show_root_folder="false"
use_marketplace_folders="true"
start_folder.type="merchant"
tool_tip="Drag and drop items here to list them"
diff --git a/indra/newview/skins/default/xui/en/panel_marketplace_listings_listed.xml b/indra/newview/skins/default/xui/en/panel_marketplace_listings_listed.xml
index 668be27bdc..44f507ad84 100755
--- a/indra/newview/skins/default/xui/en/panel_marketplace_listings_listed.xml
+++ b/indra/newview/skins/default/xui/en/panel_marketplace_listings_listed.xml
@@ -10,7 +10,7 @@
left_delta="0"
start_folder.name="Marketplace listings"
show_empty_message="true"
- show_root_folder="true"
+ show_root_folder="false"
use_marketplace_folders="true"
allow_drop_on_root="false"
start_folder.type="merchant"
diff --git a/indra/newview/skins/default/xui/en/panel_marketplace_listings_unassociated.xml b/indra/newview/skins/default/xui/en/panel_marketplace_listings_unassociated.xml
index 0015c85aa2..871e8773c4 100755
--- a/indra/newview/skins/default/xui/en/panel_marketplace_listings_unassociated.xml
+++ b/indra/newview/skins/default/xui/en/panel_marketplace_listings_unassociated.xml
@@ -10,7 +10,7 @@
left_delta="0"
start_folder.name="Marketplace listings"
show_empty_message="true"
- show_root_folder="true"
+ show_root_folder="false"
use_marketplace_folders="true"
start_folder.type="merchant"
bg_opaque_color="DkGray2"
diff --git a/indra/newview/skins/default/xui/en/panel_marketplace_listings_unlisted.xml b/indra/newview/skins/default/xui/en/panel_marketplace_listings_unlisted.xml
index ec9c176811..98bef04aa7 100755
--- a/indra/newview/skins/default/xui/en/panel_marketplace_listings_unlisted.xml
+++ b/indra/newview/skins/default/xui/en/panel_marketplace_listings_unlisted.xml
@@ -10,7 +10,7 @@
left_delta="0"
start_folder.name="Marketplace listings"
show_empty_message="true"
- show_root_folder="true"
+ show_root_folder="false"
use_marketplace_folders="true"
allow_drop_on_root="false"
start_folder.type="merchant"