You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
latte-dock/plasmoid/package/contents/ui/config/ConfigPanel.qml

184 lines
5.4 KiB
QML

/*
* Copyright 2016 Smith AR <audoban@openmailbox.org>
* Michail Vourlakos <mvourlakos@gmail.com>
*
* This file is part of Latte-Dock
*
* Latte-Dock 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 2 of
* the License, or (at your option) any later version.
*
* Latte-Dock 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 this program. If not, see <http://www.gnu.org/licenses/>.
*/
import QtQuick 2.0
import QtQuick.Controls 1.0
import QtQuick.Layouts 1.0
import QtGraphicalEffects 1.0
import org.kde.plasma.core 2.0 as PlasmaCore
import org.kde.plasma.components 2.0 as PlasmaComponents
Item {
id: mainItem
width: childrenRect.width
height: childrenRect.height
property bool vertical: (plasmoid.formFactor == PlasmaCore.Types.Vertical)
property alias cfg_showBarLine: showBarLine.checked
property alias cfg_useThemePanel: useThemePanel.checked
property alias cfg_panelSize: panelSize.value
property alias cfg_transparentPanel: transparentPanel.checked
property alias cfg_plasmoidPosition: panelPositionCmb.currentIndex
property alias cfg_isInNowDockPanel: mainItem.isInNowDockPanel
property bool isInNowDockPanel
ColumnLayout {
id:mainColumn
spacing: 15
Layout.fillWidth: true
GridLayout{
enabled: !mainItem.isInNowDockPanel
Layout.fillWidth: true
columns: 3
property bool panelConfigEnabled: showBarLine.checked && useThemePanel.checked
Label {
text: i18n("Position: ")
}
ComboBox {
// 16, 22, 32, 48, 64,128, 256
id: panelPositionCmb
Layout.fillWidth: true
model: [i18n("Center"), i18n("Left"), i18n("Right"), i18n("Top"), i18n("Bottom")]
}
Label{}
CheckBox {
id: showBarLine
Layout.columnSpan: 3
text: i18n("Show bar line for tasks")
enabled: true
}
CheckBox {
id: useThemePanel
Layout.columnSpan: 3
text: i18n("Use plasma theme panel")
enabled: showBarLine.checked
}
CheckBox {
id: transparentPanel
Layout.columnSpan: 3
text: i18n("Use transparency in the panel")
enabled: parent.panelConfigEnabled
}
Label {
id: panelLabel
text: i18n("Size: ")
enabled: parent.panelConfigEnabled
}
Slider {
id: panelSize
enabled: parent.panelConfigEnabled
Layout.fillWidth: true
minimumValue: 0
maximumValue: 256
stepSize: 2
tickmarksEnabled: false
}
Label {
enabled: parent.panelConfigEnabled
Layout.minimumWidth: metricsLabel.width
Layout.maximumWidth: metricsLabel.width
Layout.alignment: Qt.AlignRight
horizontalAlignment: Text.AlignRight
text: ( panelSize.value + " px." )
Label{
id:metricsLabel
visible: false
text: panelSize.maximumValue+" px."
}
}
/* Label{
Layout.columnSpan: 3
Layout.fillWidth: false
Layout.alignment: Qt.AlignRight
Layout.maximumWidth: zoomLevel.width + zoomLevelText.width + panelLabel.width
horizontalAlignment: Text.AlignRight
text: i18n("in panel placement, themes that have set a <b>specific</b> panel transparent work better")
wrapMode: Text.WordWrap
font.italic: true
enabled: parent.panelConfigEnabled
}*/
/////
//spacer to set a minimumWidth for sliders
//Layout.minimumWidth didnt work
Label{}
Label{Layout.minimumWidth: 280}
Label{}
}
}
DropShadow {
id:shadowText
anchors.fill: inNowDockLabel
enabled: isInNowDockPanel
fast: true
radius: 3
samples: 5
color: "#cc080808"
source: inNowDockLabel
verticalOffset: 2
horizontalOffset: -1
visible: isInNowDockPanel
}
Label {
id:inNowDockLabel
anchors.horizontalCenter: mainItem.horizontalCenter
anchors.verticalCenter: mainColumn.verticalCenter
// anchors.verticalCenterOffset: (mainColumn.height / 4)
width: 0.85 * mainItem.width
text: i18n("For the disabled settings you should use the Latte Dock Configuration Window")
visible: mainItem.isInNowDockPanel
horizontalAlignment: Text.AlignHCenter
// font.bold: true
font.italic: true
font.pointSize: 1.2 * theme.defaultFont.pointSize
wrapMode: Text.WordWrap
}
}