diff --git a/Main.qml b/Main.qml index 26f7225..1ea2291 100644 --- a/Main.qml +++ b/Main.qml @@ -616,9 +616,6 @@ Rectangle { id: clock y: parent.height * config.relativePositionY - clock.height / 2 x: parent.width * config.relativePositionX - clock.width / 2 - color: "white" - timeFont.family: textFont.name - dateFont.family: textFont.name } Rectangle { diff --git a/SessionButton.qml b/SessionButton.qml index 8cb56ba..abcb777 100644 --- a/SessionButton.qml +++ b/SessionButton.qml @@ -14,6 +14,7 @@ import QtQuick.Controls 1.3 as QQC PlasmaComponents.ToolButton { id: root property int currentIndex: -1 + opacity: config.sessionButtonOpacity implicitWidth: minimumWidth diff --git a/components/Clock.qml b/components/Clock.qml new file mode 100644 index 0000000..725ab4b --- /dev/null +++ b/components/Clock.qml @@ -0,0 +1,37 @@ +/* + SPDX-FileCopyrightText: 2016 David Edmundson + + SPDX-License-Identifier: LGPL-2.0-or-later +*/ + +import QtQuick 2.8 +import QtQuick.Layouts 1.1 +import QtQuick.Controls 2.5 as QQC2 +import org.kde.plasma.core 2.0 as PlasmaCore + +ColumnLayout { + readonly property bool softwareRendering: GraphicsInfo.api === GraphicsInfo.Software + + QQC2.Label { + text: Qt.formatTime(timeSource.data["Local"]["DateTime"]) + color: config.textColor + style: Text.Outline + styleColor: config.textOutlineColor + font.pointSize: config.timeFontPointSize + Layout.alignment: Qt.AlignHCenter + } + QQC2.Label { + text: Qt.formatDate(timeSource.data["Local"]["DateTime"], Qt.DefaultLocaleLongDate) + color: config.textColor + style: Text.Outline + styleColor: config.textOutlineColor + font.pointSize: config.dateFontPointSize + Layout.alignment: Qt.AlignHCenter + } + PlasmaCore.DataSource { + id: timeSource + engine: "time" + connectedSources: ["Local"] + interval: 1000 + } +} diff --git a/components/UserDelegate.qml b/components/UserDelegate.qml index 9a823a2..4b6e3e1 100644 --- a/components/UserDelegate.qml +++ b/components/UserDelegate.qml @@ -30,9 +30,9 @@ Item { property int fontSize: PlasmaCore.Theme.defaultFont.pointSize + 2 signal clicked() - property real faceSize: PlasmaCore.Units.gridUnit * 7 + property real faceSize: PlasmaCore.Units.gridUnit * config.faceSizeInGridUnits - opacity: isCurrent ? 1.0 : 0.5 + opacity: isCurrent ? 1.0 : config.avatarOpacityWhenNotSelected Behavior on opacity { OpacityAnimator { @@ -58,13 +58,13 @@ Item { bottomMargin: PlasmaCore.Units.largeSpacing horizontalCenter: parent.horizontalCenter } - Behavior on width { + Behavior on width { PropertyAnimation { from: faceSize duration: PlasmaCore.Units.longDuration; } } - width: isCurrent ? faceSize : faceSize - PlasmaCore.Units.largeSpacing + width: isCurrent ? faceSize : faceSize * config.faceSizeFactorWhenNotSelected height: width //Image takes priority, taking a full path to a file, if that doesn't exist we show an icon @@ -152,15 +152,16 @@ Item { id: usernameDelegate // Make it bigger than other fonts to match the scale of the avatar better - font.pointSize: wrapper.fontSize + 4 + font.pointSize: config.usernamePointSize anchors { bottom: parent.bottom horizontalCenter: parent.horizontalCenter } width: constrainText ? parent.width : implicitWidth text: wrapper.name - style: softwareRendering ? Text.Outline : Text.Normal - styleColor: softwareRendering ? PlasmaCore.ColorScope.backgroundColor : "transparent" //no outline, doesn't matter + style: Text.Outline + styleColor: config.textOutlineColor + color: config.textColor elide: Text.ElideRight horizontalAlignment: Text.AlignHCenter //make an indication that this has active focus, this only happens when reached with keyboard navigation diff --git a/components/UserList.qml b/components/UserList.qml index 49f38eb..a55a001 100644 --- a/components/UserList.qml +++ b/components/UserList.qml @@ -10,8 +10,8 @@ import org.kde.plasma.core 2.0 as PlasmaCore ListView { id: view readonly property string selectedUser: currentItem ? currentItem.userName : "" - readonly property int userItemWidth: PlasmaCore.Units.gridUnit * 8 - readonly property int userItemHeight: PlasmaCore.Units.gridUnit * 8 + readonly property int userItemWidth: PlasmaCore.Units.gridUnit * config.faceElemWidthInGridUnits + readonly property int userItemHeight: PlasmaCore.Units.gridUnit * config.faceElemHeightInGridUnits property int fontSize: PlasmaCore.Theme.defaultFont.pointSize + 2 implicitHeight: userItemHeight diff --git a/theme.conf b/theme.conf index 7882e7c..aeb41e6 100644 --- a/theme.conf +++ b/theme.conf @@ -9,8 +9,6 @@ needsFullUserModel=false background_img_day=background.jpg background_img_night=background.jpg -background_vid_day=playlists/day.m3u -background_vid_night=playlists/night.m3u displayFont="Droid Sans Mono for Powerline" showLoginButton=true passwordLeftMargin=15 @@ -19,3 +17,17 @@ relativePositionX=0.3 relativePositionY=0.7 showTopBar=true autofocusInput=true + +background_vid_day=playlists/all_sd.m3u +background_vid_night=playlists/all_sd.m3u +sessionButtonOpacity=0.5 +textColor=white +textOutlineColor=black +avatarOpacityWhenNotSelected=0.75 +faceSizeInGridUnits=10 +faceSizeFactorWhenNotSelected=0.75 +faceElemWidthInGridUnits=11 +faceElemHeightInGridUnits=11 +usernamePointSize=20 +timeFontPointSize=56 +dateFontPointSize=24 diff --git a/theme.conf.user b/theme.conf.user index 156cc82..803a52d 100644 --- a/theme.conf.user +++ b/theme.conf.user @@ -1,6 +1,4 @@ [General] -background_vid_day=playlists/day.m3u -background_vid_night=playlists/night.m3u passwordLeftMargin=15 relativePositionX=0.5 relativePositionY=0.75 @@ -9,3 +7,17 @@ type=color usernameLeftMargin=15 showTopBar=true autofocusInput=true + +background_vid_day=playlists/all_sd.m3u +background_vid_night=playlists/all_sd.m3u +sessionButtonOpacity=0.5 +textColor=white +textOutlineColor=black +avatarOpacityWhenNotSelected=0.75 +faceSizeInGridUnits=10 +faceSizeFactorWhenNotSelected=0.75 +faceElemWidthInGridUnits=11 +faceElemHeightInGridUnits=11 +usernamePointSize=20 +timeFontPointSize=56 +dateFontPointSize=24