From 150fe6e15fa92330467a298bead38b977abeddbb Mon Sep 17 00:00:00 2001 From: Arjan Schrijver Date: Fri, 25 Jan 2013 16:30:18 +0100 Subject: [PATCH] Removed ListWidgetWithDnD and fixed some rebasing bugs --- openlp/core/lib/listwidgetwithdnd.py | 111 ------------------------- openlp/plugins/images/lib/mediaitem.py | 4 +- 2 files changed, 1 insertion(+), 114 deletions(-) delete mode 100644 openlp/core/lib/listwidgetwithdnd.py diff --git a/openlp/core/lib/listwidgetwithdnd.py b/openlp/core/lib/listwidgetwithdnd.py deleted file mode 100644 index ca6e10525..000000000 --- a/openlp/core/lib/listwidgetwithdnd.py +++ /dev/null @@ -1,111 +0,0 @@ -# -*- coding: utf-8 -*- -# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4 - -############################################################################### -# OpenLP - Open Source Lyrics Projection # -# --------------------------------------------------------------------------- # -# Copyright (c) 2008-2013 Raoul Snyman # -# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan # -# Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub, # -# Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer. # -# Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru, # -# Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, # -# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Dave Warnock, # -# Frode Woldsund, Martin Zibricky, Patrick Zimmermann # -# --------------------------------------------------------------------------- # -# This program 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; version 2 of the License. # -# # -# This program 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 this program; if not, write to the Free Software Foundation, Inc., 59 # -# Temple Place, Suite 330, Boston, MA 02111-1307 USA # -############################################################################### -""" -Extend QListWidget to handle drag and drop functionality -""" -import os - -from PyQt4 import QtCore, QtGui - -from openlp.core.lib import Receiver - -class ListWidgetWithDnD(QtGui.QListWidget): - """ - Provide a list widget to store objects and handle drag and drop events - """ - def __init__(self, parent=None, name=u''): - """ - Initialise the list widget - """ - QtGui.QListWidget.__init__(self, parent) - self.mimeDataText = name - assert(self.mimeDataText) - - def activateDnD(self): - """ - Activate DnD of widget - """ - self.setAcceptDrops(True) - self.setDragDropMode(QtGui.QAbstractItemView.DragDrop) - QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'%s_dnd' % self.mimeDataText), - self.parent().loadFile) - - def mouseMoveEvent(self, event): - """ - Drag and drop event does not care what data is selected - as the recipient will use events to request the data move - just tell it what plugin to call - """ - if event.buttons() != QtCore.Qt.LeftButton: - event.ignore() - return - if not self.selectedItems(): - event.ignore() - return - drag = QtGui.QDrag(self) - mimeData = QtCore.QMimeData() - drag.setMimeData(mimeData) - mimeData.setText(self.mimeDataText) - drag.start(QtCore.Qt.CopyAction) - - def dragEnterEvent(self, event): - if event.mimeData().hasUrls(): - event.accept() - else: - event.ignore() - - def dragMoveEvent(self, event): - if event.mimeData().hasUrls(): - event.setDropAction(QtCore.Qt.CopyAction) - event.accept() - else: - event.ignore() - - def dropEvent(self, event): - """ - Receive drop event check if it is a file and process it if it is. - - ``event`` - Handle of the event pint passed - """ - if event.mimeData().hasUrls(): - event.setDropAction(QtCore.Qt.CopyAction) - event.accept() - files = [] - for url in event.mimeData().urls(): - localFile = url.toLocalFile() - if os.path.isfile(localFile): - files.append(localFile) - elif os.path.isdir(localFile): - listing = os.listdir(localFile) - for file in listing: - files.append(os.path.join(localFile, file)) - Receiver.send_message(u'%s_dnd' % self.mimeDataText, files) - else: - event.ignore() diff --git a/openlp/plugins/images/lib/mediaitem.py b/openlp/plugins/images/lib/mediaitem.py index 1e96cfff0..6c7a25b8e 100644 --- a/openlp/plugins/images/lib/mediaitem.py +++ b/openlp/plugins/images/lib/mediaitem.py @@ -137,10 +137,8 @@ class ImageMediaItem(MediaManagerItem): if check_item_selected(self.listView, translate('ImagePlugin.MediaItem','You must select an image to delete.')): item_list = self.listView.selectedItems() Receiver.send_message(u'cursor_busy') - self.main_window.displayProgressBar(len(row_list)) - self.plugin.formParent.displayProgressBar(len(item_list)) + self.main_window.displayProgressBar(len(item_list)) for row_item in item_list: - row_item = self.listView.topLevelItem(row) if row_item: item_data = row_item.data(0, QtCore.Qt.UserRole) if isinstance(item_data, ImageFilenames):