Add ability to change text style inside general widget (see #112)

This commit is contained in:
Evgenii Alekseev 2016-09-23 01:12:34 +03:00
parent 086870e9c2
commit 7f6a2d8100
4 changed files with 92 additions and 0 deletions

View File

@ -138,6 +138,12 @@
<entry name="fontStyle" type="string">
<default>normal</default>
</entry>
<entry name="textStyle" type="string">
<default>normal</default>
</entry>
<entry name="textStyleColor" type="string">
<default>#000000</default>
</entry>
</group>
</kcfg>

View File

@ -49,6 +49,8 @@ Item {
property string cfg_fontWeight: fontWeight.currentText
property string cfg_fontStyle: fontStyle.currentText
property alias cfg_fontColor: selectColor.text
property alias cfg_textStyleColor: selectStyleColor.text
property string cfg_textStyle: textStyle.currentText
Column {
@ -204,6 +206,74 @@ Item {
onClicked: colorDialog.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("Style")
}
QtControls.ComboBox {
id: textStyle
width: parent.width * 2 / 3
textRole: "label"
model: [
{
'label': i18n("normal"),
'name': "normal"
},
{
'label': i18n("outline"),
'name': "outline"
},
{
'label': i18n("raised"),
'name': "raised"
},
{
'label': i18n("sunken"),
'name': "sunken"
}
]
onCurrentIndexChanged: cfg_textStyle = model[currentIndex]["name"]
Component.onCompleted: {
if (debug) console.debug()
for (var i = 0; i < model.length; i++) {
if (model[i]["name"] == plasmoid.configuration.textStyle) {
if (debug) console.info("Found", model[i]["name"], "on", i)
textStyle.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("Style color")
}
QtControls.Button {
id: selectStyleColor
width: parent.width * 2 / 3
style: QtStyles.ButtonStyle {
background: Rectangle {
color: plasmoid.configuration.textStyleColor
}
}
text: plasmoid.configuration.textStyleColor
onClicked: textStyleColorDialog.visible = true
}
}
}
QtDialogs.ColorDialog {
@ -213,6 +283,13 @@ Item {
onAccepted: selectColor.text = colorDialog.color
}
QtDialogs.ColorDialog {
id: textStyleColorDialog
title: i18n("Select a color")
color: selectStyleColor.text
onAccepted: selectStyleColor.text = textStyleColorDialog.color
}
QtDialogs.FontDialog {
id: fontDialog
title: i18n("Select a font")

View File

@ -33,4 +33,10 @@ QtObject {
"right": Text.AlignRight,
"justify": Text.AlignJustify
}
property variant textStyle: {
"normal": Text.Normal,
"outline": Text.Outline,
"raised": Text.Raised,
"sunken": Text.Sunken
}
}

View File

@ -104,6 +104,9 @@ Item {
font.pointSize: plasmoid.configuration.fontSize
font.weight: general.fontWeight[plasmoid.configuration.fontWeight]
style: general.textStyle[plasmoid.configuration.textStyle]
styleColor: plasmoid.configuration.textStyleColor
PlasmaCore.ToolTipArea {
height: tooltip.height
width: tooltip.width