blob: 1a2843e7e961c508afe474e9dffc8e76e951263d [file] [log] [blame]
Sébastien Blin1f915762020-08-03 13:27:42 -04001
2/*
3 * Copyright (C) 2020 by Savoir-faire Linux
4 * Author: Mingrui Zhang <mingrui.zhang@savoirfairelinux.com>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <https://www.gnu.org/licenses/>.
18 */
19import QtQuick 2.14
20
21
22/*
23 * Inspired by
24 * https://stackoverflow.com/questions/16534489/qml-control-border-width-and-color-on-any-one-side-of-rectangle-element
25 */
26Rectangle {
27
28 property bool commonBorder: true
29
30 property int lBorderwidth: 1
31 property int rBorderwidth: 1
32 property int tBorderwidth: 1
33 property int bBorderwidth: 1
34
35 property int commonBorderWidth: 1
36
37 z: -1
38
39 property string borderColor: "white"
40
41 color: borderColor
42
43 anchors {
44 left: parent.left
45 right: parent.right
46 top: parent.top
47 bottom: parent.bottom
48
49 topMargin: commonBorder ? -commonBorderWidth : -tBorderwidth
50 bottomMargin: commonBorder ? -commonBorderWidth : -bBorderwidth
51 leftMargin: commonBorder ? -commonBorderWidth : -lBorderwidth
52 rightMargin: commonBorder ? -commonBorderWidth : -rBorderwidth
53 }
54}