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

static const ActionDef dupe_main_actions[] =
{
		{
		"win.dupe-win-collections",
		nullptr,
		N_("Collection"),
		nullptr,
		G_VARIANT_TYPE_INT32,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-append-file-list",
		nullptr,
		N_("Append list"),
		dupe_menu_append_file_list_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-clear",
		nullptr,
		N_("Result clear"),
		dupe_menu_clear_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-clear-focused",
		nullptr,
		N_("Clear"),
		dupe_menu_clear_focused_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-collection-from-selection",
		nullptr,
		N_("Collection from selection"),
		dupe_menu_collection_from_selection_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-collections",
		nullptr,
		N_("Collection"),
		dupe_pop_menu_collections_cb,
		G_VARIANT_TYPE_INT32,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-copy",
		GQ_ICON_COPY,
		N_("Copy…"),
		dupe_menu_copy_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

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

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

		{
		"win.dupe-win-delete",
		GQ_ICON_DELETE,
		N_("Delete"),
		dupe_menu_delete_cb<TRUE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-delete-focused",
		GQ_ICON_DELETE,
		N_("Move selection to Trash"),
		dupe_menu_delete_focused_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

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

		{
		"win.dupe-win-export-to-csv",
		nullptr,
		N_("Close window"),
		dupe_pop_menu_export_cb<EXPORT_CSV>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-export-to-tab-delimited",
		nullptr,
		N_("Close window"),
		dupe_pop_menu_export_cb<EXPORT_TSV>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

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

		{
		"win.dupe-win-move",
		nullptr,
		N_("Move…"),
		dupe_menu_move_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-plugin-run",
		nullptr,
		N_("Plugins"),
		dupe_menu_edit_cb,
		G_VARIANT_TYPE_STRING,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-plugins",
		nullptr,
		N_("Close window"),
		dupe_pop_menu_export_cb<EXPORT_TSV>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-popup-menu",
		nullptr,
		N_("Popup menu"),
		dupe_menu_popup_focused_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

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

		{
		"win.dupe-win-remove",
		nullptr,
		N_("Remove selection"),
		dupe_menu_remove_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-remove-focused",
		nullptr,
		N_("Remove"),
		dupe_menu_remove_focused_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-rename",
		PIXBUF_INLINE_ICON_RENAME,
		N_("Rename…"),
		dupe_menu_rename_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

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

		{
		"win.dupe-win-select-all-focused",
		nullptr,
		N_("Select all"),
		dupe_menu_select_all_focused_cb<TRUE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-select-group1",
		nullptr,
		N_("Select all"),
		dupe_menu_select_dupes_cb<DUPE_SELECT_GROUP1>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-select-group2",
		nullptr,
		N_("Select all"),
		dupe_menu_select_dupes_cb<DUPE_SELECT_GROUP2>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-select-group-none",
		nullptr,
		N_("Select none"),
		dupe_menu_select_dupes_cb<DUPE_SELECT_NONE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

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

		{
		"win.dupe-win-select-none-focused",
		nullptr,
		N_("Select none"),
		dupe_menu_select_all_focused_cb<FALSE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-toggle-thumbnails",
		nullptr,
		N_("Thumbnails"),
		dupe_menu_toggle_thumbnails_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-view",
		nullptr,
		N_("View"),
		dupe_menu_view_cb<FALSE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-view-focused",
		nullptr,
		N_("View"),
		dupe_menu_view_focused_cb<FALSE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-view-in-new-window",
		nullptr,
		N_("View in new window"),
		dupe_menu_view_cb<TRUE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-view-focused-in-new-window",
		nullptr,
		N_("View in new window"),
		dupe_menu_view_focused_cb<TRUE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-window-close",
		nullptr,
		N_("Close window"),
		dupe_window_close_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

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

static const ActionDef dupe_second_actions[] =
{
		{
		"win.dupe-win-second-view",
		nullptr,
		N_("View"),
		dupe_second_menu_view_cb<FALSE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-second-clear",
		nullptr,
		N_("Result clear"),
		dupe_second_menu_clear_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-second-remove",
		nullptr,
		N_("Remove selection"),
		dupe_second_menu_remove_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-second-select-all",
		nullptr,
		N_("Select all"),
		dupe_second_menu_select_all_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-second-select-none",
		nullptr,
		N_("Select none"),
		dupe_second_menu_select_none_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-second-view-in-new-window",
		nullptr,
		N_("View in new window"),
		dupe_second_menu_view_cb<TRUE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.dupe-win-second-window-close",
		nullptr,
		N_("Close window"),
		dupe_menu_close_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

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