Market fix, and a few other things:
* Added 'button' param to g_mouse.bindPress * Added 'lower' param to table.contains * UIComboBox:onOptionChange should signalcall? * Changed the experience bar color * Market buy/sell 'amount' window will now show the cost of the amount you are selecting
This commit is contained in:
		
							parent
							
								
									8f9055f48b
								
							
						
					
					
						commit
						cb42481edd
					
				| 
						 | 
				
			
			@ -200,6 +200,7 @@ function setOption(key, value)
 | 
			
		|||
        audioButton:setIcon('/images/topbuttons/audio_mute')
 | 
			
		||||
      end
 | 
			
		||||
    end)
 | 
			
		||||
    panel = audioPanel
 | 
			
		||||
  elseif key == 'enableMusicSound' then
 | 
			
		||||
    g_sounds.getChannel(SoundChannels.Music):setEnabled(value)
 | 
			
		||||
  elseif key == 'musicSoundVolume' then
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,9 +25,12 @@ function g_mouse.bindPressMove(widget, callback)
 | 
			
		|||
  end })
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function g_mouse.bindPress(widget, callback)
 | 
			
		||||
function g_mouse.bindPress(widget, callback, button)
 | 
			
		||||
  connect(widget, { onMousePress = function(widget, mousePos, mouseButton)
 | 
			
		||||
    if not button or button == mouseButton then
 | 
			
		||||
      callback(mousePos, mouseButton)
 | 
			
		||||
      return true
 | 
			
		||||
    end
 | 
			
		||||
    return false
 | 
			
		||||
  end })
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -65,8 +65,8 @@ function table.findbykey(t, key, lowercase)
 | 
			
		|||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function table.contains(t, value)
 | 
			
		||||
  return table.find(t, value) ~= nil
 | 
			
		||||
function table.contains(t, value, lowercase)
 | 
			
		||||
  return table.find(t, value, lowercase) ~= nil
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function table.findkey(t, key)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,7 +31,7 @@ function UIComboBox:setCurrentOption(text)
 | 
			
		|||
    if v.text == text and self.currentIndex ~= i then
 | 
			
		||||
      self.currentIndex = i
 | 
			
		||||
      self:setText(text)
 | 
			
		||||
      self:onOptionChange(text, v.data)
 | 
			
		||||
      signalcall(self.onOptionChange, self, text, v.data)
 | 
			
		||||
      return
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			@ -43,7 +43,7 @@ function UIComboBox:setCurrentOptionByData(data)
 | 
			
		|||
    if v.data == data and self.currentIndex ~= i then
 | 
			
		||||
      self.currentIndex = i
 | 
			
		||||
      self:setText(v.text)
 | 
			
		||||
      self:onOptionChange(v.text, v.data)
 | 
			
		||||
      signalcall(self.onOptionChange, self, v.text, v.data)
 | 
			
		||||
      return
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			@ -54,7 +54,7 @@ function UIComboBox:setCurrentIndex(index)
 | 
			
		|||
    local v = self.options[index]
 | 
			
		||||
    self.currentIndex = index
 | 
			
		||||
    self:setText(v.text)
 | 
			
		||||
    self:onOptionChange(v.text, v.data)
 | 
			
		||||
    signalcall(self.onOptionChange, self, v.text, v.data)
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -140,7 +140,3 @@ end
 | 
			
		|||
function UIComboBox:canMouseScroll()
 | 
			
		||||
  return self.mouseScroll
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function UIComboBox:onOptionChange(optionText, optionData)
 | 
			
		||||
  -- nothing todo
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -96,8 +96,6 @@ MiniWindow
 | 
			
		|||
      anchors.top: groupIconSpecial.bottom
 | 
			
		||||
      anchors.left: parent.left
 | 
			
		||||
      anchors.right: parent.right
 | 
			
		||||
      //border-width: 1
 | 
			
		||||
      //border-color: #00000077
 | 
			
		||||
      background-color: #ffffff11
 | 
			
		||||
      
 | 
			
		||||
      
 | 
			
		||||
| 
						 | 
				
			
			@ -15,11 +15,13 @@ ManaBar < ProgressBar
 | 
			
		|||
  
 | 
			
		||||
ExperienceBar < ProgressBar
 | 
			
		||||
  id: experienceBar
 | 
			
		||||
  background-color: yellow
 | 
			
		||||
  background-color: #B6E866
 | 
			
		||||
  anchors.top: prev.bottom
 | 
			
		||||
  anchors.left: parent.left
 | 
			
		||||
  anchors.right: parent.right
 | 
			
		||||
  margin-top: 3
 | 
			
		||||
  //margin-top: 6
 | 
			
		||||
  //height: 12
 | 
			
		||||
 | 
			
		||||
SoulLabel < GameLabel
 | 
			
		||||
  id: soulLabel
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -408,34 +408,40 @@ local function openAmountWindow(callback, type, actionText)
 | 
			
		|||
  end
 | 
			
		||||
  amountWindow = g_ui.createWidget('AmountWindow', rootWidget)
 | 
			
		||||
  amountWindow:lock()
 | 
			
		||||
  local max = selectedOffer[type]:getAmount()
 | 
			
		||||
  local item = selectedOffer[type]:getItem()
 | 
			
		||||
 | 
			
		||||
  local max = selectedOffer[type]:getAmount(item:getId())
 | 
			
		||||
  if type == MarketAction.Sell then
 | 
			
		||||
    local depot = Market.depotContains(selectedOffer[type]:getItem():getId())
 | 
			
		||||
    local depot = Market.depotContains()
 | 
			
		||||
    if max > depot then
 | 
			
		||||
      max = depot
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  local spinbox = amountWindow:getChildById('amountSpinBox')
 | 
			
		||||
  spinbox:setMaximum(max)
 | 
			
		||||
  spinbox:setMinimum(1)
 | 
			
		||||
  spinbox:setValue(1)
 | 
			
		||||
  local itembox = amountWindow:getChildById('item')
 | 
			
		||||
  itembox:setItemId(item:getId())
 | 
			
		||||
  itembox:setText(1)
 | 
			
		||||
 | 
			
		||||
  local scrollbar = amountWindow:getChildById('amountScrollBar')
 | 
			
		||||
  scrollbar:setText(tostring(selectedOffer[type]:getPrice())..'gp')
 | 
			
		||||
  scrollbar:setMaximum(max)
 | 
			
		||||
  scrollbar:setMinimum(1)
 | 
			
		||||
  scrollbar:setValue(1)
 | 
			
		||||
 | 
			
		||||
  scrollbar.onValueChange = function(self, value) spinbox:setValue(value) end
 | 
			
		||||
  spinbox.onValueChange = function(self, value) scrollbar:setValue(value) end
 | 
			
		||||
  scrollbar.onValueChange = function(widget, value)
 | 
			
		||||
    widget:setText(tostring(value*selectedOffer[type]:getPrice())..'gp')
 | 
			
		||||
    itembox:setText(tostring(value))
 | 
			
		||||
  end
 | 
			
		||||
  
 | 
			
		||||
  local okButton = amountWindow:getChildById('buttonOk')
 | 
			
		||||
  if actionText ~= '' then okButton:setText(actionText) end
 | 
			
		||||
  if actionText ~= '' then
 | 
			
		||||
    okButton:setText(actionText)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  local okFunc = function()
 | 
			
		||||
    local counter = selectedOffer[type]:getCounter()
 | 
			
		||||
    local timestamp = selectedOffer[type]:getTimeStamp()
 | 
			
		||||
    callback(spinbox:getValue(), timestamp, counter)
 | 
			
		||||
    callback(scrollbar:getValue(), timestamp, counter)
 | 
			
		||||
    okButton:getParent():destroy()
 | 
			
		||||
    amountWindow = nil
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,39 +1,45 @@
 | 
			
		|||
AmountWindow < MainWindow
 | 
			
		||||
  id: amountWindow
 | 
			
		||||
  !text: tr('Amount')
 | 
			
		||||
  size: 196 112
 | 
			
		||||
  size: 196 80
 | 
			
		||||
 | 
			
		||||
  Label
 | 
			
		||||
    !text: tr('Amount:')
 | 
			
		||||
    width: 64
 | 
			
		||||
  Item
 | 
			
		||||
    id: item
 | 
			
		||||
    text-offset: 0 22
 | 
			
		||||
    text-align: right
 | 
			
		||||
    anchors.left: parent.left
 | 
			
		||||
    anchors.top: parent.top
 | 
			
		||||
    margin-top: 2
 | 
			
		||||
 | 
			
		||||
  SpinBox
 | 
			
		||||
    id: amountSpinBox
 | 
			
		||||
    anchors.left: prev.right
 | 
			
		||||
    anchors.right: parent.right
 | 
			
		||||
    anchors.top: parent.top
 | 
			
		||||
    margin-left: -4
 | 
			
		||||
    focusable: false
 | 
			
		||||
    virtual: true
 | 
			
		||||
 | 
			
		||||
  HorizontalScrollBar
 | 
			
		||||
    id: amountScrollBar
 | 
			
		||||
    anchors.left: parent.left
 | 
			
		||||
    anchors.left: prev.right
 | 
			
		||||
    anchors.right: parent.right
 | 
			
		||||
    anchors.top: prev.bottom
 | 
			
		||||
    margin-top: 8
 | 
			
		||||
 | 
			
		||||
  Button
 | 
			
		||||
    id: buttonOk
 | 
			
		||||
    !text: tr('Ok')
 | 
			
		||||
    width: 64
 | 
			
		||||
    anchors.right: next.left
 | 
			
		||||
    anchors.bottom: parent.bottom
 | 
			
		||||
    margin-right: 5
 | 
			
		||||
    anchors.top: prev.top
 | 
			
		||||
    margin-left: 10
 | 
			
		||||
    margin-top: -2
 | 
			
		||||
    focusable: false
 | 
			
		||||
 | 
			
		||||
  Button
 | 
			
		||||
    id: buttonCancel
 | 
			
		||||
    !text: tr('Cancel')
 | 
			
		||||
    width: 64
 | 
			
		||||
    anchors.right: parent.right
 | 
			
		||||
    anchors.bottom: parent.bottom
 | 
			
		||||
    height: 20
 | 
			
		||||
    anchors.left: amountScrollBar.horizontalCenter
 | 
			
		||||
    anchors.right: amountScrollBar.right
 | 
			
		||||
    anchors.top: amountScrollBar.bottom
 | 
			
		||||
    margin-top: 7
 | 
			
		||||
    focusable: false
 | 
			
		||||
 | 
			
		||||
  Button
 | 
			
		||||
    id: buttonOk
 | 
			
		||||
    !text: tr('Ok')
 | 
			
		||||
    height: 20
 | 
			
		||||
    anchors.right: amountScrollBar.horizontalCenter
 | 
			
		||||
    anchors.left: amountScrollBar.left
 | 
			
		||||
    anchors.top: amountScrollBar.bottom
 | 
			
		||||
    margin-top: 7
 | 
			
		||||
    margin-right: 6
 | 
			
		||||
    focusable: false
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -176,7 +176,7 @@ Panel
 | 
			
		|||
    margin-bottom: 6
 | 
			
		||||
    @onSetup: self:setChecked(false)
 | 
			
		||||
    height: 16
 | 
			
		||||
    width: 70
 | 
			
		||||
    width: 90
 | 
			
		||||
 | 
			
		||||
  Label
 | 
			
		||||
    id: feeLabel
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,7 +8,8 @@ MarketItemBox < UICheckBox
 | 
			
		|||
  Item
 | 
			
		||||
    id: item
 | 
			
		||||
    phantom: true
 | 
			
		||||
    text-offset: 0 13
 | 
			
		||||
    virtual: true
 | 
			
		||||
    text-offset: 0 22
 | 
			
		||||
    text-align: right
 | 
			
		||||
    anchors.top: parent.top
 | 
			
		||||
    anchors.horizontalCenter: parent.horizontalCenter
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue