mirror of
https://github.com/fiatjaf/vnak.git
synced 2026-10-05 15:38:23 +00:00
event: keep signature from populated event so it can be published from paste.
This commit is contained in:
@@ -25,6 +25,7 @@ type eventVars struct {
|
|||||||
relaysEdits []*qt.QLineEdit
|
relaysEdits []*qt.QLineEdit
|
||||||
relaysStatusLabels []*qt.QLabel
|
relaysStatusLabels []*qt.QLabel
|
||||||
currentEvent *nostr.Event
|
currentEvent *nostr.Event
|
||||||
|
sendButton *qt.QPushButton
|
||||||
}
|
}
|
||||||
|
|
||||||
func setupEventTab() *qt.QWidget {
|
func setupEventTab() *qt.QWidget {
|
||||||
@@ -101,9 +102,9 @@ func setupEventTab() *qt.QWidget {
|
|||||||
// send button
|
// send button
|
||||||
buttonHBox := qt.NewQHBoxLayout2()
|
buttonHBox := qt.NewQHBoxLayout2()
|
||||||
|
|
||||||
sendButton := qt.NewQPushButton5("publish event", event.tab)
|
event.sendButton = qt.NewQPushButton5("publish event", event.tab)
|
||||||
sendButton.SetEnabled(false)
|
event.sendButton.SetEnabled(false)
|
||||||
buttonHBox.AddWidget(sendButton.QWidget)
|
buttonHBox.AddWidget(event.sendButton.QWidget)
|
||||||
buttonHBox.AddStretch()
|
buttonHBox.AddStretch()
|
||||||
|
|
||||||
// relays
|
// relays
|
||||||
@@ -114,17 +115,6 @@ func setupEventTab() *qt.QWidget {
|
|||||||
layout.AddLayout(relaysVBox.QLayout)
|
layout.AddLayout(relaysVBox.QLayout)
|
||||||
event.relaysEdits = []*qt.QLineEdit{}
|
event.relaysEdits = []*qt.QLineEdit{}
|
||||||
event.relaysStatusLabels = []*qt.QLabel{}
|
event.relaysStatusLabels = []*qt.QLabel{}
|
||||||
var updateSendButton func()
|
|
||||||
updateSendButton = func() {
|
|
||||||
hasRelays := false
|
|
||||||
for _, edit := range event.relaysEdits {
|
|
||||||
if strings.TrimSpace(edit.Text()) != "" {
|
|
||||||
hasRelays = true
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
sendButton.SetEnabled(hasRelays)
|
|
||||||
}
|
|
||||||
|
|
||||||
var addRelayEdit func()
|
var addRelayEdit func()
|
||||||
addRelayEdit = func() {
|
addRelayEdit = func() {
|
||||||
@@ -156,17 +146,18 @@ func setupEventTab() *qt.QWidget {
|
|||||||
event.relaysStatusLabels = event.relaysStatusLabels[0 : n-1]
|
event.relaysStatusLabels = event.relaysStatusLabels[0 : n-1]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
updateSendButton()
|
|
||||||
|
event.updateSendButtonState()
|
||||||
})
|
})
|
||||||
edit.OnReturnPressed(func() {
|
edit.OnReturnPressed(func() {
|
||||||
sendButton.Click()
|
event.sendButton.Click()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
addRelayEdit()
|
addRelayEdit()
|
||||||
|
|
||||||
layout.AddLayout(buttonHBox.QLayout)
|
layout.AddLayout(buttonHBox.QLayout)
|
||||||
|
|
||||||
sendButton.OnClicked(func() {
|
event.sendButton.OnClicked(func() {
|
||||||
if event.currentEvent == nil {
|
if event.currentEvent == nil {
|
||||||
setStatus(tabs.event, "no event to publish")
|
setStatus(tabs.event, "no event to publish")
|
||||||
return
|
return
|
||||||
@@ -219,6 +210,17 @@ func setupEventTab() *qt.QWidget {
|
|||||||
return event.tab
|
return event.tab
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (event *eventVars) updateSendButtonState() {
|
||||||
|
hasRelays := false
|
||||||
|
for _, edit := range event.relaysEdits {
|
||||||
|
if strings.TrimSpace(edit.Text()) != "" {
|
||||||
|
hasRelays = true
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
event.sendButton.SetEnabled(hasRelays && event.currentEvent.Sig != [64]byte{})
|
||||||
|
}
|
||||||
|
|
||||||
func (event *eventVars) addTagRow(tag nostr.Tag) {
|
func (event *eventVars) addTagRow(tag nostr.Tag) {
|
||||||
hbox := qt.NewQHBoxLayout2()
|
hbox := qt.NewQHBoxLayout2()
|
||||||
event.tagRowHBoxes = append(event.tagRowHBoxes, hbox)
|
event.tagRowHBoxes = append(event.tagRowHBoxes, hbox)
|
||||||
@@ -313,17 +315,11 @@ func (event *eventVars) updateEvent() {
|
|||||||
Tags: tags,
|
Tags: tags,
|
||||||
}
|
}
|
||||||
|
|
||||||
finalize := func() {
|
|
||||||
event.currentEvent = &result
|
|
||||||
jsonBytes, _ := json.MarshalIndent(result, "", " ")
|
|
||||||
event.outputEdit.SetPlainText(string(jsonBytes))
|
|
||||||
}
|
|
||||||
|
|
||||||
if currentKeyer != nil {
|
if currentKeyer != nil {
|
||||||
signAndFinalize := func() {
|
signAndFinalize := func() {
|
||||||
if currentKeyer != nil {
|
if currentKeyer != nil {
|
||||||
if err := currentKeyer.SignEvent(ctx, &result); err == nil {
|
if err := currentKeyer.SignEvent(ctx, &result); err == nil {
|
||||||
finalize()
|
event.finalize(result)
|
||||||
} else {
|
} else {
|
||||||
setStatus(tabs.event, "failed to sign: "+err.Error())
|
setStatus(tabs.event, "failed to sign: "+err.Error())
|
||||||
}
|
}
|
||||||
@@ -344,7 +340,14 @@ func (event *eventVars) updateEvent() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
finalize()
|
event.finalize(result)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (event *eventVars) finalize(result nostr.Event) {
|
||||||
|
event.currentEvent = &result
|
||||||
|
jsonBytes, _ := json.MarshalIndent(result, "", " ")
|
||||||
|
event.outputEdit.SetPlainText(string(jsonBytes))
|
||||||
|
event.updateSendButtonState()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (event *eventVars) populate(evt nostr.Event) {
|
func (event *eventVars) populate(evt nostr.Event) {
|
||||||
@@ -374,5 +377,9 @@ func (event *eventVars) populate(evt nostr.Event) {
|
|||||||
event.addTagRow(tag)
|
event.addTagRow(tag)
|
||||||
}
|
}
|
||||||
|
|
||||||
event.updateEvent()
|
if evt.Sig != [64]byte{} {
|
||||||
|
event.finalize(evt)
|
||||||
|
} else {
|
||||||
|
event.updateEvent()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user