added key pad '-', '+' and '0' keys to zoom function in level editor
[rocksndiamonds.git] / src / editor.c
index 5473ef68a8316193a0c8d792557d9a33a1a82e19..3baec5725bb4cb8b3da700f7475021ac5c0f88ab 100644 (file)
 #define ED_MODE_PROPERTIES_CHANGE      ED_TEXTBUTTON_ID_PROPERTIES_CHANGE
 
 /* how many steps can be cancelled */
-#define NUM_UNDO_STEPS                 (10 + 1)
+#define NUM_UNDO_STEPS                 (64 + 1)
 
 /* values for elements with score for certain actions */
 #define MIN_SCORE                      0
@@ -10985,6 +10985,10 @@ static void HandleCounterButtons(struct GadgetInfo *gi)
     case ED_COUNTER_ID_LEVEL_YSIZE:
       lev_fieldx = level.fieldx;
       lev_fieldy = level.fieldy;
+
+      /* check if resizing of level results in change of border border */
+      SetBorderElement();
+
       break;
 
     default:
@@ -11831,9 +11835,11 @@ void HandleLevelEditorKeyInput(Key key)
       ClickOnGadget(level_editor_gadget[GADGET_ID_SINGLE_ITEMS], button);
     else if (letter == 'R')
       ClickOnGadget(level_editor_gadget[GADGET_ID_UNDO], 3);
-    else if (letter == '0')
+    else if (key == KSYM_KP_Subtract)
+      ClickOnGadget(level_editor_gadget[GADGET_ID_ZOOM], 1);
+    else if (key == KSYM_KP_0 || letter == '0')
       ClickOnGadget(level_editor_gadget[GADGET_ID_ZOOM], 2);
-    else if (letter == '+')
+    else if (key == KSYM_KP_Add || letter == '+')
       ClickOnGadget(level_editor_gadget[GADGET_ID_ZOOM], 3);
     else if (key == KSYM_Return ||
             key == KSYM_space ||