kopia lustrzana https://github.com/hoglet67/RGBtoHDMI
Add warning if saved config matches default config
rodzic
ce0e4e71d3
commit
ef33f99bcc
|
@ -280,13 +280,11 @@ unsigned int file_read_profile(char *profile_name, char *sub_profile_name, int u
|
|||
init_filesystem();
|
||||
|
||||
if (sub_profile_name != NULL) {
|
||||
sprintf(path, "/Saved_Profiles/%s/%s.txt", profile_name, sub_profile_name);
|
||||
sprintf(path, "%s/%s/%s.txt", SAVED_PROFILE_BASE, profile_name, sub_profile_name);
|
||||
} else {
|
||||
sprintf(path, "/Saved_Profiles/%s.txt", profile_name);
|
||||
sprintf(path, "%s/%s.txt", SAVED_PROFILE_BASE, profile_name);
|
||||
}
|
||||
|
||||
|
||||
|
||||
result = f_open(&file, path, FA_READ);
|
||||
if (result != FR_OK) {
|
||||
if (sub_profile_name != NULL) {
|
||||
|
@ -489,7 +487,7 @@ int file_save(char *dirpath, char *name, char *buffer, unsigned int buffer_size)
|
|||
char path[256];
|
||||
char comparison_path[256];
|
||||
char comparison_buffer[MAX_BUFFER_SIZE];
|
||||
|
||||
int status = 0;
|
||||
init_filesystem();
|
||||
|
||||
result = f_mkdir(SAVED_PROFILE_BASE);
|
||||
|
@ -516,21 +514,21 @@ int file_save(char *dirpath, char *name, char *buffer, unsigned int buffer_size)
|
|||
if (result != FR_OK) {
|
||||
log_warn("Failed to open %s (result = %d)", comparison_path, result);
|
||||
close_filesystem();
|
||||
return 0;
|
||||
return result;
|
||||
}
|
||||
result = f_read (&file, comparison_buffer, MAX_BUFFER_SIZE - 1, &bytes_read);
|
||||
|
||||
if (result != FR_OK) {
|
||||
log_warn("Failed to read %s (result = %d)", comparison_path, result);
|
||||
close_filesystem();
|
||||
return 0;
|
||||
return result;
|
||||
}
|
||||
|
||||
result = f_close(&file);
|
||||
if (result != FR_OK) {
|
||||
log_warn("Failed to close %s (result = %d)", comparison_path, result);
|
||||
close_filesystem();
|
||||
return 0;
|
||||
return result;
|
||||
}
|
||||
|
||||
comparison_buffer[bytes_read] = 0;
|
||||
|
@ -540,13 +538,11 @@ int file_save(char *dirpath, char *name, char *buffer, unsigned int buffer_size)
|
|||
if (strcmp(buffer, comparison_buffer) !=0) {
|
||||
log_info("Saving file %s", path);
|
||||
|
||||
|
||||
|
||||
result = f_open(&file, path, FA_WRITE | FA_CREATE_ALWAYS);
|
||||
if (result != FR_OK) {
|
||||
log_warn("Failed to open %s (result = %d)", path, result);
|
||||
close_filesystem();
|
||||
return 0;
|
||||
return result;
|
||||
}
|
||||
|
||||
result = f_write(&file, buffer, buffer_size, &num_written);
|
||||
|
@ -554,19 +550,16 @@ int file_save(char *dirpath, char *name, char *buffer, unsigned int buffer_size)
|
|||
if (result != FR_OK) {
|
||||
log_warn("Failed to read %s (result = %d)", path, result);
|
||||
close_filesystem();
|
||||
return 0;
|
||||
return result;
|
||||
}
|
||||
|
||||
result = f_close(&file);
|
||||
if (result != FR_OK) {
|
||||
log_warn("Failed to close %s (result = %d)", path, result);
|
||||
close_filesystem();
|
||||
return 0;
|
||||
return result;
|
||||
}
|
||||
close_filesystem();
|
||||
|
||||
log_info("%s writing complete", path);
|
||||
return num_written;
|
||||
|
||||
} else {
|
||||
log_info("File matches default deleting %s", path);
|
||||
|
@ -574,11 +567,13 @@ int file_save(char *dirpath, char *name, char *buffer, unsigned int buffer_size)
|
|||
if (result != FR_OK && result != FR_NO_FILE) {
|
||||
log_warn("Failed to delete %s (result = %d)", path, result);
|
||||
close_filesystem();
|
||||
return 0;
|
||||
return result;
|
||||
}
|
||||
log_info("%s deleting complete", path);
|
||||
status = -1;
|
||||
}
|
||||
close_filesystem();
|
||||
return num_written;
|
||||
return status;
|
||||
}
|
||||
int file_restore(char *dirpath, char *name) {
|
||||
FRESULT result;
|
||||
|
|
43
src/osd.c
43
src/osd.c
|
@ -1242,7 +1242,7 @@ void osd_clear() {
|
|||
}
|
||||
|
||||
|
||||
void save_profile(char *path, char *name, char *buffer, char *default_buffer, char *sub_default_buffer)
|
||||
int save_profile(char *path, char *name, char *buffer, char *default_buffer, char *sub_default_buffer)
|
||||
{
|
||||
char *pointer = buffer;
|
||||
char param_string[80];
|
||||
|
@ -1359,7 +1359,7 @@ void save_profile(char *path, char *name, char *buffer, char *default_buffer, ch
|
|||
i++;
|
||||
}
|
||||
*pointer = 0;
|
||||
file_save(path, name, buffer, pointer - buffer);
|
||||
return file_save(path, name, buffer, pointer - buffer);
|
||||
}
|
||||
|
||||
void process_single_profile(char *buffer) {
|
||||
|
@ -1660,8 +1660,6 @@ int osd_key(int key) {
|
|||
int ret = -1;
|
||||
static int cal_count;
|
||||
static int last_vsync;
|
||||
char path[256];
|
||||
char msg[256];
|
||||
switch (osd_state) {
|
||||
|
||||
case IDLE:
|
||||
|
@ -1793,19 +1791,32 @@ int osd_key(int key) {
|
|||
redraw_menu();
|
||||
}
|
||||
break;
|
||||
case I_SAVE:
|
||||
if (has_sub_profiles[get_feature(F_PROFILE)]) {
|
||||
save_profile(profile_names[get_feature(F_PROFILE)], "Default", save_buffer, NULL, NULL);
|
||||
save_profile(profile_names[get_feature(F_PROFILE)], sub_profile_names[get_feature(F_SUBPROFILE)], save_buffer, default_buffer, sub_default_buffer);
|
||||
sprintf(path, "%s/%s.txt", profile_names[get_feature(F_PROFILE)], sub_profile_names[get_feature(F_SUBPROFILE)]);
|
||||
} else {
|
||||
save_profile(NULL, profile_names[get_feature(F_PROFILE)], save_buffer, default_buffer, NULL);
|
||||
sprintf(path, "%s.txt", profile_names[get_feature(F_PROFILE)]);
|
||||
case I_SAVE: {
|
||||
int result = 0;
|
||||
char msg[256];
|
||||
char path[256];
|
||||
if (has_sub_profiles[get_feature(F_PROFILE)]) {
|
||||
save_profile(profile_names[get_feature(F_PROFILE)], "Default", save_buffer, NULL, NULL);
|
||||
result = save_profile(profile_names[get_feature(F_PROFILE)], sub_profile_names[get_feature(F_SUBPROFILE)], save_buffer, default_buffer, sub_default_buffer);
|
||||
sprintf(path, "%s/%s.txt", profile_names[get_feature(F_PROFILE)], sub_profile_names[get_feature(F_SUBPROFILE)]);
|
||||
} else {
|
||||
result = save_profile(NULL, profile_names[get_feature(F_PROFILE)], save_buffer, default_buffer, NULL);
|
||||
sprintf(path, "%s.txt", profile_names[get_feature(F_PROFILE)]);
|
||||
}
|
||||
if (result == 0) {
|
||||
sprintf(msg, "Saved: %s", path);
|
||||
} else {
|
||||
if (result == -1) {
|
||||
sprintf(msg, "Not saved (same as default)");
|
||||
} else {
|
||||
sprintf(msg, "Error %d saving file", result);
|
||||
}
|
||||
|
||||
}
|
||||
set_status_message(msg);
|
||||
load_profiles(get_feature(F_PROFILE));
|
||||
break;
|
||||
}
|
||||
sprintf(msg, "Saved: %s", path);
|
||||
set_status_message(msg);
|
||||
load_profiles(get_feature(F_PROFILE));
|
||||
break;
|
||||
case I_RESTORE:
|
||||
if (has_sub_profiles[get_feature(F_PROFILE)]) {
|
||||
file_restore(profile_names[get_feature(F_PROFILE)], "Default");
|
||||
|
|
Ładowanie…
Reference in New Issue