Difference for main/newmenu.c from version 1.13 to 1.14


version 1.13 version 1.14
Line 19
 
Line 19
  * Routines for menus.   * Routines for menus.
  *    *
  * $Log$   * $Log$
    * Revision 1.14  2003/06/27 10:06:59  donut
    * make keypad enter numbers in input fields, and allow pasting from clipboard (patch from sekmu)
    *
  * Revision 1.13  2000/10/28 10:02:48  donut   * Revision 1.13  2000/10/28 10:02:48  donut
  * scale menu bevels too   * scale menu bevels too
  *   *
Line 528
 
Line 531
 #include <stdarg.h>  #include <stdarg.h>
 #include <ctype.h>  #include <ctype.h>
   
   #include "clipboard.h"
   
 #include "error.h"  #include "error.h"
 #include "types.h"  #include "types.h"
 #include "gr.h"  #include "gr.h"
Line 1284
 
Line 1289
   
  k = key_inkey();   k = key_inkey();
   
                   switch( k )
                   {
                     case KEY_PAD0: k = KEY_0;  break;
                     case KEY_PAD1: k = KEY_1;  break;
                     case KEY_PAD2: k = KEY_2;  break;
                     case KEY_PAD3: k = KEY_3;  break;
                     case KEY_PAD4: k = KEY_4;  break;
                     case KEY_PAD5: k = KEY_5;  break;
                     case KEY_PAD6: k = KEY_6;  break;
                     case KEY_PAD7: k = KEY_7;  break;
                     case KEY_PAD8: k = KEY_8;  break;
                     case KEY_PAD9: k = KEY_9;  break;
                     case KEY_PADPERIOD: k = KEY_PERIOD; break;
                   }
   
  if (subfunction)   if (subfunction)
  (*subfunction)(nitems,item,&k,choice);   (*subfunction)(nitems,item,&k,choice);
   
Line 1323
 
Line 1343
  old_choice = choice;   old_choice = choice;
    
  switch( k ) {   switch( k ) {
    case KEY_V + KEY_CTRLED:
                   case KEY_INSERT + KEY_SHIFTED:
                             if(item[choice].type==NM_TYPE_INPUT)
                              {
                               char cbtext[MAX_PASTE_SIZE+1];
                               memset(cbtext,0,MAX_PASTE_SIZE+1);
                               int ret = getClipboardText(cbtext,MAX_PASTE_SIZE);
                                 if(ret)
                                  {
                                   int idx;
   
                                     if (item[choice].value==-1)
                                      {
                                        item[choice].value = 0;
                                      }
   
                                     for(idx = 0 ; (idx < ret) && (item[choice].value < item[choice].text_len ) ; idx++ )
                                      {
                                       int ascii = cbtext[idx];
                                       int allowed;
   
                                        allowed = char_allowed(ascii);
                                         if (!allowed && ascii==' ' && char_allowed('_'))
                                          {
                                            ascii = '_';
                                            allowed=1;
                                          }
   
                                         if (allowed)
                                          {
                                            item[choice].text[item[choice].value++] = ascii;
                                            item[choice].text[item[choice].value] = 0;
                                            item[choice].redraw=1;
                                          }
                                      }
                                    k = -1;
                                  }
                              }
                           break;
  case KEY_TAB + KEY_SHIFTED:   case KEY_TAB + KEY_SHIFTED:
  case KEY_UP:   case KEY_UP:
  case KEY_PAD8:   case KEY_PAD8:
Line 1433
 
Line 1492
   
  }   }
   
  if ( choice > -1 ) {   if ( (choice > -1) && (k != -1)) {
  int ascii;   int ascii;
   
  if ( ((item[choice].type==NM_TYPE_INPUT)||((item[choice].type==NM_TYPE_INPUT_MENU)&&(item[choice].group==1)) )&& (old_choice==choice) ) {   if ( ((item[choice].type==NM_TYPE_INPUT)||((item[choice].type==NM_TYPE_INPUT_MENU)&&(item[choice].group==1)) )&& (old_choice==choice) ) {

Legend:
line(s) removed in v.1.13 
line(s) changed
 line(s) added in v.1.14