Source code for fortrace.utility.applications.file_manager.files

from pathlib import PurePosixPath
from time import sleep

from fortrace.core.qemu_monitor import QEMUMonitorSession
from fortrace.utility.applications.application import (
    ParentNotifier,
)
from fortrace.utility.applications.file_manager.posix_file_manager import (
    PosixFileManager,
)


[docs] class Files(PosixFileManager): """Representation of GNOME's default file manager Files.""" def __init__(self, qs: QEMUMonitorSession, parent_notifier: ParentNotifier): super().__init__("Files", qs, parent_notifier)
[docs] def focus_on_item(self, name: str): """Focus a specific item. Files support pattern matching, thus multiple files matching name can be selected. Args: name: name of the file(s) to put selection on """ self._qs.send_key_combination("ctrl-s") sleep(0.5) # window needs some time to come up self._qs.send_text(name, True)
# TODO: return list of focused item(s), maybe through guestfish with active mount of filesystem?
[docs] def bookmark_current_location(self): self._qs.send_key_combination("ctrl-d")
[docs] def create_folder(self, name: str): self._qs.send_key_combination("shift-ctrl-n") self._qs.send_text(name, True)
[docs] def empty_trash(self): current_location = self._current_location self.browse_to_directory(PurePosixPath("trash:")) self._qs.send_key_combination("ctrl-a") self._qs.send_key_combination("del") self._qs.send_key_combination("ret") self.browse_to_directory(current_location)
[docs] def search(self, query: str): self._qs.send_key_combination("ctrl-f") self._qs.send_text(query)
[docs] def toggle_show_hidden(self): self._qs.send_key_combination("ctrl-h") self._show_hidden = ~self._show_hidden