Subversion Repositories freemyipod

Rev

Rev 826 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 826 Rev 827
Line 35... Line 35...
35
    struct settingchooser_data* state = (struct settingchooser_data*)data->info->userparams;
35
    struct settingchooser_data* state = (struct settingchooser_data*)data->info->userparams;
36
    struct settingchooser_info* info = (struct settingchooser_info*)state->info;
36
    struct settingchooser_info* info = (struct settingchooser_info*)state->info;
37
    struct settingchooser_item* item = (struct settingchooser_item*)data->selected->user;
37
    struct settingchooser_item* item = (struct settingchooser_item*)data->selected->user;
38
    struct chooser_renderer_list_itemdata* rp;
38
    struct chooser_renderer_list_itemdata* rp;
39
    rp = (struct chooser_renderer_list_itemdata*)data->selected->renderparams;
39
    rp = (struct chooser_renderer_list_itemdata*)data->selected->renderparams;
-
 
40
    int change = 0;
40
    bool redraw = false;
41
    bool redraw = false;
41
    bool handled = false;
42
    bool handled = false;
42
    bool setcolors = false;
43
    bool setcolors = false;
43
    switch (event)
44
    switch (event)
44
    {
45
    {
Line 64... Line 65...
64
                        handled = true;
65
                        handled = true;
65
                        setcolors = true;
66
                        setcolors = true;
66
                        state->editing = false;
67
                        state->editing = false;
67
                    }
68
                    }
68
                    break;
69
                    break;
-
 
70
                    
-
 
71
                case 3:
-
 
72
                    if (state->editing)
-
 
73
                    {
-
 
74
                        handled = true;
-
 
75
                        change = -128;
-
 
76
                    }
-
 
77
                    break;
-
 
78
                    
-
 
79
                case 4:
-
 
80
                    if (state->editing)
-
 
81
                    {
-
 
82
                        handled = true;
-
 
83
                        change = 128;
-
 
84
                    }
-
 
85
                    break;
69
 
86
 
70
                default:
87
                default:
71
                    handled = state->editing;
88
                    handled = state->editing;
72
                    break;
89
                    break;
73
            }
90
            }
Line 78... Line 95...
78
            {
95
            {
79
                switch (item->type)
96
                switch (item->type)
80
                {
97
                {
81
                    case SETTINGCHOOSER_TYPE_INTEGER:
98
                    case SETTINGCHOOSER_TYPE_INTEGER:
82
                        handled = true;
99
                        handled = true;
83
                        state->collect += value;
-
 
84
                        int change = (state->collect * item->config.integer.step) / 128;
-
 
85
                        if (!change) break;
-
 
86
                        state->collect -= (change * 128) / item->config.integer.step;
-
 
87
                        int* setting = (int*)item->setting;
-
 
88
                        if (*setting + change < item->config.integer.min)
-
 
89
                            *setting = item->config.integer.min;
-
 
90
                        else if (*setting + change > item->config.integer.max)
-
 
91
                            *setting = item->config.integer.max;
-
 
92
                        else *setting += change;
-
 
93
                        if (item->validator) item->validator(item->setting);
-
 
94
                        state->changed = true;
-
 
95
                        redraw = true;
100
                        change = value;
96
                        break;
101
                        break;
97
                }
102
                }
98
            }
103
            }
99
            break;
104
            break;
100
    }
105
    }
-
 
106
    if (change)
-
 
107
    {
-
 
108
        state->collect += change;
-
 
109
        change = (state->collect * item->config.integer.step) / 128;
-
 
110
        if (change)
-
 
111
        {
-
 
112
            state->collect -= (change * 128) / item->config.integer.step;
-
 
113
            int* setting = (int*)item->setting;
-
 
114
            if (*setting + change < item->config.integer.min)
-
 
115
                *setting = item->config.integer.min;
-
 
116
            else if (*setting + change > item->config.integer.max)
-
 
117
                *setting = item->config.integer.max;
-
 
118
            else *setting += change;
-
 
119
            if (item->validator) item->validator(item->setting);
-
 
120
            state->changed = true;
-
 
121
            redraw = true;
-
 
122
        }
-
 
123
    }
101
    if (setcolors)
124
    if (setcolors)
102
    {
125
    {
103
        if (state->editing)
126
        if (state->editing)
104
        {
127
        {
105
            rp->fill_color_selected = info->itemparams.fill_color_active;
128
            rp->fill_color_selected = info->itemparams.fill_color_active;