mirror of https://github.com/zlatinb/muwire
unshare individual file
parent
f5293d65dd
commit
7c04c0f83c
|
@ -14,12 +14,14 @@ import javax.inject.Inject
|
||||||
|
|
||||||
import com.muwire.core.Constants
|
import com.muwire.core.Constants
|
||||||
import com.muwire.core.Core
|
import com.muwire.core.Core
|
||||||
|
import com.muwire.core.SharedFile
|
||||||
import com.muwire.core.download.DownloadStartedEvent
|
import com.muwire.core.download.DownloadStartedEvent
|
||||||
import com.muwire.core.download.UIDownloadCancelledEvent
|
import com.muwire.core.download.UIDownloadCancelledEvent
|
||||||
import com.muwire.core.download.UIDownloadEvent
|
import com.muwire.core.download.UIDownloadEvent
|
||||||
import com.muwire.core.download.UIDownloadPausedEvent
|
import com.muwire.core.download.UIDownloadPausedEvent
|
||||||
import com.muwire.core.download.UIDownloadResumedEvent
|
import com.muwire.core.download.UIDownloadResumedEvent
|
||||||
import com.muwire.core.files.DirectoryUnsharedEvent
|
import com.muwire.core.files.DirectoryUnsharedEvent
|
||||||
|
import com.muwire.core.files.FileUnsharedEvent
|
||||||
import com.muwire.core.search.QueryEvent
|
import com.muwire.core.search.QueryEvent
|
||||||
import com.muwire.core.search.SearchEvent
|
import com.muwire.core.search.SearchEvent
|
||||||
import com.muwire.core.trust.TrustEvent
|
import com.muwire.core.trust.TrustEvent
|
||||||
|
@ -33,6 +35,8 @@ class MainFrameController {
|
||||||
|
|
||||||
@MVCMember @Nonnull
|
@MVCMember @Nonnull
|
||||||
MainFrameModel model
|
MainFrameModel model
|
||||||
|
@MVCMember @Nonnull
|
||||||
|
MainFrameView view
|
||||||
|
|
||||||
private volatile Core core
|
private volatile Core core
|
||||||
|
|
||||||
|
@ -206,8 +210,11 @@ class MainFrameController {
|
||||||
markTrust("trusted-table", TrustLevel.NEUTRAL, model.trusted)
|
markTrust("trusted-table", TrustLevel.NEUTRAL, model.trusted)
|
||||||
}
|
}
|
||||||
|
|
||||||
void unshareSelectedFiles() {
|
void unshareSelectedFile() {
|
||||||
println "unsharing selected files"
|
SharedFile sf = view.selectedSharedFile()
|
||||||
|
if (sf == null)
|
||||||
|
return
|
||||||
|
core.eventBus.publish(new FileUnsharedEvent(unsharedFile : sf))
|
||||||
}
|
}
|
||||||
|
|
||||||
void stopWatchingDirectory() {
|
void stopWatchingDirectory() {
|
||||||
|
|
|
@ -367,11 +367,12 @@ class MainFrameView {
|
||||||
sharedFilesTable.rowSorter.setSortsOnUpdates(true)
|
sharedFilesTable.rowSorter.setSortsOnUpdates(true)
|
||||||
|
|
||||||
JPopupMenu sharedFilesMenu = new JPopupMenu()
|
JPopupMenu sharedFilesMenu = new JPopupMenu()
|
||||||
// JMenuItem unshareSelectedFiles = new JMenuItem("Unshare selected files")
|
|
||||||
// unshareSelectedFiles.addActionListener({mvcGroup.controller.unshareSelectedFiles()})
|
|
||||||
JMenuItem copyHashToClipboard = new JMenuItem("Copy hash to clipboard")
|
JMenuItem copyHashToClipboard = new JMenuItem("Copy hash to clipboard")
|
||||||
copyHashToClipboard.addActionListener({mvcGroup.view.copyHashToClipboard(sharedFilesTable)})
|
copyHashToClipboard.addActionListener({mvcGroup.view.copyHashToClipboard()})
|
||||||
sharedFilesMenu.add(copyHashToClipboard)
|
sharedFilesMenu.add(copyHashToClipboard)
|
||||||
|
JMenuItem unshareSelectedFiles = new JMenuItem("Unshare selected files")
|
||||||
|
unshareSelectedFiles.addActionListener({mvcGroup.controller.unshareSelectedFile()})
|
||||||
|
sharedFilesMenu.add(unshareSelectedFiles)
|
||||||
sharedFilesTable.addMouseListener(new MouseAdapter() {
|
sharedFilesTable.addMouseListener(new MouseAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void mouseReleased(MouseEvent e) {
|
public void mouseReleased(MouseEvent e) {
|
||||||
|
@ -431,13 +432,21 @@ class MainFrameView {
|
||||||
menu.show(event.getComponent(), event.getX(), event.getY())
|
menu.show(event.getComponent(), event.getX(), event.getY())
|
||||||
}
|
}
|
||||||
|
|
||||||
def copyHashToClipboard(JTable sharedFilesTable) {
|
def selectedSharedFile() {
|
||||||
|
def sharedFilesTable = builder.getVariable("shared-files-table")
|
||||||
int selected = sharedFilesTable.getSelectedRow()
|
int selected = sharedFilesTable.getSelectedRow()
|
||||||
if (selected < 0)
|
if (selected < 0)
|
||||||
return
|
return null
|
||||||
if (lastSharedSortEvent != null)
|
if (lastSharedSortEvent != null)
|
||||||
selected = sharedFilesTable.rowSorter.convertRowIndexToModel(selected)
|
selected = sharedFilesTable.rowSorter.convertRowIndexToModel(selected)
|
||||||
String root = Base64.encode(model.shared[selected].infoHash.getRoot())
|
model.shared[selected]
|
||||||
|
}
|
||||||
|
|
||||||
|
def copyHashToClipboard() {
|
||||||
|
def selected = selectedSharedFile()
|
||||||
|
if (selected == null)
|
||||||
|
return
|
||||||
|
String root = Base64.encode(selected.infoHash.getRoot())
|
||||||
StringSelection selection = new StringSelection(root)
|
StringSelection selection = new StringSelection(root)
|
||||||
def clipboard = Toolkit.getDefaultToolkit().getSystemClipboard()
|
def clipboard = Toolkit.getDefaultToolkit().getSystemClipboard()
|
||||||
clipboard.setContents(selection, null)
|
clipboard.setContents(selection, null)
|
||||||
|
|
Loading…
Reference in New Issue