package de.unixwork.rssreader
import de.unixwork.ui.SubListItem
+import de.unixwork.ui.UiList
import de.unixwork.ui.UiString
+import de.unixwork.ui.UiText
import de.unixwork.ui.kotlin.Toplevel
import de.unixwork.ui.kotlin.sidebarWindow
import de.unixwork.ui.kotlin.dialogWindow
}
private fun createFeedDialog() {
+ var groups: UiList<FeedGroup>? = null
+ var name: UiString? = null
+ var urls: UiText? = null
+
val w = dialogWindow(
parent = window.ui,
title = "Add Feed",
+ defaultButton = 1,
lbutton1 = "Add",
rbutton4 = "Cancel",
modal = true,
showCloseButton = false,
onClick = { ev ->
+ if(ev.intValue == 1) {
+ val groupSel = groups?.selectedIndex
+ val feedName = name.toString()
+ val urlStr = urls.toString()
+ println("groupSel: $groupSel, feedName: $feedName, urlStr: $urlStr")
+ }
ev.`object`.close()
})
{
// data
- ui.list<FeedGroup>("groups").addAll(sourceList.groups)
+ groups = ui.list<FeedGroup>()
+ name = ui.string()
+ urls = ui.text()
+
+ groups.addAll(sourceList.groups)
// UI
grid(
{
row {
rlabel("Category")
- dropdown<FeedGroup>(varname = "groups", hexpand = true) { elm, column ->
+ dropdown<FeedGroup>(value = groups, hexpand = true) { elm, column ->
elm.name
}
}
row {
rlabel("Name")
- textfield(varname = "name", hexpand = true)
+ textfield(value = name, hexpand = true)
}
row {
rlabel("URLs", overrideDefaults = true, hfill = true) // overrideDefaults for disabling default vfill
- textarea(varname = "url", hexpand = true, vexpand = true, vfill = true)
+ textarea(value = urls, hexpand = true, vexpand = true, vfill = true)
}
}
}
val w = dialogWindow(
parent = window.ui,
title = "Add Category",
+ defaultButton = 1,
lbutton1 = "Add",
rbutton4 = "Cancel",
modal = true,
showCloseButton = false,
onClick = { ev ->
- val nameStr = name.toString()
- Database.newFeedGroup(nameStr)
+ if(ev.intValue == 1) {
+ val nameStr = name.toString()
+ if(!nameStr.isBlank()) {
+ Database.newFeedGroup(nameStr)
+ } else {
+ println("name is null or blank")
+ return@dialogWindow
+ }
+ }
ev.`object`.close()
})
{