Beispiel #1
0
    def keyPressEvent(self, event):
        """
        Delete event to remove items from asset list.
        """

        if event.key() == QtCore.Qt.Key_Delete:
            if len(_asset_List.selectedItems()) > 0:
                try:
                    global _missing_Textures_Index_List
                    global _amount_Missing_Textures
                    global _all_Files_List
                    _missing_Textures_Index_List = []
                    _amount_Missing_Textures = 0

                    sel_Items = _asset_List.selectedItems()

                    for item in sel_Items:
                        x =  _asset_List.indexFromItem(item)
                        y = QtCore.QPersistentModelIndex(x)
                        if y.isValid():
                            _asset_List.removeRow(y.row())
                except:
                    pass

                for i in range(_asset_List.rowCount()):
                    # Updates the missing textures index list after deleting entries
                    item_Path = _asset_List.item(i, 2).text()
                    if not os.path.exists(item_Path):
                        _amount_Missing_Textures += 1
                        _missing_Textures_Index_List.append(i)
                status_text = "Status: Found - " + str(len(_all_Files_List)) + " | " + "Missing - " + str(_amount_Missing_Textures)
                _status.setText(status_text)
            else:
                pass
Beispiel #2
0
def get_selected_index(widget):
    if not widget.selectionModel().hasSelection():
        return QtCore.QModelIndex()
    index = next((f for f in widget.selectionModel().selectedIndexes()),
                 QtCore.QModelIndex())
    if not index.isValid():
        return QtCore.QModelIndex()
    return QtCore.QPersistentModelIndex(index)
Beispiel #3
0
    def _has_checked_ancestor(self, index: QtCore.QModelIndex) -> bool:
        parent = index.parent()
        while parent.isValid() and self.filePath(parent) != self.rootPath():
            if QtCore.QPersistentModelIndex(parent) in self.selected:
                return True
            parent = parent.parent()

        return False
Beispiel #4
0
    def focusOutEvent(self, event):
        if self.selectionModel().selectedIndexes():
            for index in self.selectionModel().selectedRows():
                self._last_indexes.append(QtCore.QPersistentModelIndex(index))

        if self._last_indexes:
            for i in self._last_indexes:
                self.selectionModel().setCurrentIndex(
                    i, QtGui.QItemSelectionModel.Select)
        event.accept()
Beispiel #5
0
 def _data(self, index: QtCore.QModelIndex) -> int:
     "Get checkbox status data"
     persistent_index = QtCore.QPersistentModelIndex(index)
     if persistent_index in self.selected:
         return QtCore.Qt.Checked
     elif persistent_index in self.ancestors or self._has_checked_ancestor(
             index):
         return QtCore.Qt.PartiallyChecked
     # else
     return QtCore.Qt.Unchecked
Beispiel #6
0
    def _set_check_state(self, index: QtCore.QModelIndex, value: int) -> None:
        "Set checkbox status data with no side effects on other indexes"
        persistent_index = QtCore.QPersistentModelIndex(index)

        if value == QtCore.Qt.Checked:
            self.ancestors.discard(persistent_index)
            self.selected.add(persistent_index)
        elif value == QtCore.Qt.PartiallyChecked:
            self.selected.discard(persistent_index)
            self.ancestors.add(persistent_index)
        elif value == QtCore.Qt.Unchecked:
            self.ancestors.discard(persistent_index)
            self.selected.discard(persistent_index)
Beispiel #7
0
    def setData(self, index, value, role):
        # self.beginResetModel()
        if role == Qt.CheckStateRole:
            self.checks[QtCore.QPersistentModelIndex(index)] = value
            self.inp_.check_state.emit(value, index)
            return True
        if self.headerData(index.column(), Qt.Horizontal,
                           Qt.DisplayRole) == 'Регистрация':
            self._data.loc[index.row(), 'План регистрация'] = (
                pd.to_datetime(value) - pd.Timedelta(days=10)).date()
        self._data.iloc[index.row(), index.column()] = value
        self.dataChanged.emit(index, index)
        # self.endResetModel()

        return True
 def eventFilter(self, widget, event):
     if widget is self.viewport():
         index = self._last_index
         if event.type() == QtCore.QEvent.MouseMove:
             index = self.indexAt(event.pos())
         elif event.type() == QtCore.QEvent.Leave:
             index = QtCore.QModelIndex()
         if index != self._last_index:
             row = self._last_index.row()
             column = self._last_index.column()
             item = self.itemAt(row, column)
             if item is not None:
                 self.itemExited.emit(item)
             self.cellExited.emit(row, column)
             self._last_index = QtCore.QPersistentModelIndex(index)
     return QtGui.QTreeWidget.eventFilter(self, widget, event)
Beispiel #9
0
    def data(self, index, role):

        value = self._data.iloc[index.row(), index.column()]

        if role == Qt.DisplayRole and self.headerData \
                    (index.column(), Qt.Horizontal, Qt.DisplayRole) != 'Каптча':
            if pd.isna(value):
                return ' '
            return str(value)
        elif self.headerData \
                    (index.column(), Qt.Horizontal, Qt.DisplayRole) == 'Каптча':
            if role == Qt.CheckStateRole:
                return self.checkState(QtCore.QPersistentModelIndex(index))
            else:
                return value
        elif role == Qt.ForegroundRole:
            if value == "Патент не оплачен!" or value == 'Не верно введена каптча':
                return QtGui.QColor('red')
            elif value == 'Патент оплачен!':
                return QtGui.QColor('green')
            elif value == 'Необходимо оформить новый патент!':
                return QtGui.QColor('blue')
Beispiel #10
0
    def contextMenuEvent(self, event):
        contextMenu = QMenu(self)

        newAction = contextMenu.addAction("New")
        openAction = contextMenu.addAction("Open")
        quitAction = contextMenu.addAction("Quit")

        action = contextMenu.exec_(self.mapToGlobal(event.pos()))

        if action == quitAction:
            self.close()

        if action == openAction:
            # model = self.sti
            # indices = self.table.selectionModel().selectedRows()
            # for index in sorted(indices):
            #     model.removeRow(index.row())
            index_list = []
            for model_index in self.table.selectionModel().selectedRows():
                index = QtCore.QPersistentModelIndex(model_index)
                index_list.append(index)

            for index in index_list:
                self.sti.removeRow(index.row())
 def __init__(self, *args, **kwargs):
     QtGui.QTreeWidget.__init__(self, *args, **kwargs)
     self._last_index = QtCore.QPersistentModelIndex()
     self.viewport().installEventFilter(self)
     self.setMouseTracking(True)