mirror of
https://github.com/monero-project/monero-gui.git
synced 2024-11-17 08:17:59 +00:00
Make the custom decorations optional
A number of people actually like those, so be nice to them. The size change icons still don't work, but that's not my problem :)
This commit is contained in:
parent
55f4858a40
commit
eff8bdedc4
3 changed files with 157 additions and 9 deletions
|
@ -166,7 +166,7 @@ Rectangle {
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
anchors.margins: 2
|
anchors.margins: 2
|
||||||
anchors.topMargin: 0
|
anchors.topMargin: appWindow.persistentSettings.customDecorations ? 30 : 0
|
||||||
spacing: 0
|
spacing: 0
|
||||||
|
|
||||||
|
|
||||||
|
@ -185,7 +185,7 @@ Rectangle {
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
anchors.verticalCenterOffset: -5
|
anchors.verticalCenterOffset: -5
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.leftMargin: 40
|
anchors.leftMargin: appWindow.persistentSettings.customDecorations ? 20 : 40
|
||||||
source: "images/moneroLogo2.png"
|
source: "images/moneroLogo2.png"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,19 +35,36 @@ Rectangle {
|
||||||
property int mouseX: 0
|
property int mouseX: 0
|
||||||
property bool containsMouse: false
|
property bool containsMouse: false
|
||||||
property alias basicButtonVisible: goToBasicVersionButton.visible
|
property alias basicButtonVisible: goToBasicVersionButton.visible
|
||||||
|
property bool customDecorations: true
|
||||||
signal goToBasicVersion(bool yes)
|
signal goToBasicVersion(bool yes)
|
||||||
|
height: customDecorations ? 30 : 0
|
||||||
|
y: -height
|
||||||
|
property string title
|
||||||
|
property alias maximizeButtonVisible: maximizeButton.visible
|
||||||
|
|
||||||
|
Text {
|
||||||
|
anchors.centerIn: parent
|
||||||
|
font.family: "Arial"
|
||||||
|
font.pixelSize: 15
|
||||||
|
font.letterSpacing: -1
|
||||||
|
color: "#FFFFFF"
|
||||||
|
text: titleBar.title
|
||||||
|
visible: customDecorations
|
||||||
|
}
|
||||||
|
|
||||||
|
Behavior on y {
|
||||||
|
NumberAnimation { duration: 100; easing.type: Easing.InQuad }
|
||||||
|
}
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: goToBasicVersionButton
|
id: goToBasicVersionButton
|
||||||
property bool containsMouse: titleBar.mouseX >= x && titleBar.mouseX <= x + width
|
property bool containsMouse: titleBar.mouseX >= x && titleBar.mouseX <= x + width
|
||||||
property bool checked: false
|
property bool checked: false
|
||||||
anchors.top: parent.top
|
anchors.top: parent.top
|
||||||
anchors.bottom: parent.bottom
|
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.right: parent.right
|
|
||||||
color: containsMouse || checked ? "#FFE00A" : "#000000"
|
color: containsMouse || checked ? "#FFE00A" : "#000000"
|
||||||
width: parent.width
|
height: 30
|
||||||
height: parent.height
|
width: height
|
||||||
|
|
||||||
Image {
|
Image {
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
|
@ -64,4 +81,98 @@ Rectangle {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Row {
|
||||||
|
id: row
|
||||||
|
anchors.right: parent.right
|
||||||
|
anchors.top: parent.top
|
||||||
|
anchors.bottom: parent.bottom
|
||||||
|
visible: parent.customDecorations
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
property bool containsMouse: titleBar.mouseX >= x + row.x && titleBar.mouseX <= x + row.x + width && titleBar.containsMouse
|
||||||
|
anchors.top: parent.top
|
||||||
|
anchors.bottom: parent.bottom
|
||||||
|
width: height
|
||||||
|
color: containsMouse ? "#6B0072" : "#000000"
|
||||||
|
|
||||||
|
Image {
|
||||||
|
anchors.centerIn: parent
|
||||||
|
source: "../images/helpIcon.png"
|
||||||
|
}
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
id: whatIsArea
|
||||||
|
anchors.fill: parent
|
||||||
|
onClicked: {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
property bool containsMouse: titleBar.mouseX >= x + row.x && titleBar.mouseX <= x + row.x + width && titleBar.containsMouse
|
||||||
|
anchors.top: parent.top
|
||||||
|
anchors.bottom: parent.bottom
|
||||||
|
width: height
|
||||||
|
color: containsMouse ? "#3665B3" : "#000000"
|
||||||
|
|
||||||
|
Image {
|
||||||
|
anchors.centerIn: parent
|
||||||
|
source: "../images/minimizeIcon.png"
|
||||||
|
}
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
id: minimizeArea
|
||||||
|
anchors.fill: parent
|
||||||
|
onClicked: {
|
||||||
|
appWindow.visibility = Window.Minimized
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
id: maximizeButton
|
||||||
|
property bool containsMouse: titleBar.mouseX >= x + row.x && titleBar.mouseX <= x + row.x + width && titleBar.containsMouse
|
||||||
|
anchors.top: parent.top
|
||||||
|
anchors.bottom: parent.bottom
|
||||||
|
width: height
|
||||||
|
color: containsMouse ? "#FF6C3C" : "#000000"
|
||||||
|
|
||||||
|
Image {
|
||||||
|
anchors.centerIn: parent
|
||||||
|
source: appWindow.visibility === Window.FullScreen ? "../images/backToWindowIcon.png" :
|
||||||
|
"../images/maximizeIcon.png"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
id: maximizeArea
|
||||||
|
anchors.fill: parent
|
||||||
|
onClicked: {
|
||||||
|
appWindow.visibility = appWindow.visibility !== Window.FullScreen ? Window.FullScreen :
|
||||||
|
Window.Windowed
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
property bool containsMouse: titleBar.mouseX >= x + row.x && titleBar.mouseX <= x + row.x + width && titleBar.containsMouse
|
||||||
|
anchors.top: parent.top
|
||||||
|
anchors.bottom: parent.bottom
|
||||||
|
width: height
|
||||||
|
color: containsMouse ? "#E04343" : "#000000"
|
||||||
|
|
||||||
|
Image {
|
||||||
|
anchors.centerIn: parent
|
||||||
|
source: "../images/closeIcon.png"
|
||||||
|
}
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
onClicked: appWindow.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
43
main.qml
43
main.qml
|
@ -625,7 +625,7 @@ ApplicationWindow {
|
||||||
width: rightPanelExpanded ? 1269 : 1269 - 300
|
width: rightPanelExpanded ? 1269 : 1269 - 300
|
||||||
height: maxWindowHeight;
|
height: maxWindowHeight;
|
||||||
color: "#FFFFFF"
|
color: "#FFFFFF"
|
||||||
flags: Qt.WindowSystemMenuHint | Qt.Window | Qt.WindowMinimizeButtonHint | Qt.WindowCloseButtonHint | Qt.WindowTitleHint | Qt.WindowMaximizeButtonHint
|
flags: persistentSettings.customDecorations ? (Qt.FramelessWindowHint | Qt.WindowSystemMenuHint | Qt.Window | Qt.WindowMinimizeButtonHint) : (Qt.WindowSystemMenuHint | Qt.Window | Qt.WindowMinimizeButtonHint | Qt.WindowCloseButtonHint | Qt.WindowTitleHint | Qt.WindowMaximizeButtonHint)
|
||||||
onWidthChanged: x -= 0
|
onWidthChanged: x -= 0
|
||||||
|
|
||||||
|
|
||||||
|
@ -669,6 +669,7 @@ ApplicationWindow {
|
||||||
property string payment_id
|
property string payment_id
|
||||||
property int restore_height : 0
|
property int restore_height : 0
|
||||||
property bool is_recovering : false
|
property bool is_recovering : false
|
||||||
|
property bool customDecorations : true
|
||||||
}
|
}
|
||||||
|
|
||||||
// Information dialog
|
// Information dialog
|
||||||
|
@ -757,8 +758,11 @@ ApplicationWindow {
|
||||||
PropertyChanges { target: appWindow; width: 930; }
|
PropertyChanges { target: appWindow; width: 930; }
|
||||||
PropertyChanges { target: appWindow; height: 595; }
|
PropertyChanges { target: appWindow; height: 595; }
|
||||||
PropertyChanges { target: resizeArea; visible: false }
|
PropertyChanges { target: resizeArea; visible: false }
|
||||||
|
PropertyChanges { target: titleBar; maximizeButtonVisible: false }
|
||||||
PropertyChanges { target: frameArea; blocked: true }
|
PropertyChanges { target: frameArea; blocked: true }
|
||||||
PropertyChanges { target: titleBar; visible: false }
|
PropertyChanges { target: titleBar; visible: false }
|
||||||
|
PropertyChanges { target: titleBar; y: 0 }
|
||||||
|
PropertyChanges { target: titleBar; title: qsTr("Program setup wizard") + translationManager.emptyString }
|
||||||
}, State {
|
}, State {
|
||||||
name: "normal"
|
name: "normal"
|
||||||
PropertyChanges { target: leftPanel; visible: true }
|
PropertyChanges { target: leftPanel; visible: true }
|
||||||
|
@ -769,8 +773,11 @@ ApplicationWindow {
|
||||||
PropertyChanges { target: appWindow; width: rightPanelExpanded ? 1269 : 1269 - 300; }
|
PropertyChanges { target: appWindow; width: rightPanelExpanded ? 1269 : 1269 - 300; }
|
||||||
PropertyChanges { target: appWindow; height: maxWindowHeight; }
|
PropertyChanges { target: appWindow; height: maxWindowHeight; }
|
||||||
PropertyChanges { target: resizeArea; visible: true }
|
PropertyChanges { target: resizeArea; visible: true }
|
||||||
|
PropertyChanges { target: titleBar; maximizeButtonVisible: true }
|
||||||
PropertyChanges { target: frameArea; blocked: false }
|
PropertyChanges { target: frameArea; blocked: false }
|
||||||
PropertyChanges { target: titleBar; visible: true }
|
PropertyChanges { target: titleBar; visible: true }
|
||||||
|
PropertyChanges { target: titleBar; y: 0 }
|
||||||
|
PropertyChanges { target: titleBar; title: qsTr("Monero") + translationManager.emptyString }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -838,6 +845,11 @@ ApplicationWindow {
|
||||||
properties: "visibility"
|
properties: "visibility"
|
||||||
value: Window.Windowed
|
value: Window.Windowed
|
||||||
}
|
}
|
||||||
|
PropertyAction {
|
||||||
|
target: titleBar
|
||||||
|
properties: "maximizeButtonVisible"
|
||||||
|
value: false
|
||||||
|
}
|
||||||
PropertyAction {
|
PropertyAction {
|
||||||
target: frameArea
|
target: frameArea
|
||||||
properties: "blocked"
|
properties: "blocked"
|
||||||
|
@ -926,6 +938,11 @@ ApplicationWindow {
|
||||||
properties: "blocked"
|
properties: "blocked"
|
||||||
value: false
|
value: false
|
||||||
}
|
}
|
||||||
|
PropertyAction {
|
||||||
|
target: titleBar
|
||||||
|
properties: "maximizeButtonVisible"
|
||||||
|
value: true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WizardMain {
|
WizardMain {
|
||||||
|
@ -988,10 +1005,11 @@ ApplicationWindow {
|
||||||
|
|
||||||
TitleBar {
|
TitleBar {
|
||||||
id: titleBar
|
id: titleBar
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.right: parent.right
|
||||||
x: 0
|
x: 0
|
||||||
y: 0
|
y: 0
|
||||||
width: 30
|
customDecorations: persistentSettings.customDecorations
|
||||||
height: 30
|
|
||||||
onGoToBasicVersion: {
|
onGoToBasicVersion: {
|
||||||
if (yes) {
|
if (yes) {
|
||||||
// basicPanel.currentView = middlePanel.currentView
|
// basicPanel.currentView = middlePanel.currentView
|
||||||
|
@ -1001,6 +1019,25 @@ ApplicationWindow {
|
||||||
goToProAnimation.start()
|
goToProAnimation.start()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
enabled: persistentSettings.customDecorations
|
||||||
|
property var previousPosition
|
||||||
|
anchors.fill: parent
|
||||||
|
propagateComposedEvents: true
|
||||||
|
onPressed: previousPosition = globalCursor.getPosition()
|
||||||
|
onPositionChanged: {
|
||||||
|
if (pressedButtons == Qt.LeftButton) {
|
||||||
|
var pos = globalCursor.getPosition()
|
||||||
|
var dx = pos.x - previousPosition.x
|
||||||
|
var dy = pos.y - previousPosition.y
|
||||||
|
|
||||||
|
appWindow.x += dx
|
||||||
|
appWindow.y += dy
|
||||||
|
previousPosition = pos
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// new ToolTip
|
// new ToolTip
|
||||||
|
|
Loading…
Reference in a new issue