package main import ( "os" "fiatjaf.com/nostr" "github.com/therecipe/qt/widgets" ) var ( currentSec nostr.SecretKey currentKeyer nostr.Keyer statusLabel *widgets.QLabel ) func main() { app := widgets.NewQApplication(len(os.Args), os.Args) window := widgets.NewQMainWindow(nil, 0) window.SetMinimumSize2(800, 600) window.SetWindowTitle("nakv") centralWidget := widgets.NewQWidget(nil, 0) window.SetCentralWidget(centralWidget) mainLayout := widgets.NewQVBoxLayout() centralWidget.SetLayout(mainLayout) // private key input secLabel := widgets.NewQLabel2("private key (hex or nsec):", nil, 0) mainLayout.AddWidget(secLabel, 0, 0) secEdit := widgets.NewQLineEdit(nil) mainLayout.AddWidget(secEdit, 0, 0) secEdit.ConnectTextChanged(func(text string) { if text == "" { currentSec = nostr.SecretKey{} currentKeyer = nil statusLabel.SetText("") return } sk, bunker, err := handleSecretKeyOrBunker(text) if err != nil { statusLabel.SetText(err.Error()) currentSec = nostr.SecretKey{} currentKeyer = nil return } currentSec = sk currentKeyer = bunker statusLabel.SetText("") updateEvent() }) tabWidget := widgets.NewQTabWidget(nil) eventTab := setupEventTab() reqTab := widgets.NewQWidget(nil, 0) tabWidget.AddTab(eventTab, "event") tabWidget.AddTab(reqTab, "req") mainLayout.AddWidget(tabWidget, 0, 0) statusLabel = widgets.NewQLabel2("", nil, 0) mainLayout.AddWidget(statusLabel, 0, 0) // initial render updateEvent() window.Show() app.Exec() }