mirror of
https://github.com/suchmememanyskill/CYD-Klipper.git
synced 2026-03-21 05:33:24 +00:00
Implement file sorting (implement #89)
This commit is contained in:
@@ -68,6 +68,7 @@ typedef struct _GLOBAL_CONFIG {
|
|||||||
bool on_during_print : 1;
|
bool on_during_print : 1;
|
||||||
bool display_mode : 1; // Driver specifc usage. Currently only used on ESP32-2432S028R to fix the screen on the usb-c model
|
bool display_mode : 1; // Driver specifc usage. Currently only used on ESP32-2432S028R to fix the screen on the usb-c model
|
||||||
bool disable_m117_messaging : 1;
|
bool disable_m117_messaging : 1;
|
||||||
|
bool sort_macros : 1;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -45,6 +45,13 @@ MACROSQUERY macros_query(PRINTER_CONFIG * config)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (global_config.sort_macros)
|
||||||
|
{
|
||||||
|
std::sort(macros, macros + macros_count, [](const char* a, const char* b) {
|
||||||
|
return strcmp(a, b) < 0;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
return {(const char**)macros, (unsigned int)macros_count};
|
return {(const char**)macros, (unsigned int)macros_count};
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
@@ -110,6 +110,13 @@ static void disable_m117_messaging_switch(lv_event_t* e){
|
|||||||
write_global_config();
|
write_global_config();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void sort_macros_switch(lv_event_t* e){
|
||||||
|
auto state = lv_obj_get_state(lv_event_get_target(e));
|
||||||
|
bool checked = (state & LV_STATE_CHECKED == LV_STATE_CHECKED);
|
||||||
|
global_config.sort_macros = checked;
|
||||||
|
write_global_config();
|
||||||
|
}
|
||||||
|
|
||||||
static void rotate_screen_switch(lv_event_t* e){
|
static void rotate_screen_switch(lv_event_t* e){
|
||||||
auto state = lv_obj_get_state(lv_event_get_target(e));
|
auto state = lv_obj_get_state(lv_event_get_target(e));
|
||||||
bool checked = (state & LV_STATE_CHECKED == LV_STATE_CHECKED);
|
bool checked = (state & LV_STATE_CHECKED == LV_STATE_CHECKED);
|
||||||
@@ -208,6 +215,8 @@ void settings_section_behaviour(lv_obj_t* panel)
|
|||||||
global_config.multi_printer_mode
|
global_config.multi_printer_mode
|
||||||
? "Calls FILAMENT_RETRACT and\nFILAMENT_EXTRUDE in temperature menu\nwhen enabled. Stored per printer."
|
? "Calls FILAMENT_RETRACT and\nFILAMENT_EXTRUDE in temperature menu\nwhen enabled. Stored per printer."
|
||||||
: "Calls FILAMENT_RETRACT and\nFILAMENT_EXTRUDE in temperature menu\nwhen enabled");
|
: "Calls FILAMENT_RETRACT and\nFILAMENT_EXTRUDE in temperature menu\nwhen enabled");
|
||||||
|
|
||||||
|
lv_create_custom_menu_switch("Sort Macros A->Z", panel, sort_macros_switch, global_config.sort_macros);
|
||||||
}
|
}
|
||||||
|
|
||||||
void settings_section_device(lv_obj_t* panel)
|
void settings_section_device(lv_obj_t* panel)
|
||||||
|
|||||||
Reference in New Issue
Block a user