Subversion Repositories Projects

Rev

Rev 211 | Rev 214 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 211 Rev 213
Line 48... Line 48...
48
    int file_list_length=0;
48
    int file_list_length=0;
49
//#endif
49
//#endif
Line -... Line 50...
-
 
50
 
-
 
51
   
50
 
52
 
51
   
53
    String act_input_str=" ";
52
 
54
 
Line 53... Line 55...
53
    boolean ipinput4proxy;
55
    boolean ipinput4proxy;
Line 451... Line 453...
451
                            }
453
                            }
Line 452... Line 454...
452
 
454
 
453
                        mk.motor_test(motor_test);
455
                        mk.motor_test(motor_test);
Line -... Line 456...
-
 
456
                        break;
-
 
457
 
-
 
458
                    case STATEID_STRINGINPUT:
-
 
459
                       
-
 
460
                        lcd_lines[0]=act_input_str;
-
 
461
                        for(int tmp_i=act_input_str.length();tmp_i<20;tmp_i++)
-
 
462
                            lcd_lines[0]+=(char)(0);
-
 
463
 
-
 
464
                        lcd_lines[1]="";
-
 
465
                        for(int foo=0;foo<20;foo++)
-
 
466
                            {
-
 
467
                                if (foo==ipinput_pos)
-
 
468
                                    lcd_lines[1]+="^";
-
 
469
                                else
-
 
470
                                    lcd_lines[1]+=" ";
-
 
471
                            }
-
 
472
                        break;
454
                        break;
473
 
455
 
474
 
456
                    case STATEID_IPINPUT:
475
                    case STATEID_IPINPUT:
457
                        if (ipinput4proxy)
476
                        if (ipinput4proxy)
458
                            act_edit_ip=settings.act_proxy_ip;
477
                            act_edit_ip=settings.act_proxy_ip;
Line 915... Line 934...
915
                    y_off+=spacer;
934
                    y_off+=spacer;
916
                    g.drawString("act_path" + act_path() ,0,y_off,Graphics.TOP | Graphics.LEFT);
935
                    g.drawString("act_path" + act_path() ,0,y_off,Graphics.TOP | Graphics.LEFT);
917
                    paint_menu(g);
936
                    paint_menu(g);
918
                    break;
937
                    break;
919
//#endif
938
//#endif
-
 
939
                case STATEID_STRINGINPUT:
920
                case STATEID_ABOUT:
940
                case STATEID_ABOUT:
921
                case STATEID_IPINPUT:
941
                case STATEID_IPINPUT:
922
                    paint_lcd(g,true);
942
                    paint_lcd(g,true);
923
                    break;
943
                    break;
Line 1220... Line 1240...
1220
    {
1240
    {
1221
        if (next_state!=state)act_menu_select=0;
1241
        if (next_state!=state)act_menu_select=0;
1222
        // prepare next state
1242
        // prepare next state
1223
        switch(next_state)
1243
        switch(next_state)
1224
            {
1244
            {
-
 
1245
            case STATEID_STRINGINPUT:
-
 
1246
                lcd_lines=new String[2];
-
 
1247
                lcd_lines[0]=act_input_str;
-
 
1248
                lcd_lines[1]="^";
1225
 
1249
               
-
 
1250
                break;
1226
            case STATEID_FLIGHTVIEW:
1251
            case STATEID_FLIGHTVIEW:
1227
                mk.user_intent=USER_INTENT_LCD;
1252
                mk.user_intent=USER_INTENT_LCD;
1228
                break;
1253
                break;
1229
            case STATEID_FLASHING:
1254
            case STATEID_FLASHING:
1230
                mk.bootloader_intension_flash=true;
1255
                mk.bootloader_intension_flash=true;
Line 1316... Line 1341...
1316
                lcd_lines[0]=""+mk.error_str;
1341
                lcd_lines[0]=""+mk.error_str;
1317
                break;
1342
                break;
Line 1318... Line 1343...
1318
 
1343
 
1319
            case STATEID_ABOUT:
1344
            case STATEID_ABOUT:
-
 
1345
                lcd_lines=credits;
1320
                lcd_lines=credits;
1346
                lcd_lines[1]=" ufo-lib: " + mk.lib_version_str();
1321
                act_menu_select=max_lines-1;
1347
                act_menu_select=max_lines-1;
1322
                break;
1348
                break;
1323
            case STATEID_CONN_DETAILS: 
1349
            case STATEID_CONN_DETAILS: 
1324
                setup_menu(conn_details_menu_items,conn_details_menu_actions);
1350
                setup_menu(conn_details_menu_items,conn_details_menu_actions);
Line 1335... Line 1361...
1335
 
1361
 
Line 1336... Line 1362...
1336
                break;
1362
                break;
1337
 
1363
 
1338
            case STATEID_TRAFFIC:      
-
 
1339
                setup_menu(onlyback_menu_items,back_to_conndetails_actions);
-
 
1340
                /*
-
 
1341
                menu_items=new String[1];
-
 
1342
                lcd_lines=new String[1];
-
 
1343
                menu_items[0]="back";
1364
            case STATEID_TRAFFIC:      
1344
                */
1365
                setup_menu(onlyback_menu_items,back_to_conndetails_actions);
Line 1345... Line 1366...
1345
                break;
1366
                break;
1346
            case STATEID_CAMMODE:
1367
            case STATEID_CAMMODE:
Line 1410... Line 1431...
1410
                break;
1431
                break;
Line 1411... Line 1432...
1411
 
1432
 
1412
            case STATEID_SELECT_PARAMSET:
1433
            case STATEID_SELECT_PARAMSET:
1413
                menu_items=new String[5];
1434
                menu_items=new String[5];
1414
                for (int i=0;i<5;i++)
1435
                for (int i=0;i<5;i++)
Line 1415... Line 1436...
1415
                    menu_items[i]=mk.params.names[i] + ((i==mk.params.active_paramset)?"*":"");
1436
                    menu_items[i]=""+i+": " + mk.params.names[i] + ((i==mk.params.active_paramset)?"*":"");
1416
 
1437
 
Line 1417... Line 1438...
1417
                lcd_lines=new String[5];
1438
                lcd_lines=new String[5];
Line 1563... Line 1584...
1563
                            keyPressed(getKeyCode(FIRE));
1584
                            keyPressed(getKeyCode(FIRE));
1564
                        }    
1585
                        }    
1565
                    break;
1586
                    break;
1566
                }
1587
                }
1567
    }
1588
    }
-
 
1589
 
1568
       
1590
 
-
 
1591
    int last_keycode=-1;
-
 
1592
    int repeat_keycode=0;
-
 
1593
   
1569
    public void keyPressed(int keyCode)
1594
    public void keyPressed(int keyCode)
1570
    {
1595
    {
-
 
1596
        if (last_keycode==keyCode)
-
 
1597
            repeat_keycode++;
-
 
1598
        else
-
 
1599
            {
-
 
1600
                repeat_keycode=0;
-
 
1601
                last_keycode=keyCode;
-
 
1602
            }
-
 
1603
       
1571
        debug.log("KeyCode:"+keyCode);
1604
        debug.log("KeyCode:"+keyCode);
1572
        // key-actions common in all states
1605
        // key-actions common in all states
1573
        debug.process_key(keyCode);
1606
        debug.process_key(keyCode);
Line 1574... Line 1607...
1574
       
1607
       
1575
        /*
1608
       
1576
        if ((keyCode==KEY_NUM9))
1609
        if ((keyCode==KEY_NUM9))
1577
            { chg_state(STATEID_FLASHING); }
1610
            { chg_state(STATEID_STRINGINPUT); }
-
 
1611
       
Line 1578... Line 1612...
1578
        */
1612
 
1579
       
1613
       
1580
 
1614
 
1581
 
1615
 
1582
 
1616
 
1583
        if ((keyCode==KEY_STAR) || (keyCode==113))
1617
        if (((keyCode==KEY_STAR) || (keyCode==113) ))//&&(state!= STATEID_STRINGINPUT))
Line 1593... Line 1627...
1593
                        chg_state(STATEID_MAINMENU);
1627
                        chg_state(STATEID_MAINMENU);
1594
                        return;
1628
                        return;
1595
                        }
1629
                        }
Line 1596... Line 1630...
1596
 
1630
 
-
 
1631
            }
-
 
1632
 
1597
            }
1633
 
1598
        if ((keyCode==KEY_POUND)&&(state!=STATEID_KEYCONTROL))
1634
        if ((keyCode==KEY_POUND)&&(state!=STATEID_KEYCONTROL))
1599
            {
1635
            {
1600
                settings.fullscreen=!settings.fullscreen;
1636
                settings.fullscreen=!settings.fullscreen;
1601
                setFullScreenMode(settings.fullscreen);
1637
                setFullScreenMode(settings.fullscreen);
Line 1607... Line 1643...
1607
            {
1643
            {
Line 1608... Line 1644...
1608
 
1644
 
1609
            case STATEID_NC_ERRORS:
1645
            case STATEID_NC_ERRORS:
1610
                chg_state(STATEID_MAINMENU);
1646
                chg_state(STATEID_MAINMENU);
-
 
1647
                break;
-
 
1648
            case STATEID_STRINGINPUT:
-
 
1649
                if ((keyCode>=KEY_NUM2)&&(keyCode<=KEY_NUM9))
-
 
1650
                    {
-
 
1651
                        act_input_str=act_input_str.substring(0,ipinput_pos) +
-
 
1652
 
-
 
1653
 
-
 
1654
                            (char)( 97 + (keyCode-KEY_NUM2)*3 + ((keyCode>KEY_NUM7)?1:0) +(repeat_keycode%(((keyCode==KEY_NUM7)||(keyCode==KEY_NUM9))?4:3)))
-
 
1655
 
-
 
1656
                            + act_input_str.substring(ipinput_pos+1,act_input_str.length());
-
 
1657
                    }
-
 
1658
                else if ((keyCode==KEY_NUM0))
-
 
1659
                    {
-
 
1660
                        act_input_str=act_input_str.substring(0,ipinput_pos) +
-
 
1661
                            act_input_str.substring(ipinput_pos+1,act_input_str.length());
-
 
1662
                    }
-
 
1663
                else
-
 
1664
                    {
-
 
1665
                    switch (getGameAction (keyCode))
-
 
1666
                        {
-
 
1667
 
-
 
1668
                        case LEFT:
-
 
1669
                            if(ipinput_pos>0) ipinput_pos--;
-
 
1670
                            break;
-
 
1671
                           
-
 
1672
                        case RIGHT:
-
 
1673
                            if(ipinput_pos<19)  ipinput_pos++;
-
 
1674
                            break;
-
 
1675
 
-
 
1676
                        case UP:
-
 
1677
                            act_input_str=act_input_str.substring(0,ipinput_pos) +
-
 
1678
                                (char)((byte) act_input_str.charAt(ipinput_pos)-1) + act_input_str.substring(ipinput_pos+1,act_input_str.length());
-
 
1679
 
-
 
1680
                            break;
-
 
1681
                        case DOWN:
-
 
1682
                            act_input_str=act_input_str.substring(0,ipinput_pos) +
-
 
1683
                                (char)((byte) act_input_str.charAt(ipinput_pos)+1) + act_input_str.substring(ipinput_pos+1,act_input_str.length());
-
 
1684
 
-
 
1685
                            break;
-
 
1686
 
-
 
1687
 
-
 
1688
                        case FIRE:
-
 
1689
                            mk.params.set_name(act_input_str);
-
 
1690
                            chg_state(STATEID_HANDLE_PARAMS);
-
 
1691
                            break;
-
 
1692
                        }
-
 
1693
       
-
 
1694
                    }
-
 
1695
                if (act_input_str.length()<=ipinput_pos) act_input_str+=" ";
1611
                break;
1696
                break;
1612
            case STATEID_IPINPUT:
1697
            case STATEID_IPINPUT:
1613
                if ((keyCode>=KEY_NUM0)&&(keyCode<=KEY_NUM9))
1698
                if ((keyCode>=KEY_NUM0)&&(keyCode<=KEY_NUM9))
1614
                    {
1699
                    {
Line 1877... Line 1962...
1877
                if ( getGameAction (keyCode)==FIRE )
1962
                if ( getGameAction (keyCode)==FIRE )
1878
                    {
1963
                    {
1879
                        switch(menu_actions[act_menu_select])
1964
                        switch(menu_actions[act_menu_select])
1880
                            {
1965
                            {
Line -... Line 1966...
-
 
1966
 
-
 
1967
                            case ACTIONID_RENAME_PARAMS:
-
 
1968
                                act_input_str=mk.params.names[mk.params.act_paramset];
-
 
1969
                                ipinput_pos=0;
1881
 
1970
                                chg_state(STATEID_STRINGINPUT);
1882
 
1971
                                break;
1883
                            case ACTIONID_SET_SPEED_FORMAT_CMS:
1972
                            case ACTIONID_SET_SPEED_FORMAT_CMS:
1884
                                mk.gps_position.act_speed_format=SPEED_FORMAT_CMS;
1973
                                mk.gps_position.act_speed_format=SPEED_FORMAT_CMS;
1885
                                chg_state(STATEID_SETTINGSMENU);
1974
                                chg_state(STATEID_SETTINGSMENU);