mirror of
https://github.com/arcan1s/awesome-widgets.git
synced 2025-04-24 23:47:20 +00:00
219 lines
7.6 KiB
QML
219 lines
7.6 KiB
QML
/***************************************************************************
|
|
* This file is part of awesome-widgets *
|
|
* *
|
|
* awesome-widgets 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. *
|
|
* *
|
|
* awesome-widgets 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 awesome-widgets. If not, see http://www.gnu.org/licenses/ *
|
|
***************************************************************************/
|
|
|
|
import QtQuick 2.0
|
|
import QtQuick.Controls 1.3 as QtControls
|
|
import QtQuick.Controls.Styles 1.3 as QtStyles
|
|
import QtQuick.Dialogs 1.1 as QtDialogs
|
|
|
|
import org.kde.plasma.desktoppanel 1.0
|
|
|
|
|
|
Item {
|
|
id: activeAppearancePage
|
|
width: childrenRect.width
|
|
height: childrenRect.height
|
|
implicitWidth: pageColumn.implicitWidth
|
|
implicitHeight: pageColumn.implicitHeight
|
|
|
|
property bool debug: DPAdds.isDebugEnabled()
|
|
property variant weight: {
|
|
25: 0,
|
|
50: 1,
|
|
63: 3,
|
|
75: 4,
|
|
87: 5
|
|
}
|
|
|
|
property alias cfg_currentFontFamily: selectFont.text
|
|
property alias cfg_currentFontSize: fontSize.value
|
|
property string cfg_currentFontWeight: fontWeight.currentText
|
|
property string cfg_currentFontStyle: fontStyle.currentText
|
|
property alias cfg_currentFontColor: selectColor.text
|
|
|
|
|
|
Column {
|
|
id: pageColumn
|
|
anchors.fill: parent
|
|
Row {
|
|
height: implicitHeight
|
|
width: parent.width
|
|
QtControls.Label {
|
|
height: parent.height
|
|
width: parent.width / 3
|
|
horizontalAlignment: Text.AlignRight
|
|
verticalAlignment: Text.AlignVCenter
|
|
text: i18n("Font")
|
|
}
|
|
QtControls.Button {
|
|
id: selectFont
|
|
width: parent.width * 2 / 3
|
|
text: plasmoid.configuration.currentFontFamily
|
|
onClicked: fontDialog.visible = true
|
|
}
|
|
}
|
|
|
|
Row {
|
|
height: implicitHeight
|
|
width: parent.width
|
|
QtControls.Label {
|
|
height: parent.height
|
|
width: parent.width / 3
|
|
horizontalAlignment: Text.AlignRight
|
|
verticalAlignment: Text.AlignVCenter
|
|
text: i18n("Font size")
|
|
}
|
|
QtControls.SpinBox {
|
|
id: fontSize
|
|
width: parent.width * 2 / 3
|
|
minimumValue: 8
|
|
maximumValue: 32
|
|
stepSize: 1
|
|
value: plasmoid.configuration.currentFontSize
|
|
}
|
|
}
|
|
|
|
Row {
|
|
height: implicitHeight
|
|
width: parent.width
|
|
QtControls.Label {
|
|
height: parent.height
|
|
width: parent.width / 3
|
|
horizontalAlignment: Text.AlignRight
|
|
verticalAlignment: Text.AlignVCenter
|
|
text: i18n("Font weight")
|
|
}
|
|
QtControls.ComboBox {
|
|
id: fontWeight
|
|
width: parent.width * 2 / 3
|
|
textRole: "label"
|
|
model: [
|
|
{
|
|
'label': i18n("light"),
|
|
'name': "light"
|
|
},
|
|
{
|
|
'label': i18n("normal"),
|
|
'name': "normal"
|
|
},
|
|
{
|
|
'label': i18n("demi bold"),
|
|
'name': "demibold"
|
|
},
|
|
{
|
|
'label': i18n("bold"),
|
|
'name': "bold"
|
|
},
|
|
{
|
|
'label': i18n("black"),
|
|
'name': "black"
|
|
}
|
|
]
|
|
onCurrentIndexChanged: cfg_currentFontWeight = model[currentIndex]["name"]
|
|
Component.onCompleted: {
|
|
for (var i = 0; i < model.length; i++) {
|
|
if (model[i]["name"] == plasmoid.configuration.currentFontWeight) {
|
|
currentFontWeight.currentIndex = i;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Row {
|
|
height: implicitHeight
|
|
width: parent.width
|
|
QtControls.Label {
|
|
height: parent.height
|
|
width: parent.width / 3
|
|
horizontalAlignment: Text.AlignRight
|
|
verticalAlignment: Text.AlignVCenter
|
|
text: i18n("Font style")
|
|
}
|
|
QtControls.ComboBox {
|
|
id: fontStyle
|
|
width: parent.width * 2 / 3
|
|
textRole: "label"
|
|
model: [
|
|
{
|
|
'label': i18n("normal"),
|
|
'name': "normal"
|
|
},
|
|
{
|
|
'label': i18n("italic"),
|
|
'name': "italic"
|
|
}
|
|
]
|
|
onCurrentIndexChanged: cfg_currentFontStyle = model[currentIndex]["name"]
|
|
Component.onCompleted: {
|
|
for (var i = 0; i < model.length; i++) {
|
|
if (model[i]["name"] == plasmoid.configuration.currentFontStyle) {
|
|
currentFontStyle.currentIndex = i;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Row {
|
|
height: implicitHeight
|
|
width: parent.width
|
|
QtControls.Label {
|
|
height: parent.height
|
|
width: parent.width / 3
|
|
horizontalAlignment: Text.AlignRight
|
|
verticalAlignment: Text.AlignVCenter
|
|
text: i18n("Font color")
|
|
}
|
|
QtControls.Button {
|
|
id: selectColor
|
|
width: parent.width * 2 / 3
|
|
style: QtStyles.ButtonStyle {
|
|
background: Rectangle {
|
|
color: plasmoid.configuration.currentFontColor
|
|
}
|
|
}
|
|
text: plasmoid.configuration.currentFontColor
|
|
onClicked: colorDialog.visible = true
|
|
}
|
|
}
|
|
}
|
|
|
|
QtDialogs.ColorDialog {
|
|
id: colorDialog
|
|
title: i18n("Select a color")
|
|
color: selectColor.text
|
|
onAccepted: selectColor.text = colorDialog.color
|
|
}
|
|
|
|
QtDialogs.FontDialog {
|
|
id: fontDialog
|
|
title: i18n("Select a font")
|
|
font: Qt.font({ family: selectFont.text, pointSize: fontSize.value, weight: Font.Normal })
|
|
onAccepted: {
|
|
selectFont.text = fontDialog.font.family
|
|
fontSize.value = fontDialog.font.pointSize
|
|
fontStyle.currentIndex = fontDialog.font.italic ? 1 : 0
|
|
fontWeight.currentIndex = weight[fontDialog.font.weight]
|
|
}
|
|
}
|
|
|
|
Component.onCompleted: {
|
|
if (debug) console.log("[activeapp::onCompleted]")
|
|
}
|
|
}
|