mirror of
https://github.com/monero-project/monero-gui.git
synced 2024-12-23 20:20:02 +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 {
|
||||
anchors.fill: parent
|
||||
anchors.margins: 2
|
||||
anchors.topMargin: 0
|
||||
anchors.topMargin: appWindow.persistentSettings.customDecorations ? 30 : 0
|
||||
spacing: 0
|
||||
|
||||
|
||||
|
@ -185,7 +185,7 @@ Rectangle {
|
|||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.verticalCenterOffset: -5
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 40
|
||||
anchors.leftMargin: appWindow.persistentSettings.customDecorations ? 20 : 40
|
||||
source: "images/moneroLogo2.png"
|
||||
}
|
||||
|
||||
|
|
|
@ -35,19 +35,36 @@ Rectangle {
|
|||
property int mouseX: 0
|
||||
property bool containsMouse: false
|
||||
property alias basicButtonVisible: goToBasicVersionButton.visible
|
||||
property bool customDecorations: true
|
||||
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 {
|
||||
id: goToBasicVersionButton
|
||||
property bool containsMouse: titleBar.mouseX >= x && titleBar.mouseX <= x + width
|
||||
property bool checked: false
|
||||
anchors.top: parent.top
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
color: containsMouse || checked ? "#FFE00A" : "#000000"
|
||||
width: parent.width
|
||||
height: parent.height
|
||||
height: 30
|
||||
width: height
|
||||
|
||||
Image {
|
||||
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
|
||||
height: maxWindowHeight;
|
||||
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
|
||||
|
||||
|
||||
|
@ -669,6 +669,7 @@ ApplicationWindow {
|
|||
property string payment_id
|
||||
property int restore_height : 0
|
||||
property bool is_recovering : false
|
||||
property bool customDecorations : true
|
||||
}
|
||||
|
||||
// Information dialog
|
||||
|
@ -757,8 +758,11 @@ ApplicationWindow {
|
|||
PropertyChanges { target: appWindow; width: 930; }
|
||||
PropertyChanges { target: appWindow; height: 595; }
|
||||
PropertyChanges { target: resizeArea; visible: false }
|
||||
PropertyChanges { target: titleBar; maximizeButtonVisible: false }
|
||||
PropertyChanges { target: frameArea; blocked: true }
|
||||
PropertyChanges { target: titleBar; visible: false }
|
||||
PropertyChanges { target: titleBar; y: 0 }
|
||||
PropertyChanges { target: titleBar; title: qsTr("Program setup wizard") + translationManager.emptyString }
|
||||
}, State {
|
||||
name: "normal"
|
||||
PropertyChanges { target: leftPanel; visible: true }
|
||||
|
@ -769,8 +773,11 @@ ApplicationWindow {
|
|||
PropertyChanges { target: appWindow; width: rightPanelExpanded ? 1269 : 1269 - 300; }
|
||||
PropertyChanges { target: appWindow; height: maxWindowHeight; }
|
||||
PropertyChanges { target: resizeArea; visible: true }
|
||||
PropertyChanges { target: titleBar; maximizeButtonVisible: true }
|
||||
PropertyChanges { target: frameArea; blocked: false }
|
||||
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"
|
||||
value: Window.Windowed
|
||||
}
|
||||
PropertyAction {
|
||||
target: titleBar
|
||||
properties: "maximizeButtonVisible"
|
||||
value: false
|
||||
}
|
||||
PropertyAction {
|
||||
target: frameArea
|
||||
properties: "blocked"
|
||||
|
@ -926,6 +938,11 @@ ApplicationWindow {
|
|||
properties: "blocked"
|
||||
value: false
|
||||
}
|
||||
PropertyAction {
|
||||
target: titleBar
|
||||
properties: "maximizeButtonVisible"
|
||||
value: true
|
||||
}
|
||||
}
|
||||
|
||||
WizardMain {
|
||||
|
@ -988,10 +1005,11 @@ ApplicationWindow {
|
|||
|
||||
TitleBar {
|
||||
id: titleBar
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
x: 0
|
||||
y: 0
|
||||
width: 30
|
||||
height: 30
|
||||
customDecorations: persistentSettings.customDecorations
|
||||
onGoToBasicVersion: {
|
||||
if (yes) {
|
||||
// basicPanel.currentView = middlePanel.currentView
|
||||
|
@ -1001,6 +1019,25 @@ ApplicationWindow {
|
|||
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
|
||||
|
|
Loading…
Reference in a new issue