mirror of
https://github.com/YACReader/yacreader
synced 2025-05-28 03:10:27 -04:00
Merge pull request #353 from YACReader/fix_drag_n_drop_grid_view
Fix drag&drop in the comics grid view
This commit is contained in:
commit
24f855b21d
@ -413,46 +413,6 @@ Rectangle {
|
|||||||
grid.contentX = grid.originX
|
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;
|
|
||||||
} else
|
|
||||||
drag.accepted = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
onDropped: {
|
|
||||||
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);
|
|
||||||
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)
|
|
||||||
realIndex = grid.count - 1;
|
|
||||||
|
|
||||||
var destIndex = destLocalX < (grid.cellWidth / 2) ? realIndex : realIndex + 1;
|
|
||||||
dropManager.droppedComicsForResortingAt(drop.getDataAsString(), destIndex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
property Component currentComicView: Component {
|
property Component currentComicView: Component {
|
||||||
id: currentComicView
|
id: currentComicView
|
||||||
Rectangle {
|
Rectangle {
|
||||||
@ -809,6 +769,46 @@ Rectangle {
|
|||||||
currentIndexHelper.setCurrentIndex(ci);
|
currentIndexHelper.setCurrentIndex(ci);
|
||||||
grid.currentIndex = ci;
|
grid.currentIndex = ci;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DropArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
|
||||||
|
onEntered: drag => {
|
||||||
|
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;
|
||||||
|
} else
|
||||||
|
drag.accepted = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
onDropped: drop => {
|
||||||
|
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);
|
||||||
|
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)
|
||||||
|
realIndex = grid.count - 1;
|
||||||
|
|
||||||
|
var destIndex = destLocalX < (grid.cellWidth / 2) ? realIndex : realIndex + 1;
|
||||||
|
dropManager.droppedComicsForResortingAt("", destIndex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -416,46 +416,6 @@ Rectangle {
|
|||||||
grid.contentX = grid.originX
|
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;
|
|
||||||
} else
|
|
||||||
drag.accepted = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
onDropped: {
|
|
||||||
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);
|
|
||||||
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)
|
|
||||||
realIndex = grid.count - 1;
|
|
||||||
|
|
||||||
var destIndex = destLocalX < (grid.cellWidth / 2) ? realIndex : realIndex + 1;
|
|
||||||
dropManager.droppedComicsForResortingAt(drop.getDataAsString(), destIndex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
property Component currentComicView: Component {
|
property Component currentComicView: Component {
|
||||||
id: currentComicView
|
id: currentComicView
|
||||||
Rectangle {
|
Rectangle {
|
||||||
@ -816,6 +776,46 @@ Rectangle {
|
|||||||
currentIndexHelper.setCurrentIndex(ci);
|
currentIndexHelper.setCurrentIndex(ci);
|
||||||
grid.currentIndex = ci;
|
grid.currentIndex = ci;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DropArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
|
||||||
|
onEntered: drag => {
|
||||||
|
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;
|
||||||
|
} else
|
||||||
|
drag.accepted = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
onDropped: drop => {
|
||||||
|
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);
|
||||||
|
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)
|
||||||
|
realIndex = grid.count - 1;
|
||||||
|
|
||||||
|
var destIndex = destLocalX < (grid.cellWidth / 2) ? realIndex : realIndex + 1;
|
||||||
|
dropManager.droppedComicsForResortingAt("", destIndex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user