def test_mime_data(self): class DummyItem(object): def data(s, role): self.assertEqual(role, Qt.UserRole) return 42 mw = self._get_one() data = mw.mimeData([DummyItem()]).data('application/vnd.re-eat.meal_recipe') stream = QDataStream(data, QIODevice.ReadOnly) self.assertEqual(stream.readInt(), 42) self.assertEqual(stream.readQVariant(), mw.date) self.assertEqual(stream.readInt(), mw.index)
def test_mime_data(self): class DummyItem(object): def data(s, role): self.assertEqual(role, Qt.UserRole) return 42 mw = self._get_one() data = mw.mimeData([DummyItem() ]).data('application/vnd.re-eat.meal_recipe') stream = QDataStream(data, QIODevice.ReadOnly) self.assertEqual(stream.readInt(), 42) self.assertEqual(stream.readQVariant(), mw.date) self.assertEqual(stream.readInt(), mw.index)
def dropMimeData(self, index, data, action): if action == Qt.IgnoreAction: return True if data.hasFormat('application/vnd.re-eat.meal_recipe'): encodedData = data.data('application/vnd.re-eat.meal_recipe') stream = QDataStream(encodedData, QIODevice.ReadOnly) while not stream.atEnd(): id = stream.readInt() date = stream.readQVariant() index = stream.readInt() self.recipeRemoved.emit(id, date, index) return True return False