Getting ready for AppImage downloading

This commit is contained in:
Belac Darkstorm
2017-04-08 20:06:50 -05:00
parent d7410bb88f
commit 01556c1eb0
6 changed files with 236 additions and 27 deletions
+8 -8
View File
@@ -19,6 +19,11 @@ const (
func downloadWine(parent *gtk.Window, cb chan bool) {
win, _ := gtk.WindowNew(gtk.WINDOW_TOPLEVEL)
win.SetTransientFor(parent)
win.SetDestroyWithParent(true)
win.Connect("destroy", func() {
parent.SetSensitive(true)
})
parent.SetSensitive(false)
spin, _ := gtk.SpinnerNew()
spin.Start()
txt, _ := gtk.LabelNew("Downloading Wine")
@@ -33,7 +38,7 @@ func downloadWine(parent *gtk.Window, cb chan bool) {
win.SetPosition(gtk.WIN_POS_CENTER_ON_PARENT)
win.ShowAll()
win.Show()
go func(win *gtk.Window) {
go func(win *gtk.Window, txt *gtk.Label) {
defer win.Close()
wineTar, err := os.Create("PortableApps/LinuxPACom/wine2.5.tar.bz2")
if err != nil {
@@ -41,7 +46,6 @@ func downloadWine(parent *gtk.Window, cb chan bool) {
cb <- false
return
}
wineTar.Chmod(0777)
defer wineTar.Close()
check := http.Client{
CheckRedirect: func(r *http.Request, via []*http.Request) error {
@@ -55,6 +59,7 @@ func downloadWine(parent *gtk.Window, cb chan bool) {
cb <- false
return
}
os.RemoveAll("PortableApps/LinuxPACom/Wine")
defer resp.Body.Close()
_, err = io.Copy(wineTar, resp.Body)
if err != nil {
@@ -63,14 +68,12 @@ func downloadWine(parent *gtk.Window, cb chan bool) {
return
}
txt.SetText("Extracting Wine")
os.RemoveAll("PortableApps/LinuxPACom/Wine")
err = archiver.TarBz2.Open("PortableApps/LinuxPACom/wine2.5.tar.bz2", "PortableApps/LinuxPACom/Wine")
if err != nil {
fmt.Println(err)
cb <- false
return
}
os.Remove("PortableApps/LinuxPACom/wine2.5.tar.bz2")
fil, err := os.Open("PortableApps/LinuxPACom/common.sh")
if err != nil {
fmt.Println(err)
@@ -83,19 +86,16 @@ func downloadWine(parent *gtk.Window, cb chan bool) {
cb <- false
return
}
fmt.Println("Hello")
if !strings.Contains(string(tmp), "export PATH=$PWD/PortableApps/LinuxPACom/Wine/wineversion/2.5/bin:$PATH") {
tmp = append(tmp, []byte("\nexport PATH=$PWD/PortableApps/LinuxPACom/Wine/wineversion/2.5/bin:$PATH")...)
ioutil.WriteFile("PortableApps/LinuxPACom/common.sh", tmp, 0777)
fmt.Println("Hello2")
if err != nil {
fmt.Println(err)
cb <- false
return
}
}
fmt.Println("HelloT")
cb <- true
return
}(win)
}(win, txt)
}