コード例 #1
0
    def append_items_to_tree(self, files_objects_dict):
        self.fromDropListCheckBox.setChecked(True)

        self.dropTreeWidget.clearSelection()

        icon_provider = QtGui.QFileIconProvider()

        self.progressBar.setVisible(True)

        for item_type, item in files_objects_dict.items():

            for i, file_obj in enumerate(item):
                tree_item = QtGui.QTreeWidgetItem()
                tree_item.setText(0, file_obj.get_pretty_file_name())
                sequence_info_string = []
                frameranges = file_obj.get_sequence_frameranges_string('[]')
                tiles_count = file_obj.get_tiles_count()
                layer = file_obj.get_layer()
                if frameranges:
                    sequence_info_string.append(frameranges)
                if tiles_count:
                    sequence_info_string.append(
                        '{0} Tile(s)'.format(tiles_count))
                if layer:
                    sequence_info_string.append(layer)
                tree_item.setText(1, ' / '.join(sequence_info_string))
                tree_item.setText(2, file_obj.get_base_file_type_pretty_name())
                tree_item.setText(3, file_obj.get_base_file_type())
                tree_item.setText(4, file_obj.get_file_path())

                file_icon = icon_provider.icon(
                    file_obj.get_all_files_list(True))
                tree_item.setIcon(0, file_icon)

                self.dropTreeWidget.addTopLevelItem(tree_item)

                if self.dropTreeWidget.topLevelItemCount(
                ) < 50:  # for performance reasons
                    self.dropTreeWidget.setItemSelected(tree_item, True)
                else:
                    self.dropTreeWidget.clearSelection()

                tree_item.setData(0, QtCore.Qt.UserRole, len(self.tree_items))
                self.tree_items.append(file_obj)

                if i % 10 == 0:
                    QtGui.QApplication.processEvents()

                self.progressBar.setValue(int(i * 100 / len(item)))

        self.progressBar.setValue(100)
        self.dropTreeWidget.resizeColumnToContents(0)
        self.dropTreeWidget.resizeColumnToContents(1)
        self.dropTreeWidget.resizeColumnToContents(2)
        self.dropTreeWidget.resizeColumnToContents(3)
        self.dropTreeWidget.resizeColumnToContents(4)

        self.dropTreeWidget.sortByColumn(0, QtCore.Qt.AscendingOrder)
        self.progressBar.setVisible(False)
コード例 #2
0
    def fill_files_tree(self):
        self.filesTreeWidget.clear()

        show_more_info = self.showMoreInfoCheckBox.isChecked()
        show_all_files = self.showAllCheckBox.isChecked()
        if not show_more_info:
            self.filesTreeWidget.setHeaderHidden(True)
            self.filesTreeWidget.setColumnCount(1)
        else:
            self.filesTreeWidget.setHeaderHidden(False)
            self.filesTreeWidget.setColumnCount(5)

        icon_provider = QtGui.QFileIconProvider()
        known_icon_ext = {}
        if self.snapshots:

            # Making versionless on top of tree
            if self.item_widget.type == 'snapshot':
                if self.item_widget.is_versionless():
                    versionless_snapshot = self.item_widget.get_snapshot()
                    if versionless_snapshot and versionless_snapshot not in self.snapshots:
                        self.snapshots.insert(0, versionless_snapshot)

            for snapshot in self.snapshots:
                snapshot_info = snapshot.get_snapshot()
                snapshot_files_objects = snapshot.get_files_objects(group_by='type')

                if show_all_files:
                    sn_item = QtGui.QTreeWidgetItem()
                    sn_item.setText(0, 'Snapshot ({0}), Version: {1}'.format(snapshot_info.get('id'), snapshot_info.get('version')))
                    self.filesTreeWidget.addTopLevelItem(sn_item)
                    sn_item.setExpanded(True)

                # Download from http
                for file_type, files_objects in snapshot_files_objects.items():
                    for file_object in files_objects:

                        if gf.get_value_from_config(cfg_controls.get_checkin(), 'getPreviewsThroughHttpCheckbox') == 1:
                            if file_type in ['icon', 'playblast', 'web', 'image']:
                                if file_object.is_exists():
                                    if file_object.get_file_size() != file_object.get_file_size(True):
                                        self.download_web_preview(file_object)
                                else:
                                    self.download_web_preview(file_object)

                preview = []
                if not show_all_files:
                    preview = ['icon', 'playblast', 'web']

                # Adding files to tree
                for i, (file_type, files_objects) in enumerate(snapshot_files_objects.items()):
                    type_item = QtGui.QTreeWidgetItem()
                    if file_type not in preview:
                        if show_all_files:
                            type_item.setText(0, file_type)
                            sn_item.addChild(type_item)
                            type_item.setExpanded(True)

                        for file_object in files_objects:

                            # removing unnecessary calls to icon provider
                            file_ext = file_object.get_ext()
                            if known_icon_ext.get(file_ext):
                                file_icon = known_icon_ext[file_ext]
                            else:
                                file_icon = icon_provider.icon(file_object.get_full_abs_path())
                                known_icon_ext[file_ext] = file_icon

                            # multiple files in snapshot
                            if file_object.is_meta_file_obj():
                                self.add_item_with_meta_file_object(file_object, show_more_info, show_all_files, snapshot_info, type_item, file_icon)
                            else:
                                self.add_item_with_tactic_file_object(file_object, show_more_info, show_all_files, snapshot_info, type_item, file_icon)

            self.filesTreeWidget.resizeColumnToContents(0)
            if show_more_info:
                self.filesTreeWidget.resizeColumnToContents(1)
                self.filesTreeWidget.resizeColumnToContents(2)
                self.filesTreeWidget.resizeColumnToContents(4)
                self.filesTreeWidget.resizeColumnToContents(5)
コード例 #3
0
    def fill_files_tree(self):
        self.filesTreeWidget.clear()

        show_more_info = self.showMoreInfoCheckBox.isChecked()
        show_all_files = self.showAllCheckBox.isChecked()
        if not show_more_info:
            self.filesTreeWidget.setHeaderHidden(True)
            self.filesTreeWidget.setColumnCount(1)
        else:
            self.filesTreeWidget.setHeaderHidden(False)
            self.filesTreeWidget.setColumnCount(5)
        icon_provider = QtGui.QFileIconProvider()
        if self.snapshots:

            if self.item_widget.type == 'snapshot':
                if self.item_widget.is_versionless():
                    versionless_snapshot = self.item_widget.get_snapshot()
                    if versionless_snapshot and versionless_snapshot not in self.snapshots:
                        self.snapshots.append(versionless_snapshot)

            for snapshot in self.snapshots:

                snapshot_info = snapshot.get_snapshot()
                snapshot_files_objects = snapshot.get_files_objects(
                    group_by='type')

                if show_all_files:
                    sn_item = QtGui.QTreeWidgetItem()
                    sn_item.setText(
                        0, 'Snapshot ({0}), Version: {1}'.format(
                            snapshot_info.get('id'),
                            snapshot_info.get('version')))
                    self.filesTreeWidget.addTopLevelItem(sn_item)
                    sn_item.setExpanded(True)

                preview = []
                if not show_all_files:
                    preview = ['icon', 'playblast', 'web']

                for i, (file_type, files_objects) in enumerate(
                        snapshot_files_objects.items()):
                    type_item = QtGui.QTreeWidgetItem()
                    if file_type not in preview:
                        if show_all_files:
                            type_item.setText(0, file_type)
                            sn_item.addChild(type_item)
                            type_item.setExpanded(True)

                        for file_object in files_objects:
                            # multiple files in snapshot
                            if file_object.is_meta_file_obj():
                                self.add_item_with_meta_file_object(
                                    file_object, show_more_info,
                                    show_all_files, snapshot_info, type_item,
                                    icon_provider)
                            else:
                                self.add_item_with_tactic_file_object(
                                    file_object, show_more_info,
                                    show_all_files, snapshot_info, type_item,
                                    icon_provider)

                    if i % 20 == 0:
                        QtGui.QApplication.processEvents()

                self.filesTreeWidget.resizeColumnToContents(0)
                if show_more_info:
                    self.filesTreeWidget.resizeColumnToContents(1)
                    self.filesTreeWidget.resizeColumnToContents(2)
                    # self.filesTreeWidget.resizeColumnToContents(3)
                    self.filesTreeWidget.resizeColumnToContents(4)
                    self.filesTreeWidget.resizeColumnToContents(5)