This commit is contained in:
Craig Everett 2025-11-07 18:51:18 +09:00
parent c59ef4b14e
commit 5a4c934d10
2 changed files with 11 additions and 27 deletions

View File

@ -611,33 +611,15 @@ rename_key(State = #s{picker = Picker}) ->
rename_key(Selected, State = #s{frame = Frame, j = J, accounts = Accounts}) ->
#poa{id = ID, name = Name} = lists:nth(Selected, Accounts),
Dialog = wxDialog:new(Frame, ?wxID_ANY, J("New Key")),
Sizer = wxBoxSizer:new(?wxVERTICAL),
NameSz = wxStaticBoxSizer:new(?wxVERTICAL, Dialog, [{label, J("Name (Optional)")}]),
NameTx = wxTextCtrl:new(Dialog, ?wxID_ANY),
ok = wxTextCtrl:setValue(NameTx, Name),
_ = wxStaticBoxSizer:add(NameSz, NameTx, zxw:flags(base)),
ButtSz = wxBoxSizer:new(?wxHORIZONTAL),
Affirm = wxButton:new(Dialog, ?wxID_OK),
Cancel = wxButton:new(Dialog, ?wxID_CANCEL),
_ = wxBoxSizer:add(ButtSz, Affirm, zxw:flags(wide)),
_ = wxBoxSizer:add(ButtSz, Cancel, zxw:flags(wide)),
_ = wxBoxSizer:add(Sizer, NameSz, zxw:flags(base)),
_ = wxBoxSizer:add(Sizer, ButtSz, zxw:flags(wide)),
ok = wxDialog:setSizer(Dialog, Sizer),
ok = wxBoxSizer:layout(Sizer),
ok = wxDialog:setSize(Dialog, {500, 130}),
ok = wxDialog:center(Dialog),
ok = wxStyledTextCtrl:setFocus(NameTx),
Title = J("Rename Key"),
Label = J("New Name"),
Options = [{label, Label}, {init, Name}, selected, empty],
ok =
case wxDialog:showModal(Dialog) of
?wxID_OK ->
NewName = wxTextCtrl:getValue(NameTx),
gd_con:rename_key(ID, NewName);
?wxID_CANCEL ->
ok
case zxw_modal_text:show(Frame, Title, Options) of
{ok, ""} -> gd_con:rename_key(ID, binary_to_list(ID));
{ok, NewName} -> gd_con:rename_key(ID, NewName);
cancel -> ok
end,
ok = wxDialog:destroy(Dialog),
State.

View File

@ -27,7 +27,7 @@
{name = <<"">> :: binary(),
call = #w{} :: #w{},
dryrun = #w{} :: none | #w{},
args = [] :: [{wx:wx_object(), wx:wx_object(), argt()}]}).
args = [] :: [argt()]}).
% Code book pages
-record(p,
@ -56,7 +56,9 @@
code = {none, []} :: {Codebook :: none | wx:wx_object(), Pages :: [#p{}]},
cons = {none, []} :: {Consbook :: none | wx:wx_object(), Pages :: [#c{}]}}).
-type argt() :: int | string | address | list(argt()).
% TODO: Spec HZ AACIs.
-type argt() :: term(). % FIXME: Whatever HZ returns in the AACI as an arg type.
%%% Interface