fix: code review

This commit is contained in:
Richard Ramos 2020-11-06 10:20:52 -04:00 committed by Iuri Matias
parent 61ad781065
commit 97c6abbb05
3 changed files with 47 additions and 70 deletions

View File

@ -23,6 +23,9 @@ QtObject:
proc fleetChanged*(self: Fleets, newFleet: string) {.signal.} proc fleetChanged*(self: Fleets, newFleet: string) {.signal.}
proc triggerFleetChange*(self: Fleets) {.slot.} =
self.fleetChanged($status_settings.getFleet())
proc setFleet*(self: Fleets, newFleet: string) {.slot.} = proc setFleet*(self: Fleets, newFleet: string) {.slot.} =
discard status_settings.saveSetting(Setting.Fleet, newFleet) discard status_settings.saveSetting(Setting.Fleet, newFleet)
let fleet = parseEnum[Fleet](newFleet) let fleet = parseEnum[Fleet](newFleet)

View File

@ -0,0 +1,38 @@
import QtQuick 2.13
import QtQuick.Controls 2.13
import QtQuick.Layouts 1.13
import "../../../../imports"
import "../../../../shared"
import "../../../../shared/status"
RowLayout {
property string fleetName: ""
property string newFleet: ""
ConfirmationDialog {
id: confirmDialog
title: qsTr("Warning!")
confirmationText: qsTr("Change fleet to %1").arg(newFleet)
onConfirmButtonClicked: profileModel.fleets.setFleet(newFleet)
onClosed: profileModel.fleets.triggerFleetChange()
}
width: parent.width
StyledText {
text: fleetName
font.pixelSize: 15
}
StatusRadioButton {
id: radioProd
Layout.alignment: Qt.AlignRight
ButtonGroup.group: fleetSettings
rightPadding: 0
checked: profileModel.fleets.fleet === fleetName
onClicked: {
if (profileModel.fleets.fleet === fleetName) return;
newFleet = fleetName;
confirmDialog.open();
}
}
}

View File

@ -16,82 +16,18 @@ ModalPopup {
spacing: Style.current.padding spacing: Style.current.padding
width: parent.width width: parent.width
ConfirmationDialog {
id: confirmDialog
title: qsTr("Warning!")
confirmationText: qsTr("Change fleet to %1").arg(newFleet)
onConfirmButtonClicked: profileModel.fleets.setFleet(newFleet)
onClosed: {
let currFleet = profileModel.fleets.fleet
radioProd.checked = currFleet == Constants.eth_prod
radioStaging.checked = currFleet == Constants.eth_staging
radioTest.checked = currFleet == Constants.eth_test
}
}
ButtonGroup { id: fleetSettings } ButtonGroup { id: fleetSettings }
RowLayout { FleetRadioSelector {
width: parent.width fleetName: Constants.eth_prod
StyledText {
text: Constants.eth_prod
font.pixelSize: 15
}
StatusRadioButton {
id: radioProd
Layout.alignment: Qt.AlignRight
ButtonGroup.group: fleetSettings
rightPadding: 0
checked: profileModel.fleets.fleet === Constants.eth_prod
onClicked: {
if (profileModel.fleets.fleet === Constants.eth_prod) return;
newFleet = Constants.eth_prod;
confirmDialog.open();
}
}
} }
RowLayout { FleetRadioSelector {
width: parent.width fleetName: Constants.eth_staging
StyledText {
text: Constants.eth_staging
font.pixelSize: 15
}
StatusRadioButton {
id: radioStaging
Layout.alignment: Qt.AlignRight
ButtonGroup.group: fleetSettings
rightPadding: 0
checked: profileModel.fleets.fleet === Constants.eth_staging
onClicked: {
if (profileModel.fleets.fleet === Constants.eth_staging) return;
newFleet = Constants.eth_staging;
confirmDialog.open();
}
}
} }
RowLayout { FleetRadioSelector {
width: parent.width fleetName: Constants.eth_test
StyledText {
text: Constants.eth_test
font.pixelSize: 15
}
StatusRadioButton {
id: radioTest
Layout.alignment: Qt.AlignRight
ButtonGroup.group: fleetSettings
rightPadding: 0
checked: profileModel.fleets.fleet === Constants.eth_test
onClicked: {
if (profileModel.fleets.fleet === Constants.eth_test) {
return;
}
newFleet = Constants.eth_test;
confirmDialog.open();
}
}
} }
} }
} }