You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
3.3 KiB
99 lines
3.3 KiB
// Copyright (c) 2021 Proton Technologies AG |
|
// |
|
// This file is part of ProtonMail Bridge. |
|
// |
|
// ProtonMail Bridge is free software: you can redistribute it and/or modify |
|
// it under the terms of the GNU General Public License as published by |
|
// the Free Software Foundation, either version 3 of the License, or |
|
// (at your option) any later version. |
|
// |
|
// ProtonMail Bridge is distributed in the hope that it will be useful, |
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
// GNU General Public License for more details. |
|
// |
|
// You should have received a copy of the GNU General Public License |
|
// along with ProtonMail Bridge. If not, see <https://www.gnu.org/licenses/>. |
|
|
|
// Checkbox row for folder selection |
|
import QtQuick 2.8 |
|
import QtQuick.Controls 2.2 |
|
import ProtonUI 1.0 |
|
import ImportExportUI 1.0 |
|
|
|
AccessibleButton { |
|
id: root |
|
|
|
property bool isSection : false |
|
property bool isSelected : false |
|
property string title : "N/A" |
|
property string type : "" |
|
property string folderIconColor : Style.main.textBlue |
|
|
|
height : Style.exporting.rowHeight |
|
padding : 0.0 |
|
anchors { |
|
horizontalCenter: parent.horizontalCenter |
|
} |
|
|
|
background: Rectangle { |
|
color: isSection ? Style.exporting.background : Style.exporting.rowBackground |
|
Rectangle { // line |
|
anchors.bottom : parent.bottom |
|
height : Style.dialog.borderInput |
|
width : parent.width |
|
color : Style.exporting.background |
|
} |
|
} |
|
|
|
contentItem: Rectangle { |
|
color: "transparent" |
|
id: content |
|
Text { |
|
id: checkbox |
|
anchors { |
|
verticalCenter : parent.verticalCenter |
|
left : content.left |
|
leftMargin : Style.exporting.leftMargin * (root.type == gui.enums.folderTypeSystem ? 1.0 : 2.0) |
|
} |
|
font { |
|
family : Style.fontawesome.name |
|
pointSize : Style.dialog.fontSize * Style.pt |
|
} |
|
color : isSelected ? Style.main.text : Style.main.textInactive |
|
text : (isSelected ? Style.fa.check_square_o : Style.fa.square_o ) |
|
} |
|
|
|
Text { // icon |
|
id: folderIcon |
|
visible: !isSection |
|
anchors { |
|
verticalCenter : parent.verticalCenter |
|
left : checkbox.left |
|
leftMargin : Style.dialog.fontSize + Style.exporting.leftMargin |
|
} |
|
color : root.type=="" ? Style.main.textBlue : root.folderIconColor |
|
font { |
|
family : Style.fontawesome.name |
|
pointSize : Style.dialog.fontSize * Style.pt |
|
} |
|
text : { |
|
return gui.folderIcon(root.title.toLowerCase(), root.type) |
|
} |
|
} |
|
|
|
Text { |
|
text: root.title |
|
anchors { |
|
verticalCenter : parent.verticalCenter |
|
left : isSection ? checkbox.left : folderIcon.left |
|
leftMargin : Style.dialog.fontSize + Style.exporting.leftMargin |
|
} |
|
font { |
|
pointSize : Style.dialog.fontSize * Style.pt |
|
bold: isSection |
|
} |
|
color: Style.exporting.text |
|
} |
|
} |
|
}
|
|
|