/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */

/*
 *  File-Roller
 *
 *  Copyright (C) 2004 Free Software Foundation, Inc.
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#ifndef UI_H
#define UI_H


#include "actions.h"
#include "fr-stock.h"


static GtkActionEntry action_entries[] = {
	{ "OtherActionsMenu", NULL, NULL },

	{ "About", GTK_STOCK_ABOUT,
	  NULL, NULL,
	  N_("Information about the program"),
	  G_CALLBACK (activate_action_about) },
	{ "Add", FR_STOCK_ADD_FILES,
	  N_("_Add Files…"), NULL,
	  N_("Add files to the archive"),
	  G_CALLBACK (activate_action_add) },
	{ "Add_Toolbar", FR_STOCK_ADD_FILES,
	  N_("Add Files"), NULL,
	  N_("Add files to the archive"),
	  G_CALLBACK (activate_action_add) },
	{ "Close", GTK_STOCK_CLOSE,
	  NULL, NULL,
	  N_("Close the current archive"),
	  G_CALLBACK (activate_action_close) },
	{ "Contents", GTK_STOCK_HELP,
	  N_("Contents"), "F1",
	  N_("Display the File Roller Manual"),
	  G_CALLBACK (activate_action_manual) },

	{ "Copy", GTK_STOCK_COPY,
	  NULL, NULL,
	  N_("Copy the selection"),
	  G_CALLBACK (activate_action_copy) },
	{ "Cut", GTK_STOCK_CUT,
	  NULL, NULL,
	  N_("Cut the selection"),
	  G_CALLBACK (activate_action_cut) },
	{ "Paste", GTK_STOCK_PASTE,
	  NULL, NULL,
	  N_("Paste the clipboard"),
	  G_CALLBACK (activate_action_paste) },
	{ "Rename", NULL,
	  N_("_Rename…"), "F2",
	  N_("Rename the selection"),
	  G_CALLBACK (activate_action_rename) },
	{ "Delete", GTK_STOCK_DELETE,
	  NULL, "Delete",
	  N_("Delete the selection from the archive"),
	  G_CALLBACK (activate_action_delete) },

	{ "CopyFolderFromSidebar", GTK_STOCK_COPY,
	  NULL, NULL,
	  N_("Copy the selection"),
	  G_CALLBACK (activate_action_copy_folder_from_sidebar) },
	{ "CutFolderFromSidebar", GTK_STOCK_CUT,
	  NULL, NULL,
	  N_("Cut the selection"),
	  G_CALLBACK (activate_action_cut_folder_from_sidebar) },
	{ "PasteFolderFromSidebar", GTK_STOCK_PASTE,
	  NULL, NULL,
	  N_("Paste the clipboard"),
	  G_CALLBACK (activate_action_paste_folder_from_sidebar) },
	{ "RenameFolderFromSidebar", NULL,
	  N_("_Rename…"), "F2",
	  N_("Rename the selection"),
	  G_CALLBACK (activate_action_rename_folder_from_sidebar) },
	{ "DeleteFolderFromSidebar", GTK_STOCK_DELETE,
	  NULL, NULL,
	  N_("Delete the selection from the archive"),
	  G_CALLBACK (activate_action_delete_folder_from_sidebar) },

	{ "DeselectAll", NULL,
	  N_("Dese_lect All"), "<shift><control>A",
	  N_("Deselect all files"),
	  G_CALLBACK (activate_action_deselect_all) },
	{ "Extract", FR_STOCK_EXTRACT,
	  N_("_Extract…"), "<control>E",
	  N_("Extract files from the archive"),
	  G_CALLBACK (activate_action_extract) },
	{ "ExtractFolderFromSidebar", FR_STOCK_EXTRACT,
	  N_("_Extract…"), NULL,
	  N_("Extract files from the archive"),
	  G_CALLBACK (activate_action_extract_folder_from_sidebar) },
	{ "Extract_Toolbar", FR_STOCK_EXTRACT,
	  N_("Extract"), NULL,
	  N_("Extract files from the archive"),
	  G_CALLBACK (activate_action_extract) },
	{ "New", GTK_STOCK_NEW,
	  N_("New…"), NULL,
	  N_("Create a new archive"),
	  G_CALLBACK (activate_action_new) },
	{ "Open", GTK_STOCK_OPEN,
	  N_("Open…"), NULL,
	  N_("Open archive"),
	  G_CALLBACK (activate_action_open) },
	{ "Open_Toolbar", GTK_STOCK_OPEN,
	  NULL, NULL,
	  N_("Open archive"),
	  G_CALLBACK (activate_action_open) },
	{ "OpenSelection", NULL,
	  N_("_Open With…"), NULL,
	  N_("Open selected files with an application"),
	  G_CALLBACK (activate_action_open_with) },
	{ "Password", NULL,
	  N_("Pass_word…"), NULL,
	  N_("Specify a password for this archive"),
	  G_CALLBACK (activate_action_password) },
	{ "Properties", GTK_STOCK_PROPERTIES,
	  NULL, "<alt>Return",
	  N_("Show archive properties"),
	  G_CALLBACK (activate_action_properties) },
	{ "Reload", GTK_STOCK_REFRESH,
	  NULL, "<control>R",
	  N_("Reload current archive"),
	  G_CALLBACK (activate_action_reload) },
	{ "SaveAs", GTK_STOCK_SAVE_AS,
	  N_("Save As…"), NULL,
	  N_("Save the current archive with a different name"),
	  G_CALLBACK (activate_action_save_as) },
	{ "SelectAll", GTK_STOCK_SELECT_ALL,
	  NULL, "<control>A",
	  N_("Select all files"),
	  G_CALLBACK (activate_action_select_all) },
	{ "TestArchive", NULL,
	  N_("_Test Integrity"), NULL,
	  N_("Test whether the archive contains errors"),
	  G_CALLBACK (activate_action_test_archive) },
	{ "ViewSelection", GTK_STOCK_OPEN,
	  NULL, NULL,
	  N_("Open the selected file"),
	  G_CALLBACK (activate_action_view_or_open) },
	{ "ViewSelection_Toolbar", GTK_STOCK_OPEN,
	  NULL, NULL,
	  N_("Open the selected file"),
	  G_CALLBACK (activate_action_view_or_open) },
	{ "OpenFolder", GTK_STOCK_OPEN,
	  NULL, NULL,
	  N_("Open the selected folder"),
	  G_CALLBACK (activate_action_open_folder) },
	{ "OpenFolderFromSidebar", GTK_STOCK_OPEN,
	  NULL, NULL,
	  N_("Open the selected folder"),
	  G_CALLBACK (activate_action_open_folder_from_sidebar) },

	{ "GoBack", GTK_STOCK_GO_BACK,
	  NULL, NULL,
	  N_("Go to the previous visited location"),
	  G_CALLBACK (activate_action_go_back) },
	{ "GoForward", GTK_STOCK_GO_FORWARD,
	  NULL, NULL,
	  N_("Go to the next visited location"),
	  G_CALLBACK (activate_action_go_forward) },
	{ "GoUp", GTK_STOCK_GO_UP,
	  NULL, NULL,
	  N_("Go up one level"),
	  G_CALLBACK (activate_action_go_up) },
	{ "GoHome", GTK_STOCK_HOME,
	  NULL, NULL,
	  /* Translators: the home location is the home folder. */
	  N_("Go to the home location"),
	  G_CALLBACK (activate_action_go_home) },
};
static guint n_action_entries = G_N_ELEMENTS (action_entries);


static GtkToggleActionEntry action_toggle_entries[] = {
	{ "ViewStatusbar", NULL,
	  N_("Stat_usbar"), NULL,
	  N_("View the statusbar"),
	  G_CALLBACK (activate_action_view_statusbar),
	  TRUE },
	{ "ViewFolders", NULL,
	  N_("_Folders"), "F9",
	  N_("View the folders pane"),
	  G_CALLBACK (activate_action_view_folders),
	  FALSE },
	{ "Find", GTK_STOCK_FIND,
	  N_("Find…"), NULL,
	  N_("Find files by name"),
	  G_CALLBACK (activate_action_find),
	  FALSE },

};
static guint n_action_toggle_entries = G_N_ELEMENTS (action_toggle_entries);


static GtkRadioActionEntry view_as_entries[] = {
	{ "ViewAllFiles", NULL,
	  N_("View All _Files"), "<control>1",
	  " ", FR_WINDOW_LIST_MODE_FLAT },
	{ "ViewAsFolder", NULL,
	  N_("View as a F_older"), "<control>2",
	  " ", FR_WINDOW_LIST_MODE_AS_DIR },
};
static guint n_view_as_entries = G_N_ELEMENTS (view_as_entries);


#endif /* UI_H */
