summaryrefslogtreecommitdiff
path: root/x11-themes/redcore-theme-sddm/files/redcore
diff options
context:
space:
mode:
Diffstat (limited to 'x11-themes/redcore-theme-sddm/files/redcore')
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/Background.qml69
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/BreezeMenuStyle.qml25
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/KeyboardButton.qml38
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/Login.qml156
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/Main.qml481
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/SessionButton.qml59
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/assets/login.svgzbin1357 -> 0 bytes
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/assets/logout_primary.svgzbin3033 -> 0 bytes
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/assets/restart_primary.svgzbin2337 -> 0 bytes
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/assets/shutdown_primary.svgzbin1394 -> 0 bytes
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/assets/suspend_primary.svgzbin1433 -> 0 bytes
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/assets/switch_primary.svgzbin3098 -> 0 bytes
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/background.jpgbin5070818 -> 0 bytes
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/components/ActionButton.qml128
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/components/Battery.qml53
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/components/Clock.qml50
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/components/KeyboardLayoutButton.qml52
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/components/SessionManagementScreen.qml121
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/components/UserDelegate.qml190
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/components/UserList.qml93
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/components/VirtualKeyboard.qml28
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/components/WallpaperFader.qml182
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/metadata.desktop16
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/theme.conf5
-rw-r--r--x11-themes/redcore-theme-sddm/files/redcore/theme.conf.user2
25 files changed, 0 insertions, 1748 deletions
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/Background.qml b/x11-themes/redcore-theme-sddm/files/redcore/Background.qml
deleted file mode 100644
index 5a384151..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/Background.qml
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright 2016 Boudhayan Gupta <bgupta@kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 or
- * (at your option) any later version.
- *
- * This program 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 Library General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-import QtQuick 2.2
-
-FocusScope {
- id: sceneBackground
-
- property var sceneBackgroundType
- property alias sceneBackgroundColor: sceneColorBackground.color
- property alias sceneBackgroundImage: sceneImageBackground.source
-
- Rectangle {
- id: sceneColorBackground
- anchors.fill: parent
- }
-
- Image {
- id: sceneImageBackground
- anchors.fill: parent
- sourceSize.width: parent.width
- sourceSize.height: parent.height
- fillMode: Image.PreserveAspectCrop
- smooth: true;
- }
-
- states: [
- State {
- name: "imageBackground"
- when: sceneBackgroundType === "image"
- PropertyChanges {
- target: sceneColorBackground
- visible: false
- }
- PropertyChanges {
- target: sceneImageBackground
- visible: true
- }
- },
- State {
- name: "colorBackground"
- when: sceneBackgroundType !== "image"
- PropertyChanges {
- target: sceneColorBackground
- visible: true
- }
- PropertyChanges {
- target: sceneImageBackground
- visible: false
- }
- }
- ]
-}
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/BreezeMenuStyle.qml b/x11-themes/redcore-theme-sddm/files/redcore/BreezeMenuStyle.qml
deleted file mode 100644
index 7d56c149..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/BreezeMenuStyle.qml
+++ /dev/null
@@ -1,25 +0,0 @@
-import QtQuick 2.2
-
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-import QtQuick.Controls.Styles 1.4 as QQCS
-import QtQuick.Controls 1.3 as QQC
-
-QQCS.MenuStyle {
- frame: Rectangle {
- color: PlasmaCore.ColorScope.backgroundColor
- border.color: Qt.tint(PlasmaCore.ColorScope.textColor, Qt.rgba(color.r, color.g, color.b, 0.7))
- border.width: 1
- }
- itemDelegate.label: QQC.Label {
- height: contentHeight * 1.2
- verticalAlignment: Text.AlignVCenter
- color: styleData.selected ? PlasmaCore.ColorScope.highlightedTextColor : PlasmaCore.ColorScope.textColor
- font.pointSize: config.fontSize
- text: styleData.text
- }
- itemDelegate.background: Rectangle {
- visible: styleData.selected
- color: PlasmaCore.ColorScope.highlightColor
- }
-}
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/KeyboardButton.qml b/x11-themes/redcore-theme-sddm/files/redcore/KeyboardButton.qml
deleted file mode 100644
index 9989d93e..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/KeyboardButton.qml
+++ /dev/null
@@ -1,38 +0,0 @@
-import QtQuick 2.2
-
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-
-import QtQuick.Controls 1.3 as QQC
-
-PlasmaComponents.ToolButton {
- id: keyboardButton
-
- property int currentIndex: -1
-
- text: i18nd("plasma_lookandfeel_org.kde.lookandfeel", "Keyboard Layout: %1", instantiator.objectAt(currentIndex).shortName)
- implicitWidth: minimumWidth
- font.pointSize: config.fontSize
-
- visible: menu.items.length > 1
-
- Component.onCompleted: currentIndex = Qt.binding(function() {return keyboard.currentLayout});
-
- menu: QQC.Menu {
- id: keyboardMenu
- style: BreezeMenuStyle {}
- Instantiator {
- id: instantiator
- model: keyboard.layouts
- onObjectAdded: keyboardMenu.insertItem(index, object)
- onObjectRemoved: keyboardMenu.removeItem( object )
- delegate: QQC.MenuItem {
- text: modelData.longName
- property string shortName: modelData.shortName
- onTriggered: {
- keyboard.currentLayout = model.index
- }
- }
- }
- }
-}
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/Login.qml b/x11-themes/redcore-theme-sddm/files/redcore/Login.qml
deleted file mode 100644
index 7234917f..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/Login.qml
+++ /dev/null
@@ -1,156 +0,0 @@
-import "components"
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.2
-import QtQuick.Controls.Styles 1.4
-
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-
-SessionManagementScreen {
-
- property bool showUsernamePrompt: !showUserList
- property int usernameFontSize
- property string usernameFontColor
- property string lastUserName
- property bool passwordFieldOutlined: config.PasswordFieldOutlined == "true"
- property bool hidePasswordRevealIcon: config.HidePasswordRevealIcon == "false"
- property int visibleBoundary: mapFromItem(loginButton, 0, 0).y
- onHeightChanged: visibleBoundary = mapFromItem(loginButton, 0, 0).y + loginButton.height + units.smallSpacing
-
- signal loginRequest(string username, string password)
-
- onShowUsernamePromptChanged: {
- if (!showUsernamePrompt) {
- lastUserName = ""
- }
- }
-
- /*
- * Login has been requested with the following username and password
- * If username field is visible, it will be taken from that, otherwise from the "name" property of the currentIndex
- */
- function startLogin() {
- var username = showUsernamePrompt ? userNameInput.text : userList.selectedUser
- var password = passwordBox.text
-
- loginButton.forceActiveFocus();
- loginRequest(username, password);
- }
-
- PlasmaComponents.TextField {
- id: userNameInput
- Layout.fillWidth: true
- Layout.minimumHeight: 32
- implicitHeight: usernameFontSize * 2.85
- font.pointSize: usernameFontSize * 0.8
- font.family: config.Font || "Noto Sans"
- opacity: 1.0
- text: lastUserName
- visible: showUsernamePrompt
- focus: showUsernamePrompt && !lastUserName //if there's a username prompt it gets focus first, otherwise password does
- placeholderText: i18nd("plasma_lookandfeel_org.kde.lookandfeel", "Username")
-
- style: TextFieldStyle {
- textColor: "white"
- placeholderTextColor: "white"
- background: Rectangle {
- radius: 6
- border.color: "#1A73E8"
- border.width: 2
- color: "#48316f"
- }
- }
- }
-
- PlasmaComponents.TextField {
- id: passwordBox
- Layout.fillWidth: true
- Layout.minimumHeight: 32
- implicitHeight: usernameFontSize * 2.85
- font.pointSize: usernameFontSize * 0.8
- opacity: passwordFieldOutlined ? 1.0 : 1.0
- font.family: config.Font || "Noto Sans"
- placeholderText: config.PasswordFieldPlaceholderText == "Password" ? i18nd("plasma_lookandfeel_org.kde.lookandfeel", "Password") : config.PasswordFieldPlaceholderText
- focus: !showUsernamePrompt || lastUserName
- echoMode: TextInput.Password
- revealPasswordButtonShown: hidePasswordRevealIcon
- onAccepted: startLogin()
-
- style: TextFieldStyle {
- textColor: passwordFieldOutlined ? "white" : "white"
- placeholderTextColor: passwordFieldOutlined ? "white" : "white"
- passwordCharacter: config.PasswordFieldCharacter == "" ? "●" : config.PasswordFieldCharacter
- background: Rectangle {
- radius: 6
- border.color: "#1A73E8"
- border.width: 2
- color: "#48316f"
- }
- }
-
- Keys.onEscapePressed: {
- mainStack.currentItem.forceActiveFocus();
- }
-
- Keys.onPressed: {
- if (event.key == Qt.Key_Left && !text) {
- userList.decrementCurrentIndex();
- event.accepted = true
- }
- if (event.key == Qt.Key_Right && !text) {
- userList.incrementCurrentIndex();
- event.accepted = true
- }
- }
-
- Keys.onReleased: {
- if (loginButton.opacity == 0 && length > 0) {
- showLoginButton.start()
- }
- if (loginButton.opacity > 0 && length == 0) {
- hideLoginButton.start()
- }
- }
-
- Connections {
- target: sddm
- onLoginFailed: {
- passwordBox.selectAll()
- passwordBox.forceActiveFocus()
- }
- }
- }
-
- Image {
- id: loginButton
- source: "assets/login.svgz"
- smooth: true
- sourceSize: Qt.size(passwordBox.height, passwordBox.height)
- anchors {
- left: passwordBox.right
- verticalCenter: passwordBox.verticalCenter
- }
- anchors.leftMargin: 8
- visible: opacity > 0
- opacity: 0
- MouseArea {
- anchors.fill: parent
- onClicked: startLogin();
- }
- PropertyAnimation {
- id: showLoginButton
- target: loginButton
- properties: "opacity"
- to: 0.75
- duration: 100
- }
- PropertyAnimation {
- id: hideLoginButton
- target: loginButton
- properties: "opacity"
- to: 0
- duration: 80
- }
- }
-}
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/Main.qml b/x11-themes/redcore-theme-sddm/files/redcore/Main.qml
deleted file mode 100644
index ab5c5dd7..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/Main.qml
+++ /dev/null
@@ -1,481 +0,0 @@
-/*
- * Copyright 2016 David Edmundson <davidedmundson@kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 or
- * (at your option) any later version.
- *
- * This program 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 Library General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-import QtQuick 2.8
-
-import QtQuick.Layouts 1.1
-import QtQuick.Controls 1.1
-import QtGraphicalEffects 1.0
-
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.plasma.extras 2.0 as PlasmaExtras
-
-import "components"
-
-PlasmaCore.ColorScope {
- id: root
-
- // If we're using software rendering, draw outlines instead of shadows
- // See https://bugs.kde.org/show_bug.cgi?id=398317
- readonly property bool softwareRendering: GraphicsInfo.api === GraphicsInfo.Software
-
- colorGroup: PlasmaCore.Theme.ComplementaryColorGroup
-
- width: 1600
- height: 900
-
- property string notificationMessage
-
- LayoutMirroring.enabled: Qt.application.layoutDirection === Qt.RightToLeft
- LayoutMirroring.childrenInherit: true
-
- PlasmaCore.DataSource {
- id: keystateSource
- engine: "keystate"
- connectedSources: "Caps Lock"
- }
-
- Item {
- id: wallpaper
- anchors.fill: parent
- Repeater {
- model: screenModel
-
- Background {
- x: geometry.x; y: geometry.y; width: geometry.width; height: geometry.height
- sceneBackgroundType: config.type
- sceneBackgroundColor: config.color
- sceneBackgroundImage: config.background
- }
- }
- }
-
- MouseArea {
- id: loginScreenRoot
- anchors.fill: parent
-
- property bool uiVisible: true
- property bool blockUI: mainStack.depth > 1 || userListComponent.mainPasswordBox.text.length > 0 || inputPanel.keyboardActive || config.type !== "image"
-
- hoverEnabled: true
- drag.filterChildren: true
- onPressed: uiVisible = true;
- onPositionChanged: uiVisible = true;
- onUiVisibleChanged: {
- if (blockUI) {
- fadeoutTimer.running = false;
- } else if (uiVisible) {
- fadeoutTimer.restart();
- }
- }
- onBlockUIChanged: {
- if (blockUI) {
- fadeoutTimer.running = false;
- uiVisible = true;
- } else {
- fadeoutTimer.restart();
- }
- }
-
- Keys.onPressed: {
- uiVisible = true;
- event.accepted = false;
- }
-
- //takes one full minute for the ui to disappear
- Timer {
- id: fadeoutTimer
- running: true
- interval: 60000
- onTriggered: {
- if (!loginScreenRoot.blockUI) {
- loginScreenRoot.uiVisible = false;
- }
- }
- }
- WallpaperFader {
- visible: config.type === "image"
- anchors.fill: parent
- state: loginScreenRoot.uiVisible ? "on" : "off"
- source: wallpaper
- mainStack: mainStack
- footer: footer
- clock: clock
- }
-
- DropShadow {
- id: clockShadow
- anchors.fill: clock
- source: clock
- visible: !softwareRendering
- horizontalOffset: 1
- verticalOffset: 1
- radius: 6
- samples: 14
- spread: 0.3
- color: "black" // matches Breeze window decoration and desktopcontainment
- Behavior on opacity {
- OpacityAnimator {
- duration: 1000
- easing.type: Easing.InOutQuad
- }
- }
- }
-
- Clock {
- id: clock
- visible: y > 0
- property Item shadow: clockShadow
- y: (userListComponent.userList.y + mainStack.y)/2 - height/2
- anchors.horizontalCenter: parent.horizontalCenter
- }
-
-
- StackView {
- id: mainStack
- anchors {
- left: parent.left
- right: parent.right
- }
- height: root.height + units.gridUnit * 3
-
- focus: true //StackView is an implicit focus scope, so we need to give this focus so the item inside will have it
-
- Timer {
- //SDDM has a bug in 0.13 where even though we set the focus on the right item within the window, the window doesn't have focus
- //it is fixed in 6d5b36b28907b16280ff78995fef764bb0c573db which will be 0.14
- //we need to call "window->activate()" *After* it's been shown. We can't control that in QML so we use a shoddy timer
- //it's been this way for all Plasma 5.x without a huge problem
- running: true
- repeat: false
- interval: 200
- onTriggered: mainStack.forceActiveFocus()
- }
-
- initialItem: Login {
- id: userListComponent
- userListModel: userModel
- userListCurrentIndex: userModel.lastIndex >= 0 ? userModel.lastIndex : 0
- lastUserName: userModel.lastUser
-
- usernameFontSize: root.generalFontSize
- usernameFontColor: root.generalFontColor
-
- showUserList: {
- if ( !userListModel.hasOwnProperty("count")
- || !userListModel.hasOwnProperty("disableAvatarsThreshold"))
- return (userList.y + mainStack.y) > 0
-
- if ( userListModel.count == 0 ) return false
-
- return userListModel.count <= userListModel.disableAvatarsThreshold && (userList.y + mainStack.y) > 0
- }
-
- notificationMessage: {
- var text = ""
- if (keystateSource.data["Caps Lock"]["Locked"]) {
- text += i18nd("plasma_lookandfeel_org.kde.lookandfeel","Caps Lock is on")
- if (root.notificationMessage) {
- text += " • "
- }
- }
- text += root.notificationMessage
- return text
- }
-
- actionItems: [
- ActionButton {
- iconSource: "/usr/share/sddm/themes/redcore/assets/suspend_primary.svgz"
- text: i18ndc("plasma_lookandfeel_org.kde.lookandfeel","Suspend to RAM","Sleep")
- onClicked: sddm.suspend()
- enabled: sddm.canSuspend
- visible: !inputPanel.keyboardActive
- },
- ActionButton {
- iconSource: "/usr/share/sddm/themes/redcore/assets/restart_primary.svgz"
- text: i18nd("plasma_lookandfeel_org.kde.lookandfeel","Restart")
- onClicked: sddm.reboot()
- enabled: sddm.canReboot
- visible: !inputPanel.keyboardActive
- },
- ActionButton {
- iconSource: "/usr/share/sddm/themes/redcore/assets/shutdown_primary.svgz"
- text: i18nd("plasma_lookandfeel_org.kde.lookandfeel","Shut Down")
- onClicked: sddm.powerOff()
- enabled: sddm.canPowerOff
- visible: !inputPanel.keyboardActive
- },
- ActionButton {
- iconSource: "/usr/share/sddm/themes/redcore/assets/switch_primary.svgz"
- text: i18ndc("plasma_lookandfeel_org.kde.lookandfeel", "For switching to a username and password prompt", "Other...")
- onClicked: mainStack.push(userPromptComponent)
- enabled: true
- visible: !userListComponent.showUsernamePrompt && !inputPanel.keyboardActive
- }]
-
- onLoginRequest: {
- root.notificationMessage = ""
- sddm.login(username, password, sessionButton.currentIndex)
- }
- }
-
- Behavior on opacity {
- OpacityAnimator {
- duration: units.longDuration
- }
- }
- }
-
- Loader {
- id: inputPanel
- state: "hidden"
- property bool keyboardActive: item ? item.active : false
- onKeyboardActiveChanged: {
- if (keyboardActive) {
- state = "visible"
- } else {
- state = "hidden";
- }
- }
- source: "components/VirtualKeyboard.qml"
- anchors {
- left: parent.left
- right: parent.right
- }
-
- function showHide() {
- state = state == "hidden" ? "visible" : "hidden";
- }
-
- states: [
- State {
- name: "visible"
- PropertyChanges {
- target: mainStack
- y: Math.min(0, root.height - inputPanel.height - userListComponent.visibleBoundary)
- }
- PropertyChanges {
- target: inputPanel
- y: root.height - inputPanel.height
- opacity: 1
- }
- },
- State {
- name: "hidden"
- PropertyChanges {
- target: mainStack
- y: 0
- }
- PropertyChanges {
- target: inputPanel
- y: root.height - root.height/4
- opacity: 0
- }
- }
- ]
- transitions: [
- Transition {
- from: "hidden"
- to: "visible"
- SequentialAnimation {
- ScriptAction {
- script: {
- inputPanel.item.activated = true;
- Qt.inputMethod.show();
- }
- }
- ParallelAnimation {
- NumberAnimation {
- target: mainStack
- property: "y"
- duration: units.longDuration
- easing.type: Easing.InOutQuad
- }
- NumberAnimation {
- target: inputPanel
- property: "y"
- duration: units.longDuration
- easing.type: Easing.OutQuad
- }
- OpacityAnimator {
- target: inputPanel
- duration: units.longDuration
- easing.type: Easing.OutQuad
- }
- }
- }
- },
- Transition {
- from: "visible"
- to: "hidden"
- SequentialAnimation {
- ParallelAnimation {
- NumberAnimation {
- target: mainStack
- property: "y"
- duration: units.longDuration
- easing.type: Easing.InOutQuad
- }
- NumberAnimation {
- target: inputPanel
- property: "y"
- duration: units.longDuration
- easing.type: Easing.InQuad
- }
- OpacityAnimator {
- target: inputPanel
- duration: units.longDuration
- easing.type: Easing.InQuad
- }
- }
- ScriptAction {
- script: {
- Qt.inputMethod.hide();
- }
- }
- }
- }
- ]
- }
-
-
- Component {
- id: userPromptComponent
- Login {
- showUsernamePrompt: true
- notificationMessage: root.notificationMessage
-
- // using a model rather than a QObject list to avoid QTBUG-75900
- userListModel: ListModel {
- ListElement {
- name: ""
- iconSource: ""
- }
- Component.onCompleted: {
- // as we can't bind inside ListElement
- setProperty(0, "name", i18nd("plasma_lookandfeel_org.kde.lookandfeel", "Type in Username and Password"));
- }
- }
-
- onLoginRequest: {
- root.notificationMessage = ""
- sddm.login(username, password, sessionButton.currentIndex)
- }
-
- actionItems: [
- ActionButton {
- iconSource: "/usr/share/sddm/themes/redcore/assets/suspend_primary.svgz"
- text: i18ndc("plasma_lookandfeel_org.kde.lookandfeel","Suspend to RAM","Sleep")
- onClicked: sddm.suspend()
- enabled: sddm.canSuspend
- visible: !inputPanel.keyboardActive
- },
- ActionButton {
- iconSource: "/usr/share/sddm/themes/redcore/assets/restart_primary.svgz"
- text: i18nd("plasma_lookandfeel_org.kde.lookandfeel","Restart")
- onClicked: sddm.reboot()
- enabled: sddm.canReboot
- visible: !inputPanel.keyboardActive
- },
- ActionButton {
- iconSource: "/usr/share/sddm/themes/redcore/assets/shutdown_primary.svgz"
- text: i18nd("plasma_lookandfeel_org.kde.lookandfeel","Shut Down")
- onClicked: sddm.powerOff()
- enabled: sddm.canPowerOff
- visible: !inputPanel.keyboardActive
- },
- ActionButton {
- iconSource: "/usr/share/sddm/themes/redcore/assets/switch_primary.svgz"
- text: i18nd("plasma_lookandfeel_org.kde.lookandfeel","List Users")
- onClicked: mainStack.pop()
- visible: !inputPanel.keyboardActive
- }
- ]
- }
- }
-
- //Footer
- RowLayout {
- id: footer
- anchors {
- bottom: parent.bottom
- left: parent.left
- right: parent.right
- margins: units.smallSpacing
- }
-
- Behavior on opacity {
- OpacityAnimator {
- duration: units.longDuration
- }
- }
-
- PlasmaComponents.ToolButton {
- text: i18ndc("plasma_lookandfeel_org.kde.lookandfeel", "Button to show/hide virtual keyboard", "Virtual Keyboard")
- font.pointSize: config.fontSize
- iconName: inputPanel.keyboardActive ? "input-keyboard-virtual-on" : "input-keyboard-virtual-off"
- onClicked: inputPanel.showHide()
- visible: inputPanel.status == Loader.Ready
- }
-
- KeyboardButton {
- }
-
- SessionButton {
- id: sessionButton
- }
-
- Item {
- Layout.fillWidth: true
- }
-
- Battery { }
- }
- }
-
- Connections {
- target: sddm
- onLoginFailed: {
- notificationMessage = i18nd("plasma_lookandfeel_org.kde.lookandfeel", "Login Failed")
- footer.enabled = true
- mainStack.enabled = true
- userListComponent.userList.opacity = 1
- }
- onLoginSucceeded: {
- //note SDDM will kill the greeter at some random point after this
- //there is no certainty any transition will finish, it depends on the time it
- //takes to complete the init
- mainStack.opacity = 0
- footer.opacity = 0
- }
- }
-
- onNotificationMessageChanged: {
- if (notificationMessage) {
- notificationResetTimer.start();
- }
- }
-
- Timer {
- id: notificationResetTimer
- interval: 3000
- onTriggered: notificationMessage = ""
- }
-}
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/SessionButton.qml b/x11-themes/redcore-theme-sddm/files/redcore/SessionButton.qml
deleted file mode 100644
index 58590c83..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/SessionButton.qml
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright 2016 David Edmundson <davidedmundson@kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 or
- * (at your option) any later version.
- *
- * This program 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 Library General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-import QtQuick 2.2
-
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-
-import QtQuick.Controls 1.3 as QQC
-
-PlasmaComponents.ToolButton {
- id: root
- property int currentIndex: -1
-
- implicitWidth: minimumWidth
-
- visible: menu.items.length > 1
-
- text: i18nd("plasma_lookandfeel_org.kde.lookandfeel", "Desktop Session: %1", instantiator.objectAt(currentIndex).text || "")
-
- font.pointSize: config.fontSize
-
- Component.onCompleted: {
- currentIndex = sessionModel.lastIndex
- }
-
- menu: QQC.Menu {
- id: menu
- style: BreezeMenuStyle {}
- Instantiator {
- id: instantiator
- model: sessionModel
- onObjectAdded: menu.insertItem(index, object)
- onObjectRemoved: menu.removeItem( object )
- delegate: QQC.MenuItem {
- text: model.name
- onTriggered: {
- root.currentIndex = model.index
- }
- }
- }
- }
-}
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/assets/login.svgz b/x11-themes/redcore-theme-sddm/files/redcore/assets/login.svgz
deleted file mode 100644
index a1b005b6..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/assets/login.svgz
+++ /dev/null
Binary files differ
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/assets/logout_primary.svgz b/x11-themes/redcore-theme-sddm/files/redcore/assets/logout_primary.svgz
deleted file mode 100644
index fd83ef02..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/assets/logout_primary.svgz
+++ /dev/null
Binary files differ
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/assets/restart_primary.svgz b/x11-themes/redcore-theme-sddm/files/redcore/assets/restart_primary.svgz
deleted file mode 100644
index e749f9b3..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/assets/restart_primary.svgz
+++ /dev/null
Binary files differ
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/assets/shutdown_primary.svgz b/x11-themes/redcore-theme-sddm/files/redcore/assets/shutdown_primary.svgz
deleted file mode 100644
index 03592da9..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/assets/shutdown_primary.svgz
+++ /dev/null
Binary files differ
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/assets/suspend_primary.svgz b/x11-themes/redcore-theme-sddm/files/redcore/assets/suspend_primary.svgz
deleted file mode 100644
index 6bbf63c9..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/assets/suspend_primary.svgz
+++ /dev/null
Binary files differ
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/assets/switch_primary.svgz b/x11-themes/redcore-theme-sddm/files/redcore/assets/switch_primary.svgz
deleted file mode 100644
index 5f344258..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/assets/switch_primary.svgz
+++ /dev/null
Binary files differ
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/background.jpg b/x11-themes/redcore-theme-sddm/files/redcore/background.jpg
deleted file mode 100644
index 2b07c0d8..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/background.jpg
+++ /dev/null
Binary files differ
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/components/ActionButton.qml b/x11-themes/redcore-theme-sddm/files/redcore/components/ActionButton.qml
deleted file mode 100644
index 9fbd2a8a..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/components/ActionButton.qml
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright 2016 David Edmundson <davidedmundson@kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 or
- * (at your option) any later version.
- *
- * This program 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 Library General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-import QtQuick 2.8
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-
-Item {
- id: root
- property alias text: label.text
- property alias iconSource: icon.source
- property alias containsMouse: mouseArea.containsMouse
- property alias font: label.font
- property alias labelRendering: label.renderType
- property alias circleOpacity: iconCircle.opacity
- property alias circleVisiblity: iconCircle.visible
- property int fontSize: config.fontSize
- readonly property bool softwareRendering: GraphicsInfo.api === GraphicsInfo.Software
- signal clicked
-
- activeFocusOnTab: true
-
- property int iconSize: units.gridUnit * 3
-
- implicitWidth: Math.max(iconSize + units.largeSpacing * 2, label.contentWidth)
- implicitHeight: iconSize + units.smallSpacing + label.implicitHeight
-
- opacity: activeFocus || containsMouse ? 1 : 0.85
- Behavior on opacity {
- PropertyAnimation { // OpacityAnimator makes it turn black at random intervals
- duration: units.longDuration * 2
- easing.type: Easing.InOutQuad
- }
- }
-
- Rectangle {
- id: iconCircle
- anchors.centerIn: icon
- width: iconSize + units.smallSpacing
- height: width
- radius: width / 2
- color: softwareRendering ? PlasmaCore.ColorScope.backgroundColor : PlasmaCore.ColorScope.textColor
- opacity: activeFocus || containsMouse ? (softwareRendering ? 0.8 : 0.15) : (softwareRendering ? 0.6 : 0)
- Behavior on opacity {
- PropertyAnimation { // OpacityAnimator makes it turn black at random intervals
- duration: units.longDuration * 3
- easing.type: Easing.InOutQuad
- }
- }
- }
-
- Rectangle {
- anchors.centerIn: iconCircle
- width: iconCircle.width
- height: width
- radius: width / 2
- scale: mouseArea.containsPress ? 1 : 0
- color: PlasmaCore.ColorScope.textColor
- opacity: 0.15
- Behavior on scale {
- PropertyAnimation {
- duration: units.shortDuration
- easing.type: Easing.InOutQuart
- }
- }
- }
-
- PlasmaCore.IconItem {
- id: icon
- anchors {
- top: parent.top
- horizontalCenter: parent.horizontalCenter
- }
- width: iconSize
- height: iconSize
-
- colorGroup: PlasmaCore.ColorScope.colorGroup
- active: mouseArea.containsMouse || root.activeFocus
- }
-
- PlasmaComponents.Label {
- id: label
- font.pointSize: Math.max(fontSize + 1,theme.defaultFont.pointSize + 1)
- anchors {
- top: icon.bottom
- topMargin: (softwareRendering ? 1.5 : 1) * units.smallSpacing
- left: parent.left
- right: parent.right
- }
- style: softwareRendering ? Text.Outline : Text.Normal
- styleColor: softwareRendering ? PlasmaCore.ColorScope.backgroundColor : "transparent" //no outline, doesn't matter
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignTop
- wrapMode: Text.WordWrap
- font.underline: root.activeFocus
- }
-
- MouseArea {
- id: mouseArea
- hoverEnabled: true
- onClicked: root.clicked()
- anchors.fill: parent
- }
-
- Keys.onEnterPressed: clicked()
- Keys.onReturnPressed: clicked()
- Keys.onSpacePressed: clicked()
-
- Accessible.onPressAction: clicked()
- Accessible.role: Accessible.Button
- Accessible.name: label.text
-}
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/components/Battery.qml b/x11-themes/redcore-theme-sddm/files/redcore/components/Battery.qml
deleted file mode 100644
index 2351c4de..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/components/Battery.qml
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright 2016 Kai Uwe Broulik <kde@privat.broulik.de>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 or
- * (at your option) any later version.
- *
- * This program 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 Library General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-import QtQuick 2.2
-
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.plasma.workspace.components 2.0 as PW
-
-Row {
- spacing: units.smallSpacing
- visible: pmSource.data["Battery"]["Has Cumulative"]
-
- PlasmaCore.DataSource {
- id: pmSource
- engine: "powermanagement"
- connectedSources: ["Battery", "AC Adapter"]
- }
-
- PW.BatteryIcon {
- id: battery
- hasBattery: pmSource.data["Battery"]["Has Battery"] || false
- percent: pmSource.data["Battery"]["Percent"] || 0
- pluggedIn: pmSource.data["AC Adapter"] ? pmSource.data["AC Adapter"]["Plugged in"] : false
-
- height: batteryLabel.height
- width: height
- }
-
- PlasmaComponents.Label {
- id: batteryLabel
- font.pointSize: config.fontSize
- height: undefined
- text: i18nd("plasma_lookandfeel_org.kde.lookandfeel","%1%", battery.percent)
- Accessible.name: i18nd("plasma_lookandfeel_org.kde.lookandfeel","Battery at %1%", battery.percent)
- }
-}
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/components/Clock.qml b/x11-themes/redcore-theme-sddm/files/redcore/components/Clock.qml
deleted file mode 100644
index 6e26055c..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/components/Clock.qml
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright 2016 David Edmundson <davidedmundson@kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 or
- * (at your option) any later version.
- *
- * This program 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 Library General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-import QtQuick 2.8
-import QtQuick.Layouts 1.1
-import QtQuick.Controls 1.1
-import org.kde.plasma.core 2.0
-
-ColumnLayout {
- readonly property bool softwareRendering: GraphicsInfo.api === GraphicsInfo.Software
-
- Label {
- text: Qt.formatTime(timeSource.data["Local"]["DateTime"])
- color: ColorScope.textColor
- style: softwareRendering ? Text.Outline : Text.Normal
- styleColor: softwareRendering ? ColorScope.backgroundColor : "transparent" //no outline, doesn't matter
- font.pointSize: 48
- Layout.alignment: Qt.AlignHCenter
- }
- Label {
- text: Qt.formatDate(timeSource.data["Local"]["DateTime"], Qt.DefaultLocaleLongDate)
- color: ColorScope.textColor
- style: softwareRendering ? Text.Outline : Text.Normal
- styleColor: softwareRendering ? ColorScope.backgroundColor : "transparent" //no outline, doesn't matter
- font.pointSize: 24
- Layout.alignment: Qt.AlignHCenter
- }
- DataSource {
- id: timeSource
- engine: "time"
- connectedSources: ["Local"]
- interval: 1000
- }
-}
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/components/KeyboardLayoutButton.qml b/x11-themes/redcore-theme-sddm/files/redcore/components/KeyboardLayoutButton.qml
deleted file mode 100644
index 32edb528..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/components/KeyboardLayoutButton.qml
+++ /dev/null
@@ -1,52 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2014 by Daniel Vrátil <dvratil@redhat.com> *
- * *
- * This program 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. *
- * *
- * This program 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, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
- ***************************************************************************/
-
-import QtQuick 2.1
-import QtQuick.Controls 1.1 as QQC
-
-import org.kde.plasma.components 2.0 as PlasmaComponents
-
-import org.kde.plasma.workspace.keyboardlayout 1.0
-
-PlasmaComponents.ToolButton {
-
- property int fontSize: config.fontSize
-
- id: kbLayoutButton
-
- iconName: "input-keyboard"
- implicitWidth: minimumWidth
- text: layout.currentLayoutDisplayName
- font.pointSize: Math.max(fontSize,theme.defaultFont.pointSize)
-
- Accessible.name: i18ndc("plasma_lookandfeel_org.kde.lookandfeel", "Button to change keyboard layout", "Switch layout")
-
- visible: layout.layouts.length > 1
-
- onClicked: layout.nextLayout()
-
- KeyboardLayout {
- id: layout
- function nextLayout() {
- var layouts = layout.layouts;
- var index = (layouts.indexOf(layout.currentLayout)+1) % layouts.length;
- layout.currentLayout = layouts[index];
- }
- }
-}
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/components/SessionManagementScreen.qml b/x11-themes/redcore-theme-sddm/files/redcore/components/SessionManagementScreen.qml
deleted file mode 100644
index 5f882604..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/components/SessionManagementScreen.qml
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright 2016 David Edmundson <davidedmundson@kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 or
- * (at your option) any later version.
- *
- * This program 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 Library General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-import QtQuick 2.2
-
-import QtQuick.Layouts 1.1
-import QtQuick.Controls 1.1
-
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-
-Item {
- id: root
-
- /*
- * Any message to be displayed to the user, visible above the text fields
- */
- property alias notificationMessage: notificationsLabel.text
-
- /*
- * A list of Items (typically ActionButtons) to be shown in a Row beneath the prompts
- */
- property alias actionItems: actionItemsLayout.children
-
- /*
- * A model with a list of users to show in the view
- * The following roles should exist:
- * - name
- * - iconSource
- *
- * The following are also handled:
- * - vtNumber
- * - displayNumber
- * - session
- * - isTty
- */
- property alias userListModel: userListView.model
-
- /*
- * Self explanatory
- */
- property alias userListCurrentIndex: userListView.currentIndex
- property var userListCurrentModelData: userListView.currentItem === null ? [] : userListView.currentItem.m
- property bool showUserList: true
-
- property alias userList: userListView
-
- property int fontSize: config.fontSize
-
- default property alias _children: innerLayout.children
-
- UserList {
- id: userListView
- visible: showUserList && y > 0
- anchors {
- bottom: parent.verticalCenter
- left: parent.left
- right: parent.right
- }
- }
-
- //goal is to show the prompts, in ~16 grid units high, then the action buttons
- //but collapse the space between the prompts and actions if there's no room
- //ui is constrained to 16 grid units wide, or the screen
- ColumnLayout {
- id: prompts
- anchors.top: parent.verticalCenter
- anchors.topMargin: units.gridUnit * 0.5
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.bottom: parent.bottom
- PlasmaComponents.Label {
- id: notificationsLabel
- font.pointSize: Math.max(fontSize + 1,theme.defaultFont.pointSize + 1)
- Layout.maximumWidth: units.gridUnit * 16
- Layout.alignment: Qt.AlignHCenter
- Layout.fillWidth: true
- horizontalAlignment: Text.AlignHCenter
- wrapMode: Text.WordWrap
- font.italic: true
- }
- ColumnLayout {
- Layout.minimumHeight: implicitHeight
- Layout.maximumHeight: units.gridUnit * 10
- Layout.maximumWidth: units.gridUnit * 16
- Layout.alignment: Qt.AlignHCenter
- ColumnLayout {
- id: innerLayout
- Layout.alignment: Qt.AlignHCenter
- Layout.fillWidth: true
- }
- Item {
- Layout.fillHeight: true
- }
- }
- Row { //deliberately not rowlayout as I'm not trying to resize child items
- id: actionItemsLayout
- spacing: units.largeSpacing / 2
- Layout.alignment: Qt.AlignHCenter
- }
- Item {
- Layout.fillHeight: true
- }
- }
-}
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/components/UserDelegate.qml b/x11-themes/redcore-theme-sddm/files/redcore/components/UserDelegate.qml
deleted file mode 100644
index 960315df..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/components/UserDelegate.qml
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Copyright 2014 David Edmundson <davidedmundson@kde.org>
- * Copyright 2014 Aleix Pol Gonzalez <aleixpol@blue-systems.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 or
- * (at your option) any later version.
- *
- * This program 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 Library General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-import QtQuick 2.8
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-
-Item {
- id: wrapper
-
- // If we're using software rendering, draw outlines instead of shadows
- // See https://bugs.kde.org/show_bug.cgi?id=398317
- readonly property bool softwareRendering: GraphicsInfo.api === GraphicsInfo.Software
-
- property bool isCurrent: true
-
- readonly property var m: model
- property string name
- property string userName
- property string avatarPath
- property string iconSource
- property bool constrainText: true
- property alias nameFontSize: usernameDelegate.font.pointSize
- property int fontSize: config.fontSize
- signal clicked()
-
- property real faceSize: Math.min(width, height - usernameDelegate.height - units.smallSpacing)
-
- opacity: isCurrent ? 1.0 : 0.5
-
- Behavior on opacity {
- OpacityAnimator {
- duration: units.longDuration
- }
- }
-
- // Draw a translucent background circle under the user picture
- Rectangle {
- anchors.centerIn: imageSource
- width: imageSource.width - 2 // Subtract to prevent fringing
- height: width
- radius: width / 2
-
- color: PlasmaCore.ColorScope.backgroundColor
- opacity: 0.6
- }
-
- Item {
- id: imageSource
- anchors {
- bottom: usernameDelegate.top
- bottomMargin: units.largeSpacing
- horizontalCenter: parent.horizontalCenter
- }
- Behavior on width {
- PropertyAnimation {
- from: faceSize
- duration: units.longDuration * 2;
- }
- }
- width: isCurrent ? faceSize : faceSize - units.largeSpacing
- height: width
-
- //Image takes priority, taking a full path to a file, if that doesn't exist we show an icon
- Image {
- id: face
- source: wrapper.avatarPath
- sourceSize: Qt.size(faceSize, faceSize)
- fillMode: Image.PreserveAspectCrop
- anchors.fill: parent
- }
-
- PlasmaCore.IconItem {
- id: faceIcon
- source: iconSource
- visible: (face.status == Image.Error || face.status == Image.Null)
- anchors.fill: parent
- anchors.margins: units.gridUnit * 0.5 // because mockup says so...
- colorGroup: PlasmaCore.ColorScope.colorGroup
- }
- }
-
- ShaderEffect {
- anchors {
- bottom: usernameDelegate.top
- bottomMargin: units.largeSpacing
- horizontalCenter: parent.horizontalCenter
- }
-
- width: imageSource.width
- height: imageSource.height
-
- supportsAtlasTextures: true
-
- property var source: ShaderEffectSource {
- sourceItem: imageSource
- // software rendering is just a fallback so we can accept not having a rounded avatar here
- hideSource: wrapper.GraphicsInfo.api !== GraphicsInfo.Software
- live: true // otherwise the user in focus will show a blurred avatar
- }
-
- property var colorBorder: PlasmaCore.ColorScope.textColor
-
- //draw a circle with an antialised border
- //innerRadius = size of the inner circle with contents
- //outerRadius = size of the border
- //blend = area to blend between two colours
- //all sizes are normalised so 0.5 == half the width of the texture
-
- //if copying into another project don't forget to connect themeChanged to update()
- //but in SDDM that's a bit pointless
- fragmentShader: "
- varying highp vec2 qt_TexCoord0;
- uniform highp float qt_Opacity;
- uniform lowp sampler2D source;
-
- uniform lowp vec4 colorBorder;
- highp float blend = 0.01;
- highp float innerRadius = 0.47;
- highp float outerRadius = 0.49;
- lowp vec4 colorEmpty = vec4(0.0, 0.0, 0.0, 0.0);
-
- void main() {
- lowp vec4 colorSource = texture2D(source, qt_TexCoord0.st);
-
- highp vec2 m = qt_TexCoord0 - vec2(0.5, 0.5);
- highp float dist = sqrt(m.x * m.x + m.y * m.y);
-
- if (dist < innerRadius)
- gl_FragColor = colorSource;
- else if (dist < innerRadius + blend)
- gl_FragColor = mix(colorSource, colorBorder, ((dist - innerRadius) / blend));
- else if (dist < outerRadius)
- gl_FragColor = colorBorder;
- else if (dist < outerRadius + blend)
- gl_FragColor = mix(colorBorder, colorEmpty, ((dist - outerRadius) / blend));
- else
- gl_FragColor = colorEmpty ;
-
- gl_FragColor = gl_FragColor * qt_Opacity;
- }
- "
- }
-
- PlasmaComponents.Label {
- id: usernameDelegate
- font.pointSize: Math.max(fontSize + 2,theme.defaultFont.pointSize + 2)
- anchors {
- bottom: parent.bottom
- horizontalCenter: parent.horizontalCenter
- }
- height: implicitHeight // work around stupid bug in Plasma Components that sets the height
- 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
- elide: Text.ElideRight
- horizontalAlignment: Text.AlignHCenter
- //make an indication that this has active focus, this only happens when reached with keyboard navigation
- font.underline: wrapper.activeFocus
- }
-
- MouseArea {
- anchors.fill: parent
- hoverEnabled: true
-
- onClicked: wrapper.clicked();
- }
-
- Accessible.name: name
- Accessible.role: Accessible.Button
- function accessiblePressAction() { wrapper.clicked() }
-}
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/components/UserList.qml b/x11-themes/redcore-theme-sddm/files/redcore/components/UserList.qml
deleted file mode 100644
index a2d85088..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/components/UserList.qml
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright 2014 David Edmundson <davidedmundson@kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 or
- * (at your option) any later version.
- *
- * This program 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 Library General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-import QtQuick 2.2
-
-ListView {
- id: view
- readonly property string selectedUser: currentItem ? currentItem.userName : ""
- readonly property int userItemWidth: units.gridUnit * 8
- readonly property int userItemHeight: units.gridUnit * 8
-
- implicitHeight: userItemHeight
-
- activeFocusOnTab : true
-
- /*
- * Signals that a user was explicitly selected
- */
- signal userSelected;
-
- orientation: ListView.Horizontal
- highlightRangeMode: ListView.StrictlyEnforceRange
-
- //centre align selected item (which implicitly centre aligns the rest
- preferredHighlightBegin: width/2 - userItemWidth/2
- preferredHighlightEnd: preferredHighlightBegin
-
- delegate: UserDelegate {
- avatarPath: model.icon || ""
- iconSource: model.iconName || "user-identity"
-
- name: {
- var displayName = model.realName || model.name
-
- if (model.vtNumber === undefined || model.vtNumber < 0) {
- return displayName
- }
-
- if (!model.session) {
- return i18ndc("plasma_lookandfeel_org.kde.lookandfeel", "Nobody logged in on that session", "Unused")
- }
-
-
- var location = ""
- if (model.isTty) {
- location = i18ndc("plasma_lookandfeel_org.kde.lookandfeel", "User logged in on console number", "TTY %1", model.vtNumber)
- } else if (model.displayNumber) {
- location = i18ndc("plasma_lookandfeel_org.kde.lookandfeel", "User logged in on console (X display number)", "on TTY %1 (Display %2)", model.vtNumber, model.displayNumber)
- }
-
- if (location) {
- return i18ndc("plasma_lookandfeel_org.kde.lookandfeel", "Username (location)", "%1 (%2)", displayName, location)
- }
-
- return displayName
- }
-
- userName: model.name
-
- width: userItemWidth
- height: userItemHeight
-
- //if we only have one delegate, we don't need to clip the text as it won't be overlapping with anything
- constrainText: ListView.view.count > 1
-
- isCurrent: ListView.isCurrentItem
-
- onClicked: {
- ListView.view.currentIndex = index;
- ListView.view.userSelected();
- }
- }
-
- Keys.onEscapePressed: view.userSelected()
- Keys.onEnterPressed: view.userSelected()
- Keys.onReturnPressed: view.userSelected()
-}
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/components/VirtualKeyboard.qml b/x11-themes/redcore-theme-sddm/files/redcore/components/VirtualKeyboard.qml
deleted file mode 100644
index 7848b753..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/components/VirtualKeyboard.qml
+++ /dev/null
@@ -1,28 +0,0 @@
-/********************************************************************
- This file is part of the KDE project.
-
-Copyright (C) 2017 Martin Gräßlin <mgraesslin@kde.org>
-
-This program 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.
-
-This program 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.5
-import QtQuick.VirtualKeyboard 2.1
-
-InputPanel {
- id: inputPanel
- property bool activated: false
- active: activated && Qt.inputMethod.visible
- visible: active
- width: parent.width
-}
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/components/WallpaperFader.qml b/x11-themes/redcore-theme-sddm/files/redcore/components/WallpaperFader.qml
deleted file mode 100644
index 31dfe007..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/components/WallpaperFader.qml
+++ /dev/null
@@ -1,182 +0,0 @@
-/********************************************************************
- This file is part of the KDE project.
-
-Copyright (C) 2014 Aleix Pol Gonzalez <aleixpol@blue-systems.com>
-
-This program 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.
-
-This program 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.6
-import QtQuick.Controls 1.1
-import QtQuick.Layouts 1.1
-import QtGraphicalEffects 1.0
-
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-
-import org.kde.plasma.private.sessions 2.0
-import "../components"
-
-Item {
- id: wallpaperFader
- property Item clock
- property Item mainStack
- property Item footer
- property alias source: wallpaperBlur.source
- state: lockScreenRoot.uiVisible ? "on" : "off"
- property real factor: 0
- readonly property bool lightBackground: Math.max(PlasmaCore.ColorScope.backgroundColor.r, PlasmaCore.ColorScope.backgroundColor.g, PlasmaCore.ColorScope.backgroundColor.b) > 0.5
-
- Behavior on factor {
- NumberAnimation {
- target: wallpaperFader
- property: "factor"
- duration: 1000
- easing.type: Easing.InOutQuad
- }
- }
- FastBlur {
- id: wallpaperBlur
- anchors.fill: parent
- radius: 50 * wallpaperFader.factor
- }
- ShaderEffect {
- id: wallpaperShader
- anchors.fill: parent
- supportsAtlasTextures: true
- property var source: ShaderEffectSource {
- sourceItem: wallpaperBlur
- live: true
- hideSource: true
- textureMirroring: ShaderEffectSource.NoMirroring
- }
-
- readonly property real contrast: 0.65 * wallpaperFader.factor + (1 - wallpaperFader.factor)
- readonly property real saturation: 1.6 * wallpaperFader.factor + (1 - wallpaperFader.factor)
- readonly property real intensity: (wallpaperFader.lightBackground ? 1.7 : 0.6) * wallpaperFader.factor + (1 - wallpaperFader.factor)
-
- readonly property real transl: (1.0 - contrast) / 2.0;
- readonly property real rval: (1.0 - saturation) * 0.2126;
- readonly property real gval: (1.0 - saturation) * 0.7152;
- readonly property real bval: (1.0 - saturation) * 0.0722;
-
- property var colorMatrix: Qt.matrix4x4(
- contrast, 0, 0, 0.0,
- 0, contrast, 0, 0.0,
- 0, 0, contrast, 0.0,
- transl, transl, transl, 1.0).times(Qt.matrix4x4(
- rval + saturation, rval, rval, 0.0,
- gval, gval + saturation, gval, 0.0,
- bval, bval, bval + saturation, 0.0,
- 0, 0, 0, 1.0)).times(Qt.matrix4x4(
- intensity, 0, 0, 0,
- 0, intensity, 0, 0,
- 0, 0, intensity, 0,
- 0, 0, 0, 1
- ));
-
-
- fragmentShader: "
- uniform mediump mat4 colorMatrix;
- uniform mediump sampler2D source;
- varying mediump vec2 qt_TexCoord0;
- uniform lowp float qt_Opacity;
-
- void main(void)
- {
- mediump vec4 tex = texture2D(source, qt_TexCoord0);
- gl_FragColor = tex * colorMatrix * qt_Opacity;
- }"
- }
-
- states: [
- State {
- name: "on"
- PropertyChanges {
- target: mainStack
- opacity: 1
- }
- PropertyChanges {
- target: footer
- opacity: 1
- }
- PropertyChanges {
- target: wallpaperFader
- factor: 1
- }
- PropertyChanges {
- target: clock.shadow
- opacity: 0
- }
- },
- State {
- name: "off"
- PropertyChanges {
- target: mainStack
- opacity: 0
- }
- PropertyChanges {
- target: footer
- opacity: 0
- }
- PropertyChanges {
- target: wallpaperFader
- factor: 0
- }
- PropertyChanges {
- target: clock.shadow
- opacity: 1
- }
- }
- ]
- transitions: [
- Transition {
- from: "off"
- to: "on"
- //Note: can't use animators as they don't play well with parallelanimations
- ParallelAnimation {
- NumberAnimation {
- target: mainStack
- property: "opacity"
- duration: units.longDuration
- easing.type: Easing.InOutQuad
- }
- NumberAnimation {
- target: footer
- property: "opacity"
- duration: units.longDuration
- easing.type: Easing.InOutQuad
- }
- }
- },
- Transition {
- from: "on"
- to: "off"
- ParallelAnimation {
- NumberAnimation {
- target: mainStack
- property: "opacity"
- duration: 500
- easing.type: Easing.InOutQuad
- }
- NumberAnimation {
- target: footer
- property: "opacity"
- duration: 500
- easing.type: Easing.InOutQuad
- }
- }
- }
- ]
-}
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/metadata.desktop b/x11-themes/redcore-theme-sddm/files/redcore/metadata.desktop
deleted file mode 100644
index 26e37838..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/metadata.desktop
+++ /dev/null
@@ -1,16 +0,0 @@
-[SddmGreeterTheme]
-Name=Redcore
-Description=ChromeOS Theme
-Author=Vince Liuice
-Copyright=(c) 2020, Vince Liuice
-License=CC-BY-SA
-Type=sddm-theme
-Version=0.1.0
-Website=https://github.com/vinceliuice/Orchis-kde
-Screenshot=preview.png
-MainScript=Main.qml
-ConfigFile=theme.conf
-TranslationsDirectory=translations
-Email=vinceliuice@hotmail.com
-Theme-Id=Orchis
-Theme-API=2.0
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/theme.conf b/x11-themes/redcore-theme-sddm/files/redcore/theme.conf
deleted file mode 100644
index 53dfe0ad..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/theme.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-[General]
-type=image
-color=#520A0A
-fontSize=10
-background=background.jpg
diff --git a/x11-themes/redcore-theme-sddm/files/redcore/theme.conf.user b/x11-themes/redcore-theme-sddm/files/redcore/theme.conf.user
deleted file mode 100644
index 68c66429..00000000
--- a/x11-themes/redcore-theme-sddm/files/redcore/theme.conf.user
+++ /dev/null
@@ -1,2 +0,0 @@
-[General]
-type=image