mirror of
https://github.com/Xpl0itU/WiiUDownloader.git
synced 2025-06-06 09:41:18 -04:00
Fix selecting only 1 item
This commit is contained in:
parent
0d2507772e
commit
98c6eb923d
1 changed files with 46 additions and 40 deletions
|
@ -535,10 +535,17 @@ func (mw *MainWindow) isSelectionInQueue() bool {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
allTitlesInQueue := true
|
for i := uint(0); i < selectionSelected.Length(); i++ {
|
||||||
|
path, ok := selectionSelected.Nth(i).Data().(*gtk.TreePath)
|
||||||
|
if !ok {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
iter, err := treeModel.GetIter(path)
|
||||||
|
if err != nil {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
iter, _ := treeModel.GetIterFirst()
|
|
||||||
for iter != nil {
|
|
||||||
inQueueVal, err := treeModel.GetValue(iter, IN_QUEUE_COLUMN)
|
inQueueVal, err := treeModel.GetValue(iter, IN_QUEUE_COLUMN)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
continue
|
continue
|
||||||
|
@ -549,16 +556,11 @@ func (mw *MainWindow) isSelectionInQueue() bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
if !isInQueue.(bool) {
|
if !isInQueue.(bool) {
|
||||||
allTitlesInQueue = false
|
return false
|
||||||
break
|
|
||||||
}
|
|
||||||
|
|
||||||
if !storeRef.IterNext(iter) {
|
|
||||||
break
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return allTitlesInQueue
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
func (mw *MainWindow) onSelectionChanged() {
|
func (mw *MainWindow) onSelectionChanged() {
|
||||||
|
@ -634,7 +636,7 @@ func (mw *MainWindow) onAddToQueueClicked() {
|
||||||
addToQueue := !mw.isSelectionInQueue()
|
addToQueue := !mw.isSelectionInQueue()
|
||||||
|
|
||||||
selectionSelected := selection.GetSelectedRows(treeModel)
|
selectionSelected := selection.GetSelectedRows(treeModel)
|
||||||
if selectionSelected == nil {
|
if selectionSelected == nil || selectionSelected.Length() == 0 {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -646,55 +648,59 @@ func (mw *MainWindow) onAddToQueueClicked() {
|
||||||
|
|
||||||
iter, _ := treeModel.GetIterFirst()
|
iter, _ := treeModel.GetIterFirst()
|
||||||
for iter != nil {
|
for iter != nil {
|
||||||
inQueueVal, err := treeModel.GetValue(iter, IN_QUEUE_COLUMN)
|
isSelected := selection.IterIsSelected(iter)
|
||||||
if err != nil {
|
if isSelected {
|
||||||
continue
|
inQueueVal, err := treeModel.GetValue(iter, IN_QUEUE_COLUMN)
|
||||||
}
|
|
||||||
isInQueue, err := inQueueVal.GoValue()
|
|
||||||
if err != nil {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
if addToQueue != isInQueue.(bool) {
|
|
||||||
inQueue, err := treeModel.GetValue(iter, IN_QUEUE_COLUMN)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
inQueue.SetBool(addToQueue)
|
isInQueue, err := inQueueVal.GoValue()
|
||||||
tid, err := treeModel.GetValue(iter, TITLE_ID_COLUMN)
|
|
||||||
if err != nil {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
tidStr, err := tid.GetString()
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if addToQueue {
|
if addToQueue != isInQueue.(bool) {
|
||||||
name, err := treeModel.GetValue(iter, NAME_COLUMN)
|
inQueueVal.SetBool(addToQueue)
|
||||||
|
|
||||||
|
tid, err := treeModel.GetValue(iter, TITLE_ID_COLUMN)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
nameStr, err := name.GetString()
|
tidStr, err := tid.GetString()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
mw.addToQueue(tidStr, nameStr)
|
|
||||||
mw.addToQueueButton.SetLabel("Remove from queue")
|
|
||||||
name.Unset()
|
|
||||||
} else {
|
|
||||||
mw.removeFromQueue(tidStr)
|
|
||||||
mw.addToQueueButton.SetLabel("Add to queue")
|
|
||||||
}
|
|
||||||
|
|
||||||
storeRef.SetValue(iter, IN_QUEUE_COLUMN, addToQueue)
|
if addToQueue {
|
||||||
tid.Unset()
|
name, err := treeModel.GetValue(iter, NAME_COLUMN)
|
||||||
|
if err != nil {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
nameStr, err := name.GetString()
|
||||||
|
if err != nil {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
mw.addToQueue(tidStr, nameStr)
|
||||||
|
name.Unset()
|
||||||
|
} else {
|
||||||
|
mw.removeFromQueue(tidStr)
|
||||||
|
}
|
||||||
|
|
||||||
|
storeRef.SetValue(iter, IN_QUEUE_COLUMN, addToQueue)
|
||||||
|
tid.Unset()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if !storeRef.IterNext(iter) {
|
if !storeRef.IterNext(iter) {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if addToQueue {
|
||||||
|
mw.addToQueueButton.SetLabel("Remove from queue")
|
||||||
|
} else {
|
||||||
|
mw.addToQueueButton.SetLabel("Add to queue")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (mw *MainWindow) updateTitlesInQueue() {
|
func (mw *MainWindow) updateTitlesInQueue() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue