var currentSublistIndex = -1
var currentFeedIndex = -1
- var buttonCurrentSublistIndex = -1
- var buttonCurrentFeedIndex = -1
-
val contextMenu = menuBuilder {
- menuItem("Reload") {
- if(buttonCurrentFeedIndex >= 0 && buttonCurrentSublistIndex >= 0) {
- val feed = sourceList.groups[buttonCurrentSublistIndex].feeds[buttonCurrentFeedIndex]
+ menuItem("Reload") { event ->
+ val evt = event.subListEventData
+ val feedIndex = evt.rowIndex
+ if(feedIndex >= 0 && evt.sublistIndex >= 0) {
+ val feed = sourceList.groups[evt.sublistIndex].feeds[feedIndex]
SyncJob({ Database.getCollectionFeeds(feed)}).sync() {
App.window?.reload()
}
}
- contextMenuReset()
}
- menuItem("Mark as read") {
- if(buttonCurrentFeedIndex >= 0 && buttonCurrentSublistIndex >= 0) {
+ menuItem("Mark as read") { event ->
+ val evt = event.subListEventData
+ val feedIndex = evt.rowIndex
+ if(feedIndex >= 0 && evt.sublistIndex >= 0) {
try {
- val feed = sourceList.groups[buttonCurrentSublistIndex].feeds[buttonCurrentFeedIndex]
+ val feed = sourceList.groups[evt.sublistIndex].feeds[feedIndex]
feed.unreadItemsCount = 0
feed.updateReadStatus(true)
- if(buttonCurrentSublistIndex == currentSublistIndex && buttonCurrentFeedIndex == currentFeedIndex) {
+ if(evt.sublistIndex == currentSublistIndex && feedIndex == currentFeedIndex) {
feedList.reloadCurrentFeed()
}
GlobalScope.launch(Dispatchers.IO) {
}
sourceList.feeds.update()
}
- contextMenuReset()
}
separator()
menuItem("Move Up") { event ->
val evt = event.subListEventData
sourceList.swapFeedCollections(evt.sublistIndex, evt.rowIndex, evt.rowIndex-1)
- contextMenuReset()
}
menuItem("Move Down") { event ->
val evt = event.subListEventData
sourceList.swapFeedCollections(evt.sublistIndex, evt.rowIndex, evt.rowIndex+1)
- contextMenuReset()
}
menuItem("Delete") {
- contextMenuReset()
}
separator()
menuItem("Settings") {
- contextMenuReset()
}
}
} catch (e: Exception) {
e.printStackTrace()
}
- },
- onButtonClick = { event ->
- val evt = event.subListEventData
- buttonCurrentSublistIndex = evt.sublistIndex
- buttonCurrentFeedIndex = evt.rowIndex
}
)
{ elm: FeedCollection?, i, sublist ->
window.ui.attach(feedList)
}
- fun contextMenuReset() {
- buttonCurrentFeedIndex = -1
- buttonCurrentSublistIndex = -1
- }
-
fun reload() {
sourceList.invalidateCache()
sourceList.reloadStatus()