[kscreenlocker_greet] Port fallback theme to SessionsModel

REVIEW: 125849
wilder-5.14
Kai Uwe Broulik 11 years ago
parent 64c8e7d975
commit 0ff4006610
  1. 1
      ksmserver/screenlocker/greeter/fallbacktheme/Greeter.qml
  2. 13
      ksmserver/screenlocker/greeter/fallbacktheme/LockScreen.qml
  3. 31
      ksmserver/screenlocker/greeter/fallbacktheme/SessionSwitching.qml

@ -21,7 +21,6 @@ import QtQuick 2.0
import QtQuick.Layouts 1.0 import QtQuick.Layouts 1.0
import org.kde.plasma.core 2.0 as PlasmaCore import org.kde.plasma.core 2.0 as PlasmaCore
import org.kde.plasma.components 2.0 as PlasmaComponents import org.kde.plasma.components 2.0 as PlasmaComponents
import org.kde.kscreenlocker 1.0
Item { Item {
id: root id: root

@ -21,7 +21,8 @@ import QtQuick 2.0
import org.kde.plasma.core 2.0 as PlasmaCore import org.kde.plasma.core 2.0 as PlasmaCore
import org.kde.kquickcontrolsaddons 2.0 import org.kde.kquickcontrolsaddons 2.0
import org.kde.kscreenlocker 1.0
import org.kde.plasma.private.sessions 2.0
import org.kde.plasma.components 2.0 as PlasmaComponents import org.kde.plasma.components 2.0 as PlasmaComponents
@ -38,6 +39,10 @@ Item {
color: "#111" color: "#111"
} }
SessionsModel {
id: sessionsModel
}
Image { Image {
id: background id: background
anchors.fill: parent anchors.fill: parent
@ -82,11 +87,7 @@ Item {
Greeter { Greeter {
id: unlockUI id: unlockUI
switchUserEnabled: sessions.switchUserSupported switchUserEnabled: sessionsModel.canSwitchUser
Sessions {
id: sessions
}
Connections { Connections {
onAccepted: lockScreen.unlockRequested() onAccepted: lockScreen.unlockRequested()

@ -20,22 +20,21 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
import QtQuick 2.0 import QtQuick 2.0
import org.kde.plasma.components 2.0 as PlasmaComponents import org.kde.plasma.components 2.0 as PlasmaComponents
import org.kde.plasma.extras 2.0 as PlasmaExtras import org.kde.plasma.extras 2.0 as PlasmaExtras
import org.kde.kscreenlocker 1.0
Item { Item {
property alias switchUserSupported: sessions.switchUserSupported readonly property bool switchUserSupported: sessionsModel.canSwitchUser
implicitWidth: theme.mSize(theme.defaultFont).width * 55 implicitWidth: theme.mSize(theme.defaultFont).width * 55
implicitHeight: theme.mSize(theme.defaultFont).height * 25 implicitHeight: theme.mSize(theme.defaultFont).height * 25
signal sessionActivated() signal sessionActivated()
signal newSessionStarted() signal newSessionStarted()
signal switchingCanceled() signal switchingCanceled()
Sessions {
id: sessions
}
anchors { anchors {
fill: parent fill: parent
margins: 6 margins: 6
} }
PlasmaExtras.ScrollArea { PlasmaExtras.ScrollArea {
anchors { anchors {
left: parent.left left: parent.left
@ -46,13 +45,23 @@ Item {
height: parent.height - explainText.implicitHeight - buttonRow.height - 10 height: parent.height - explainText.implicitHeight - buttonRow.height - 10
ListView { ListView {
model: sessions.model
id: userSessionsView id: userSessionsView
model: sessionsModel
anchors.fill: parent anchors.fill: parent
delegate: PlasmaComponents.ListItem { delegate: PlasmaComponents.ListItem {
readonly property int userVt: model.vtNumber
content: PlasmaComponents.Label { content: PlasmaComponents.Label {
text: i18ndc("kscreenlocker_greet", "thesession name and the location where the session is running (what vt)", "%1 (%2)", session, location) text: {
var display = model.isTty ? i18ndc("kscreenlocker_greet", "User logged in on console", "TTY") : model.displayNumber || ""
return i18ndc("kscreenlocker_greet", "username (terminal, display)", "%1 (%2)",
(model.realName || model.name || i18ndc("kscreenlocker_greet", "Nobody logged in", "Unused")),
display ? i18ndc("kscreenlocker_greet", "vt, display", "%1, %2", model.vtNumber, display)
: model.vtNumber
)
}
} }
} }
highlight: PlasmaComponents.Highlight { highlight: PlasmaComponents.Highlight {
@ -64,7 +73,7 @@ Item {
anchors.fill: parent anchors.fill: parent
onClicked: userSessionsView.currentIndex = userSessionsView.indexAt(mouse.x, mouse.y) onClicked: userSessionsView.currentIndex = userSessionsView.indexAt(mouse.x, mouse.y)
onDoubleClicked: { onDoubleClicked: {
sessions.activateSession(userSessionsView.indexAt(mouse.x, mouse.y)); sessionsModel.switchUser(userSessionsView.indexAt(mouse.x, mouse.y).userVt)
sessionActivated(); sessionActivated();
} }
} }
@ -101,7 +110,7 @@ Item {
label: i18nd("kscreenlocker_greet", "Activate") label: i18nd("kscreenlocker_greet", "Activate")
iconSource: "fork" iconSource: "fork"
onClicked: { onClicked: {
sessions.activateSession(userSessionsView.currentIndex); sessionsModel.switchUser(userSessionsView.currentItem.userVt)
sessionActivated(); sessionActivated();
} }
} }
@ -109,9 +118,9 @@ Item {
id: newSession id: newSession
label: i18nd("kscreenlocker_greet", "Start New Session") label: i18nd("kscreenlocker_greet", "Start New Session")
iconSource: "fork" iconSource: "fork"
visible: sessions.startNewSessionSupported visible: sessionsModel.canStartNewSession
onClicked: { onClicked: {
sessions.startNewSession(); sessionsModel.startNewSession()
newSessionStarted(); newSessionStarted();
} }
} }

Loading…
Cancel
Save