mirror of
https://github.com/AynaLivePlayer/AynaLivePlayer.git
synced 2025-12-06 10:22:50 +08:00
fix source login using fyne.Do
This commit is contained in:
@@ -19,3 +19,8 @@ func RunInFyneThread(fn func()) {
|
|||||||
//fn()
|
//fn()
|
||||||
fyne.Do(fn)
|
fyne.Do(fn)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func RunInFyneThreadAndWait(fn func()) {
|
||||||
|
//fn()
|
||||||
|
fyne.DoAndWait(fn)
|
||||||
|
}
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ func (w *SourceLogin) Disable() error {
|
|||||||
if p, ok := miaosic.GetProvider(pname); ok {
|
if p, ok := miaosic.GetProvider(pname); ok {
|
||||||
pl, ok2 := p.(miaosic.Loginable)
|
pl, ok2 := p.(miaosic.Loginable)
|
||||||
if ok2 {
|
if ok2 {
|
||||||
w.log.Info("save session for %s", pname)
|
w.log.Infof("save session for %s", pname)
|
||||||
w.sessions[pname] = pl.SaveSession()
|
w.sessions[pname] = pl.SaveSession()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -129,7 +129,9 @@ func (w *SourceLogin) CreatePanel() fyne.CanvasObject {
|
|||||||
events.ErrorUpdateEvent{Error: err})
|
events.ErrorUpdateEvent{Error: err})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
currentUser.SetText(i18n.T("plugin.sourcelogin.current_user.notlogin"))
|
fyne.DoAndWait(func() {
|
||||||
|
currentUser.SetText(i18n.T("plugin.sourcelogin.current_user.notlogin"))
|
||||||
|
})
|
||||||
w.sessions[providerChoice.Selected] = ""
|
w.sessions[providerChoice.Selected] = ""
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
@@ -147,7 +149,9 @@ func (w *SourceLogin) CreatePanel() fyne.CanvasObject {
|
|||||||
if providerChoice.Selected == "" {
|
if providerChoice.Selected == "" {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
qrStatus.SetText("")
|
fyne.DoAndWait(func() {
|
||||||
|
qrStatus.SetText("")
|
||||||
|
})
|
||||||
w.log.Info("getting a new qr code for login")
|
w.log.Info("getting a new qr code for login")
|
||||||
pvdr, _ := miaosic.GetProvider(providerChoice.Selected)
|
pvdr, _ := miaosic.GetProvider(providerChoice.Selected)
|
||||||
provider := pvdr.(miaosic.Loginable)
|
provider := pvdr.(miaosic.Loginable)
|
||||||
@@ -165,9 +169,11 @@ func (w *SourceLogin) CreatePanel() fyne.CanvasObject {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
//w.log.Debug("create img from raw data")
|
//w.log.Debug("create img from raw data")
|
||||||
pic := canvas.NewImageFromReader(bytes.NewReader(data), "qrcode")
|
fyne.DoAndWait(func() {
|
||||||
qrcodeImg.Resource = pic.Resource
|
pic := canvas.NewImageFromReader(bytes.NewReader(data), "qrcode")
|
||||||
qrcodeImg.Refresh()
|
qrcodeImg.Resource = pic.Resource
|
||||||
|
qrcodeImg.Refresh()
|
||||||
|
})
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
finishQrBtn := component.NewAsyncButton(
|
finishQrBtn := component.NewAsyncButton(
|
||||||
@@ -189,12 +195,16 @@ func (w *SourceLogin) CreatePanel() fyne.CanvasObject {
|
|||||||
events.ErrorUpdateEvent{Error: err})
|
events.ErrorUpdateEvent{Error: err})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
qrStatus.SetText(result.Message)
|
fyne.DoAndWait(func() {
|
||||||
|
qrStatus.SetText(result.Message)
|
||||||
|
})
|
||||||
if result.Success {
|
if result.Success {
|
||||||
currentLoginSession = nil
|
currentLoginSession = nil
|
||||||
qrcodeImg.Resource = resource.ImageEmptyQrCode
|
fyne.DoAndWait(func() {
|
||||||
qrcodeImg.Refresh()
|
qrcodeImg.Resource = resource.ImageEmptyQrCode
|
||||||
providerChoice.OnChanged(currentProvider)
|
qrcodeImg.Refresh()
|
||||||
|
providerChoice.OnChanged(currentProvider)
|
||||||
|
})
|
||||||
w.sessions[currentProvider] = provider.SaveSession()
|
w.sessions[currentProvider] = provider.SaveSession()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user