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