Compare commits

...

4 Commits

8 changed files with 70 additions and 40 deletions

View File

@ -16,8 +16,9 @@ RibbonWindow {
id: msg_bar id: msg_bar
implicitWidth: windowItems.width implicitWidth: windowItems.width
x: windowItems.x x: windowItems.x
y: titleBar.height + tab_bar.y + tab_bar.height - tab_bar.modernMargin + (RibbonTheme.modernStyle ? 5 : 0) y: titleBar.height + tab_bar.y + tab_bar.height - tab_bar.modernMargin + msg_bar.topMargin
target: windowItems target: windowItems
targetRect: Qt.rect(tab_bar.x,y,width,height)
Component.onCompleted: { Component.onCompleted: {
messageModel.append([{ messageModel.append([{
type: RibbonMessageBar.Info, type: RibbonMessageBar.Info,
@ -59,7 +60,6 @@ RibbonWindow {
externalURL: "https://github.com/mentalfl0w/RibbonUI", externalURL: "https://github.com/mentalfl0w/RibbonUI",
externalURLLabel: "Visit our website." externalURLLabel: "Visit our website."
}]) }])
messageBar.showMessage(RibbonMessageBar.Info, "test")
} }
} }
@ -157,7 +157,6 @@ RibbonWindow {
pageWidth: (page_slider.value / 100.0) * width pageWidth: (page_slider.value / 100.0) * width
spacing: 0 spacing: 0
isMainView: true isMainView: true
topBorderFix: msg_bar.folded ? msg_bar.barHeight : 0
ColumnLayout{ ColumnLayout{
Layout.alignment: Qt.AlignCenter Layout.alignment: Qt.AlignCenter
Layout.topMargin: 30 Layout.topMargin: 30

View File

@ -16,8 +16,9 @@ RibbonWindow {
id: msg_bar id: msg_bar
implicitWidth: windowItems.width implicitWidth: windowItems.width
x: windowItems.x x: windowItems.x
y: titleBar.height + tab_bar.y + tab_bar.height - tab_bar.modernMargin + (RibbonTheme.modernStyle ? 5 : 0) y: titleBar.height + tab_bar.y + tab_bar.height - tab_bar.modernMargin + msg_bar.topMargin
target: windowItems target: windowItems
targetRect: Qt.rect(tab_bar.x,y,width,height)
Component.onCompleted: { Component.onCompleted: {
messageModel.append([{ messageModel.append([{
type: RibbonMessageBar.Info, type: RibbonMessageBar.Info,
@ -59,7 +60,6 @@ RibbonWindow {
externalURL: "https://github.com/mentalfl0w/RibbonUI", externalURL: "https://github.com/mentalfl0w/RibbonUI",
externalURLLabel: "Visit our website." externalURLLabel: "Visit our website."
}]) }])
messageBar.showMessage(RibbonMessageBar.Info, "test")
} }
} }
@ -157,7 +157,6 @@ RibbonWindow {
pageWidth: (page_slider.value / 100.0) * width pageWidth: (page_slider.value / 100.0) * width
spacing: 0 spacing: 0
isMainView: true isMainView: true
topBorderFix: msg_bar.folded ? msg_bar.barHeight : 0
ColumnLayout{ ColumnLayout{
Layout.alignment: Qt.AlignCenter Layout.alignment: Qt.AlignCenter
Layout.topMargin: 30 Layout.topMargin: 30

View File

@ -19,7 +19,7 @@ RibbonRectangle {
id: effect id: effect
anchors.fill: parent anchors.fill: parent
sourceRect: control.targetRect sourceRect: control.targetRect
visible: !enableEffect visible: false
} }
GaussianBlur{ GaussianBlur{

View File

@ -7,9 +7,9 @@ RibbonBlur {
id: control id: control
parent: Overlay.overlay parent: Overlay.overlay
implicitWidth: parent.width implicitWidth: parent.width
useSolidBg: true
implicitHeight: 30 implicitHeight: 30
maskColor: folded ? "transparent" : RibbonTheme.isDarkMode ? Qt.rgba(0,0,0,1) : Qt.rgba(1,1,1,1) maskColor: folded && !handler.visible ? "transparent" : RibbonTheme.isDarkMode ? Qt.rgba(0,0,0,1) : Qt.rgba(1,1,1,1)
maskOpacity: 0
bottomLeftRadius: folded ? 0 : 5 bottomLeftRadius: folded ? 0 : 5
bottomRightRadius: bottomLeftRadius bottomRightRadius: bottomLeftRadius
enableEffect: handler.visible || !folded enableEffect: handler.visible || !folded
@ -17,10 +17,11 @@ RibbonBlur {
property int animationTime: 400 property int animationTime: 400
property real barHeight: implicitHeight - handler.height property real barHeight: implicitHeight - handler.height
property alias messageModel: messageModel property alias messageModel: messageModel
property real topMargin: RibbonTheme.modernStyle ? 5 : 0
Behavior on implicitHeight { Behavior on implicitHeight {
NumberAnimation { NumberAnimation {
duration: control.animationTime / 2 duration: control.animationTime
easing.type: Easing.OutSine easing.type: Easing.OutSine
} }
} }
@ -30,13 +31,13 @@ RibbonBlur {
onCountChanged: { onCountChanged: {
message_list.currentIndex = count ? count - 1 : 0 message_list.currentIndex = count ? count - 1 : 0
if(count === 0) if(count === 0)
folded_btn.checked = true clearMessages()
} }
} }
Timer{ Timer{
id: auto_scroll_btn_timer id: auto_scroll_btn_timer
interval: control.animationTime interval: control.animationTime * 2
repeat: false repeat: false
onTriggered: { onTriggered: {
message_list.positionViewAtIndex(message_list.currentIndex, ListView.Center) message_list.positionViewAtIndex(message_list.currentIndex, ListView.Center)
@ -119,7 +120,7 @@ RibbonBlur {
NumberAnimation { NumberAnimation {
properties: "y" properties: "y"
from: message_list.height from: message_list.height
duration: control.animationTime / 2 duration: control.animationTime
} }
} }
remove: Transition { remove: Transition {
@ -127,7 +128,7 @@ RibbonBlur {
property: "opacity" property: "opacity"
from: 1 from: 1
to: 0 to: 0
duration: control.animationTime / 2 duration: control.animationTime
} }
} }
ScrollBar.vertical: RibbonScrollBar { ScrollBar.vertical: RibbonScrollBar {
@ -140,7 +141,7 @@ RibbonBlur {
} }
Behavior on height { Behavior on height {
NumberAnimation { NumberAnimation {
duration: control.animationTime / 2 duration: control.animationTime
easing.type: Easing.OutSine easing.type: Easing.OutSine
} }
} }
@ -154,17 +155,13 @@ RibbonBlur {
id: handler id: handler
x: message_list.x + (message_list.width - width) / 2 x: message_list.x + (message_list.width - width) / 2
y: message_list.y + message_list.height * (folded ? 1 : 0) y: message_list.y + message_list.height * (folded ? 1 : 0)
implicitHeight: 20 implicitHeight: folded ? 10 : 20
implicitWidth: parent.width implicitWidth: parent.width
topLeftRadius: folded ? 0 : 10
topRightRadius: topLeftRadius
bottomLeftRadius: folded ? 10 : 0
bottomRightRadius: bottomLeftRadius
visible: hover.hovered && messageModel.count visible: hover.hovered && messageModel.count
color: RibbonTheme.isDarkMode ? Qt.rgba(0,0,0,0.5) : Qt.rgba(1,1,1,0.5) color: RibbonTheme.isDarkMode ? Qt.rgba(0,0,0,0.5) : Qt.rgba(1,1,1,0.5)
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: control.animationTime / 2 duration: control.animationTime
easing.type: Easing.OutSine easing.type: Easing.OutSine
} }
} }
@ -176,6 +173,7 @@ RibbonBlur {
showBg: false showBg: false
showHoveredBg: false showHoveredBg: false
iconSource: RibbonIcons.DismissCircle iconSource: RibbonIcons.DismissCircle
ribbonIcon.iconSize: handler.implicitHeight - 2
tipText: qsTr("Clear All") tipText: qsTr("Clear All")
onClicked: clearMessages() onClicked: clearMessages()
visible: !folded visible: !folded
@ -186,6 +184,7 @@ RibbonBlur {
checkable: true checkable: true
showBg: false showBg: false
showHoveredBg: false showHoveredBg: false
ribbonIcon.iconSize: handler.implicitHeight - 2
iconSource: RibbonIcons.TriangleDown iconSource: RibbonIcons.TriangleDown
rotation: checked ? 0 : 180 rotation: checked ? 0 : 180
checked: true checked: true
@ -241,6 +240,7 @@ RibbonBlur {
} }
function clearMessages(){ function clearMessages(){
folded_btn.checked = true
messageModel.clear() messageModel.clear()
implicitHeight = 0 implicitHeight = 0
barHeight = 0 barHeight = 0

View File

@ -34,7 +34,16 @@ Item {
right: parent.right right: parent.right
top: parent.top top: parent.top
} }
height: (isMainView ? Window.window ? Window.window.tabBar ? Math.abs(Window.window.tabBar.height - Window.window.tabBar.modernMargin) : 0 : 0 : 0) + topBorderFix height: {
var w = topBorderFix
if(isMainView && Window.window){
if(Window.window.tabBar)
w += Math.abs(Window.window.tabBar.height - Window.window.tabBar.modernMargin)
if(Window.window.messageBar)
w += (Window.window.messageBar.folded ? Window.window.messageBar.barHeight + Window.window.messageBar.topMargin : 0)
}
return w
}
} }
Item{ Item{
@ -62,7 +71,14 @@ Item {
right: parent.right right: parent.right
bottom: parent.bottom bottom: parent.bottom
} }
height: (isMainView ? Window.window ? Window.window.tabBar ? Math.abs(Window.window.bottomBar.height) : 0 : 0 : 0) + bottomBorderFix height: {
var w = bottomBorderFix
if(isMainView && Window.window){
if(Window.window.bottomBar)
w += Math.abs(Window.window.bottomBar.height)
}
return w
}
} }
Component.onCompleted: { Component.onCompleted: {

View File

@ -19,7 +19,7 @@ RibbonRectangle {
id: effect id: effect
anchors.fill: parent anchors.fill: parent
sourceRect: control.targetRect sourceRect: control.targetRect
visible: !enableEffect visible: false
} }
GaussianBlur{ GaussianBlur{

View File

@ -7,9 +7,9 @@ RibbonBlur {
id: control id: control
parent: Overlay.overlay parent: Overlay.overlay
implicitWidth: parent.width implicitWidth: parent.width
useSolidBg: true
implicitHeight: 30 implicitHeight: 30
maskColor: folded ? "transparent" : RibbonTheme.isDarkMode ? Qt.rgba(0,0,0,1) : Qt.rgba(1,1,1,1) maskColor: folded && !handler.visible ? "transparent" : RibbonTheme.isDarkMode ? Qt.rgba(0,0,0,1) : Qt.rgba(1,1,1,1)
maskOpacity: 0
bottomLeftRadius: folded ? 0 : 5 bottomLeftRadius: folded ? 0 : 5
bottomRightRadius: bottomLeftRadius bottomRightRadius: bottomLeftRadius
enableEffect: handler.visible || !folded enableEffect: handler.visible || !folded
@ -17,10 +17,11 @@ RibbonBlur {
property int animationTime: 400 property int animationTime: 400
property real barHeight: implicitHeight - handler.height property real barHeight: implicitHeight - handler.height
property alias messageModel: messageModel property alias messageModel: messageModel
property real topMargin: RibbonTheme.modernStyle ? 5 : 0
Behavior on implicitHeight { Behavior on implicitHeight {
NumberAnimation { NumberAnimation {
duration: control.animationTime / 2 duration: control.animationTime
easing.type: Easing.OutSine easing.type: Easing.OutSine
} }
} }
@ -30,13 +31,13 @@ RibbonBlur {
onCountChanged: { onCountChanged: {
message_list.currentIndex = count ? count - 1 : 0 message_list.currentIndex = count ? count - 1 : 0
if(count === 0) if(count === 0)
folded_btn.checked = true clearMessages()
} }
} }
Timer{ Timer{
id: auto_scroll_btn_timer id: auto_scroll_btn_timer
interval: control.animationTime interval: control.animationTime * 2
repeat: false repeat: false
onTriggered: { onTriggered: {
message_list.positionViewAtIndex(message_list.currentIndex, ListView.Center) message_list.positionViewAtIndex(message_list.currentIndex, ListView.Center)
@ -119,7 +120,7 @@ RibbonBlur {
NumberAnimation { NumberAnimation {
properties: "y" properties: "y"
from: message_list.height from: message_list.height
duration: control.animationTime / 2 duration: control.animationTime
} }
} }
remove: Transition { remove: Transition {
@ -127,7 +128,7 @@ RibbonBlur {
property: "opacity" property: "opacity"
from: 1 from: 1
to: 0 to: 0
duration: control.animationTime / 2 duration: control.animationTime
} }
} }
ScrollBar.vertical: RibbonScrollBar { ScrollBar.vertical: RibbonScrollBar {
@ -140,7 +141,7 @@ RibbonBlur {
} }
Behavior on height { Behavior on height {
NumberAnimation { NumberAnimation {
duration: control.animationTime / 2 duration: control.animationTime
easing.type: Easing.OutSine easing.type: Easing.OutSine
} }
} }
@ -154,17 +155,13 @@ RibbonBlur {
id: handler id: handler
x: message_list.x + (message_list.width - width) / 2 x: message_list.x + (message_list.width - width) / 2
y: message_list.y + message_list.height * (folded ? 1 : 0) y: message_list.y + message_list.height * (folded ? 1 : 0)
implicitHeight: 20 implicitHeight: folded ? 10 : 20
implicitWidth: parent.width implicitWidth: parent.width
topLeftRadius: folded ? 0 : 10
topRightRadius: topLeftRadius
bottomLeftRadius: folded ? 10 : 0
bottomRightRadius: bottomLeftRadius
visible: hover.hovered && messageModel.count visible: hover.hovered && messageModel.count
color: RibbonTheme.isDarkMode ? Qt.rgba(0,0,0,0.5) : Qt.rgba(1,1,1,0.5) color: RibbonTheme.isDarkMode ? Qt.rgba(0,0,0,0.5) : Qt.rgba(1,1,1,0.5)
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: control.animationTime / 2 duration: control.animationTime
easing.type: Easing.OutSine easing.type: Easing.OutSine
} }
} }
@ -176,6 +173,7 @@ RibbonBlur {
showBg: false showBg: false
showHoveredBg: false showHoveredBg: false
iconSource: RibbonIcons.DismissCircle iconSource: RibbonIcons.DismissCircle
ribbonIcon.iconSize: handler.implicitHeight - 2
tipText: qsTr("Clear All") tipText: qsTr("Clear All")
onClicked: clearMessages() onClicked: clearMessages()
visible: !folded visible: !folded
@ -186,6 +184,7 @@ RibbonBlur {
checkable: true checkable: true
showBg: false showBg: false
showHoveredBg: false showHoveredBg: false
ribbonIcon.iconSize: handler.implicitHeight - 2
iconSource: RibbonIcons.TriangleDown iconSource: RibbonIcons.TriangleDown
rotation: checked ? 0 : 180 rotation: checked ? 0 : 180
checked: true checked: true
@ -241,6 +240,7 @@ RibbonBlur {
} }
function clearMessages(){ function clearMessages(){
folded_btn.checked = true
messageModel.clear() messageModel.clear()
implicitHeight = 0 implicitHeight = 0
barHeight = 0 barHeight = 0

View File

@ -34,7 +34,16 @@ Item {
right: parent.right right: parent.right
top: parent.top top: parent.top
} }
height: (isMainView ? Window.window ? Window.window.tabBar ? Math.abs(Window.window.tabBar.height - Window.window.tabBar.modernMargin) : 0 : 0 : 0) + topBorderFix height: {
var w = topBorderFix
if(isMainView && Window.window){
if(Window.window.tabBar)
w += Math.abs(Window.window.tabBar.height - Window.window.tabBar.modernMargin)
if(Window.window.messageBar)
w += (Window.window.messageBar.folded ? Window.window.messageBar.barHeight + Window.window.messageBar.topMargin : 0)
}
return w
}
} }
Item{ Item{
@ -62,7 +71,14 @@ Item {
right: parent.right right: parent.right
bottom: parent.bottom bottom: parent.bottom
} }
height: (isMainView ? Window.window ? Window.window.tabBar ? Math.abs(Window.window.bottomBar.height) : 0 : 0 : 0) + bottomBorderFix height: {
var w = bottomBorderFix
if(isMainView && Window.window){
if(Window.window.bottomBar)
w += Math.abs(Window.window.bottomBar.height)
}
return w
}
} }
Component.onCompleted: { Component.onCompleted: {