disable buttons if no row is selected
This commit is contained in:
@@ -49,7 +49,8 @@ class MainFrameController {
|
||||
def group = selected.getClientProperty("mvc-group")
|
||||
def table = selected.getClientProperty("results-table")
|
||||
int row = table.getSelectedRow()
|
||||
|
||||
if (row == -1)
|
||||
return
|
||||
group.model.results[row]
|
||||
}
|
||||
|
||||
|
@@ -37,11 +37,13 @@ class MainFrameModel {
|
||||
@Observable boolean coreInitialized = false
|
||||
|
||||
def results = new ConcurrentHashMap<>()
|
||||
@Observable def downloads = []
|
||||
@Observable def uploads = []
|
||||
@Observable def shared = []
|
||||
def downloads = []
|
||||
def uploads = []
|
||||
def shared = []
|
||||
|
||||
@Observable int connections
|
||||
@Observable String me
|
||||
@Observable boolean searchButtonsEnabled
|
||||
|
||||
private final Set<InfoHash> infoHashes = new HashSet<>()
|
||||
|
||||
|
@@ -69,9 +69,9 @@ class MainFrameView {
|
||||
borderLayout()
|
||||
tabbedPane(id : "result-tabs", constraints: BorderLayout.CENTER)
|
||||
panel(constraints : BorderLayout.SOUTH) {
|
||||
button(text : "Download", downloadAction)
|
||||
button(text : "Trust", trustAction)
|
||||
button(text : "Distrust", distrustAction)
|
||||
button(text : "Download", enabled : bind {model.searchButtonsEnabled}, downloadAction)
|
||||
button(text : "Trust", enabled: bind {model.searchButtonsEnabled }, trustAction)
|
||||
button(text : "Distrust", enabled : bind {model.searchButtonsEnabled}, distrustAction)
|
||||
}
|
||||
}
|
||||
panel (constraints : JSplitPane.BOTTOM) {
|
||||
|
@@ -4,6 +4,8 @@ import griffon.core.artifact.GriffonView
|
||||
import griffon.core.mvc.MVCGroup
|
||||
import griffon.inject.MVCMember
|
||||
import griffon.metadata.ArtifactProviderFor
|
||||
|
||||
import javax.swing.ListSelectionModel
|
||||
import javax.swing.SwingConstants
|
||||
|
||||
import java.awt.BorderLayout
|
||||
@@ -39,6 +41,12 @@ class SearchTabView {
|
||||
this.pane = pane
|
||||
this.pane.putClientProperty("mvc-group", mvcGroup)
|
||||
this.pane.putClientProperty("results-table",resultsTable)
|
||||
|
||||
def selectionModel = resultsTable.getSelectionModel()
|
||||
selectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION)
|
||||
selectionModel.addListSelectionListener( {
|
||||
mvcGroup.parentGroup.model.searchButtonsEnabled = true
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +74,7 @@ class SearchTabView {
|
||||
def closeTab = {
|
||||
int index = parent.indexOfTab(searchTerms)
|
||||
parent.removeTabAt(index)
|
||||
mvcGroup.parentGroup.model.searchButtonsEnabled = false
|
||||
mvcGroup.destroy()
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user