From b5cea41f87eec7a0b6fd3aa2ebf7c7173c3a2116 Mon Sep 17 00:00:00 2001 From: TheSumm Date: Tue, 20 Jan 2015 14:34:45 +0100 Subject: [PATCH] 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 --- data/styles/20-tabbars.otui | 17 ++++++--- modules/corelib/ui/uitabbar.lua | 1 + modules/game_market/market.lua | 34 +++++++++++++----- modules/game_market/market.otui | 3 +- .../game_market/ui/general/amountwindow.otui | 2 +- .../game_market/ui/general/marketbuttons.otui | 1 - .../game_market/ui/general/markettabs.otui | 36 +++++-------------- .../game_market/ui/marketoffers/browse.otui | 12 +++---- 8 files changed, 56 insertions(+), 50 deletions(-) diff --git a/data/styles/20-tabbars.otui b/data/styles/20-tabbars.otui index e90f6e6a..bb8c6821 100644 --- a/data/styles/20-tabbars.otui +++ b/data/styles/20-tabbars.otui @@ -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 diff --git a/modules/corelib/ui/uitabbar.lua b/modules/corelib/ui/uitabbar.lua index be43479d..951692f9 100644 --- a/modules/corelib/ui/uitabbar.lua +++ b/modules/corelib/ui/uitabbar.lua @@ -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 diff --git a/modules/game_market/market.lua b/modules/game_market/market.lua index abdeaa47..49d326e4 100644 --- a/modules/game_market/market.lua +++ b/modules/game_market/market.lua @@ -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 diff --git a/modules/game_market/market.otui b/modules/game_market/market.otui index 89d9fde4..ae450441 100644 --- a/modules/game_market/market.otui +++ b/modules/game_market/market.otui @@ -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 diff --git a/modules/game_market/ui/general/amountwindow.otui b/modules/game_market/ui/general/amountwindow.otui index 3dc99425..c4a2d252 100644 --- a/modules/game_market/ui/general/amountwindow.otui +++ b/modules/game_market/ui/general/amountwindow.otui @@ -1,7 +1,7 @@ AmountWindow < MainWindow id: amountWindow !text: tr('Amount') - size: 270 80 + size: 270 90 Item id: item diff --git a/modules/game_market/ui/general/marketbuttons.otui b/modules/game_market/ui/general/marketbuttons.otui index ae61cadb..45330706 100644 --- a/modules/game_market/ui/general/marketbuttons.otui +++ b/modules/game_market/ui/general/marketbuttons.otui @@ -4,7 +4,6 @@ MarketButtonBox < ButtonBoxRounded size: 106 22 text-offset: 0 2 text-align: center - image-border: 2 $checked: color: white diff --git a/modules/game_market/ui/general/markettabs.otui b/modules/game_market/ui/general/markettabs.otui index e62c7e47..dbc6ca15 100644 --- a/modules/game_market/ui/general/markettabs.otui +++ b/modules/game_market/ui/general/markettabs.otui @@ -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 - $hover !checked: - image-clip: 0 20 20 20 - color: white + $!first: + anchors.right: prev.left + anchors.left: none - $disabled: - image-color: #ffffff66 - icon-color: #888888 + $hover !checked: + color: #ffffff $checked: - image-clip: 0 20 20 20 color: #ffffff $on !checked: diff --git a/modules/game_market/ui/marketoffers/browse.otui b/modules/game_market/ui/marketoffers/browse.otui index 41565c2d..90716979 100644 --- a/modules/game_market/ui/marketoffers/browse.otui +++ b/modules/game_market/ui/marketoffers/browse.otui @@ -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()