You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.7 KiB
88 lines
2.7 KiB
/* |
|
* 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 / (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 |
|
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 |
|
} |
|
}
|
|
|