add right-click menu to trusted table

pull/34/head
Zlatin Balevsky 2019-11-13 19:33:34 +00:00
parent f7f4513109
commit d56f7c6184
3 changed files with 56 additions and 2 deletions

View File

@ -234,8 +234,11 @@ class MainFrameController {
int row = view.getSelectedTrustTablesRow(tableName)
if (row < 0)
return
String reason = null
if (level != TrustLevel.NEUTRAL)
reason = JOptionPane.showInputDialog("Enter reason (optional)")
builder.getVariable(tableName).model.fireTableDataChanged()
core.eventBus.publish(new TrustEvent(persona : list[row].persona, level : level))
core.eventBus.publish(new TrustEvent(persona : list[row].persona, level : level, reason : reason))
}
@ControllerAction
@ -322,6 +325,29 @@ class MainFrameController {
return null
model.subscriptions[row]
}
void browseFromTrusted() {
int row = view.getSelectedTrustTablesRow("trusted-table")
if (row < 0)
return
Persona p = model.trusted[row].persona
String groupId = p.getHumanReadableName() + "-browse"
def params = [:]
params['host'] = p
params['core'] = model.core
mvcGroup.createMVCGroup("browse",groupId,params)
}
void chatFromTrusted() {
int row = view.getSelectedTrustTablesRow("trusted-table")
if (row < 0)
return
Persona p = model.trusted[row].persona
startChat(p)
view.showChatWindow.call()
}
void unshareSelectedFile() {
def sf = view.selectedSharedFiles()

View File

@ -99,7 +99,7 @@ class SearchTabController {
if (sender == null)
return
String groupId = sender.getHumanReadableName()
String groupId = sender.getHumanReadableName() + "-browse"
Map<String,Object> params = new HashMap<>()
params['host'] = sender
params['core'] = core

View File

@ -777,6 +777,34 @@ class MainFrameView {
model.markNeutralFromTrustedButtonEnabled = true
}
})
JPopupMenu trustMenu = new JPopupMenu()
JMenuItem subscribeItem = new JMenuItem("Subscribe")
subscribeItem.addActionListener({mvcGroup.controller.subscribe()})
trustMenu.add(subscribeItem)
JMenuItem markNeutralItem = new JMenuItem("Mark Neutral")
markNeutralItem.addActionListener({mvcGroup.controller.markNeutralFromTrusted()})
trustMenu.add(markNeutralItem)
JMenuItem markDistrustedItem = new JMenuItem("Mark Distrusted")
markDistrustedItem.addActionListener({mvcGroup.controller.markDistrusted()})
trustMenu.add(markDistrustedItem)
JMenuItem browseItem = new JMenuItem("Browse")
browseItem.addActionListener({mvcGroup.controller.browseFromTrusted()})
trustMenu.add(browseItem)
JMenuItem chatItem = new JMenuItem("Chat")
chatItem.addActionListener({mvcGroup.controller.chatFromTrusted()})
trustMenu.add(chatItem)
trustedTable.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
if (e.isPopupTrigger() || e.button == MouseEvent.BUTTON3)
showPopupMenu(trustMenu, e)
}
public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger() || e.button == MouseEvent.BUTTON3)
showPopupMenu(trustMenu, e)
}
})
// distrusted table
def distrustedTable = builder.getVariable("distrusted-table")