def _destination_file_chooser_response_cb(
        self,
        native: Gtk.FileChooserNative,
        response: int,
        button: Gtk.Button,
    ):
        if response == Gtk.ResponseType.ACCEPT:
            file: Gio.File = native.get_file()
            filename: str = file.get_path()
            if (filename and os.path.isdir(filename)
                    and os.access(filename, os.W_OK)):
                label: Gtk.Label = button.get_child()
                label.set_text(filename)
                self._destination = filename
            else:
                self._destination = None
            self._update_buttons()

        native.destroy()