Fix indentation

This commit is contained in:
Luis Ángel San Martín 2022-11-06 10:15:00 +01:00
parent 7ed8426cad
commit a7ff96b9ce
2 changed files with 1171 additions and 1171 deletions

File diff suppressed because it is too large Load Diff

View File

@ -20,73 +20,73 @@ SplitView {
color: info_container.color color: info_container.color
} }
Rectangle { Rectangle {
id: main id: main
clip: true clip: true
Image { Image {
id: backgroundImg id: backgroundImg
anchors.fill: parent anchors.fill: parent
source: backgroundImage source: backgroundImage
fillMode: Image.PreserveAspectCrop fillMode: Image.PreserveAspectCrop
smooth: true smooth: true
mipmap: true mipmap: true
asynchronous : true asynchronous : true
cache: false //TODO clear cache only when it is needed cache: false //TODO clear cache only when it is needed
opacity: 0 opacity: 0
visible: false visible: false
} }
FastBlur { FastBlur {
anchors.fill: backgroundImg anchors.fill: backgroundImg
source: backgroundImg source: backgroundImg
radius: backgroundBlurRadius radius: backgroundBlurRadius
opacity: backgroundBlurOpacity opacity: backgroundBlurOpacity
visible: backgroundBlurVisible visible: backgroundBlurVisible
} }
color: backgroundColor color: backgroundColor
width: parent.width - (info_container.visible ? info_container.width : 0) width: parent.width - (info_container.visible ? info_container.width : 0)
SplitView.fillWidth: true SplitView.fillWidth: true
SplitView.minimumWidth: coverWidth + 100 SplitView.minimumWidth: coverWidth + 100
height: parent.height height: parent.height
anchors.margins: 0 anchors.margins: 0
Component { Component {
id: appDelegate id: appDelegate
Rectangle Rectangle
{ {
id: cell id: cell
width: grid.cellWidth width: grid.cellWidth
height: grid.cellHeight height: grid.cellHeight
color: "#00000000" color: "#00000000"
scale: mouseArea.containsMouse ? 1.025 : 1 scale: mouseArea.containsMouse ? 1.025 : 1
Behavior on scale { Behavior on scale {
NumberAnimation { duration: 90 } NumberAnimation { duration: 90 }
} }
DropShadow { DropShadow {
anchors.fill: realCell anchors.fill: realCell
transparentBorder: true transparentBorder: true
horizontalOffset: 0 horizontalOffset: 0
verticalOffset: 0 verticalOffset: 0
radius: 10.0 radius: 10.0
//samples: 17 //samples: 17
color: "#FF000000" color: "#FF000000"
source: realCell source: realCell
visible: (Qt.platform.os === "osx") ? false : true; visible: (Qt.platform.os === "osx") ? false : true;
} }
Rectangle { Rectangle {
id: realCell id: realCell
property int position : 0 property int position : 0
property bool dragging: false; property bool dragging: false;
Drag.active: mouseArea.drag.active Drag.active: mouseArea.drag.active
Drag.hotSpot.x: 32 Drag.hotSpot.x: 32
Drag.hotSpot.y: 32 Drag.hotSpot.y: 32
Drag.dragType: Drag.Automatic Drag.dragType: Drag.Automatic
//Drag.mimeData: { "x": 1 } //Drag.mimeData: { "x": 1 }
Drag.proposedAction: Qt.CopyAction Drag.proposedAction: Qt.CopyAction
@ -397,267 +397,267 @@ Rectangle {
id: comicRating id: comicRating
anchors {bottom: realCell.bottom; right: ratingImage.left; margins: 4} anchors {bottom: realCell.bottom; right: ratingImage.left; margins: 4}
text: rating>0?rating:"-" text: rating>0?rating:"-"
color: textColor color: textColor
}
} }
} }
}
Rectangle { Rectangle {
id: scrollView id: scrollView
objectName: "topScrollView" objectName: "topScrollView"
anchors.fill: parent
anchors.margins: 0
children: grid
color: "transparent"
function scrollToOrigin() {
grid.contentY = grid.originY
grid.contentX = grid.originX
}
DropArea {
anchors.fill: parent anchors.fill: parent
anchors.margins: 0
children: grid
onEntered: { color: "transparent"
if(drag.hasUrls)
{ function scrollToOrigin() {
if(dropManager.canDropUrls(drag.urls, drag.action)) grid.contentY = grid.originY
grid.contentX = grid.originX
}
DropArea {
anchors.fill: parent
onEntered: {
if(drag.hasUrls)
{ {
if(dropManager.canDropUrls(drag.urls, drag.action))
{
drag.accepted = true;
}else
drag.accepted = false;
}
else if (dropManager.canDropFormats(drag.formats)) {
drag.accepted = true; drag.accepted = true;
}else } else
drag.accepted = false; drag.accepted = false;
} }
else if (dropManager.canDropFormats(drag.formats)) {
drag.accepted = true;
} else
drag.accepted = false;
}
onDropped: { onDropped: {
if(drop.hasUrls && dropManager.canDropUrls(drop.urls, drop.action)) if(drop.hasUrls && dropManager.canDropUrls(drop.urls, drop.action))
{
dropManager.droppedFiles(drop.urls, drop.action);
}
else{
if (dropManager.canDropFormats(drop.formats))
{ {
var destItem = grid.itemAt(drop.x,drop.y + grid.contentY); dropManager.droppedFiles(drop.urls, drop.action);
var destLocalX = grid.mapToItem(destItem,drop.x,drop.y + grid.contentY).x }
var realIndex = grid.indexAt(drop.x,drop.y + grid.contentY); else{
if (dropManager.canDropFormats(drop.formats))
{
var destItem = grid.itemAt(drop.x,drop.y + grid.contentY);
var destLocalX = grid.mapToItem(destItem,drop.x,drop.y + grid.contentY).x
var realIndex = grid.indexAt(drop.x,drop.y + grid.contentY);
if(realIndex === -1) if(realIndex === -1)
realIndex = grid.count - 1; realIndex = grid.count - 1;
var destIndex = destLocalX < (grid.cellWidth / 2) ? realIndex : realIndex + 1; var destIndex = destLocalX < (grid.cellWidth / 2) ? realIndex : realIndex + 1;
dropManager.droppedComicsForResortingAt(drop.getDataAsString(), destIndex); dropManager.droppedComicsForResortingAt(drop.getDataAsString(), destIndex);
}
} }
} }
} }
}
property Component currentComicView: Component {
id: currentComicView
Rectangle {
id: currentComicViewTopView
color: "#00000000"
height: showCurrentComic ? 270 : 20
property Component currentComicView: Component {
id: currentComicView
Rectangle { Rectangle {
color: (Qt.platform.os === "osx") ? "#88FFFFFF" : "#88000000" id: currentComicViewTopView
color: "#00000000"
id: currentComicVisualView height: showCurrentComic ? 270 : 20
width: main.width Rectangle {
height: 250 color: (Qt.platform.os === "osx") ? "#88FFFFFF" : "#88000000"
visible: showCurrentComic id: currentComicVisualView
//cover width: main.width
Image { height: 250
id: currentCoverElement
anchors.fill: parent
anchors.leftMargin: 15 visible: showCurrentComic
anchors.topMargin: 15
anchors.bottomMargin: 15
anchors.rightMargin: 15
horizontalAlignment: Image.AlignLeft
anchors {horizontalCenter: parent.horizontalCenter; top: parent.top; topMargin: 0}
source: comicsList.getCoverUrlPathForComicHash(currentComicInfo.hash.toString())
fillMode: Image.PreserveAspectFit
smooth: true
mipmap: true
asynchronous : true
cache: false //TODO clear cache only when it is needed
}
DropShadow { //cover
anchors.fill: currentCoverElement Image {
horizontalOffset: 0 id: currentCoverElement
verticalOffset: 0 anchors.fill: parent
radius: 8.0
transparentBorder: true
//samples: 17
color: "#FF000000"
source: currentCoverElement
visible: (Qt.platform.os === "osx") ? false : true;
}
ColumnLayout anchors.leftMargin: 15
{ anchors.topMargin: 15
id: currentComicInfoView anchors.bottomMargin: 15
anchors.rightMargin: 15
x: currentCoverElement.anchors.rightMargin + currentCoverElement.paintedWidth + currentCoverElement.anchors.rightMargin horizontalAlignment: Image.AlignLeft
//y: currentCoverElement.anchors.topMargin anchors {horizontalCenter: parent.horizontalCenter; top: parent.top; topMargin: 0}
source: comicsList.getCoverUrlPathForComicHash(currentComicInfo.hash.toString())
anchors.top: currentCoverElement.top fillMode: Image.PreserveAspectFit
anchors.right: parent.right smooth: true
anchors.left: readButton.left mipmap: true
asynchronous : true
spacing: 9 cache: false //TODO clear cache only when it is needed
Text {
Layout.topMargin: 7
Layout.fillWidth: true
Layout.rightMargin: 20
Layout.alignment: Qt.AlignTop | Qt.AlignLeft
id: currentComicInfoTitleView
color: infoTitleColor
font.family: "Arial"
font.bold: true
font.pixelSize: 21
wrapMode: Text.WordWrap
text: currentComic.getTitleIncludingNumber()
} }
Flow { DropShadow {
spacing: 0 anchors.fill: currentCoverElement
Layout.alignment: Qt.AlignTop | Qt.AlignLeft horizontalOffset: 0
Layout.fillWidth: true verticalOffset: 0
Layout.fillHeight: false radius: 8.0
transparentBorder: true
//samples: 17
color: "#FF000000"
source: currentCoverElement
visible: (Qt.platform.os === "osx") ? false : true;
}
id: currentComicDetailsFlowView ColumnLayout
property font infoFont: Qt.font({ {
family: "Arial", id: currentComicInfoView
pixelSize: 14
}); x: currentCoverElement.anchors.rightMargin + currentCoverElement.paintedWidth + currentCoverElement.anchors.rightMargin
property string infoFlowTextColor: infoTextColor //y: currentCoverElement.anchors.topMargin
anchors.top: currentCoverElement.top
anchors.right: parent.right
anchors.left: readButton.left
spacing: 9
Text { Text {
id: currentComicInfoVolume Layout.topMargin: 7
color: currentComicDetailsFlowView.infoFlowTextColor Layout.fillWidth: true
font: currentComicDetailsFlowView.infoFont Layout.rightMargin: 20
text: currentComicInfo.volume ? currentComicInfo.volume : ""
rightPadding: 20 Layout.alignment: Qt.AlignTop | Qt.AlignLeft
visible: currentComicInfo.volume ? true : false
id: currentComicInfoTitleView
color: infoTitleColor
font.family: "Arial"
font.bold: true
font.pixelSize: 21
wrapMode: Text.WordWrap
text: currentComic.getTitleIncludingNumber()
} }
Text { Flow {
id: currentComicInfoNumbering spacing: 0
color: currentComicDetailsFlowView.infoFlowTextColor Layout.alignment: Qt.AlignTop | Qt.AlignLeft
font: currentComicDetailsFlowView.infoFont Layout.fillWidth: true
text: currentComicInfo.number + "/" + currentComicInfo.count Layout.fillHeight: false
rightPadding: 20
visible : currentComicInfo.number ? true : false
}
Text { id: currentComicDetailsFlowView
id: currentComicInfoGenre property font infoFont: Qt.font({
color: currentComicDetailsFlowView.infoFlowTextColor family: "Arial",
font: currentComicDetailsFlowView.infoFont pixelSize: 14
text: currentComicInfo.genere ? currentComicInfo.genere : "" });
rightPadding: 20 property string infoFlowTextColor: infoTextColor
visible: currentComicInfo.genere ? true : false
}
Text { Text {
id: currentComicInfoDate id: currentComicInfoVolume
color: currentComicDetailsFlowView.infoFlowTextColor color: currentComicDetailsFlowView.infoFlowTextColor
font: currentComicDetailsFlowView.infoFont font: currentComicDetailsFlowView.infoFont
text: currentComicInfo.date ? currentComicInfo.date : "" text: currentComicInfo.volume ? currentComicInfo.volume : ""
rightPadding: 20 rightPadding: 20
visible: currentComicInfo.date ? true : false visible: currentComicInfo.volume ? true : false
} }
Text { Text {
id: currentComicInfoPages id: currentComicInfoNumbering
color: currentComicDetailsFlowView.infoFlowTextColor color: currentComicDetailsFlowView.infoFlowTextColor
font: currentComicDetailsFlowView.infoFont font: currentComicDetailsFlowView.infoFont
text: (currentComicInfo.numPages ? currentComicInfo.numPages : "") + " pages" text: currentComicInfo.number + "/" + currentComicInfo.count
rightPadding: 20 rightPadding: 20
visible: currentComicInfo.numPages ? true : false visible : currentComicInfo.number ? true : false
} }
Text { Text {
id: currentComicInfoShowInComicVine id: currentComicInfoGenre
font: currentComicDetailsFlowView.infoFont color: currentComicDetailsFlowView.infoFlowTextColor
color: "#ffcc00" font: currentComicDetailsFlowView.infoFont
text: "Show in Comic Vine" text: currentComicInfo.genere ? currentComicInfo.genere : ""
visible: currentComicInfo.comicVineID ? true : false rightPadding: 20
MouseArea { visible: currentComicInfo.genere ? true : false
anchors.fill: parent }
onClicked: {
Qt.openUrlExternally("http://www.comicvine.com/comic/4000-%1/".arg(comicInfo.comicVineID)); Text {
id: currentComicInfoDate
color: currentComicDetailsFlowView.infoFlowTextColor
font: currentComicDetailsFlowView.infoFont
text: currentComicInfo.date ? currentComicInfo.date : ""
rightPadding: 20
visible: currentComicInfo.date ? true : false
}
Text {
id: currentComicInfoPages
color: currentComicDetailsFlowView.infoFlowTextColor
font: currentComicDetailsFlowView.infoFont
text: (currentComicInfo.numPages ? currentComicInfo.numPages : "") + " pages"
rightPadding: 20
visible: currentComicInfo.numPages ? true : false
}
Text {
id: currentComicInfoShowInComicVine
font: currentComicDetailsFlowView.infoFont
color: "#ffcc00"
text: "Show in Comic Vine"
visible: currentComicInfo.comicVineID ? true : false
MouseArea {
anchors.fill: parent
onClicked: {
Qt.openUrlExternally("http://www.comicvine.com/comic/4000-%1/".arg(comicInfo.comicVineID));
}
} }
} }
} }
}
ScrollView { ScrollView {
Layout.topMargin: 6 Layout.topMargin: 6
Layout.rightMargin: 30 Layout.rightMargin: 30
Layout.bottomMargin: 5 Layout.bottomMargin: 5
Layout.fillWidth: true Layout.fillWidth: true
Layout.maximumHeight: (currentComicVisualView.height * 0.32) Layout.maximumHeight: (currentComicVisualView.height * 0.32)
Layout.maximumWidth: 960
ScrollBar.horizontal.policy: ScrollBar.AlwaysOff
contentWidth: -1
contentItem: currentComicInfoSinopsis
id: synopsisScroller
clip: true
Text {
Layout.maximumWidth: 960 Layout.maximumWidth: 960
width: synopsisScroller.width ScrollBar.horizontal.policy: ScrollBar.AlwaysOff
id: currentComicInfoSinopsis contentWidth: -1
color: infoTitleColor contentItem: currentComicInfoSinopsis
font.family: "Arial"
font.pixelSize: 14
wrapMode: Text.WordWrap
text: '<html><head><style> id: synopsisScroller
clip: true
Text {
Layout.maximumWidth: 960
width: synopsisScroller.width
id: currentComicInfoSinopsis
color: infoTitleColor
font.family: "Arial"
font.pixelSize: 14
wrapMode: Text.WordWrap
text: '<html><head><style>
a { a {
color: #FFCB00; color: #FFCB00;
text-decoration:none; text-decoration:none;
} }
</style></head><body>' + currentComicInfo.synopsis ?? "" + '</body></html>' </style></head><body>' + currentComicInfo.synopsis ?? "" + '</body></html>'
visible: currentComicInfo.synopsis ?? false visible: currentComicInfo.synopsis ?? false
textFormat: Text.RichText textFormat: Text.RichText
}
} }
} }
}
Button { Button {
containmentMask: null containmentMask: null
text: "Read" text: "Read"
id: readButton id: readButton
x: currentCoverElement.anchors.rightMargin + currentCoverElement.paintedWidth + currentCoverElement.anchors.rightMargin x: currentCoverElement.anchors.rightMargin + currentCoverElement.paintedWidth + currentCoverElement.anchors.rightMargin
anchors.bottom: currentCoverElement.bottom anchors.bottom: currentCoverElement.bottom
anchors.bottomMargin: 15 anchors.bottomMargin: 15
onClicked: comicOpener.triggerOpenCurrentComic() onClicked: comicOpener.triggerOpenCurrentComic()
background: Rectangle { background: Rectangle {
implicitWidth: 100 implicitWidth: 100
implicitHeight: 30 implicitHeight: 30
@ -677,203 +677,203 @@ Rectangle {
color: "white" color: "white"
text: readButton.text text: readButton.text
} }
} }
DropShadow { DropShadow {
anchors.fill: readButton anchors.fill: readButton
transparentBorder: true transparentBorder: true
horizontalOffset: 0 horizontalOffset: 0
verticalOffset: 0 verticalOffset: 0
radius: 8.0 radius: 8.0
//samples: 17 //samples: 17
color: "#AA000000" color: "#AA000000"
source: readButton source: readButton
visible: ((Qt.platform.os === "osx") ? false : true) && !readButton.pressed visible: ((Qt.platform.os === "osx") ? false : true) && !readButton.pressed
}
} }
} }
} }
}
GridView { GridView {
id:grid id:grid
objectName: "grid" objectName: "grid"
anchors.fill: parent
cellHeight: cellCustomHeight
header: currentComicView
focus: true
model: comicsList
delegate: appDelegate
anchors.topMargin: 0
anchors.bottomMargin: 10
anchors.leftMargin: 0
anchors.rightMargin: 0
pixelAligned: true
highlightFollowsCurrentItem: true
currentIndex: 0
cacheBuffer: 0
interactive: true
move: Transition {
NumberAnimation { properties: "x,y"; duration: 250 }
}
moveDisplaced: Transition {
NumberAnimation { properties: "x,y"; duration: 250 }
}
remove: Transition {
ParallelAnimation {
NumberAnimation { property: "opacity"; to: 0; duration: 250 }
}
}
removeDisplaced: Transition {
NumberAnimation { properties: "x,y"; duration: 250 }
}
displaced: Transition {
NumberAnimation { properties: "x,y"; duration: 250 }
}
function numCellsPerRow() {
return Math.floor(width / cellCustomWidth);
}
onWidthChanged: {
calculateCellWidths(cellCustomWidth);
}
function calculateCellWidths(cWidth) {
var wholeCells = Math.floor(width / cWidth);
var rest = width - (cWidth * wholeCells)
grid.cellWidth = cWidth + Math.floor(rest / wholeCells);
}
WheelHandler {
onWheel: {
if (grid.contentHeight <= grid.height) {
return;
}
var newValue = Math.min((grid.contentHeight - grid.height - (showCurrentComic ? 270 : 20)), (Math.max(grid.originY , grid.contentY - event.angleDelta.y)));
grid.contentY = newValue;
}
}
ScrollBar.vertical: ScrollBar {
visible: grid.contentHeight > grid.height
contentItem: Item {
implicitWidth: 12
implicitHeight: 26
Rectangle {
color: "#88424242"
anchors.fill: parent
anchors.topMargin: 6
anchors.leftMargin: 3
anchors.rightMargin: 2
anchors.bottomMargin: 6
border.color: "#AA313131"
border.width: 1
radius: 3.5
}
}
}
Keys.onPressed: {
if (event.modifiers & Qt.ControlModifier || event.modifiers & Qt.ShiftModifier) {
event.accepted = true
return;
}
var numCells = grid.numCellsPerRow();
var ci = 0;
if (event.key === Qt.Key_Right) {
ci = Math.min(grid.currentIndex+1,grid.count - 1);
}
else if (event.key === Qt.Key_Left) {
ci = Math.max(0,grid.currentIndex-1);
}
else if (event.key === Qt.Key_Up) {
ci = Math.max(0,grid.currentIndex-numCells);
}
else if (event.key === Qt.Key_Down) {
ci = Math.min(grid.currentIndex+numCells,grid.count - 1);
} else {
return;
}
event.accepted = true;
grid.currentIndex = -1
comicsSelectionHelper.clear();
currentIndexHelper.setCurrentIndex(ci);
grid.currentIndex = ci;
}
}
}
}
Rectangle {
id: info_container
objectName: "infoContainer"
SplitView.preferredWidth: 350
SplitView.minimumWidth: 350
SplitView.maximumWidth: 960
height: parent.height
color: infoBackgroundColor
visible: showInfo
Flickable{
id: infoFlickable
anchors.fill: parent anchors.fill: parent
cellHeight: cellCustomHeight anchors.margins: 0
header: currentComicView
focus: true
model: comicsList
delegate: appDelegate
anchors.topMargin: 0
anchors.bottomMargin: 10
anchors.leftMargin: 0
anchors.rightMargin: 0
pixelAligned: true
highlightFollowsCurrentItem: true
currentIndex: 0 contentWidth: infoView.width
cacheBuffer: 0 contentHeight: infoView.height
interactive: true ComicInfoView {
id: infoView
move: Transition { width: info_container.width
NumberAnimation { properties: "x,y"; duration: 250 }
} }
moveDisplaced: Transition { WheelHandler {
NumberAnimation { properties: "x,y"; duration: 250 } onWheel: {
} if (infoFlickable.contentHeight <= infoFlickable.height) {
return;
remove: Transition { }
ParallelAnimation {
NumberAnimation { property: "opacity"; to: 0; duration: 250 }
var newValue = Math.min((infoFlickable.contentHeight - infoFlickable.height), (Math.max(infoFlickable.originY , infoFlickable.contentY - event.angleDelta.y)));
infoFlickable.contentY = newValue;
} }
} }
removeDisplaced: Transition { ScrollBar.vertical: ScrollBar {
NumberAnimation { properties: "x,y"; duration: 250 } visible: infoFlickable.contentHeight > infoFlickable.height
contentItem: Item {
implicitWidth: 12
implicitHeight: 26
Rectangle {
color: "#424246"
anchors.fill: parent
anchors.topMargin: 6
anchors.leftMargin: 5
anchors.rightMargin: 4
anchors.bottomMargin: 6
radius: 2
}
}
} }
displaced: Transition {
NumberAnimation { properties: "x,y"; duration: 250 }
}
function numCellsPerRow() {
return Math.floor(width / cellCustomWidth);
}
onWidthChanged: {
calculateCellWidths(cellCustomWidth);
}
function calculateCellWidths(cWidth) {
var wholeCells = Math.floor(width / cWidth);
var rest = width - (cWidth * wholeCells)
grid.cellWidth = cWidth + Math.floor(rest / wholeCells);
}
WheelHandler {
onWheel: {
if (grid.contentHeight <= grid.height) {
return;
}
var newValue = Math.min((grid.contentHeight - grid.height - (showCurrentComic ? 270 : 20)), (Math.max(grid.originY , grid.contentY - event.angleDelta.y)));
grid.contentY = newValue;
}
}
ScrollBar.vertical: ScrollBar {
visible: grid.contentHeight > grid.height
contentItem: Item {
implicitWidth: 12
implicitHeight: 26
Rectangle {
color: "#88424242"
anchors.fill: parent
anchors.topMargin: 6
anchors.leftMargin: 3
anchors.rightMargin: 2
anchors.bottomMargin: 6
border.color: "#AA313131"
border.width: 1
radius: 3.5
}
}
}
Keys.onPressed: {
if (event.modifiers & Qt.ControlModifier || event.modifiers & Qt.ShiftModifier) {
event.accepted = true
return;
}
var numCells = grid.numCellsPerRow();
var ci = 0;
if (event.key === Qt.Key_Right) {
ci = Math.min(grid.currentIndex+1,grid.count - 1);
}
else if (event.key === Qt.Key_Left) {
ci = Math.max(0,grid.currentIndex-1);
}
else if (event.key === Qt.Key_Up) {
ci = Math.max(0,grid.currentIndex-numCells);
}
else if (event.key === Qt.Key_Down) {
ci = Math.min(grid.currentIndex+numCells,grid.count - 1);
} else {
return;
}
event.accepted = true;
grid.currentIndex = -1
comicsSelectionHelper.clear();
currentIndexHelper.setCurrentIndex(ci);
grid.currentIndex = ci;
}
} }
} }
} }
Rectangle {
id: info_container
objectName: "infoContainer"
SplitView.preferredWidth: 350
SplitView.minimumWidth: 350
SplitView.maximumWidth: 960
height: parent.height
color: infoBackgroundColor
visible: showInfo
Flickable{
id: infoFlickable
anchors.fill: parent
anchors.margins: 0
contentWidth: infoView.width
contentHeight: infoView.height
ComicInfoView {
id: infoView
width: info_container.width
}
WheelHandler {
onWheel: {
if (infoFlickable.contentHeight <= infoFlickable.height) {
return;
}
var newValue = Math.min((infoFlickable.contentHeight - infoFlickable.height), (Math.max(infoFlickable.originY , infoFlickable.contentY - event.angleDelta.y)));
infoFlickable.contentY = newValue;
}
}
ScrollBar.vertical: ScrollBar {
visible: infoFlickable.contentHeight > infoFlickable.height
contentItem: Item {
implicitWidth: 12
implicitHeight: 26
Rectangle {
color: "#424246"
anchors.fill: parent
anchors.topMargin: 6
anchors.leftMargin: 5
anchors.rightMargin: 4
anchors.bottomMargin: 6
radius: 2
}
}
}
}
}
}