def expand(parent_item, name, dw): QApplication.processEvents() if 'c' in dw: if name == None: name_item = parent_item size_item = None else: name_item = QStandardItem(name) name_item.setData(folder_icon, Qt.DecorationRole) name_item.setData(ITEM_TYPE_DIRECTORY, USER_ROLE_ITEM_TYPE) name_item.setData(int(dw['p']), USER_ROLE_PERMISSIONS) size_item = QStandardItem('') last_modified_item = create_last_modified_item(int(dw['l'])) parent_item.appendRow( [name_item, size_item, last_modified_item]) size = 0 for child_name, child_dw in dw['c'].items(): size += expand(name_item, child_name, child_dw) if size_item != None: size_item.setText(get_file_display_size(size)) size_item.setData(size, USER_ROLE_SIZE) return size else: name_item = QStandardItem(name) name_item.setData(file_icon, Qt.DecorationRole) name_item.setData(ITEM_TYPE_FILE, USER_ROLE_ITEM_TYPE) name_item.setData(int(dw['p']), USER_ROLE_PERMISSIONS) size = int(dw['s']) size_item = QStandardItem(get_file_display_size(size)) size_item.setData(size, USER_ROLE_SIZE) last_modified_item = create_last_modified_item(int(dw['l'])) parent_item.appendRow([name_item, size_item, last_modified_item]) return size
def expand(parent_item, name, dw): QApplication.processEvents() if 'c' in dw: if name == None: name_item = parent_item size_item = None else: name_item = QStandardItem(name) name_item.setData(folder_icon, Qt.DecorationRole) name_item.setData(ITEM_TYPE_DIRECTORY, USER_ROLE_ITEM_TYPE) name_item.setData(int(dw['p']), USER_ROLE_PERMISSIONS) size_item = QStandardItem('') last_modified_item = create_last_modified_item(int(dw['l'])) parent_item.appendRow([name_item, size_item, last_modified_item]) size = 0 for child_name, child_dw in dw['c'].items(): size += expand(name_item, child_name, child_dw) if size_item != None: size_item.setText(get_file_display_size(size)) size_item.setData(size, USER_ROLE_SIZE) return size else: name_item = QStandardItem(name) name_item.setData(file_icon, Qt.DecorationRole) name_item.setData(ITEM_TYPE_FILE, USER_ROLE_ITEM_TYPE) name_item.setData(int(dw['p']), USER_ROLE_PERMISSIONS) size = int(dw['s']) size_item = QStandardItem(get_file_display_size(size)) size_item.setData(size, USER_ROLE_SIZE) last_modified_item = create_last_modified_item(int(dw['l'])) parent_item.appendRow([name_item, size_item, last_modified_item]) return size
def update_file_size_item(item, additional_size): current_size = item.data(USER_ROLE_SIZE) new_size = current_size + additional_size item.setText(get_file_display_size(new_size)) item.setData(new_size, USER_ROLE_SIZE)
def create_file_size_item(size): item = QStandardItem(get_file_display_size(size)) item.setData(size, USER_ROLE_SIZE) return item
def update_file_size_item(item, additional_size): current_size = item.data(USER_ROLE_SIZE) new_size = current_size + additional_size item.setText(get_file_display_size(new_size)) item.setData(new_size, USER_ROLE_SIZE)
def create_file_size_item(size): item = QStandardItem(get_file_display_size(size)) item.setData(size, USER_ROLE_SIZE) return item