mirror of
https://github.com/YACReader/yacreader
synced 2025-06-04 01:28:55 -04:00
fixed Drag.target in grid view, wrong MouseArea was being used.
This commit is contained in:
parent
9325eb5a7b
commit
36c9ac804f
@ -21,215 +21,215 @@ Rectangle {
|
|||||||
|
|
||||||
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: backgroundColor
|
color: backgroundColor
|
||||||
MouseArea {
|
MouseArea {
|
||||||
id: mouseArea
|
anchors.fill: parent
|
||||||
drag.target: realCell
|
onClicked: {
|
||||||
anchors.fill: parent
|
comicsSelectionHelper.clear();
|
||||||
onClicked: {
|
comicsSelectionHelper.selectIndex(grid.currentIndex);
|
||||||
comicsSelectionHelper.clear();
|
|
||||||
comicsSelectionHelper.selectIndex(grid.currentIndex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
id: realCell
|
|
||||||
|
|
||||||
Drag.active: mouseArea.drag.active
|
|
||||||
Drag.hotSpot.x: 32
|
|
||||||
Drag.hotSpot.y: 32
|
|
||||||
Drag.dragType: Drag.Automatic
|
|
||||||
Drag.mimeData: { "text/plain": "comic" }
|
|
||||||
Drag.proposedAction: Qt.CopyAction
|
|
||||||
|
|
||||||
width: 156; height: 287
|
|
||||||
color: ((dummyValue || !dummyValue) && comicsSelectionHelper.isSelectedIndex(index)) || grid.currentIndex === index?selectedColor:cellColor;
|
|
||||||
|
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
|
||||||
|
|
||||||
MouseArea {
|
|
||||||
anchors.fill: parent
|
|
||||||
acceptedButtons: Qt.LeftButton | Qt.RightButton
|
|
||||||
onDoubleClicked: {
|
|
||||||
|
|
||||||
comicsSelectionHelper.clear();
|
|
||||||
|
|
||||||
comicsSelectionHelper.selectIndex(index);
|
|
||||||
grid.currentIndex = index;
|
|
||||||
comicsSelectionHelper.selectedItem(index);
|
|
||||||
}
|
|
||||||
|
|
||||||
onClicked: {
|
|
||||||
//grid.currentIndex = index
|
|
||||||
//comicsSelection.setCurrentIndex(index,0x0002)
|
|
||||||
var ci = grid.currentIndex;
|
|
||||||
if(mouse.button == Qt.RightButton || !(mouse.modifiers & Qt.ControlModifier || mouse.modifiers & Qt.ShiftModifier))
|
|
||||||
{
|
|
||||||
comicsSelectionHelper.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
if(mouse.button == Qt.RightButton)
|
|
||||||
myContextMenu.popup();
|
|
||||||
|
|
||||||
if(mouse.modifiers & Qt.ShiftModifier)
|
|
||||||
if(index < ci)
|
|
||||||
selectAll(index,ci);
|
|
||||||
else if (index > ci)
|
|
||||||
selectAll(ci,index);
|
|
||||||
|
|
||||||
mouse.accepted = true;
|
|
||||||
|
|
||||||
comicsSelectionHelper.selectIndex(index)
|
|
||||||
grid.currentIndex = index;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Menu emits the 'main' signals
|
|
||||||
Menu {
|
|
||||||
id: myContextMenu
|
|
||||||
MenuItem { text: "Open comic"; enabled: true; iconSource:"qrc:///images/openInYACReader.png"; onTriggered: openComicAction.trigger() }
|
|
||||||
MenuSeparator{}
|
|
||||||
MenuItem { text: "Open containing folder..."; enabled: true; iconSource: "qrc:///images/open.png"; onTriggered: openContainingFolderComicAction.trigger() }
|
|
||||||
MenuItem { text: "Update current folder"; enabled: true; iconSource: "qrc:///images/updateLibraryIcon.png"; onTriggered: updateCurrentFolderAction.trigger() }
|
|
||||||
MenuSeparator{}
|
|
||||||
MenuItem { text: "Reset comic rating"; onTriggered: resetComicRatingAction.trigger() }
|
|
||||||
MenuSeparator{}
|
|
||||||
MenuItem { text: "Edit"; enabled: true; iconSource:"qrc:///images/editComic.png"; onTriggered: editSelectedComicsAction.trigger() }
|
|
||||||
MenuItem { text: "Download tags from Comic Vine"; enabled: true; iconSource:"qrc:///images/getInfo.png"; onTriggered: getInfoAction.trigger() }
|
|
||||||
MenuItem { text: "Asign current order to comics"; enabled: true; iconSource:"qrc:///images/asignNumber.png"; onTriggered: asignOrderAction.trigger() }
|
|
||||||
MenuSeparator{}
|
|
||||||
MenuItem { text: "Select all comics"; enabled: true; iconSource:"qrc:///images/selectAll.png"; onTriggered: selectAllComicsAction.trigger() }
|
|
||||||
MenuSeparator{}
|
|
||||||
MenuItem { text: "Set as read"; enabled: true; iconSource:"qrc:///images/setReadButton.png"; onTriggered: setAsReadAction.trigger() }
|
|
||||||
MenuItem { text: "Set as unread"; enabled: true; iconSource:"qrc:///images/setUnread.png"; onTriggered: setAsNonReadAction.trigger() }
|
|
||||||
MenuItem { text: "Show or hide read marks"; enabled: true; iconSource:"qrc:///images/showMarks.png"; onTriggered: showHideMarksAction.trigger() }
|
|
||||||
MenuSeparator{}
|
|
||||||
MenuItem { text: "Delete selected comics"; enabled: true; iconSource:"qrc:///images/trash.png"; onTriggered: deleteComicsAction.trigger() }
|
|
||||||
MenuSeparator{}
|
|
||||||
MenuItem { text: "Fullscreen mode on/off"; onTriggered: toggleFullScreenAction.trigger() }
|
|
||||||
//MenuItem { text: "Show details"; onTriggered: cell.state = 'Details';
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
DropShadow {
|
|
||||||
anchors.fill: source
|
|
||||||
horizontalOffset: 0
|
|
||||||
verticalOffset: 0
|
|
||||||
radius: 3
|
|
||||||
samples: 24
|
|
||||||
color: "#40000000"
|
|
||||||
transparentBorder: true;
|
|
||||||
source: realCell;
|
|
||||||
enabled: dropShadow;
|
|
||||||
visible: dropShadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**/
|
|
||||||
|
|
||||||
//cover
|
|
||||||
Image {
|
|
||||||
id: coverElement
|
|
||||||
width: 148
|
|
||||||
height: 224
|
|
||||||
anchors {horizontalCenter: parent.horizontalCenter; top: realCell.top; topMargin: 4}
|
|
||||||
source: cover_path
|
|
||||||
fillMode: Image.PreserveAspectCrop
|
|
||||||
//smooth: true
|
|
||||||
mipmap: true
|
|
||||||
//antialiasing: true
|
|
||||||
asynchronous : true
|
|
||||||
cache: false //TODO clear cache only when it is neede
|
|
||||||
}
|
|
||||||
//mark
|
|
||||||
Image {
|
|
||||||
id: mark
|
|
||||||
width: 23
|
|
||||||
height: 23
|
|
||||||
source: read_column&&show_marks?"tick.png":has_been_opened&&show_marks?"reading.png":""
|
|
||||||
anchors {right: coverElement.right; top: coverElement.top; topMargin: 11; rightMargin: 11}
|
|
||||||
asynchronous : true
|
|
||||||
}
|
|
||||||
|
|
||||||
//title
|
|
||||||
Text {
|
|
||||||
anchors { top: realCell.top; left: realCell.left; leftMargin: 4; rightMargin: 4; topMargin: 234; }
|
|
||||||
width: 148
|
|
||||||
maximumLineCount: 2
|
|
||||||
wrapMode: Text.WordWrap
|
|
||||||
text: title
|
|
||||||
elide: Text.ElideRight
|
|
||||||
color: titleColor
|
|
||||||
clip: true
|
|
||||||
font.letterSpacing: 0.5
|
|
||||||
}
|
|
||||||
//number
|
|
||||||
Text {
|
|
||||||
anchors {bottom: realCell.bottom; left: realCell.left; margins: 4}
|
|
||||||
text: number?"<b>#</b>"+number:""
|
|
||||||
color: textColor
|
|
||||||
font.letterSpacing: 0.5
|
|
||||||
}
|
|
||||||
//page icon
|
|
||||||
Image {
|
|
||||||
id: pageImage
|
|
||||||
anchors {bottom: realCell.bottom; right: realCell.right; bottomMargin: 5; rightMargin: 4; leftMargin: 4}
|
|
||||||
source: "page.png"
|
|
||||||
}
|
|
||||||
//numPages
|
|
||||||
Text {
|
|
||||||
id: pages
|
|
||||||
anchors {bottom: realCell.bottom; right: pageImage.left; margins: 4}
|
|
||||||
text: has_been_opened?current_page+"/"+num_pages:num_pages
|
|
||||||
color: textColor
|
|
||||||
font.letterSpacing: 0.5
|
|
||||||
}
|
|
||||||
//rating icon
|
|
||||||
Image {
|
|
||||||
id: ratingImage
|
|
||||||
anchors {bottom: realCell.bottom; right: pageImage.left; bottomMargin: 5; rightMargin: Math.floor(pages.width)+12}
|
|
||||||
source: "star.png"
|
|
||||||
|
|
||||||
MouseArea {
|
|
||||||
anchors.fill: parent
|
|
||||||
onClicked: {
|
|
||||||
console.log("rating");
|
|
||||||
comicsSelectionHelper.clear();
|
|
||||||
comicsSelectionHelper.selectIndex(index);
|
|
||||||
grid.currentIndex = index;
|
|
||||||
ratingConextMenu.popup();
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Menu {
|
|
||||||
id: ratingConextMenu
|
|
||||||
MenuItem { text: "1"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,1) }
|
|
||||||
MenuItem { text: "2"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,2) }
|
|
||||||
MenuItem { text: "3"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,3) }
|
|
||||||
MenuItem { text: "4"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,4) }
|
|
||||||
MenuItem { text: "5"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,5) }
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//comic rating
|
|
||||||
Text {
|
|
||||||
id: comicRating
|
|
||||||
anchors {bottom: realCell.bottom; right: ratingImage.left; margins: 4}
|
|
||||||
text: rating>0?rating:"-"
|
|
||||||
color: textColor
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
id: realCell
|
||||||
|
|
||||||
|
Drag.active: mouseArea.drag.active
|
||||||
|
Drag.hotSpot.x: 32
|
||||||
|
Drag.hotSpot.y: 32
|
||||||
|
Drag.dragType: Drag.Automatic
|
||||||
|
Drag.mimeData: { "text/plain": "comic" }
|
||||||
|
Drag.proposedAction: Qt.CopyAction
|
||||||
|
|
||||||
|
width: 156; height: 287
|
||||||
|
color: ((dummyValue || !dummyValue) && comicsSelectionHelper.isSelectedIndex(index)) || grid.currentIndex === index?selectedColor:cellColor;
|
||||||
|
|
||||||
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
id: mouseArea
|
||||||
|
drag.target: realCell
|
||||||
|
anchors.fill: parent
|
||||||
|
acceptedButtons: Qt.LeftButton | Qt.RightButton
|
||||||
|
onDoubleClicked: {
|
||||||
|
|
||||||
|
comicsSelectionHelper.clear();
|
||||||
|
|
||||||
|
comicsSelectionHelper.selectIndex(index);
|
||||||
|
grid.currentIndex = index;
|
||||||
|
comicsSelectionHelper.selectedItem(index);
|
||||||
|
}
|
||||||
|
|
||||||
|
onClicked: {
|
||||||
|
//grid.currentIndex = index
|
||||||
|
//comicsSelection.setCurrentIndex(index,0x0002)
|
||||||
|
var ci = grid.currentIndex;
|
||||||
|
if(mouse.button == Qt.RightButton || !(mouse.modifiers & Qt.ControlModifier || mouse.modifiers & Qt.ShiftModifier))
|
||||||
|
{
|
||||||
|
comicsSelectionHelper.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(mouse.button == Qt.RightButton)
|
||||||
|
myContextMenu.popup();
|
||||||
|
|
||||||
|
if(mouse.modifiers & Qt.ShiftModifier)
|
||||||
|
if(index < ci)
|
||||||
|
selectAll(index,ci);
|
||||||
|
else if (index > ci)
|
||||||
|
selectAll(ci,index);
|
||||||
|
|
||||||
|
mouse.accepted = true;
|
||||||
|
|
||||||
|
comicsSelectionHelper.selectIndex(index)
|
||||||
|
grid.currentIndex = index;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Menu emits the 'main' signals
|
||||||
|
Menu {
|
||||||
|
id: myContextMenu
|
||||||
|
MenuItem { text: "Open comic"; enabled: true; iconSource:"qrc:///images/openInYACReader.png"; onTriggered: openComicAction.trigger() }
|
||||||
|
MenuSeparator{}
|
||||||
|
MenuItem { text: "Open containing folder..."; enabled: true; iconSource: "qrc:///images/open.png"; onTriggered: openContainingFolderComicAction.trigger() }
|
||||||
|
MenuItem { text: "Update current folder"; enabled: true; iconSource: "qrc:///images/updateLibraryIcon.png"; onTriggered: updateCurrentFolderAction.trigger() }
|
||||||
|
MenuSeparator{}
|
||||||
|
MenuItem { text: "Reset comic rating"; onTriggered: resetComicRatingAction.trigger() }
|
||||||
|
MenuSeparator{}
|
||||||
|
MenuItem { text: "Edit"; enabled: true; iconSource:"qrc:///images/editComic.png"; onTriggered: editSelectedComicsAction.trigger() }
|
||||||
|
MenuItem { text: "Download tags from Comic Vine"; enabled: true; iconSource:"qrc:///images/getInfo.png"; onTriggered: getInfoAction.trigger() }
|
||||||
|
MenuItem { text: "Asign current order to comics"; enabled: true; iconSource:"qrc:///images/asignNumber.png"; onTriggered: asignOrderAction.trigger() }
|
||||||
|
MenuSeparator{}
|
||||||
|
MenuItem { text: "Select all comics"; enabled: true; iconSource:"qrc:///images/selectAll.png"; onTriggered: selectAllComicsAction.trigger() }
|
||||||
|
MenuSeparator{}
|
||||||
|
MenuItem { text: "Set as read"; enabled: true; iconSource:"qrc:///images/setReadButton.png"; onTriggered: setAsReadAction.trigger() }
|
||||||
|
MenuItem { text: "Set as unread"; enabled: true; iconSource:"qrc:///images/setUnread.png"; onTriggered: setAsNonReadAction.trigger() }
|
||||||
|
MenuItem { text: "Show or hide read marks"; enabled: true; iconSource:"qrc:///images/showMarks.png"; onTriggered: showHideMarksAction.trigger() }
|
||||||
|
MenuSeparator{}
|
||||||
|
MenuItem { text: "Delete selected comics"; enabled: true; iconSource:"qrc:///images/trash.png"; onTriggered: deleteComicsAction.trigger() }
|
||||||
|
MenuSeparator{}
|
||||||
|
MenuItem { text: "Fullscreen mode on/off"; onTriggered: toggleFullScreenAction.trigger() }
|
||||||
|
//MenuItem { text: "Show details"; onTriggered: cell.state = 'Details';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
DropShadow {
|
||||||
|
anchors.fill: source
|
||||||
|
horizontalOffset: 0
|
||||||
|
verticalOffset: 0
|
||||||
|
radius: 3
|
||||||
|
samples: 24
|
||||||
|
color: "#40000000"
|
||||||
|
transparentBorder: true;
|
||||||
|
source: realCell;
|
||||||
|
enabled: dropShadow;
|
||||||
|
visible: dropShadow;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**/
|
||||||
|
|
||||||
|
//cover
|
||||||
|
Image {
|
||||||
|
id: coverElement
|
||||||
|
width: 148
|
||||||
|
height: 224
|
||||||
|
anchors {horizontalCenter: parent.horizontalCenter; top: realCell.top; topMargin: 4}
|
||||||
|
source: cover_path
|
||||||
|
fillMode: Image.PreserveAspectCrop
|
||||||
|
//smooth: true
|
||||||
|
mipmap: true
|
||||||
|
//antialiasing: true
|
||||||
|
asynchronous : true
|
||||||
|
cache: false //TODO clear cache only when it is neede
|
||||||
|
}
|
||||||
|
//mark
|
||||||
|
Image {
|
||||||
|
id: mark
|
||||||
|
width: 23
|
||||||
|
height: 23
|
||||||
|
source: read_column&&show_marks?"tick.png":has_been_opened&&show_marks?"reading.png":""
|
||||||
|
anchors {right: coverElement.right; top: coverElement.top; topMargin: 11; rightMargin: 11}
|
||||||
|
asynchronous : true
|
||||||
|
}
|
||||||
|
|
||||||
|
//title
|
||||||
|
Text {
|
||||||
|
anchors { top: realCell.top; left: realCell.left; leftMargin: 4; rightMargin: 4; topMargin: 234; }
|
||||||
|
width: 148
|
||||||
|
maximumLineCount: 2
|
||||||
|
wrapMode: Text.WordWrap
|
||||||
|
text: title
|
||||||
|
elide: Text.ElideRight
|
||||||
|
color: titleColor
|
||||||
|
clip: true
|
||||||
|
font.letterSpacing: 0.5
|
||||||
|
}
|
||||||
|
//number
|
||||||
|
Text {
|
||||||
|
anchors {bottom: realCell.bottom; left: realCell.left; margins: 4}
|
||||||
|
text: number?"<b>#</b>"+number:""
|
||||||
|
color: textColor
|
||||||
|
font.letterSpacing: 0.5
|
||||||
|
}
|
||||||
|
//page icon
|
||||||
|
Image {
|
||||||
|
id: pageImage
|
||||||
|
anchors {bottom: realCell.bottom; right: realCell.right; bottomMargin: 5; rightMargin: 4; leftMargin: 4}
|
||||||
|
source: "page.png"
|
||||||
|
}
|
||||||
|
//numPages
|
||||||
|
Text {
|
||||||
|
id: pages
|
||||||
|
anchors {bottom: realCell.bottom; right: pageImage.left; margins: 4}
|
||||||
|
text: has_been_opened?current_page+"/"+num_pages:num_pages
|
||||||
|
color: textColor
|
||||||
|
font.letterSpacing: 0.5
|
||||||
|
}
|
||||||
|
//rating icon
|
||||||
|
Image {
|
||||||
|
id: ratingImage
|
||||||
|
anchors {bottom: realCell.bottom; right: pageImage.left; bottomMargin: 5; rightMargin: Math.floor(pages.width)+12}
|
||||||
|
source: "star.png"
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
onClicked: {
|
||||||
|
console.log("rating");
|
||||||
|
comicsSelectionHelper.clear();
|
||||||
|
comicsSelectionHelper.selectIndex(index);
|
||||||
|
grid.currentIndex = index;
|
||||||
|
ratingConextMenu.popup();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Menu {
|
||||||
|
id: ratingConextMenu
|
||||||
|
MenuItem { text: "1"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,1) }
|
||||||
|
MenuItem { text: "2"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,2) }
|
||||||
|
MenuItem { text: "3"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,3) }
|
||||||
|
MenuItem { text: "4"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,4) }
|
||||||
|
MenuItem { text: "5"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,5) }
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//comic rating
|
||||||
|
Text {
|
||||||
|
id: comicRating
|
||||||
|
anchors {bottom: realCell.bottom; right: ratingImage.left; margins: 4}
|
||||||
|
text: rating>0?rating:"-"
|
||||||
|
color: textColor
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
YACReaderScrollView{
|
YACReaderScrollView{
|
||||||
id: scrollView
|
id: scrollView
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
anchors.margins: 0
|
anchors.margins: 0
|
||||||
@ -273,7 +273,7 @@ Rectangle {
|
|||||||
Keys.onPressed: {
|
Keys.onPressed: {
|
||||||
if (event.modifiers & Qt.ControlModifier || event.modifiers & Qt.ShiftModifier)
|
if (event.modifiers & Qt.ControlModifier || event.modifiers & Qt.ShiftModifier)
|
||||||
return;
|
return;
|
||||||
var numCells = grid.numCellsPerRow();
|
var numCells = grid.numCellsPerRow();
|
||||||
var ci
|
var ci
|
||||||
if (event.key === Qt.Key_Right) {
|
if (event.key === Qt.Key_Right) {
|
||||||
ci = Math.min(grid.currentIndex+1,grid.count);
|
ci = Math.min(grid.currentIndex+1,grid.count);
|
||||||
@ -295,9 +295,9 @@ Rectangle {
|
|||||||
comicsSelectionHelper.selectIndex(ci);
|
comicsSelectionHelper.selectIndex(ci);
|
||||||
grid.currentIndex = ci;
|
grid.currentIndex = ci;
|
||||||
}
|
}
|
||||||
//}
|
//}
|
||||||
|
|
||||||
/*MouseArea {
|
/*MouseArea {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
onClicked: {
|
onClicked: {
|
||||||
clicked.accepted = false;
|
clicked.accepted = false;
|
||||||
@ -310,7 +310,7 @@ Rectangle {
|
|||||||
|
|
||||||
}
|
}
|
||||||
}*/
|
}*/
|
||||||
/*ScrollBar {
|
/*ScrollBar {
|
||||||
flickable: grid;
|
flickable: grid;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -321,7 +321,7 @@ Rectangle {
|
|||||||
height: 64
|
height: 64
|
||||||
enabled: (dummyValue || !dummyValue)
|
enabled: (dummyValue || !dummyValue)
|
||||||
}*/
|
}*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user