added doing 'redo' by pressing 'undo' button with Ctrl or Shift key
[rocksndiamonds.git] / src / editor.c
index a0ea06303c4d44ce0d414084287840b7ce701434..5a3d5cfa7f6a451ae55b54c8f5c5d0420284fae4 100644 (file)
@@ -12417,8 +12417,13 @@ static void HandleControlButtons(struct GadgetInfo *gi)
       InitZoomLevelSettings();
 
       if (edit_mode == ED_MODE_DRAWING)
+      {
        DrawDrawingWindow();
 
+       /* redraw zoom gadget info text */
+       PrintEditorGadgetInfoText(level_editor_gadget[id]);
+      }
+
       break;
 
     case GADGET_ID_CUSTOM_COPY_FROM:
@@ -12437,6 +12442,9 @@ static void HandleControlButtons(struct GadgetInfo *gi)
       break;
 
     case GADGET_ID_UNDO:
+      if (button == 1 && GetKeyModState() & (KMOD_Shift|KMOD_Control))
+       button = 3;
+
       if (button == 1 && undo_buffer_steps == 0)
       {
        Request("Undo buffer empty!", REQ_CONFIRM);
@@ -12904,7 +12912,7 @@ void PrintEditorGadgetInfoText(struct GadgetInfo *gi)
       else if (gi->custom_id == GADGET_ID_UNDO)
        sprintf(shortcut, " ('%c/Shift-U')", key);
       else if (gi->custom_id == GADGET_ID_ZOOM)
-       sprintf(shortcut, " ('%c', '0', '+')", key);
+       sprintf(shortcut, " ('%c', '0', '-')", key);
       else
        sprintf(shortcut, " ('%s%c')",
                (key >= 'A' && key <= 'Z' ? "Shift-" : ""), key);