Add menu items for each vehicle
This commit is contained in:
@ -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() {
|
||||
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() {
|
||||
}
|
||||
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()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user