summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMerov Linden <merov@lindenlab.com>2014-04-03 18:14:59 -0700
committerMerov Linden <merov@lindenlab.com>2014-04-03 18:14:59 -0700
commitc36b7fa963511023866b6518f245d2c6edd1add0 (patch)
tree69414811b7e944a043fbfb6f5ee8e190f3c604c8
parent0f944702298cc4e7c62b117d5bba1b8cd788a73d (diff)
DD-20 : Make drop in the panel when empty work again
-rwxr-xr-xindra/newview/llfloatermarketplacelistings.cpp22
-rwxr-xr-xindra/newview/skins/default/xui/en/floater_marketplace_listings.xml3
-rwxr-xr-xindra/newview/skins/default/xui/en/panel_marketplace_listings.xml8
3 files changed, 19 insertions, 14 deletions
diff --git a/indra/newview/llfloatermarketplacelistings.cpp b/indra/newview/llfloatermarketplacelistings.cpp
index e8257e52c4..42e49f5d7d 100755
--- a/indra/newview/llfloatermarketplacelistings.cpp
+++ b/indra/newview/llfloatermarketplacelistings.cpp
@@ -446,31 +446,35 @@ void LLFloaterMarketplaceListings::updateView()
bool LLFloaterMarketplaceListings::isAccepted(EAcceptance accept)
{
- // *TODO : Need a bit more test on what we accept: depends of what and where...
- return (accept >= ACCEPT_YES_COPY_SINGLE);
+ return (accept >= ACCEPT_YES_COPY_SINGLE);
}
-
BOOL LLFloaterMarketplaceListings::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop,
EDragAndDropType cargo_type,
void* cargo_data,
EAcceptance* accept,
std::string& tooltip_msg)
{
+ // If there's no panel to accept drops or no existing marketplace listings folder, we refuse all drop
if (!mPanelListings || mRootFolderId.isNull())
{
return FALSE;
}
+ // Pass to the children
LLView * handled_view = childrenHandleDragAndDrop(x, y, mask, drop, cargo_type, cargo_data, accept, tooltip_msg);
BOOL handled = (handled_view != NULL);
- // Pass all drag and drop for this floater to the marketplace listings inventory control
- if (!handled && isAccepted(*accept) && !mPanelListings->getVisible() && mRootFolderId.notNull())
- {
- LLFolderView* root_folder = mPanelListings->getRootFolder();
- handled = root_folder->handleDragAndDropToThisFolder(mask, drop, cargo_type, cargo_data, accept, tooltip_msg);
- }
+ // If no one handled it or it was not accepted, we try to accept it at the floater level as if it was dropped on the
+ // marketplace listings root folder
+ if (!handled || !isAccepted(*accept))
+ {
+ if (!mPanelListings->getVisible() && mRootFolderId.notNull())
+ {
+ LLFolderView* root_folder = mPanelListings->getRootFolder();
+ handled = root_folder->handleDragAndDropToThisFolder(mask, drop, cargo_type, cargo_data, accept, tooltip_msg);
+ }
+ }
return handled;
}
diff --git a/indra/newview/skins/default/xui/en/floater_marketplace_listings.xml b/indra/newview/skins/default/xui/en/floater_marketplace_listings.xml
index 0f511c4a66..f5630aeecb 100755
--- a/indra/newview/skins/default/xui/en/floater_marketplace_listings.xml
+++ b/indra/newview/skins/default/xui/en/floater_marketplace_listings.xml
@@ -15,11 +15,11 @@
reuse_instance="true">
<string name="MarketplaceListingsInitializing">Initializing...</string>
<panel
+ name="marketplace_listings_panel"
follows="all"
layout="topleft"
left="0"
top="0"
- label=""
height="440"
width="333">
<panel
@@ -72,6 +72,7 @@
follows="all"/>
</panel>
<panel
+ name="marketplace_panel_status"
follows="bottom|left|right"
layout="topleft"
left="10"
diff --git a/indra/newview/skins/default/xui/en/panel_marketplace_listings.xml b/indra/newview/skins/default/xui/en/panel_marketplace_listings.xml
index 54fc3a0c0f..45e0fe04c0 100755
--- a/indra/newview/skins/default/xui/en/panel_marketplace_listings.xml
+++ b/indra/newview/skins/default/xui/en/panel_marketplace_listings.xml
@@ -1,14 +1,13 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<panel
label="Marketplace"
- name="main marketplace panel"
+ name="Marketplace Panel"
follows="all"
layout="topleft"
width="308"
height="375">
<panel
- label="tool_panel"
- name="nearby_buttons_panel"
+ name="tool_panel"
follows="left|top|right"
layout="topleft"
height="30"
@@ -31,13 +30,14 @@
menu_position="bottomleft"/>
</panel>
<panel
+ name="tab_container_panel"
follows="all"
layout="topleft"
default_tab_group="1"
width="308"
height="340">
<tab_container
- name="marketplace filter tabs"
+ name="marketplace_filter_tabs"
follows="all"
layout="topleft"
top="0"