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:
moneromooo.monero 2016-12-09 21:23:43 +00:00
parent 55f4858a40
commit eff8bdedc4
3 changed files with 157 additions and 9 deletions

View file

@ -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"
} }

View file

@ -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();
}
}
}
} }

View file

@ -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