def on_drag_data_received(self, widget, context, x, y, data, info, time):
if not data:<EOL><INDENT>return<EOL><DEDENT>tree_path = self.iconview.get_path_at_pos(x, y)<EOL>if tree_path is None:<EOL><INDENT>return<EOL><DEDENT>target_path = self.liststore[tree_path][PATH_COL]<EOL>is_dir = self.liststore[tree_path][ISDIR_COL]<EOL>if not is_dir or info != TargetInfo.PLAIN_TEXT:<EOL><INDENT>return<EOL><DEDENT>filelist_str = data.get_text()<EOL>if not filelist_str:<EOL><INDENT>return<EOL><DEDENT>filelist = json.loads(filelist_str)<EOL>for file_item in filelist:<EOL><INDENT>if file_item['<STR_LIT:path>'] == target_path:<EOL><INDENT>self.app.toast(_('<STR_LIT>'))<EOL>return<EOL><DEDENT><DEDENT>for file_item in filelist:<EOL><INDENT>file_item['<STR_LIT>'] = target_path<EOL><DEDENT>gutil.async_call(pcs.move, self.app.cookie, self.app.tokens, filelist,<EOL>callback=self.parent.reload)<EOL>
拖放结束