viplist improvements
This commit is contained in:
parent
a73908fbbe
commit
a92af44eb6
|
@ -0,0 +1,47 @@
|
||||||
|
MainWindow
|
||||||
|
size: 256 128
|
||||||
|
title: Add to VIP list
|
||||||
|
|
||||||
|
Label
|
||||||
|
text: Please enter a character name:
|
||||||
|
anchors.top: parent.top
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.right: parent.right
|
||||||
|
margin-left: 16
|
||||||
|
margin-right: 16
|
||||||
|
margin-top: 32
|
||||||
|
|
||||||
|
LineEdit
|
||||||
|
id: name
|
||||||
|
anchors.top: prev.bottom
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.right: parent.right
|
||||||
|
margin-left: 16
|
||||||
|
margin-right: 16
|
||||||
|
margin-top: 4
|
||||||
|
|
||||||
|
HorizontalSeparator
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.right: parent.right
|
||||||
|
anchors.bottom: next.top
|
||||||
|
margin-left: 16
|
||||||
|
margin-right: 16
|
||||||
|
margin-bottom: 10
|
||||||
|
|
||||||
|
Button
|
||||||
|
text: Ok
|
||||||
|
width: 64
|
||||||
|
anchors.right: next.left
|
||||||
|
anchors.bottom: parent.bottom
|
||||||
|
margin-bottom: 16
|
||||||
|
margin-right: 16
|
||||||
|
@onClick: VipList.addVip()
|
||||||
|
|
||||||
|
Button
|
||||||
|
text: Cancel
|
||||||
|
width: 64
|
||||||
|
anchors.right: parent.right
|
||||||
|
anchors.bottom: parent.bottom
|
||||||
|
margin-bottom: 16
|
||||||
|
margin-right: 16
|
||||||
|
@onClick: VipList.destroyAddWindow()
|
|
@ -2,6 +2,7 @@ VipList = {}
|
||||||
|
|
||||||
-- private variables
|
-- private variables
|
||||||
local vipWindow = nil
|
local vipWindow = nil
|
||||||
|
local addVipWindow = nil
|
||||||
|
|
||||||
-- public functions
|
-- public functions
|
||||||
function VipList.create()
|
function VipList.create()
|
||||||
|
@ -13,6 +14,20 @@ function VipList.destroy()
|
||||||
vipWindow = nil
|
vipWindow = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function VipList.createAddWindow()
|
||||||
|
addVipWindow = displayUI('addvip.otui')
|
||||||
|
end
|
||||||
|
|
||||||
|
function VipList.destroyAddWindow()
|
||||||
|
addVipWindow:destroy()
|
||||||
|
addVipWindow = nil
|
||||||
|
end
|
||||||
|
|
||||||
|
function VipList.addVip()
|
||||||
|
Game.addVip(addVipWindow:getChildById('name'):getText())
|
||||||
|
VipList.destroyAddWindow()
|
||||||
|
end
|
||||||
|
|
||||||
-- hooked events
|
-- hooked events
|
||||||
function Game.onAddVip(id, name, online)
|
function Game.onAddVip(id, name, online)
|
||||||
local vipList = vipWindow:getChildById('vipList')
|
local vipList = vipWindow:getChildById('vipList')
|
||||||
|
@ -43,14 +58,31 @@ function Game.onVipStateChange(id, online)
|
||||||
label.vipOnline = online
|
label.vipOnline = online
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function VipList.onVipListMousePress(widget, mousePos, mouseButton)
|
||||||
|
if mouseButton ~= MouseRightButton then return end
|
||||||
|
|
||||||
|
local vipList = vipWindow:getChildById('vipList')
|
||||||
|
|
||||||
|
local menu = createWidget('PopupMenu')
|
||||||
|
menu:addOption('Add new VIP', function() VipList.createAddWindow() end)
|
||||||
|
menu:display(mousePos)
|
||||||
|
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
function VipList.onVipListLabelMousePress(widget, mousePos, mouseButton)
|
function VipList.onVipListLabelMousePress(widget, mousePos, mouseButton)
|
||||||
if mouseButton ~= MouseRightButton then return end
|
if mouseButton ~= MouseRightButton then return end
|
||||||
|
|
||||||
local vipList = vipWindow:getChildById('vipList')
|
local vipList = vipWindow:getChildById('vipList')
|
||||||
|
|
||||||
local menu = createWidget('PopupMenu')
|
local menu = createWidget('PopupMenu')
|
||||||
menu:addOption('Remove from VIP list', function() if widget then Game.removeVip(widget:getId():sub(4)) vipList:removeChild(widget) end end)
|
menu:addOption('Add new VIP', function() VipList.createAddWindow() end)
|
||||||
|
menu:addOption('Remove ' .. widget:getText(), function() if widget then Game.removeVip(widget:getId():sub(4)) vipList:removeChild(widget) end end)
|
||||||
|
menu:addSeparator()
|
||||||
|
menu:addOption('Copy Name', function() end)
|
||||||
menu:display(mousePos)
|
menu:display(mousePos)
|
||||||
|
|
||||||
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -15,3 +15,4 @@ MiniWindow
|
||||||
margin-bottom: 6
|
margin-bottom: 6
|
||||||
margin-left: 6
|
margin-left: 6
|
||||||
margin-right: 6
|
margin-right: 6
|
||||||
|
&onMousePress: VipList.onVipListMousePress
|
||||||
|
|
Loading…
Reference in New Issue