diff --git a/maui-style/MenuItem.qml b/maui-style/MenuItem.qml index 7d5e78a..6b65a76 100755 --- a/maui-style/MenuItem.qml +++ b/maui-style/MenuItem.qml @@ -1,106 +1,106 @@ /**************************************************************************** ** ** Copyright (C) 2017 The Qt Company Ltd. ** Contact: http://www.qt.io/licensing/ ** ** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL3$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see http://www.qt.io/terms-conditions. For further ** information use the contact form at http://www.qt.io/contact-us. ** ** GNU Lesser General Public License Usage ** Alternatively, this file may be used under the terms of the GNU Lesser ** General Public License version 3 as published by the Free Software ** Foundation and appearing in the file LICENSE.LGPLv3 included in the ** packaging of this file. Please review the following information to ** ensure the GNU Lesser General Public License version 3 requirements ** will be met: https://www.gnu.org/licenses/lgpl.html. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 2.0 or later as published by the Free ** Software Foundation and appearing in the file LICENSE.GPL included in ** the packaging of this file. Please review the following information to ** ensure the GNU General Public License version 2.0 requirements will be ** met: http://www.gnu.org/licenses/gpl-2.0.html. ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.12 import QtQuick.Templates 2.12 as T import QtQuick.Controls 2.12 import QtQuick.Controls.impl 2.12 import QtQuick.Controls.Material 2.12 import QtQuick.Controls.Material.impl 2.12 import org.kde.kirigami 2.7 as Kirigami import org.kde.mauikit 1.0 as Maui T.MenuItem { id: control implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, implicitContentWidth + leftPadding + rightPadding) - implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, + implicitHeight: visible ? Math.max(implicitBackgroundHeight + topInset + bottomInset, implicitContentHeight + topPadding + bottomPadding, - implicitIndicatorHeight + topPadding + bottomPadding) + implicitIndicatorHeight + topPadding + bottomPadding) : 0 padding: 16 // verticalPadding: Material.menuItemVerticalPadding spacing: 16 icon.width: Kirigami.Units.iconSizes.smallMedium icon.height: 24 icon.color: control.enabled ? (control.highlighted ? control.Kirigami.Theme.highlightedTextColor : control.Kirigami.Theme.textColor) : control.Kirigami.Theme.disabledTextColor // indicator: CheckIndicator { // x: text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 // y: control.topPadding + (control.availableHeight - height) / 2 // visible: control.checkable // control: control // checked: control.checked ? Qt.Checked : Qt.Unchecked // } arrow: Kirigami.Icon { x: control.mirrored ? control.padding : control.width - width - control.padding y: control.topPadding + (control.availableHeight - height) / 2 visible: control.subMenu // mirror: control.mirrored color: control.enabled ? (control.highlighted ? control.Kirigami.Theme.highlightedTextColor : control.Kirigami.Theme.textColor) : control.Kirigami.Theme.disabledTextColor source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/Material/images/arrow-indicator.png" } contentItem: IconLabel { readonly property real arrowPadding: control.subMenu && control.arrow ? control.arrow.width + control.spacing : 0 readonly property real indicatorPadding: control.checkable && control.indicator ? control.indicator.width + control.spacing : 0 leftPadding: !control.mirrored ? indicatorPadding : arrowPadding rightPadding: control.mirrored ? indicatorPadding : arrowPadding spacing: control.spacing mirrored: control.mirrored display: control.display alignment: Qt.AlignLeft icon: control.icon text: control.text font: control.font color: control.enabled ? (control.highlighted ? control.Kirigami.Theme.highlightedTextColor : control.Kirigami.Theme.textColor) : control.Kirigami.Theme.disabledTextColor } background: Rectangle { implicitWidth: 200 implicitHeight: Maui.Style.rowHeight color: control.highlighted ? control.Kirigami.Theme.highlightColor : "transparent" } } diff --git a/maui-style/ToolBar.qml b/maui-style/ToolBar.qml index 160185c..942aa80 100755 --- a/maui-style/ToolBar.qml +++ b/maui-style/ToolBar.qml @@ -1,64 +1,53 @@ /* * Copyright 2017 Marco Martin * Copyright 2017 The Qt Company Ltd. * * GNU Lesser General Public License Usage * Alternatively, this file may be used under the terms of the GNU Lesser * General Public License version 3 as published by the Free Software * Foundation and appearing in the file LICENSE.LGPLv3 included in the * packaging of this file. Please review the following information to * ensure the GNU Lesser General Public License version 3 requirements * will be met: https://www.gnu.org/licenses/lgpl.html. * * GNU General Public License Usage * Alternatively, this file may be used under the terms of the GNU * General Public License version 2.0 or later as published by the Free * Software Foundation and appearing in the file LICENSE.GPL included in * the packaging of this file. Please review the following information to * ensure the GNU General Public License version 2.0 requirements will be * met: http://www.gnu.org/licenses/gpl-2.0.html. */ import QtQuick 2.6 -import QtQuick.Controls 2.2 -import QtQuick.Templates 2.3 as T -import org.kde.kirigami 2.7 as Kirigami +import QtQuick.Templates 2.5 as T +import org.kde.kirigami 2.4 as Kirigami +import org.kde.mauikit 1.0 as Maui T.ToolBar { id: controlRoot + palette: Kirigami.Theme.palette implicitWidth: Math.max(background ? background.implicitWidth : 0, contentWidth + leftPadding + rightPadding) implicitHeight: Math.max(background ? background.implicitHeight : 0, contentHeight + topPadding + bottomPadding) - // leftPadding: Kirigami.Units.smallSpacing*2 - // rightPadding: Kirigami.Units.smallSpacing*2 - contentWidth: contentChildren[0].implicitWidth contentHeight: contentChildren[0].implicitHeight + padding: Kirigami.Units.smallSpacing contentItem: Item {} - - readonly property bool mainHeader : controlRoot == T.ApplicationWindow.header - readonly property bool mainFooter : controlRoot == T.ApplicationWindow.footer - readonly property bool isFooter : controlRoot.position == T.ToolBar.Footer - readonly property bool isHeader : controlRoot.position == T.ToolBar.Header - - background: Rectangle - { - implicitHeight: Kirigami.Units.iconSizes.medium + (Kirigami.Settings.isMobile ? Kirigami.Units.smallSpacing : Kirigami.Units.largeSpacing) + position: controlRoot.parent.footer == controlRoot ? ToolBar.Footer : ToolBar.Header + background: Rectangle { + implicitHeight: Maui.Style.toolBarHeight color: Kirigami.Theme.backgroundColor - Kirigami.Separator - { - color: Qt.tint(Kirigami.Theme.textColor, Qt.rgba(Kirigami.Theme.backgroundColor.r, Kirigami.Theme.backgroundColor.g, Kirigami.Theme.backgroundColor.b, 0.7)) - - anchors - { + Kirigami.Separator { + anchors { left: parent.left right: parent.right - bottom: !isFooter ? parent.bottom : undefined + top: controlRoot.position == T.ToolBar.Footer || (controlRoot.parent.footer && controlRoot.parent.footer == controlRoot) ? parent.top : undefined + bottom: controlRoot.position == T.ToolBar.Footer || (controlRoot.parent.footer && controlRoot.parent.footer == controlRoot) ? undefined : parent.bottom } } - } }