core.gui.deletion_options

class core.gui.deletion_options.DeletionOptions

Present the user with deletion options before proceeding.

When the user activates “Send to trash”, we present him with a couple of options that changes the behavior of that deletion operation.

show(mark_count)

Prompt the user with a modal dialog offering our deletion options.

Parameters

mark_count (int) – Number of dupes marked for deletion.

Return type

bool

Returns

Whether the user accepted the dialog (we cancel deletion if false).

Returns whether our platform supports symlinks.

direct

Delete dupes directly and don’t send to trash. bool. get/set

Replace deleted dupes with symlinks (or hardlinks) to the dupe group reference.

bool. get/set

Whether the link is a symlink or hardlink is decided by use_hardlinks.

Whether symlinks or hardlinks are used when doing link_deleted. bool. get/set

class core.gui.deletion_options.DeletionOptionsView

Expected interface for DeletionOptions’s view.

Not actually used in the code. For documentation purposes only.

Our view presents the user with an appropriate way (probably a mix of checkboxes and radio buttons) to set the different flags in DeletionOptions. Note that DeletionOptions.use_hardlinks is only relevant if DeletionOptions.link_deleted is true. This is why we toggle the “enabled” state of that flag.

We expect the view to set DeletionOptions.link_deleted immediately as the user changes its value because it will toggle set_hardlink_option_enabled()

Other than the flags, there’s also a prompt message which has a dynamic content, defined by update_msg().

Enable or disable the widget controlling DeletionOptions.use_hardlinks.

show()

Show the dialog in a modal fashion.

Returns whether the dialog was “accepted” (the user pressed OK).

update_msg(msg: str)

Update the dialog’s prompt with str.