Warning, /plasma/kdeplasma-addons/applets/comic/package/contents/ui/ImageWidget.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 * SPDX-FileCopyrightText: 2012 Reza Fatahilah Shah <rshah0385@kireihana.com>
0003 *
0004 * SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006
0007 import QtQuick 2.1
0008 import org.kde.plasma.components 3.0 as PlasmaComponents
0009 import org.kde.kquickcontrolsaddons 2.0
0010
0011 PlasmaComponents.ScrollView {
0012 id: root
0013
0014 width: comicPicture.nativeWidth
0015 height: comicPicture.nativeHeight
0016
0017 property bool actualSize: false
0018 property bool isLeftToRight: true
0019 property bool isTopToBottom: true
0020
0021 property alias image: comicPicture.image
0022
0023 function calculateContentWidth() {
0024 return actualSize ? (comicPicture.nativeWidth > viewContainer.width ? comicPicture.nativeWidth : viewContainer.width) : viewContainer.width;
0025 }
0026
0027 function calculateContentHeight() {
0028 return actualSize ? (comicPicture.nativeHeight > viewContainer.height ? comicPicture.nativeHeight : viewContainer.height) : viewContainer.height;
0029 }
0030
0031 Flickable {
0032 id: viewContainer
0033
0034 anchors.fill:parent
0035
0036 contentWidth: comicPictureHolder.width
0037 contentHeight: comicPictureHolder.height
0038
0039 clip: true
0040
0041 Item {
0042 id: comicPictureHolder
0043
0044 width: Math.max(comicPicture.width, viewContainer.width);
0045 height: Math.max(comicPicture.height, viewContainer.height);
0046
0047 QImageItem {
0048 id: comicPicture
0049
0050 anchors.centerIn: parent
0051
0052 width: actualSize ? comicPicture.nativeWidth : viewContainer.width
0053 height: actualSize ? comicPicture.nativeHeight : viewContainer.height
0054
0055 onImageChanged: {
0056 viewContainer.contentX = (root.isLeftToRight) ? 0 : ( viewContainer.contentWidth - viewContainer.width);
0057 viewContainer.contentY = (root.isTopToBottom) ? 0 : ( viewContainer.contentHeight - viewContainer.height);
0058 }
0059
0060 smooth: true
0061 fillMode: QImageItem.PreserveAspectFit
0062 }
0063 }
0064 }
0065 }