mirror of https://github.com/zlatinb/muwire
fix copy-full-id from message table
parent
47e2c32877
commit
0fc5ca7141
|
@ -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()
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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())
|
||||
|
|
Loading…
Reference in New Issue