Skip to content

Commit

Permalink
improvements of updates during files processing
Browse files Browse the repository at this point in the history
  • Loading branch information
PJDude committed Feb 8, 2024
1 parent fe9aae2 commit e07eff1
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 50 deletions.
8 changes: 4 additions & 4 deletions src/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -776,22 +776,22 @@ def rename_file(self,src,dest,l_info):
return 'Rename error:' + str(e)

def delete_file(self,file_name,l_info):
l_info('deleting file:%s',file_name)
l_info(f'deleting file:{file_name}')
try:
os_remove(file_name)
return False
except Exception as e:
self.log.error(e)
return 'Delete error:' + str(e)
return f'Deletion error:{e}'

def delete_file_to_trash(self,file_name,l_info):
l_info('deleting file to trash:%s',file_name)
l_info(f'deleting file to trash:{file_name}')
try:
send2trash(file_name)
return False
except Exception as e:
self.log.error(e)
return 'Delete error:' + str(e)
return f'send2trash error:{e}'

def do_soft_link(self,src,dest,relative,l_info):
l_info('soft-linking %s<-%s (relative:%s)',src,dest,relative)
Expand Down
103 changes: 57 additions & 46 deletions src/dude.py
Original file line number Diff line number Diff line change
Expand Up @@ -1425,39 +1425,36 @@ def folder_tree_focus_out(self):
tree.selection_set(item)
self.selected[tree]=item

@catched
def groups_tree_focus_in(self):
#print('groups_tree_focus_in',str(event.type),dir(event.type))
self.sel_tree = tree = self.groups_tree
try:
self.sel_tree = tree = self.groups_tree

if item:=self.selected[tree]:
tree.focus(item)
tree.selection_remove(item)
self.groups_tree_sel_change(item,True)
#else:
# print('groups_tree_focus_in NO SELECTED')
if item:=self.selected[tree]:
tree.focus(item)
tree.selection_remove(item)
self.groups_tree_sel_change(item,True)

tree.configure(style='semi_focus.Treeview')
self.other_tree[tree].configure(style='no_focus.Treeview')
#print('groups_tree_focus_in',str(event.type),'end')
tree.configure(style='semi_focus.Treeview')
self.other_tree[tree].configure(style='no_focus.Treeview')
except Exception as e:
l_error(f'groups_tree_focus_in:{e}')

@catched
def folder_tree_focus_in(self):
#print('folder_tree_focus_in',str(event.type),dir(event.type))
self.sel_tree = tree = self.folder_tree
try:
self.sel_tree = tree = self.folder_tree

if item:=self.selected[tree]:
tree.focus(item)
tree.selection_remove(item)
else:
print('folder_tree_focus_in NO SELECTED')
if item:=self.selected[tree]:
tree.focus(item)
tree.selection_remove(item)
else:
print('folder_tree_focus_in NO SELECTED')

tree.configure(style='semi_focus.Treeview')
self.other_tree[tree].configure(style='no_focus.Treeview')
#print('folder_tree_focus_in',str(event.type),'end')
tree.configure(style='semi_focus.Treeview')
self.other_tree[tree].configure(style='no_focus.Treeview')
except Exception as e:
l_error(f'folder_tree_focus_in:{e}')

def focusin(self):
#print('focusin')
if self.main_locked_by_child:
self.main_locked_by_child.focus_set()

Expand Down Expand Up @@ -1672,6 +1669,7 @@ def menu_disable(self):
#self.menubar.update()

def reset_sels(self):
self.sel_path_full = ''
self.sel_pathnr = None
self.sel_path = None
self.sel_file = None
Expand Down Expand Up @@ -3138,32 +3136,42 @@ def settings_reset(self):
_ = {var.set(cfg_defaults[key]) for var,key in self.settings}
_ = {var.set(cfg_defaults[key]) for var,key in self.settings_str}

@catched
def file_remove_callback(self,size,crc,index_tuple):
l_info(f'file_remove_callback {size},{crc},{index_tuple}')
(pathnr,path,file_name,ctime,dev,inode)=index_tuple
item = self.idfunc(inode,dev)
#l_info(f'file_remove_callback {size},{crc},{index_tuple}')
try:
(pathnr,path,file_name,ctime,dev,inode)=index_tuple
item = self.idfunc(inode,dev)

self.groups_tree.delete(item)
self.tagged_discard(item)
self.groups_tree.delete(item)
self.tagged_discard(item)

if item==self.selected[self.groups_tree]:
self.selected[self.groups_tree]=None
if item==self.selected[self.groups_tree]:
self.selected[self.groups_tree]=None

#to bedzie przeliczone
#self.tree_children_sub[crc].remove(item)
#to bedzie przeliczone
#self.tree_children_sub[crc].remove(item)
except Exception as e:
self.selected[self.groups_tree]=None
l_error(f'file_remove_callback,{size},{crc},{index_tuple},{e}')

l_info('file_remove_callback done')
#l_info('file_remove_callback done')

@catched
def crc_remove_callback(self,size,crc):
l_info(f'crc_remove_callback:{size},{crc}')
#l_info(f'crc_remove_callback:{size},{crc}')
try:
self.groups_tree.delete(crc)

if item:=self.selected[self.groups_tree]:
if self.id2crc[item]==crc:
self.selected[self.groups_tree]=None

self.groups_tree.delete(crc)
#to bedzie przeliczone
#self.tree_children[self.groups_tree].remove(crc)
#l_info('crc_remove_callback done')
except Exception as e:
self.selected[self.groups_tree]=None
l_error(f'crc_remove_callback,{size},{crc},{e}')

#to bedzie przeliczone
#self.tree_children[self.groups_tree].remove(crc)
l_info('crc_remove_callback done')

@catched
def create_my_prev_next_dicts(self,tree):
Expand Down Expand Up @@ -3240,7 +3248,6 @@ def data_precalc(self):

self_tree_children_self_groups_tree = self_tree_children[self.groups_tree]


self_groups_tree_item_to_data = self.groups_tree_item_to_data

self.path_stat_list_size=tuple(sorted([(pathnr,path,number) for (pathnr,path),number in path_stat_size.items()],key=lambda x : x[2],reverse=True))
Expand All @@ -3250,6 +3257,10 @@ def data_precalc(self):
self.groups_combos_quant = tuple(sorted([(crc_item,len(self_tree_children_sub[crc_item])) for crc_item in self_tree_children_self_groups_tree],key = lambda x : x[1],reverse = True))
self.status('')

if not self_tree_children_self_groups_tree:
self.tree_folder_update_none()
self.reset_sels()

@logwrapper
def initial_focus(self):
if children := self.tree_children[self.groups_tree]:
Expand Down Expand Up @@ -4518,12 +4529,12 @@ def process_files(self,action,processed_items,scope_title):
self.selected[self.folder_tree]=None

if tree==self.groups_tree:
if tree.exists(self.sel_crc):
item_to_select=self.sel_crc

l_info('updating groups : %s',item_to_select)
if self.sel_crc:
if tree.exists(self.sel_crc):
item_to_select=self.sel_crc

if item_to_select:
l_info('updating groups : %s',item_to_select)
try:
self.groups_tree.focus(item_to_select)
self.selected[self.groups_tree] = item_to_select
Expand Down

0 comments on commit e07eff1

Please sign in to comment.