diff --git a/src/controls/TabButton.qml b/src/controls/TabButton.qml index 2f4b31b..735f52f 100644 --- a/src/controls/TabButton.qml +++ b/src/controls/TabButton.qml @@ -1,75 +1,80 @@ import QtQuick 2.9 import QtQuick.Controls 2.3 import QtQuick.Layouts 1.3 import org.kde.kirigami 2.7 as Kirigami import org.kde.mauikit 1.0 as Maui TabButton { - id: control - implicitWidth: 150 * Maui.Style.unit - - signal closeClicked(int index) - - Kirigami.Separator - { - color: Kirigami.Theme.highlightColor - height: Maui.Style.unit * 2 - visible: checked - anchors - { - bottom: parent.bottom - left: parent.left - right: parent.right - } - } - - background: Rectangle - { - color: "transparent" - - Kirigami.Separator - { - width: Maui.Style.unit - anchors - { - bottom: parent.bottom - top: parent.top - right: parent.right - } - } - } - - contentItem: RowLayout - { - anchors.fill: control - spacing: Maui.Style.space.small - anchors.margins: Maui.Style.space.small - - Label - { - text: control.text - font.pointSize: Maui.Style.fontSizes.default - Layout.fillWidth: true - Layout.fillHeight: true - verticalAlignment: Qt.AlignVCenter + id: control + implicitWidth: 150 * Maui.Style.unit + + signal closeClicked(int index) + + Kirigami.Separator + { + color: Kirigami.Theme.highlightColor + height: Maui.Style.unit * 2 + visible: checked + anchors + { + bottom: parent.bottom + left: parent.left + right: parent.right + } + } + + background: Rectangle + { + color: "transparent" + + Kirigami.Separator + { + width: Maui.Style.unit + anchors + { + bottom: parent.bottom + top: parent.top + right: parent.right + } + } + } + + contentItem: RowLayout + { + anchors.fill: control + spacing: Maui.Style.space.small + anchors.margins: Maui.Style.space.small + + Label + { + text: control.text + font.pointSize: Maui.Style.fontSizes.default + Layout.fillWidth: true + Layout.fillHeight: true + verticalAlignment: Qt.AlignVCenter horizontalAlignment: Qt.AlignHCenter - color: control.checked ? Kirigami.Theme.highlightColor : Kirigami.Theme.textColor - wrapMode: Text.NoWrap - elide: Text.ElideMiddle - } - - ToolButton - { - Layout.fillHeight: true + color: control.checked ? Kirigami.Theme.highlightColor : Kirigami.Theme.textColor + wrapMode: Text.NoWrap + elide: Text.ElideMiddle + } + + + Item + { + Layout.fillHeight: true Layout.preferredWidth: Maui.Style.iconSizes.small * 2 - icon.height: Maui.Style.iconSizes.small - icon.width: width - Layout.alignment: Qt.AlignRight - - icon.name: "dialog-close" - - onClicked: control.closeClicked(index) - } - } + Layout.alignment: Qt.AlignRight + + ToolButton + { + icon.height: Maui.Style.iconSizes.small + icon.width: width + icon.name: "dialog-close" + anchors.centerIn: parent + + onClicked: control.closeClicked(index) + } + } + } } diff --git a/src/maui-style/TextArea.qml b/src/maui-style/TextArea.qml index 95ecf15..0c0595d 100755 --- a/src/maui-style/TextArea.qml +++ b/src/maui-style/TextArea.qml @@ -1,80 +1,80 @@ /* * 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.Window 2.2 import QtQuick.Controls 2.6 import QtQuick.Templates 2.6 as T import org.kde.kirigami 2.5 as Kirigami T.TextArea { id: control palette: Kirigami.Theme.palette Kirigami.Theme.colorSet: Kirigami.Theme.View Kirigami.Theme.inherit: false implicitWidth: Math.max(contentWidth + leftPadding + rightPadding, background ? background.implicitWidth : 0, placeholder.implicitWidth + leftPadding + rightPadding) implicitHeight: Math.max(contentHeight + topPadding + bottomPadding, background ? background.implicitHeight : 0, placeholder.implicitHeight + topPadding + bottomPadding) padding: 6 color: Kirigami.Theme.textColor selectionColor: Kirigami.Theme.highlightColor selectedTextColor: Kirigami.Theme.highlightedTextColor opacity: control.enabled ? 1 : 0.6 wrapMode: Text.WordWrap verticalAlignment: TextEdit.AlignTop hoverEnabled: !Kirigami.Settings.tabletMode // Work around Qt bug where NativeRendering breaks for non-integer scale factors // https://bugreports.qt.io/browse/QTBUG-67007 renderType: Screen.devicePixelRatio % 1 !== 0 ? Text.QtRendering : Text.NativeRendering selectByMouse: !Kirigami.Settings.tabletMode Label { id: placeholder x: control.leftPadding y: control.topPadding width: control.width - (control.leftPadding + control.rightPadding) height: control.height - (control.topPadding + control.bottomPadding) text: control.placeholderText font: control.font color: Kirigami.Theme.disabledTextColor horizontalAlignment: control.horizontalAlignment verticalAlignment: control.verticalAlignment visible: !control.length && !control.preeditText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter) elide: Text.ElideRight } background: Rectangle { y: parent.height - height - control.bottomPadding / 2 implicitWidth: 120 height: control.activeFocus ? 2 : 1 - color: control.activeFocus ? control. Kirigami.Theme.highlightColor : control.Kirigami.Theme.disabledTextColor + color: control.Kirigami.Theme.backgroundColor } } diff --git a/src/maui-style/ToolButton.qml b/src/maui-style/ToolButton.qml index 814335f..6afb2d2 100755 --- a/src/maui-style/ToolButton.qml +++ b/src/maui-style/ToolButton.qml @@ -1,105 +1,105 @@ /**************************************************************************** ** ** 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.10 import QtQuick.Controls 2.3 import QtQuick.Controls.impl 2.3 import QtQuick.Templates 2.3 as T import org.kde.kirigami 2.7 as Kirigami import org.kde.mauikit 1.0 as Maui T.ToolButton { id: control implicitWidth: Math.max(background ? background.implicitWidth : 0, contentItem.implicitWidth + leftPadding + rightPadding) implicitHeight: Math.max(background ? background.implicitHeight : 0, contentItem.implicitHeight + topPadding + bottomPadding) baselineOffset: contentItem.y + contentItem.baselineOffset padding: Maui.Style.space.tiny spacing: Maui.Style.space.tiny rightPadding: Maui.Style.space.medium leftPadding: Maui.Style.space.medium - topPadding: Maui.Style.space.small - bottomPadding: Maui.Style.space.small + topPadding: Maui.Style.space.tiny + bottomPadding: Maui.Style.space.tiny icon.width: Maui.Style.iconSizes.medium icon.height: Maui.Style.iconSizes.medium icon.color: checked ? Kirigami.Theme.highlightColor : Kirigami.Theme.textColor flat: control.parent === T.ToolBar font.pointSize: control.display === ToolButton.TextUnderIcon ? Maui.Style.fontSizes.small : undefined contentItem: IconLabel { spacing: control.spacing mirrored: control.mirrored display: control.display icon: control.icon text: control.text font: control.font color: control.checked ? Kirigami.Theme.highlightColor : Kirigami.Theme.textColor Behavior on color { ColorAnimation { duration: Kirigami.Units.longDuration } } } background: Rectangle { implicitWidth: Maui.Style.iconSizes.medium implicitHeight: Maui.Style.iconSizes.medium radius: height * 0.07 opacity: control.checked ? 0.4 : 1.0 color: (control.down || control.checked || control.highlighted ? Kirigami.Theme.highlightColor : "transparent") Behavior on color { ColorAnimation { duration: Kirigami.Units.longDuration } } } }