Skip to content

Commit c0ff8b8

Browse files
committed
fixup! Add "CopyToClipboard" command to ConfirmationController
1 parent 79f1d7c commit c0ff8b8

File tree

1 file changed

+25
-13
lines changed

1 file changed

+25
-13
lines changed

pkg/gui/controllers/confirmation_controller.go

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -48,19 +48,11 @@ func (self *ConfirmationController) GetKeybindings(opts types.KeybindingsOpts) [
4848
},
4949
},
5050
{
51-
Key: opts.GetKey(opts.Config.Universal.CopyToClipboard),
52-
Handler: func() error {
53-
confirmationView := self.c.Views().Confirmation
54-
text := confirmationView.Buffer()
55-
if err := self.c.OS().CopyToClipboard(text); err != nil {
56-
return err
57-
}
58-
59-
self.c.Toast(self.c.Tr.MessageCopiedToClipboard)
60-
return nil
61-
},
62-
Description: self.c.Tr.CopyToClipboardMenu,
63-
DisplayOnScreen: true,
51+
Key: opts.GetKey(opts.Config.Universal.CopyToClipboard),
52+
Handler: self.handleCopyToClipboard,
53+
Description: self.c.Tr.CopyToClipboardMenu,
54+
DisplayOnScreen: true,
55+
GetDisabledReason: self.copyToClipboardEnabled,
6456
},
6557
}
6658

@@ -108,3 +100,23 @@ func (self *ConfirmationController) switchToSuggestions() {
108100
self.c.Views().Suggestions.Subtitle = subtitle
109101
self.c.Context().Replace(self.c.Contexts().Suggestions)
110102
}
103+
104+
func (self *ConfirmationController) handleCopyToClipboard() error {
105+
confirmationView := self.c.Views().Confirmation
106+
text := confirmationView.Buffer()
107+
if err := self.c.OS().CopyToClipboard(text); err != nil {
108+
return err
109+
}
110+
111+
self.c.Toast(self.c.Tr.MessageCopiedToClipboard)
112+
return nil
113+
}
114+
115+
func (self *ConfirmationController) copyToClipboardEnabled() *types.DisabledReason {
116+
if self.c.Views().Confirmation.Editable {
117+
// The empty text is intentional. We don't want to get a toast when invoking this, we only
118+
// want to prevent it from showing up in the options bar.
119+
return &types.DisabledReason{Text: ""}
120+
}
121+
return nil
122+
}

0 commit comments

Comments
 (0)