// SPDX-License-Identifier: GPL-2.0-or-later

static const gchar *const sort_mode_targets[] =
{
	"class",
	"date",
	"date-creation",
	"exif-digitized",
	"exif-original",
	"name",
	"number",
	"path",
	"rating",
	"size",
	nullptr
};

static const ActionDef collection_actions[] =
{
		{
		"win.collection-win-append-from-collection",
		nullptr,
		N_("Append from collection…"),
		collection_table_popup_add_collection_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-append-from-file-selection",
		nullptr,
		N_("Append from file selection"),
		collection_table_popup_add_file_selection_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-copy",
		nullptr,
		N_("Copy"),
		collection_table_popup_copy_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-copy-path",
		nullptr,
		N_("Copy path"),
		collection_table_popup_copy_path_cb<TRUE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-copy-path-unquoted",
		nullptr,
		N_("Copy path unquoted"),
		collection_table_popup_copy_path_cb<FALSE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-delete",
		nullptr,
		N_("Move to trash"),
		collection_table_popup_delete_cb<TRUE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-delete-permanent",
		nullptr,
		N_("Delete"),
		collection_table_popup_delete_cb<FALSE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-find-duplicates",
		nullptr,
		N_("_Find duplicates…"),
		collection_table_popup_find_dupes_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-go-to-original",
		nullptr,
		N_("Go to original"),
		collection_table_popup_goto_original_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-help",
		nullptr,
		N_("Help"),
		collection_table_help_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-invert-selection",
		nullptr,
		N_("Invert selection"),
		collection_table_popup_select_invert_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-menu",
		nullptr,
		N_("Move"),
		collection_menu_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},
		{
		"win.collection-win-move",
		nullptr,
		N_("Move"),
		collection_table_popup_move_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-plugin-run",
		nullptr,
		N_("Run Plugin"),
		collection_table_popup_edit_cb,
		G_VARIANT_TYPE_STRING,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-print",
		nullptr,
		N_("Print…"),
		collection_table_popup_print_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-rectangular-selection",
		nullptr,
		N_("Rectangular selection"),
		collection_table_popup_rectangular_selection_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-remove",
		nullptr,
		N_("Rem_ove"),
		collection_table_popup_remove_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-rename",
		nullptr,
		N_("Rename"),
		collection_table_popup_rename_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-save-collection",
		nullptr,
		N_("_Save collection"),
		collection_table_popup_save_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-save-collection-as",
		nullptr,
		N_("Save collection _as…"),
		collection_table_popup_save_as_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-select-all",
		nullptr,
		N_("Select all"),
		collection_table_popup_selectall_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-select-none",
		nullptr,
		N_("Select none"),
		collection_table_popup_unselectall_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-show-filename-text",
		nullptr,
		N_("Show filename text"),
		collection_table_popup_show_names_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-show-infotext",
		nullptr,
		N_("Show infotext"),
		collection_table_popup_show_infotext_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-show-star-rating",
		nullptr,
		N_("Show star rating"),
		collection_table_popup_show_stars_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-sort",
		nullptr,
		N_("Sort by "),
		collection_table_popup_sort_cb,
		G_VARIANT_TYPE_STRING,
		ActionStateType::STRING,
		FALSE,
		"name",
		0,
		sort_mode_targets,
		},

		{
		"win.collection-win-sort-random",
		nullptr,
		N_("Sort by random"),
		collection_table_popup_randomize_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-view",
		nullptr,
		N_("View"),
		collection_table_popup_view_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.collection-win-view-new-window",
		nullptr,
		N_("View in _new window"),
		collection_table_popup_view_new_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		nullptr,
		nullptr,
		nullptr,
		nullptr,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr
		}

};
