const T_Setting * args when possible

This commit is contained in:
Thomas Bernard 2018-11-16 18:40:37 +01:00
parent bf20a0b711
commit 34b89a2768

View File

@ -809,7 +809,7 @@ typedef struct {
const T_Lookup * Lookup; const T_Lookup * Lookup;
} T_Setting; } T_Setting;
long int Get_setting_value(T_Setting *item) long int Get_setting_value(const T_Setting *item)
{ {
switch(item->Type) switch(item->Type)
{ {
@ -826,7 +826,7 @@ long int Get_setting_value(T_Setting *item)
} }
} }
void Set_setting_value(T_Setting *item, long int value) void Set_setting_value(const T_Setting *item, long int value)
{ {
switch(item->Type) switch(item->Type)
{ {
@ -888,7 +888,7 @@ int Lookup_previous(int code, const T_Lookup *lookup)
return lookup[(current + count - 1) % count].Code; return lookup[(current + count - 1) % count].Code;
} }
void Settings_display_config(T_Setting *setting, T_Config * conf, T_Special_button *panel) void Settings_display_config(const T_Setting *setting, T_Config * conf, T_Special_button *panel)
{ {
int i; int i;
@ -955,7 +955,7 @@ void Button_Settings(int btn)
// Label,Type (0 = label, 1+ = setting size in bytes), // Label,Type (0 = label, 1+ = setting size in bytes),
// Value, min, max, digits, Lookup) // Value, min, max, digits, Lookup)
T_Setting setting[SETTING_PER_PAGE*SETTING_PAGES] = { const T_Setting setting[SETTING_PER_PAGE*SETTING_PAGES] = {
{" --- GUI ---",0,NULL,0,0,0,NULL}, {" --- GUI ---",0,NULL,0,0,0,NULL},
{"Opening message:",1,&(selected_config.Opening_message),0,1,0,Lookup_YesNo}, {"Opening message:",1,&(selected_config.Opening_message),0,1,0,Lookup_YesNo},
@ -1089,29 +1089,28 @@ void Button_Settings(int btn)
case 5: // Panel area case 5: // Panel area
{ {
T_Setting item;
int num=(((short)Mouse_Y-Window_pos_Y)/Menu_factor_Y - panel->Pos_Y)/SETTING_HEIGHT; int num=(((short)Mouse_Y-Window_pos_Y)/Menu_factor_Y - panel->Pos_Y)/SETTING_HEIGHT;
if (num >= 0 && num < SETTING_PER_PAGE) if (num >= 0 && num < SETTING_PER_PAGE)
{ {
item=setting[current_page*SETTING_PER_PAGE+num]; const T_Setting * item = &setting[current_page*SETTING_PER_PAGE+num];
if (item.Type!=0) if (item->Type!=0)
{ {
// Remember which button is clicked // Remember which button is clicked
byte old_mouse_k = Mouse_K; byte old_mouse_k = Mouse_K;
if (Window_normal_button_onclick(panel->Pos_X, panel->Pos_Y+num*SETTING_HEIGHT, panel->Width, SETTING_HEIGHT+1, 5)) if (Window_normal_button_onclick(panel->Pos_X, panel->Pos_Y+num*SETTING_HEIGHT, panel->Width, SETTING_HEIGHT+1, 5))
{ {
int value = Get_setting_value(&item); int value = Get_setting_value(item);
if (item.Lookup) if (item->Lookup)
{ {
// Enum: toggle it // Enum: toggle it
if (old_mouse_k & LEFT_SIDE) if (old_mouse_k & LEFT_SIDE)
value = Lookup_next(value, item.Lookup); value = Lookup_next(value, item->Lookup);
else else
value = Lookup_previous(value, item.Lookup); value = Lookup_previous(value, item->Lookup);
Set_setting_value(&item, value); Set_setting_value(item, value);
} }
else else
{ {
@ -1119,16 +1118,16 @@ void Button_Settings(int btn)
char str[10]; char str[10];
str[0]='\0'; str[0]='\0';
if (! (old_mouse_k & RIGHT_SIDE)) if (! (old_mouse_k & RIGHT_SIDE))
Num2str(value,str,item.Digits+1); Num2str(value,str,item->Digits+1);
if (Readline(panel->Pos_X+3+176, panel->Pos_Y+num*SETTING_HEIGHT+(SETTING_HEIGHT-6)/2,str,item.Digits+1,INPUT_TYPE_INTEGER)) if (Readline(panel->Pos_X+3+176, panel->Pos_Y+num*SETTING_HEIGHT+(SETTING_HEIGHT-6)/2,str,item->Digits+1,INPUT_TYPE_INTEGER))
{ {
value=atoi(str); value=atoi(str);
if (value<item.Min_value) if (value<item->Min_value)
value = item.Min_value; value = item->Min_value;
else if (value>item.Max_value) else if (value>item->Max_value)
value = item.Max_value; value = item->Max_value;
Set_setting_value(&item, value); Set_setting_value(item, value);
} }
Key=0; // Need to discard keys used during editing Key=0; // Need to discard keys used during editing
} }