mirror of https://github.com/zlatinb/muwire
enable update and unsubscribe buttons
parent
011a4d5766
commit
82b0fa253c
|
@ -11,6 +11,7 @@ import net.i2p.data.Base64
|
|||
|
||||
import javax.annotation.Nonnull
|
||||
import javax.inject.Inject
|
||||
import javax.swing.JTable
|
||||
|
||||
import com.muwire.core.Constants
|
||||
import com.muwire.core.Core
|
||||
|
@ -25,6 +26,7 @@ import com.muwire.core.files.DirectoryUnsharedEvent
|
|||
import com.muwire.core.files.FileUnsharedEvent
|
||||
import com.muwire.core.search.QueryEvent
|
||||
import com.muwire.core.search.SearchEvent
|
||||
import com.muwire.core.trust.RemoteTrustList
|
||||
import com.muwire.core.trust.TrustEvent
|
||||
import com.muwire.core.trust.TrustLevel
|
||||
import com.muwire.core.trust.TrustSubscriptionEvent
|
||||
|
@ -223,6 +225,39 @@ class MainFrameController {
|
|||
core.eventBus.publish(new TrustSubscriptionEvent(persona : p, subscribe : true))
|
||||
}
|
||||
|
||||
@ControllerAction
|
||||
void review() {
|
||||
println "review action"
|
||||
}
|
||||
|
||||
@ControllerAction
|
||||
void update() {
|
||||
RemoteTrustList list = getSelectedTrustList()
|
||||
if (list == null)
|
||||
return
|
||||
core.eventBus.publish(new TrustSubscriptionEvent(persona : list.persona, subscribe : true))
|
||||
}
|
||||
|
||||
@ControllerAction
|
||||
void unsubscribe() {
|
||||
RemoteTrustList list = getSelectedTrustList()
|
||||
if (list == null)
|
||||
return
|
||||
core.muOptions.trustSubscriptions.remove(list.persona)
|
||||
saveMuWireSettings()
|
||||
model.subscriptions.remove(list)
|
||||
JTable table = builder.getVariable("subscription-table")
|
||||
table.model.fireTableDataChanged()
|
||||
core.eventBus.publish(new TrustSubscriptionEvent(persona : list.persona, subscribe : false))
|
||||
}
|
||||
|
||||
private RemoteTrustList getSelectedTrustList() {
|
||||
int row = view.getSelectedTrustTablesRow("subscription-table")
|
||||
if (row < 0)
|
||||
return null
|
||||
model.subscriptions[row]
|
||||
}
|
||||
|
||||
void unshareSelectedFile() {
|
||||
SharedFile sf = view.selectedSharedFile()
|
||||
if (sf == null)
|
||||
|
|
|
@ -76,6 +76,9 @@ class MainFrameModel {
|
|||
@Observable boolean retryButtonEnabled
|
||||
@Observable boolean pauseButtonEnabled
|
||||
@Observable String resumeButtonText
|
||||
@Observable boolean reviewButtonEnabled
|
||||
@Observable boolean updateButtonEnabled
|
||||
@Observable boolean unsubscribeButtonEnabled
|
||||
|
||||
private final Set<InfoHash> infoHashes = new HashSet<>()
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ import com.muwire.core.Constants
|
|||
import com.muwire.core.MuWireSettings
|
||||
import com.muwire.core.download.Downloader
|
||||
import com.muwire.core.files.FileSharedEvent
|
||||
import com.muwire.core.trust.RemoteTrustList
|
||||
|
||||
import java.awt.BorderLayout
|
||||
import java.awt.CardLayout
|
||||
|
@ -309,9 +310,9 @@ class MainFrameView {
|
|||
}
|
||||
}
|
||||
panel(constraints : BorderLayout.SOUTH) {
|
||||
button(text : "Review")
|
||||
button(text : "Update")
|
||||
button(text : "Unsubscribe")
|
||||
button(text : "Review", enabled : bind {model.reviewButtonEnabled}, reviewAction)
|
||||
button(text : "Update", enabled : bind {model.updateButtonEnabled}, updateAction)
|
||||
button(text : "Unsubscribe", enabled : bind {model.unsubscribeButtonEnabled}, unsubscribeAction)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -462,6 +463,33 @@ class MainFrameView {
|
|||
def subscriptionTable = builder.getVariable("subscription-table")
|
||||
subscriptionTable.rowSorter.addRowSorterListener({evt -> trustTablesSortEvents["subscription-table"] = evt})
|
||||
subscriptionTable.rowSorter.setSortsOnUpdates(true)
|
||||
selectionModel = subscriptionTable.getSelectionModel()
|
||||
selectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION)
|
||||
selectionModel.addListSelectionListener({
|
||||
int selectedRow = getSelectedTrustTablesRow("subscription-table")
|
||||
if (selectedRow < 0) {
|
||||
model.reviewButtonEnabled = false
|
||||
model.updateButtonEnabled = false
|
||||
model.unsubscribeButtonEnabled = false
|
||||
return
|
||||
}
|
||||
def trustList = model.subscriptions[selectedRow]
|
||||
if (trustList == null)
|
||||
return
|
||||
switch(trustList.status) {
|
||||
case RemoteTrustList.Status.NEW:
|
||||
case RemoteTrustList.Status.UPDATING:
|
||||
model.reviewButtonEnabled = false
|
||||
model.updateButtonEnabled = false
|
||||
model.unsubscribeButtonEnabled = false
|
||||
break
|
||||
case RemoteTrustList.Status.UPDATED:
|
||||
model.reviewButtonEnabled = true
|
||||
model.updateButtonEnabled = true
|
||||
model.unsubscribeButtonEnabled = true
|
||||
break
|
||||
}
|
||||
})
|
||||
|
||||
// trusted table
|
||||
def trustedTable = builder.getVariable("trusted-table")
|
||||
|
|
Loading…
Reference in New Issue