Browse Source

Add menu items for each vehicle

master
Gregory Rudolph 3 years ago
parent
commit
9a0743a77f
Signed by: rudi
GPG Key ID: EF64F3CBD1A1EBDD
  1. 54
      updateValues.go

54
updateValues.go

@ -2,9 +2,16 @@ package main @@ -2,9 +2,16 @@ package main
import (
"fmt"
"io"
"net/http"
"os"
"strconv"
"strings"
"time"
"github.com/therecipe/qt/core"
"github.com/therecipe/qt/gui"
"github.com/therecipe/qt/widgets"
)
func setValues() {
@ -39,7 +46,11 @@ func setValues() { @@ -39,7 +46,11 @@ func setValues() {
if chargeStats.ChargingState == "Charging" {
chargeTimer := time.Duration(chargeStats.MinutesToFullCharge) * time.Minute
window.TimeToChargeLabel.SetText("Charging Complete In")
window.TimeToChargeVal.SetText(fmt.Sprintf("%+v (%+v)", formatDuration(chargeTimer), time.Now().Add(chargeTimer).Format("15:04")))
if guiSettings.Gui24HourTime {
window.TimeToChargeVal.SetText(fmt.Sprintf("%+v (%+v)", formatDuration(chargeTimer), time.Now().Add(chargeTimer).Format("15:04")))
} else {
window.TimeToChargeVal.SetText(fmt.Sprintf("%+v (%+v)", formatDuration(chargeTimer), time.Now().Add(chargeTimer).Format(time.Kitchen)))
}
if chargeStats.FastChargerBrand == "Tesla" {
window.ChargingStateValue.SetText("Supercharging")
}
@ -69,5 +80,44 @@ func setValues() { @@ -69,5 +80,44 @@ func setValues() {
}
window.ClimateOnCheckbox.SetCheckable(true)
window.ClimateSettingSpinbox.SetReadOnly(false)
fmt.Printf("%+v\n", vehicle.OptionCodes)
go func() {
client := getTeslaClient()
vehicles, _ := client.Vehicles()
for _, v := range vehicles {
a := window.MenuVehicles.AddAction(v.DisplayName)
a.ConnectTriggered(func(checked bool) {
vehicleSearch = v.Vin
go setValues()
})
}
}()
}
func generateVehicleImgURL() {
var model string = "m3"
var color string = "PMNG"
var wheels string = "W38B"
window.VehiclePreviewView.Hide()
url := fmt.Sprintf("https://static-assets.tesla.com/configurator/compositor/?model=%+v&options=%+v,%+v&bkba_opt=1&view=STUD_3QTR&size=1318", model, color, wheels)
response, e := http.Get(url)
if e != nil {
window.VehiclePreviewView.Hide()
}
defer response.Body.Close()
img := response.Body
file, err := os.Create("vehicle.png")
if err != nil {
window.VehiclePreviewView.Hide()
}
_, err = io.Copy(file, img)
if err != nil {
window.VehiclePreviewView.Hide()
}
window.VehiclePreviewView.SetMinimumWidth(window.Width())
window.VehiclePreviewView.VerticalScrollBar().Hide()
scene := widgets.NewQGraphicsScene(nil)
image := widgets.NewQGraphicsPixmapItem2(gui.NewQPixmap3("vehicle.png", "", core.Qt__AutoColor).Scaled2(window.Width(), int(float32(window.Height())*0.5), core.Qt__KeepAspectRatio, core.Qt__FastTransformation), nil)
scene.AddItem(image)
window.VehiclePreviewView.SetScene(scene)
window.VehiclePreviewView.Show()
}

Loading…
Cancel
Save