mirror of
https://github.com/cmclark00/retro-imager.git
synced 2025-05-18 07:55:21 +01:00
- All of our red buttons were ImButton with the colours overridden at the use site. Instead make an ImButtonRed which defines these colours in one place. - Previously the red buttons had focus indicated by the text colour changing from white to blue. This was quite hard to see, instead change the button colour to blue (as is done for the white buttons). A darker shade of blue is used so that there is still good contrast with the white text. - Update the reds (buttons and main screen background) with the branding-approved red: the official colour palette says Pi Red is #cd2355
141 lines
3.4 KiB
QML
141 lines
3.4 KiB
QML
/*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
* Copyright (C) 2020 Raspberry Pi Ltd
|
|
*/
|
|
|
|
import QtQuick 2.9
|
|
import QtQuick.Controls 2.2
|
|
import QtQuick.Layouts 1.0
|
|
import QtQuick.Controls.Material 2.2
|
|
import "qmlcomponents"
|
|
|
|
Popup {
|
|
id: msgpopup
|
|
x: 75
|
|
y: (parent.height-height)/2
|
|
width: parent.width-150
|
|
height: msgpopupbody.implicitHeight+150
|
|
padding: 0
|
|
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutside
|
|
|
|
property alias title: msgpopupheader.text
|
|
property alias text: msgpopupbody.text
|
|
property bool continueButton: true
|
|
property bool quitButton: false
|
|
property bool yesButton: false
|
|
property bool noButton: false
|
|
signal yes()
|
|
signal no()
|
|
|
|
// background of title
|
|
Rectangle {
|
|
color: "#f5f5f5"
|
|
anchors.right: parent.right
|
|
anchors.top: parent.top
|
|
height: 35
|
|
width: parent.width
|
|
}
|
|
// line under title
|
|
Rectangle {
|
|
color: "#afafaf"
|
|
width: parent.width
|
|
y: 35
|
|
implicitHeight: 1
|
|
}
|
|
|
|
Text {
|
|
id: msgx
|
|
text: "X"
|
|
anchors.right: parent.right
|
|
anchors.top: parent.top
|
|
anchors.rightMargin: 25
|
|
anchors.topMargin: 10
|
|
font.family: roboto.name
|
|
font.bold: true
|
|
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
cursorShape: Qt.PointingHandCursor
|
|
onClicked: {
|
|
msgpopup.close()
|
|
}
|
|
}
|
|
}
|
|
|
|
ColumnLayout {
|
|
spacing: 20
|
|
anchors.fill: parent
|
|
|
|
Text {
|
|
id: msgpopupheader
|
|
horizontalAlignment: Text.AlignHCenter
|
|
verticalAlignment: Text.AlignVCenter
|
|
Layout.fillWidth: true
|
|
Layout.topMargin: 10
|
|
font.family: roboto.name
|
|
font.bold: true
|
|
}
|
|
|
|
Text {
|
|
id: msgpopupbody
|
|
font.pointSize: 12
|
|
wrapMode: Text.Wrap
|
|
textFormat: Text.StyledText
|
|
font.family: roboto.name
|
|
Layout.maximumWidth: msgpopup.width-50
|
|
Layout.fillHeight: true
|
|
Layout.leftMargin: 25
|
|
Layout.topMargin: 25
|
|
Accessible.name: text.replace(/<\/?[^>]+(>|$)/g, "")
|
|
}
|
|
|
|
RowLayout {
|
|
Layout.alignment: Qt.AlignCenter | Qt.AlignBottom
|
|
Layout.bottomMargin: 10
|
|
spacing: 20
|
|
|
|
ImButtonRed {
|
|
text: qsTr("NO")
|
|
onClicked: {
|
|
msgpopup.close()
|
|
msgpopup.no()
|
|
}
|
|
visible: msgpopup.noButton
|
|
}
|
|
|
|
ImButtonRed {
|
|
text: qsTr("YES")
|
|
onClicked: {
|
|
msgpopup.close()
|
|
msgpopup.yes()
|
|
}
|
|
visible: msgpopup.yesButton
|
|
}
|
|
|
|
ImButtonRed {
|
|
text: qsTr("CONTINUE")
|
|
onClicked: {
|
|
msgpopup.close()
|
|
}
|
|
visible: msgpopup.continueButton
|
|
}
|
|
|
|
ImButtonRed {
|
|
text: qsTr("QUIT")
|
|
onClicked: {
|
|
Qt.quit()
|
|
}
|
|
font.family: roboto.name
|
|
visible: msgpopup.quitButton
|
|
}
|
|
|
|
Text { text: " " }
|
|
}
|
|
}
|
|
|
|
function openPopup() {
|
|
open()
|
|
// trigger screen reader to speak out message
|
|
msgpopupbody.forceActiveFocus()
|
|
}
|
|
}
|