def __init__(self, parent=None):
        QAbstractListModel.__init__(self)
        self.__items = []
        self.parent = parent

        self._task = None  # type: Union[Task, None]
        self._executor = ThreadExecutor()
Example #2
0
 def itemData(self, index):
     mapping = QAbstractListModel.itemData(self, index)
     if self._is_index_valid(index):
         items = list(self._other_data[index.row()].items())
     else:
         items = []
     for key, value in items:
         mapping[key] = value
     return mapping
Example #3
0
 def itemData(self, index):
     mapping = QAbstractListModel.itemData(self, index)
     if self._is_index_valid_for(index, self._other_data):
         items = list(self._other_data[index.row()].items())
     else:
         items = []
     for key, value in items:
         mapping[key] = value
     return mapping
Example #4
0
    def mimeData(self, indexlist):
        if len(indexlist) <= 0:
            return None

        items = [self[i.row()] for i in indexlist]
        mime = QAbstractListModel.mimeData(self, indexlist)
        data = pickle.dumps(vars)
        mime.set_data(self.MIME_TYPE, QByteArray(data))
        mime._items = items
        return mime
Example #5
0
    def mimeData(self, indexlist):
        if len(indexlist) <= 0:
            return None

        items = [self[i.row()] for i in indexlist]
        mime = QAbstractListModel.mimeData(self, indexlist)
        data = pickle.dumps(vars)
        mime.set_data(self.MIME_TYPE, QByteArray(data))
        mime._items = items
        return mime
Example #6
0
    def mimeData(self, indexlist):
        if len(indexlist) <= 0:
            return None

        items = [self[i.row()] for i in indexlist]
        itemdata = [self.itemData(i) for i in indexlist]
        mime = QAbstractListModel.mimeData(self, indexlist)
        mime.setData(self.MIME_TYPE, b'see properties: _items, _itemdata')
        mime.setProperty('_items', items)
        mime.setProperty('_itemdata', itemdata)
        return mime
Example #7
0
    def mimeData(self, indexlist):
        if len(indexlist) <= 0:
            return None

        items = [self[i.row()] for i in indexlist]
        itemdata = [self.itemData(i) for i in indexlist]
        mime = QAbstractListModel.mimeData(self, indexlist)
        mime.setData(self.MIME_TYPE, b'see properties: _items, _itemdata')
        mime.setProperty('_items', items)
        mime.setProperty('_itemdata', itemdata)
        return mime
Example #8
0
    def dropMimeData(self, mime, action, row, column, parent):
        if action == Qt.IgnoreAction:
            return True

        if not mime.hasFormat(self.MIME_TYPE):
            return False

        if hasattr(mime, "_vars"):
            vars_ = mime._vars
        else:
            desc = str(mime.data(self.MIME_TYPE))
            vars_ = pickle.loads(desc)

        return QAbstractListModel.dropMimeData(self, mime, action, row, column,
                                               parent)
Example #9
0
    def dropMimeData(self, mime, action, row, column, parent):
        if action == Qt.IgnoreAction:
            return True

        if not mime.hasFormat(self.MIME_TYPE):
            return False

        if hasattr(mime, "_vars"):
            vars_ = mime._vars
        else:
            desc = str(mime.data(self.MIME_TYPE))
            vars_ = pickle.loads(desc)

        return QAbstractListModel.dropMimeData(
            self, mime, action, row, column, parent)
Example #10
0
 def mimeTypes(self):
     return [self.MIME_TYPE] + list(QAbstractListModel.mimeTypes(self))
Example #11
0
 def index(self, row, column=0, parent=QModelIndex()):
     if self._is_index_valid(row) and column == 0:
         return QAbstractListModel.createIndex(self, row, column, parent)
     else:
         return QModelIndex()
Example #12
0
 def mimeTypes(self):
     return [self.MIME_TYPE] + list(QAbstractListModel.mimeTypes(self))
Example #13
0
 def index(self, row, column=0, parent=QModelIndex()):
     if self._is_index_valid_for(row, self) and column == 0:
         return QAbstractListModel.createIndex(self, row, column, parent)
     else:
         return QModelIndex()
Example #14
0
 def __init__(self, show_icon=True):
     QAbstractListModel.__init__(self)
     self.icon_path = ''
     self.show_icon = show_icon
     self.__items = []