Fixing issues with certain file renames

This commit is contained in:
itdominator 2021-12-26 18:55:10 -06:00
parent 01a2be4c69
commit 3017fa3308
3 changed files with 28 additions and 28 deletions

View File

@ -93,7 +93,7 @@ class WidgetFileActionMixin:
def open_with_files(self, appchooser_widget):
wid, tid, view, iconview, store = self.get_current_state()
app_info = appchooser_widget.get_app_info()
uris = self.format_to_uris(store, wid, tid, self.selected_files)
uris = self.format_to_uris(store, wid, tid, self.selected_files, True)
view.app_chooser_exec(app_info, uris)
@ -124,7 +124,7 @@ class WidgetFileActionMixin:
rename_label = self.builder.get_object("file_to_rename_label")
rename_input = self.builder.get_object("new_rename_fname")
wid, tid, view, iconview, store = self.get_current_state()
uris = self.format_to_uris(store, wid, tid, self.selected_files)
uris = self.format_to_uris(store, wid, tid, self.selected_files, True)
for uri in uris:
entry = uri.split("/")[-1]
@ -140,7 +140,7 @@ class WidgetFileActionMixin:
break
rname_to = rename_input.get_text().strip()
target = f"file://{view.get_current_directory()}/{rname_to}"
target = f"{view.get_current_directory()}/{rname_to}"
self.handle_files([uri], "rename", target)
@ -151,18 +151,18 @@ class WidgetFileActionMixin:
def cut_files(self):
wid, tid, view, iconview, store = self.get_current_state()
uris = self.format_to_uris(store, wid, tid, self.selected_files)
uris = self.format_to_uris(store, wid, tid, self.selected_files, True)
self.to_cut_files = uris
def copy_files(self):
wid, tid, view, iconview, store = self.get_current_state()
uris = self.format_to_uris(store, wid, tid, self.selected_files)
uris = self.format_to_uris(store, wid, tid, self.selected_files, True)
self.to_copy_files = uris
def paste_files(self):
wid, tid = self.window_controller.get_active_data()
view = self.get_fm_window(wid).get_view_by_id(tid)
target = f"file://{view.get_current_directory()}"
target = f"{view.get_current_directory()}"
if len(self.to_copy_files) > 0:
self.handle_files(self.to_copy_files, "copy", target)
@ -171,12 +171,12 @@ class WidgetFileActionMixin:
def delete_files(self):
wid, tid, view, iconview, store = self.get_current_state()
uris = self.format_to_uris(store, wid, tid, self.selected_files)
uris = self.format_to_uris(store, wid, tid, self.selected_files, True)
response = None
self.warning_alert.format_secondary_text(f"Do you really want to delete the {len(uris)} file(s)?")
for uri in uris:
file = Gio.File.new_for_uri(uri)
file = Gio.File.new_for_path(uri)
if not response:
response = self.warning_alert.run()
@ -194,9 +194,9 @@ class WidgetFileActionMixin:
def trash_files(self):
wid, tid, view, iconview, store = self.get_current_state()
uris = self.format_to_uris(store, wid, tid, self.selected_files)
uris = self.format_to_uris(store, wid, tid, self.selected_files, True)
for uri in uris:
file = Gio.File.new_for_uri(uri)
file = Gio.File.new_for_path(uri)
file.trash(cancellable=None)
@ -212,7 +212,7 @@ class WidgetFileActionMixin:
target = f"{view.get_current_directory()}"
if file_name:
path = f"file://{target}/{file_name}"
path = f"{target}/{file_name}"
if type == True: # Create File
self.handle_files([path], "create_file")
@ -236,17 +236,17 @@ class WidgetFileActionMixin:
for path in paths:
try:
file = Gio.File.new_for_uri(path)
file = Gio.File.new_for_path(path)
if _target_path:
if os.path.isdir(_target_path.split("file://")[1]):
if os.path.isdir(_target_path):
info = file.query_info("standard::display-name", 0, cancellable=None)
_target = f"{_target_path}/{info.get_display_name()}"
_file = Gio.File.new_for_uri(_target)
_file = Gio.File.new_for_path(_target)
else:
_file = Gio.File.new_for_uri(_target_path)
_file = Gio.File.new_for_path(_target_path)
else:
_file = Gio.File.new_for_uri(path)
_file = Gio.File.new_for_path(path)
if _file.query_exists():

View File

@ -129,8 +129,8 @@ class WidgetMixin:
grid.set_spacing(12)
grid.set_column_spacing(18)
grid.connect("button_release_event", self.grid_icon_single_left_click)
grid.connect("item-activated", self.grid_icon_double_left_click)
grid.connect("button_release_event", self.grid_icon_single_click)
grid.connect("item-activated", self.grid_icon_double_click)
grid.connect("selection-changed", self.grid_set_selected_items)
grid.connect("drag-data-get", self.grid_on_drag_set)
grid.connect("drag-data-received", self.grid_on_drag_data_received)
@ -178,8 +178,8 @@ class WidgetMixin:
grid.set_headers_visible(False)
grid.set_enable_tree_lines(False)
grid.connect("button_release_event", self.grid_icon_single_left_click)
grid.connect("row-activated", self.grid_icon_double_left_click)
grid.connect("button_release_event", self.grid_icon_single_click)
grid.connect("row-activated", self.grid_icon_double_click)
grid.connect("drag-data-get", self.grid_on_drag_set)
grid.connect("drag-data-received", self.grid_on_drag_data_received)
grid.connect("drag-motion", self.grid_on_drag_motion)

View File

@ -90,13 +90,13 @@ class WindowMixin(TabMixin):
self.bottom_size_label.set_label(f"{formatted_mount_free} free / {formatted_mount_size}")
self.bottom_path_label.set_label(view.get_current_directory())
if len(selected_files) > 0:
uris = self.format_to_uris(store, _wid, _tid, selected_files)
uris = self.format_to_uris(store, _wid, _tid, selected_files, True)
combined_size = 0
for uri in uris:
file = Gio.File.new_for_uri(uri).query_info(attributes="standard::size",
flags=Gio.FileQueryInfoFlags.NOFOLLOW_SYMLINKS,
cancellable=None)
file_size = file.get_size()
file_info = Gio.File.new_for_path(uri).query_info(attributes="standard::size",
flags=Gio.FileQueryInfoFlags.NOFOLLOW_SYMLINKS,
cancellable=None)
file_size = file_info.get_size()
combined_size += file_size
formatted_size = self.sizeof_fmt(combined_size)
@ -144,7 +144,7 @@ class WindowMixin(TabMixin):
def grid_set_selected_items(self, iconview):
self.selected_files = iconview.get_selected_items()
def grid_icon_single_left_click(self, iconview, eve):
def grid_icon_single_click(self, iconview, eve):
try:
self.path_menu.popdown()
wid, tid = iconview.get_name().split("|")
@ -155,7 +155,7 @@ class WindowMixin(TabMixin):
if eve.type == Gdk.EventType.BUTTON_RELEASE and eve.button == 1: # l-click
if self.single_click_open: # FIXME: need to find a way to pass the model index
self.grid_icon_double_left_click(iconview)
self.grid_icon_double_click(iconview)
elif eve.type == Gdk.EventType.BUTTON_RELEASE and eve.button == 3: # r-click
self.show_context_menu()
@ -163,7 +163,7 @@ class WindowMixin(TabMixin):
print(repr(e))
self.display_message(self.error, f"{repr(e)}")
def grid_icon_double_left_click(self, iconview, item, data=None):
def grid_icon_double_click(self, iconview, item, data=None):
try:
if self.ctrlDown and self.shiftDown:
self.execute_files(in_terminal=True)