@@ -61,16 +61,20 @@ def btnMoveUpClicked(self, checked):
61
61
if self .treeFiles .selected :
62
62
selected_index = self .treeFiles .selected .row ()
63
63
64
- # Ignore if empty files
64
+ # Ignore if empty files or no selection
65
65
if not files or selected_index is None :
66
66
return
67
67
68
- # New index
69
- new_index = max (selected_index - 1 , 0 )
70
- log .info (new_index )
68
+ # Check if selected_index is within valid range
69
+ if 0 <= selected_index < len (files ):
70
+ # New index
71
+ new_index = max (selected_index - 1 , 0 )
71
72
72
- # Remove item and move it
73
- files .insert (new_index , files .pop (selected_index ))
73
+ # Remove item and move it
74
+ files .insert (new_index , files .pop (selected_index ))
75
+ else :
76
+ log .warning (f"Invalid selected_index: { selected_index } , list length: { len (files )} " )
77
+ return
74
78
75
79
# Refresh tree
76
80
self .treeFiles .refresh_view ()
@@ -90,16 +94,20 @@ def btnMoveDownClicked(self, checked):
90
94
if self .treeFiles .selected :
91
95
selected_index = self .treeFiles .selected .row ()
92
96
93
- # Ignore if empty files
97
+ # Ignore if empty files or no selection
94
98
if not files or selected_index is None :
95
99
return
96
100
97
- # New index
98
- new_index = min (selected_index + 1 , len (files ) - 1 )
99
- log .info (new_index )
101
+ # Check if selected_index is within valid range
102
+ if 0 <= selected_index < len (files ):
103
+ # New index
104
+ new_index = min (selected_index + 1 , len (files ) - 1 )
100
105
101
- # Remove item and move it
102
- files .insert (new_index , files .pop (selected_index ))
106
+ # Remove item and move it
107
+ files .insert (new_index , files .pop (selected_index ))
108
+ else :
109
+ log .warning (f"Invalid selected_index: { selected_index } , list length: { len (files )} " )
110
+ return
103
111
104
112
# Refresh tree
105
113
self .treeFiles .refresh_view ()
0 commit comments