Commit 0ccc0ab2 authored by Marco Martin's avatar Marco Martin
Browse files

remove phone specific wallpaper config ui

it's completely broken for the current phone ui, desktop ui
atm is actually less terrible
parent 496ed0ce
/*
* Copyright 2013 Marco Martin <mart@kde.org>
* Copyright 2014 Sebastian Kügler <sebas@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, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 2.010-1301, USA.
*/
import QtQuick 2.0
import QtQuick.Controls.Private 1.0
import org.kde.kquickcontrolsaddons 2.0
import org.kde.plasma.core 2.0 as PlasmaCore
import org.kde.plasma.components 3.0 as PlasmaComponents3
MouseArea {
id: wallpaperDelegate
width: wallpapersGrid.cellWidth
height: wallpapersGrid.cellHeight
property bool selected: (wallpapersGrid.currentIndex == index)
hoverEnabled: true
//note: this *doesn't* use system colors since it represent a
//skeymorphic photograph rather than a widget
Rectangle {
id: background
color: "white"
anchors {
fill: parent
margins: PlasmaCore.Units.smallSpacing
}
opacity: 0.8
Rectangle {
color: cfg_Color
anchors {
fill: parent
margins: PlasmaCore.Units.smallSpacing * 2
}
QIconItem {
anchors.centerIn: parent
width: PlasmaCore.Units.iconSizes.large
height: width
icon: "view-preview"
visible: !walliePreview.visible
}
QPixmapItem {
id: walliePreview
anchors.fill: parent
visible: model.screenshot !== null
smooth: true
pixmap: model.screenshot
fillMode: {
if (cfg_FillMode == Image.Stretch) {
return QPixmapItem.Stretch;
} else if (cfg_FillMode == Image.PreserveAspectFit) {
return QPixmapItem.PreserveAspectFit;
} else if (cfg_FillMode == Image.PreserveAspectCrop) {
return QPixmapItem.PreserveAspectCrop;
} else if (cfg_FillMode == Image.Tile) {
return QPixmapItem.Tile;
} else if (cfg_FillMode == Image.TileVertically) {
return QPixmapItem.TileVertically;
} else if (cfg_FillMode == Image.TileHorizontally) {
return QPixmapItem.TileHorizontally;
}
return QPixmapItem.Pad;
}
}
PlasmaComponents3.ToolButton {
anchors {
top: parent.top
right: parent.right
margins: PlasmaCore.Units.smallSpacing
}
icon.name: "list-remove"
flat: false
visible: model.removable
onClicked: imageWallpaper.removeWallpaper(model.packageName)
PlasmaComponents3.ToolTip {
text: i18nd("plasma_wallpaper_org.kde.image", "Remove wallpaper")
}
}
}
}
Rectangle {
opacity: selected ? 1.0 : 0
anchors.fill: background
border.width: PlasmaCore.Units.smallSpacing * 2
border.color: syspal.highlight
color: "transparent"
Behavior on opacity {
PropertyAnimation {
duration: PlasmaCore.Units.longDuration
easing.type: Easing.OutQuad
}
}
}
Timer {
interval: 1000 // FIXME TODO: Use platform value for tooltip activation delay.
running: wallpaperDelegate.containsMouse && !pressed && model.display && model.author
onTriggered: {
Tooltip.showText(wallpaperDelegate, Qt.point(wallpaperDelegate.mouseX, wallpaperDelegate.mouseY),
i18nd("plasma_wallpaper_org.kde.image", "%1 by %2", model.display, model.author));
}
}
onClicked: {
wallpapersGrid.currentIndex = index
cfg_Image = model.path
}
onExited: Tooltip.hideText()
}
/*
* Copyright 2013 Marco Martin <mart@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, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 2.010-1301, USA.
*/
import QtQuick 2.0
//We need units from it
import org.kde.plasma.core 2.0 as PlasmaCore
import org.kde.plasma.wallpapers.image 2.0 as Wallpaper
import org.kde.kquickcontrolsaddons 2.0
import QtQuick.Controls 2.8 as QQC2
Item {
id: root
anchors {
top: parent.top
left: parent.left
right: parent.right
bottom: parent.bottom
}
property string cfg_Image
Wallpaper.Image {
id: imageWallpaper
targetSize: Qt.size(plasmoid.width, plasmoid.height)
}
//Rectangle { color: "orange"; x: formAlignment; width: formAlignment; height: 20 }
QQC2.ScrollView {
anchors.fill: parent
frameVisible: true
GridView {
id: wallpapersGrid
model: imageWallpaper.wallpaperModel
currentIndex: -1
cellWidth: Math.floor(wallpapersGrid.width / Math.max(Math.floor(wallpapersGrid.width / (PlasmaCore.Units.gridUnit*12)), 3))
cellHeight: cellWidth / (plasmoid.width / plasmoid.height)
anchors.margins: 4
boundsBehavior: Flickable.DragAndOvershootBounds
delegate: WallpaperDelegate {}
onCountChanged: {
wallpapersGrid.currentIndex = imageWallpaper.wallpaperModel.indexOf(cfg_Image);
wallpapersGrid.positionViewAtIndex(wallpapersGrid.currentIndex, GridView.Visible)
}
Connections {
target: imageWallpaper
function onCustomWallpaperPicked() {
wallpapersGrid.currentIndex = 0
}
}
}
}
QQC2.Button {
anchors {
bottom: parent.bottom
horizontalCenter: parent.horizontalCenter
}
iconName: "list-add"
text: i18nd("plasma_wallpaper_org.kde.image","Add Custom Wallpaper")
onClicked: customWallpaperLoader.source = Qt.resolvedUrl("customwallpaper.qml")
}
Loader {
id: customWallpaperLoader
anchors.fill: parent
}
}
/*
* Copyright 2015 Marco Martin <mart@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, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 2.010-1301, USA.
*/
import QtQuick 2.0
import Qt.labs.folderlistmodel 2.1
//We need units from it
import org.kde.plasma.core 2.0 as PlasmaCore
import org.kde.plasma.wallpapers.image 2.0 as Wallpaper
import org.kde.kquickcontrolsaddons 2.0
import QtQuick.Controls 2.8 as QQC2
Rectangle {
id: root
color: syspal.window
anchors.fill: parent
SystemPalette {id: syspal}
QQC2.ScrollView {
anchors.fill: parent
frameVisible: true
GridView {
id: customGrid
model: FolderListModel {
folder: imageWallpaper.photosPath
nameFilters: ["*.jpg", "*.png", "*.jpeg"]
showDirs: false
}
currentIndex: -1
cellWidth: Math.floor(customGrid.width / Math.max(Math.floor(customGrid.width / (PlasmaCore.Units.gridUnit*12)), 3))
cellHeight: cellWidth / (imageWallpaper.width / imageWallpaper.height)
anchors.margins: 4
boundsBehavior: Flickable.DragAndOvershootBounds
delegate: MouseArea {
width: customGrid.cellWidth
height: customGrid.cellHeight
onClicked: {
imageWallpaper.addUsersWallpaper(model.fileURL);
customWallpaperLoader.source = "";
}
Rectangle {
color: "white"
anchors {
fill: parent
margins: PlasmaCore.Units.smallSpacing
}
Image {
anchors {
fill: parent
margins: PlasmaCore.Units.smallSpacing * 2
}
source: model.fileURL
}
}
}
}
}
QQC2.Button {
anchors {
bottom: parent.bottom
horizontalCenter: parent.horizontalCenter
}
width: height
iconName: "go-previous"
onClicked: customWallpaperLoader.source = ""
}
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment