Skip to content

Commit

Permalink
Create peer selection window
Browse files Browse the repository at this point in the history
  • Loading branch information
fabiocolacio committed Dec 8, 2018
1 parent 92ce478 commit e257bd2
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 0 deletions.
69 changes: 69 additions & 0 deletions gui/peer-selection-dialog.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
package gui

import(
"errors"
"github.com/gotk3/gotk3/gtk"
)

var(
ErrNoPeer = errors.New("No peer specified.")
)

func PeerDialogRun(parent *gtk.Window) (peer string, err error) {
dialog, err := gtk.DialogNew()
if err != nil {
return
}

dialog.SetTransientFor(parent)
dialog.SetModal(true)
dialog.SetTitle("Select Peer")
dialog.SetDefaultSize(300, 300)

if _, err = dialog.AddButton("Cancel", gtk.RESPONSE_CLOSE); err != nil {
return
}
if _, err = dialog.AddButton("Ok", gtk.RESPONSE_OK); err != nil {
return
}

dialog.SetDefaultResponse(gtk.RESPONSE_OK)

grid, err := gtk.GridNew()
if err != nil {
return
}

content, err := dialog.GetContentArea()
if err != nil {
return
}
content.PackStart(grid, true, true, 0)

label, err := gtk.LabelNew("Peer: ")
if err != nil {
return
}
grid.Attach(label, 0, 0, 1, 1)

peerEntry, err := gtk.EntryNew()
if err != nil {
return
}
grid.AttachNextTo(peerEntry, label, gtk.POS_RIGHT, 1, 1)

grid.ShowAll()

status := dialog.Run()
defer dialog.Destroy()
if status != gtk.RESPONSE_OK {
return peer, ErrNoPeer
}

peer, err = peerEntry.GetText()
if err != nil {
return
}

return
}
7 changes: 7 additions & 0 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,13 @@ func main() {

log.Println(sess.Uid)

peer, err := gui.PeerDialogRun(ui.Window)
if err != nil {
log.Fatal(err)
}

log.Println(peer)

_, x, y, err := elliptic.GenerateKey(crypto.Curve, rand.Reader)
if err != nil {
log.Fatal(err)
Expand Down

0 comments on commit e257bd2

Please sign in to comment.