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)
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)
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)