diff --git a/src/dde-control-center/frame/plugin/DccEditorItem.qml b/src/dde-control-center/frame/plugin/DccEditorItem.qml index 13e602a9aa..3b1809faea 100644 --- a/src/dde-control-center/frame/plugin/DccEditorItem.qml +++ b/src/dde-control-center/frame/plugin/DccEditorItem.qml @@ -66,6 +66,7 @@ D.ItemDelegate { Layout.fillWidth: true Layout.alignment: Qt.AlignVCenter spacing: 2 + opacity: model.item.enabledToApp ? 1 : 0.4 DccLabel { Layout.fillWidth: true text: model.display diff --git a/src/plugin-personalization/qml/ScreenSaverPage.qml b/src/plugin-personalization/qml/ScreenSaverPage.qml index 21b4b30f36..a65bde8a7c 100644 --- a/src/plugin-personalization/qml/ScreenSaverPage.qml +++ b/src/plugin-personalization/qml/ScreenSaverPage.qml @@ -150,143 +150,98 @@ DccObject { parentName: "personalization/screenSaver/screenSaverStatusGroup" weight: 300 pageType: DccObject.Item - page: ColumnLayout { - Layout.fillWidth: true - spacing: 0 - - D.ItemDelegate { - Layout.fillWidth: true - Layout.preferredHeight: 36 - backgroundVisible: false - leftPadding: 10 - rightPadding: 8 - topPadding: 0 - bottomPadding: 0 - topInset: 0 - bottomInset: 0 - corners: D.RoundRectangle.TopLeftCorner | D.RoundRectangle.TopRightCorner - enabled: dccData.model.screenSaverModel.getConfigAbleByUrl(dccData.model.currentScreenSaver) || dccData.model.currentScreenSaver === "deepin-custom-screensaver" - opacity: enabled ? 1 : 0.4 + page: DccGroupView { + Layout.alignment: Qt.AlignTop + } - contentItem: RowLayout { - DccLabel { - Layout.fillWidth: true - Layout.alignment: Qt.AlignVCenter - text: qsTr("Personalized screensaver") - } - D.Button { - id: settingBtn - Layout.alignment: Qt.AlignVCenter - implicitWidth: { - font.pixelSize - return fm.advanceWidth(text) + leftPadding + rightPadding - } - implicitHeight: 24 - enabled: parent.parent.enabled - FontMetrics { - id: fm - font: settingBtn.font - } - text: qsTr("setting") - font { - pixelSize: D.DTK.fontManager.t7.pixelSize - letterSpacing: 2 - } - onClicked: { - dccData.worker.requestScreenSaverConfig(dccData.model.currentScreenSaver) - } - } + DccObject { + name: "personalizedScreensaver" + parentName: "personalization/screenSaver/screenSaverStatusGroup/screenSaverSetGroup" + displayName: qsTr("Personalized screensaver") + weight: 10 + pageType: DccObject.Editor + enabled: dccData.model.screenSaverModel.getConfigAbleByUrl(dccData.model.currentScreenSaver) || dccData.model.currentScreenSaver === "deepin-custom-screensaver" + page: D.Button { + id: settingBtn + implicitWidth: { + font.pixelSize + return fm.advanceWidth(text) + leftPadding + rightPadding } - - background: DccItemBackground { - separatorVisible: true - backgroundType: 1 + implicitHeight: 24 + FontMetrics { + id: fm + font: settingBtn.font + } + text: qsTr("setting") + font { + pixelSize: D.DTK.fontManager.t7.pixelSize + letterSpacing: 2 + } + onClicked: { + dccData.worker.requestScreenSaverConfig(dccData.model.currentScreenSaver) } } + onParentItemChanged: { + if (parentItem) + parentItem.implicitHeight = 36 + } + } - D.ItemDelegate { - Layout.fillWidth: true - Layout.preferredHeight: 36 - backgroundVisible: false - leftPadding: 10 - rightPadding: 8 - topPadding: 0 - bottomPadding: 0 - topInset: 0 - bottomInset: 0 - corners: D.RoundRectangle.NoneCorner - - contentItem: RowLayout { - DccLabel { - Layout.fillWidth: true - Layout.alignment: Qt.AlignVCenter - text: qsTr("idle time") - } - CustomComboBox { - Layout.alignment: Qt.AlignVCenter - flat: true - textRole: "text" - currentIndex: { - let value = dccData.model.onBattery ? dccData.model.batteryScreenSaverIdleTime : dccData.model.linePowerScreenSaverIdleTime - return indexByValue(value) - } - model: ListModel { - ListElement { text: qsTr("1 minute"); value: 60 } - ListElement { text: qsTr("5 minute"); value: 300 } - ListElement { text: qsTr("10 minute"); value: 600 } - ListElement { text: qsTr("15 minute"); value: 900 } - ListElement { text: qsTr("30 minute"); value: 1800 } - ListElement { text: qsTr("1 hour"); value: 3600 } - ListElement { text: qsTr("never"); value: 0 } - } - onCurrentIndexChanged: { - let value = dccData.model.onBattery ? dccData.model.batteryScreenSaverIdleTime : dccData.model.linePowerScreenSaverIdleTime - if (value !== model.get(currentIndex).value) { - dccData.worker.setScreenSaverIdleTime(model.get(currentIndex).value) - } - } + DccObject { + name: "idleTime" + parentName: "personalization/screenSaver/screenSaverStatusGroup/screenSaverSetGroup" + displayName: qsTr("idle time") + weight: 20 + pageType: DccObject.Editor + page: CustomComboBox { + flat: true + textRole: "text" + currentIndex: { + let value = dccData.model.onBattery ? dccData.model.batteryScreenSaverIdleTime : dccData.model.linePowerScreenSaverIdleTime + return indexByValue(value) + } + model: ListModel { + ListElement { text: qsTr("1 minute"); value: 60 } + ListElement { text: qsTr("5 minute"); value: 300 } + ListElement { text: qsTr("10 minute"); value: 600 } + ListElement { text: qsTr("15 minute"); value: 900 } + ListElement { text: qsTr("30 minute"); value: 1800 } + ListElement { text: qsTr("1 hour"); value: 3600 } + ListElement { text: qsTr("never"); value: 0 } + } + onCurrentIndexChanged: { + let value = dccData.model.onBattery ? dccData.model.batteryScreenSaverIdleTime : dccData.model.linePowerScreenSaverIdleTime + if (value !== model.get(currentIndex).value) { + dccData.worker.setScreenSaverIdleTime(model.get(currentIndex).value) } } - - background: DccItemBackground { - separatorVisible: true - backgroundType: 1 + } + onParentItemChanged: { + if (parentItem) { + parentItem.implicitHeight = 36 + parentItem.rightItemTopMargin = 0 + parentItem.rightItemBottomMargin = 0 } } + } - D.ItemDelegate { - Layout.fillWidth: true - Layout.preferredHeight: 36 - backgroundVisible: false - leftPadding: 10 - rightPadding: 8 - topPadding: 0 - bottomPadding: 0 - topInset: 0 - bottomInset: 0 - corners: D.RoundRectangle.BottomLeftCorner | D.RoundRectangle.BottomRightCorner - - contentItem: RowLayout { - DccLabel { - Layout.fillWidth: true - Layout.alignment: Qt.AlignVCenter - text: qsTr("Password required for recovery") - } - D.Switch { - Layout.alignment: Qt.AlignVCenter - checked: dccData.model.lockScreenAtAwake - onCheckedChanged: { - if (checked != dccData.model.lockScreenAtAwake) { - dccData.worker.setLockScreenAtAwake(checked) - } - } + DccObject { + name: "lockScreenAtAwake" + parentName: "personalization/screenSaver/screenSaverStatusGroup/screenSaverSetGroup" + displayName: qsTr("Password required for recovery") + weight: 30 + pageType: DccObject.Editor + page: D.Switch { + checked: dccData.model.lockScreenAtAwake + onCheckedChanged: { + if (checked != dccData.model.lockScreenAtAwake) { + dccData.worker.setLockScreenAtAwake(checked) } } - - background: DccItemBackground { - separatorVisible: false - backgroundType: 1 - } + } + onParentItemChanged: { + if (parentItem) + parentItem.implicitHeight = 36 } } }