summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--amiga/context_menu.c1
-rw-r--r--amiga/gui.c6
-rw-r--r--amiga/menu.c25
-rwxr-xr-xamiga/menu.h5
-rw-r--r--resources/FatMessages10
5 files changed, 44 insertions, 3 deletions
diff --git a/amiga/context_menu.c b/amiga/context_menu.c
index 454fe266e..03672ef56 100644
--- a/amiga/context_menu.c
+++ b/amiga/context_menu.c
@@ -508,7 +508,6 @@ void ami_context_menu_add_submenu(Object *ctxmenuobj, ULONG cmsub, void *userdat
PMIA_Title, (ULONG)ctxmenulab[CMID_SELCLEAR],
PMIA_ID,CMID_SELCLEAR,
PMIA_Disabled, disabled_noselection,
- PMIA_CommKey, "Z",
TAG_DONE),
PMA_AddItem,NewObject(POPUPMENU_GetItemClass(), NULL,
PMIA_Title, ~0,
diff --git a/amiga/gui.c b/amiga/gui.c
index b7c5585ad..acbf84126 100644
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -2023,7 +2023,11 @@ void ami_handle_msg(void)
break;
case 'z':
- browser_window_key_press(gwin->bw, KEY_CLEAR_SELECTION);
+ browser_window_key_press(gwin->bw, KEY_UNDO);
+ break;
+
+ case 'y':
+ browser_window_key_press(gwin->bw, KEY_REDO);
break;
case 'f':
diff --git a/amiga/menu.c b/amiga/menu.c
index de4d63ee1..3280bdedd 100644
--- a/amiga/menu.c
+++ b/amiga/menu.c
@@ -98,6 +98,8 @@ static void ami_menu_item_edit_copy(struct Hook *hook, APTR window, struct Intui
static void ami_menu_item_edit_paste(struct Hook *hook, APTR window, struct IntuiMessage *msg);
static void ami_menu_item_edit_selectall(struct Hook *hook, APTR window, struct IntuiMessage *msg);
static void ami_menu_item_edit_clearsel(struct Hook *hook, APTR window, struct IntuiMessage *msg);
+static void ami_menu_item_edit_undo(struct Hook *hook, APTR window, struct IntuiMessage *msg);
+static void ami_menu_item_edit_redo(struct Hook *hook, APTR window, struct IntuiMessage *msg);
static void ami_menu_item_browser_find(struct Hook *hook, APTR window, struct IntuiMessage *msg);
static void ami_menu_item_browser_localhistory(struct Hook *hook, APTR window, struct IntuiMessage *msg);
static void ami_menu_item_browser_globalhistory(struct Hook *hook, APTR window, struct IntuiMessage *msg);
@@ -241,8 +243,13 @@ void ami_init_menulabs(struct gui_window_2 *gwin)
ami_menu_alloc_item(gwin, M_BAR_E1, NM_ITEM, NM_BARLABEL, 0, NULL, NULL, NULL);
ami_menu_alloc_item(gwin, M_SELALL, NM_ITEM, "SelectAllNS", 'A', NULL,
ami_menu_item_edit_selectall, NULL);
- ami_menu_alloc_item(gwin, M_CLEAR, NM_ITEM, "ClearNS", 'Z', NULL,
+ ami_menu_alloc_item(gwin, M_CLEAR, NM_ITEM, "ClearNS", 0, NULL,
ami_menu_item_edit_clearsel, NULL);
+ ami_menu_alloc_item(gwin, M_BAR_E2, NM_ITEM, NM_BARLABEL, 0, NULL, NULL, NULL);
+ ami_menu_alloc_item(gwin, M_UNDO, NM_ITEM, "Undo", 'Z', NULL,
+ ami_menu_item_edit_undo, NULL);
+ ami_menu_alloc_item(gwin, M_REDO, NM_ITEM, "Redo", 'Y', NULL,
+ ami_menu_item_edit_redo, NULL);
ami_menu_alloc_item(gwin, M_BROWSER, NM_TITLE, "Browser", 0, NULL, NULL, NULL);
ami_menu_alloc_item(gwin, M_FIND, NM_ITEM, "FindTextNS", 'F', NULL,
@@ -897,6 +904,22 @@ static void ami_menu_item_edit_clearsel(struct Hook *hook, APTR window, struct I
browser_window_key_press(gwin->bw, KEY_CLEAR_SELECTION);
}
+static void ami_menu_item_edit_undo(struct Hook *hook, APTR window, struct IntuiMessage *msg)
+{
+ struct gui_window_2 *gwin;
+ GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
+
+ browser_window_key_press(gwin->bw, KEY_UNDO);
+}
+
+static void ami_menu_item_edit_redo(struct Hook *hook, APTR window, struct IntuiMessage *msg)
+{
+ struct gui_window_2 *gwin;
+ GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
+
+ browser_window_key_press(gwin->bw, KEY_REDO);
+}
+
static void ami_menu_item_browser_find(struct Hook *hook, APTR window, struct IntuiMessage *msg)
{
struct gui_window_2 *gwin;
diff --git a/amiga/menu.h b/amiga/menu.h
index 9f13e016f..b54e78301 100755
--- a/amiga/menu.h
+++ b/amiga/menu.h
@@ -62,6 +62,9 @@ enum {
M_BAR_E1,
M_SELALL,
M_CLEAR,
+ M_BAR_E2,
+ M_UNDO,
+ M_REDO,
/* Browser menu */
M_BROWSER,
M_FIND,
@@ -119,6 +122,8 @@ enum {
#define AMI_MENU_PASTE FULLMENUNUM(1,2,0)
#define AMI_MENU_SELECTALL FULLMENUNUM(1,4,0)
#define AMI_MENU_CLEAR FULLMENUNUM(1,5,0)
+#define AMI_MENU_UNDO FULLMENUNUM(1,8,0)
+#define AMI_MENU_REDO FULLMENUNUM(1,9,0)
#define AMI_MENU_FIND FULLMENUNUM(2,0,0)
#define AMI_MENU_FOREIMG FULLMENUNUM(2,8,0)
#define AMI_MENU_BACKIMG FULLMENUNUM(2,8,1)
diff --git a/resources/FatMessages b/resources/FatMessages
index b27df8da8..b78b5a7d6 100644
--- a/resources/FatMessages
+++ b/resources/FatMessages
@@ -817,6 +817,16 @@ de.all.ClearNS:Auswahl rückgängig
fr.all.ClearNS:Clear selection
it.all.ClearNS:Annulla selezione
nl.all.ClearNS:Clear selection
+en.ami.Undo:Undo
+de.ami.Undo:Undo
+fr.ami.Undo:Undo
+it.ami.Undo:Undo
+nl.ami.Undo:Undo
+en.ami.Redo:Redo
+de.ami.Redo:Redo
+fr.ami.Redo:Redo
+it.ami.Redo:Redo
+nl.ami.Redo:Redo
# Browser menu
#