fix copy-full-id from message table

pull/62/head
Zlatin Balevsky 2021-06-01 19:25:29 +01:00
parent 47e2c32877
commit 0fc5ca7141
No known key found for this signature in database
GPG Key ID: A72832072D525E41
3 changed files with 35 additions and 24 deletions

View File

@ -850,15 +850,6 @@ class MainFrameController {
CopyPasteSupport.copyToClipboard(te.persona.toBase64())
}
@ControllerAction
void copyIdFromMessage() {
int row = view.selectedMessageHeader()
if (row < 0)
return
MWMessageStatus status = model.messageHeaders.get(row)
CopyPasteSupport.copyToClipboard(status.message.sender.toBase64())
}
@ControllerAction
void copyIdFromFeed() {
Feed feed = view.selectedFeed()

View File

@ -55,6 +55,15 @@ class MessageFolderController {
mvcGroup.createMVCGroup("new-message", UUID.randomUUID().toString(), params)
}
@ControllerAction
void copyIdFromMessage() {
int []rows = view.selectedMessageHeaders()
if (rows.length != 1)
return
MWMessageStatus status = model.messageHeaders.get(rows[0])
CopyPasteSupport.copyToClipboard(status.message.sender.toBase64())
}
@ControllerAction
void messageDelete() {
int[] rows = view.selectedMessageHeaders()

View File

@ -216,27 +216,14 @@ class MessageFolderView {
})
JPopupMenu messagesMenu = new JPopupMenu()
JMenuItem replyMenuItem = new JMenuItem(trans("REPLY"))
replyMenuItem.addActionListener({controller.messageReply()})
messagesMenu.add(replyMenuItem)
JMenuItem replyAllMenuItem = new JMenuItem(trans("REPLY_ALL"))
replyAllMenuItem.addActionListener({controller.messageReplyAll()})
messagesMenu.add(replyAllMenuItem)
JMenuItem deleteMenuItem = new JMenuItem(trans("DELETE"))
deleteMenuItem.addActionListener({controller.messageDelete()})
messagesMenu.add(deleteMenuItem)
JMenuItem copyIdFromMessageItem = new JMenuItem(trans("COPY_FULL_ID"))
copyIdFromMessageItem.addActionListener({controller.copyIdFromMessage()})
messagesMenu.add(copyIdFromMessageItem)
messageHeaderTable.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
if (e.isPopupTrigger() || e.button == MouseEvent.BUTTON3)
showPopupMenu(messagesMenu, e)
showPopupMenu(buildMessagesMenu(), e)
}
public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger() || e.button == MouseEvent.BUTTON3)
showPopupMenu(messagesMenu, e)
showPopupMenu(buildMessagesMenu(), e)
}
})
@ -255,6 +242,30 @@ class MessageFolderView {
}
})
}
private JPopupMenu buildMessagesMenu() {
boolean singleSelected = selectedMessageHeaders().length == 1
JPopupMenu messagesMenu = new JPopupMenu()
if (singleSelected) {
JMenuItem replyMenuItem = new JMenuItem(trans("REPLY"))
replyMenuItem.addActionListener({ controller.messageReply() })
messagesMenu.add(replyMenuItem)
JMenuItem replyAllMenuItem = new JMenuItem(trans("REPLY_ALL"))
replyAllMenuItem.addActionListener({ controller.messageReplyAll() })
messagesMenu.add(replyAllMenuItem)
}
JMenuItem deleteMenuItem = new JMenuItem(trans("DELETE"))
deleteMenuItem.addActionListener({controller.messageDelete()})
messagesMenu.add(deleteMenuItem)
if (singleSelected) {
JMenuItem copyIdFromMessageItem = new JMenuItem(trans("COPY_FULL_ID"))
copyIdFromMessageItem.addActionListener({ controller.copyIdFromMessage() })
messagesMenu.add(copyIdFromMessageItem)
}
messagesMenu
}
private static void showPopupMenu(JPopupMenu menu, MouseEvent event) {
menu.show(event.getComponent(), event.getX(), event.getY())