Market fixes

- Market now works after reloading
- Fixed button / tab styles
- MarketRightTabBarButton now inherits the base style
- Fixed amountWindow buttons being hardly clickable
- "All" search filter is now on by default
This commit is contained in:
TheSumm 2015-01-20 14:34:45 +01:00
parent 8542f8bfd4
commit b5cea41f87
8 changed files with 56 additions and 50 deletions

View File

@ -36,10 +36,11 @@ TabBar < UITabBar
anchors.fill: parent
TabBarPanel < Panel
TabBarButton < UIButton
size: 22 23
size: 20 21
image-source: /images/ui/tabbutton_square
image-source: /images/ui/tabbutton_square
image-color: #dfdfdf
image-clip: 0 0 22 23
image-clip: 0 0 20 21
image-border: 3
image-border-bottom: 0
icon-color: #dfdfdf
@ -55,7 +56,7 @@ TabBarButton < UIButton
margin-left: 5
$hover !checked:
image-clip: 0 23 22 23
image-clip: 0 21 20 21
color: #dfdfdf
$disabled:
@ -63,7 +64,7 @@ TabBarButton < UIButton
icon-color: #dfdfdf
$checked:
image-clip: 0 46 22 23
image-clip: 0 42 20 21
color: #dfdfdf
$on !checked:
@ -73,6 +74,14 @@ TabBarRounded < TabBar
TabBarRoundedPanel < TabBarPanel
TabBarRoundedButton < TabBarButton
image-source: /images/ui/tabbutton_rounded
size: 22 23
image-clip: 0 0 22 23
$hover !checked:
image-clip: 0 23 22 23
$checked:
image-clip: 0 46 22 23
TabBarVertical < UITabBar
width: 96

View File

@ -38,6 +38,7 @@ function UITabBar:addTab(text, panel, icon)
end
local tab = g_ui.createWidget(self:getStyleName() .. 'Button', self.buttonsPanel)
panel.isTab = true
tab.tabPanel = panel
tab.tabBar = self

View File

@ -147,8 +147,8 @@ end
local function clearFilters()
for _, filter in pairs(filterButtons) do
if filter and filter:isChecked() then
filter:setChecked(false)
if filter and filter:isChecked() ~= filter.default then
filter:setChecked(filter.default)
end
end
end
@ -400,6 +400,13 @@ local function updateFee(price, amount)
feeLabel:resizeToText()
end
local function destroyAmountWindow()
if amountWindow then
amountWindow:destroy()
amountWindow = nil
end
end
local function openAmountWindow(callback, type, actionText)
local actionText = actionText or ''
if not Market.isOfferSelected(type) then
@ -441,14 +448,12 @@ local function openAmountWindow(callback, type, actionText)
local counter = selectedOffer[type]:getCounter()
local timestamp = selectedOffer[type]:getTimeStamp()
callback(scrollbar:getValue(), timestamp, counter)
okButton:getParent():destroy()
amountWindow = nil
destroyAmountWindow()
end
local cancelButton = amountWindow:getChildById('buttonCancel')
local cancelFunc = function()
cancelButton:getParent():destroy()
amountWindow = nil
destroyAmountWindow()
end
amountWindow.onEnter = okFunc
@ -624,8 +629,10 @@ local function initInterface()
browsePanel = g_ui.loadUI('ui/marketoffers/browse')
selectionTabBar:addTab(tr('Browse'), browsePanel)
overviewPanel = g_ui.loadUI('ui/marketoffers/overview')
selectionTabBar:addTab(tr('Overview'), overviewPanel)
-- Currently not used
-- "Reserved for more functionality later"
--overviewPanel = g_ui.loadUI('ui/marketoffers/overview')
--selectionTabBar:addTab(tr('Overview'), overviewPanel)
displaysTabBar = marketOffersPanel:getChildById('rightTabBar')
displaysTabBar:setContentWidget(marketOffersPanel:getChildById('rightTabContent'))
@ -690,6 +697,14 @@ local function initInterface()
filterButtons[MarketFilters.Depot] = browsePanel:getChildById('filterDepot')
filterButtons[MarketFilters.SearchAll] = browsePanel:getChildById('filterSearchAll')
-- set filter default values
clearFilters()
-- hook filters
for _, filter in pairs(filterButtons) do
filter.onCheckChange = Market.updateCurrentItems
end
searchEdit = browsePanel:getChildById('searchEdit')
categoryList = browsePanel:getChildById('categoryComboBox')
subCategoryList = browsePanel:getChildById('subCategoryComboBox')
@ -744,10 +759,13 @@ function init()
end
function terminate()
Market.close()
protocol.terminateProtocol()
disconnect(g_game, { onGameEnd = Market.reset })
disconnect(g_game, { onGameEnd = Market.close })
destroyAmountWindow()
marketWindow:destroy()
Market = nil

View File

@ -3,7 +3,7 @@ MarketWindow < MainWindow
!text: tr('Market')
size: 700 530
@onEscape: Market.close(true)
@onEscape: Market.close()
// Main Panel Window
@ -54,6 +54,7 @@ MarketWindow < MainWindow
Button
id: resetButton
!text: tr('Reset Market')
!tooltip: tr('Reset selection, filters & search')
anchors.top: mainTabContent.bottom
anchors.left: mainTabContent.left
margin-top: 5

View File

@ -1,7 +1,7 @@
AmountWindow < MainWindow
id: amountWindow
!text: tr('Amount')
size: 270 80
size: 270 90
Item
id: item

View File

@ -4,7 +4,6 @@ MarketButtonBox < ButtonBoxRounded
size: 106 22
text-offset: 0 2
text-align: center
image-border: 2
$checked:
color: white

View File

@ -10,15 +10,9 @@ MarketTabBarButton < TabBarButton
margin-left: 0
$hover !checked:
image-clip: 0 20 20 20
color: white
$disabled:
image-color: #ffffff66
icon-color: #888888
color: #ffffff
$checked:
image-clip: 0 20 20 20
color: #ffffff
$on !checked:
@ -26,36 +20,24 @@ MarketTabBarButton < TabBarButton
MarketRightTabBar < TabBar
MarketRightTabBarPanel < TabBarPanel
// TODO: inherit style from TabBarButton and adjust it
// anchors.left: none did not seem to work for me
MarketRightTabBarButton < UIButton
MarketRightTabBarButton < TabBarButton
size: 20 25
font: verdana-11px-rounded
text-offset: 0 2
image-source: /images/ui/tabbutton_square
image-color: white
image-clip: 0 0 20 20
image-border: 3
icon-color: white
color: #aaaaaa
anchors.top: parent.top
padding: 5
anchors.right: prev.left
color: #929292
$first:
anchors.right: parent.right
anchors.left: none
$!first:
anchors.right: prev.left
anchors.left: none
$hover !checked:
image-clip: 0 20 20 20
color: white
$disabled:
image-color: #ffffff66
icon-color: #888888
color: #ffffff
$checked:
image-clip: 0 20 20 20
color: #ffffff
$on !checked:

View File

@ -52,7 +52,7 @@ Panel
MarketButtonBox
id: filterLevel
checked: false
&default: false
!text: tr('Level')
!tooltip: tr('Filter list to match your level')
anchors.top: prev.bottom
@ -62,11 +62,10 @@ Panel
margin-left: 3
width: 40
height: 20
@onCheckChange: Market.updateCurrentItems()
MarketButtonBox
id: filterVocation
checked: false
&default: false
!text: tr('Voc.')
!tooltip: tr('Filter list to match your vocation')
anchors.top: prev.top
@ -75,7 +74,6 @@ Panel
margin-left: 3
width: 34
height: 20
@onCheckChange: Market.updateCurrentItems()
MarketComboBox
id: slotComboBox
@ -90,7 +88,7 @@ Panel
MarketButtonBox
id: filterDepot
checked: false
&default: false
!text: tr('Show Depot Only')
!tooltip: tr('Show your depot items only')
anchors.top: prev.bottom
@ -99,7 +97,6 @@ Panel
margin-top: 6
margin-right: 3
margin-left: 3
@onCheckChange: Market.updateCurrentItems()
Panel
id: itemsContainer
@ -152,11 +149,10 @@ Panel
MarketButtonBox
id: filterSearchAll
checked: false
&default: true
!text: tr('All')
!tooltip: tr('Search all items')
anchors.verticalCenter: prev.verticalCenter
anchors.left: prev.right
anchors.right: itemsContainer.right
margin-left: 3
@onCheckChange: Market.updateCurrentItems()