summaryrefslogtreecommitdiff
path: root/src/archivetree.cpp
diff options
context:
space:
mode:
authorTannin <devnull@localhost>2014-04-05 15:36:42 +0200
committerTannin <devnull@localhost>2014-04-05 15:36:42 +0200
commitcabed9b268c9f095d5e3b98a6797b0bcdcd38b1f (patch)
tree454b03b0c5664e90fe586e7b39603e34a526d35b /src/archivetree.cpp
parent98e5e57a845541acddf519a81957261f58008cb9 (diff)
parentc017f4a0d50b67a44e276bd5ae8929ed3990c62c (diff)
Merge with branch1.1
Diffstat (limited to 'src/archivetree.cpp')
-rw-r--r--src/archivetree.cpp98
1 files changed, 0 insertions, 98 deletions
diff --git a/src/archivetree.cpp b/src/archivetree.cpp
deleted file mode 100644
index 0484b241..00000000
--- a/src/archivetree.cpp
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
-Copyright (C) 2012 Sebastian Herbord. All rights reserved.
-
-This file is part of Mod Organizer.
-
-Mod Organizer 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 3 of the License, or
-(at your option) any later version.
-
-Mod Organizer 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 Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "archivetree.h"
-#include <QDragMoveEvent>
-
-ArchiveTree::ArchiveTree(QWidget *parent) :
- QTreeWidget(parent)
-{
-}
-
-
-bool ArchiveTree::testMovePossible(QTreeWidgetItem *source, QTreeWidgetItem *target)
-{
- if ((target == NULL) ||
- (source == NULL)) {
- return false;
- }
-
- if ((source == target) ||
- (source->parent() == target)) {
- return false;
- }
-
- return true;
-}
-
-void ArchiveTree::dragEnterEvent(QDragEnterEvent *event)
-{
- QTreeWidgetItem *source = this->currentItem();
- if ((source == NULL) || (source->parent() == NULL)) {
- // can't change top level
- event->ignore();
- return;
- } else {
- QTreeWidget::dragEnterEvent(event);
- }
-
-}
-
-void ArchiveTree::dragMoveEvent(QDragMoveEvent *event)
-{
- if (!testMovePossible(this->currentItem(), itemAt(event->pos()))) {
- event->ignore();
- } else {
- QTreeWidget::dragMoveEvent(event);
- }
-}
-
-
-void ArchiveTree::dropEvent(QDropEvent *event)
-{
- event->ignore();
-
- QTreeWidgetItem *target = itemAt(event->pos());
-
- QList<QTreeWidgetItem*> sourceItems = this->selectedItems();
- for (QList<QTreeWidgetItem*>::iterator iter = sourceItems.begin();
- iter != sourceItems.end(); ++iter) {
- QTreeWidgetItem *source = *iter;
- if ((source->parent() != NULL) &&
- testMovePossible(source, target)) {
- source->parent()->removeChild(source);
- if (target->data(0, Qt::UserRole).toInt() != 0) {
- // target is a file
- if (target->parent() == NULL) {
- // this should really not happen, how should a
- // file get to the top level?
- return;
- }
- int index = target->parent()->indexOfChild(target);
- target->parent()->insertChild(index, source);
- emit changed();
- } else {
- // target is a directory
- target->insertChild(target->childCount(), source);
- emit changed();
- }
- }
- }
-
-}