From a981e9f30da8ebf9d2c082196631e5daca8cf6a7 Mon Sep 17 00:00:00 2001 From: mitchell <70453897+667e-11@users.noreply.github.com> Date: Mon, 22 Dec 2008 21:36:09 -0500 Subject: Fixed bugs in macros and macro browser. --- core/init.lua | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'core/init.lua') diff --git a/core/init.lua b/core/init.lua index 84c0d4d6..7a25169b 100644 --- a/core/init.lua +++ b/core/init.lua @@ -38,21 +38,24 @@ end -- used. -- @return string CocoaDialog result. function cocoa_dialog(kind, opts) - local args = not MAC and { kind } or '' + local args = { kind } for k, v in pairs(opts) do - if not MAC then - args[#args + 1] = '--'..k - if type(v) == 'string' then args[#args + 1] = v end - else - args = args..' --'..k - if type(v) == 'string' then args = args..' "'..v..'"' end + args[#args + 1] = '--'..k + if k == 'items' and kind:match('dropdown') then + if not MAC then + for item in v:gmatch('"(.-)"%s+') do args[#args + 1] = item end + else + args[#args + 1] = v + end + elseif type(v) == 'string' then + args[#args + 1] = not MAC and v or '"'..v..'"' end end if not MAC then return lua_dialog.run(args) else local cocoa_dialog = '/CocoaDialog.app/Contents/MacOS/CocoaDialog ' - local p = io.popen(_HOME..cocoa_dialog..kind..args) + local p = io.popen( _HOME..cocoa_dialog..table.concat(args, ' ') ) local out = p:read('*all') p:close() return out -- cgit v1.2.3