Hide flash button when flash not available

This commit is contained in:
Benjamin Schaaf 2021-11-12 18:27:48 +11:00 committed by Martijn Braam
parent 768e9514c8
commit 11b8e8600c
No known key found for this signature in database
GPG Key ID: C4280ACB000B060F
3 changed files with 11 additions and 1 deletions

View File

@ -208,8 +208,13 @@ config_ini_handler(void *user, const char *section, const char *name,
cc->iso_max = strtod(value, NULL);
} else if (strcmp(name, "flash-path") == 0) {
strcpy(cc->flash_path, value);
cc->has_flash = true;
} else if (strcmp(name, "flash-display") == 0) {
cc->flash_display = strcmp(value, "true") == 0;
if (cc->flash_display) {
cc->has_flash = true;
}
} else {
g_printerr("Unknown key '%s' in [%s]\n", name, section);
exit(1);

View File

@ -44,6 +44,7 @@ struct mp_camera_config {
char flash_path[260];
bool flash_display;
bool has_flash;
};
bool mp_load_config();

View File

@ -76,6 +76,7 @@ GtkWidget *process_spinner;
GtkWidget *scanned_codes;
GtkWidget *preview_top_box;
GtkWidget *preview_bottom_box;
GtkWidget *flash_button;
GSettings *settings;
@ -113,6 +114,9 @@ update_io_pipeline()
.flash_enabled = flash_enabled,
};
mp_io_pipeline_update_state(&io_state);
// Make the right settings available for the camera
gtk_widget_set_visible(flash_button, camera->has_flash);
}
static bool
@ -909,7 +913,7 @@ activate(GtkApplication *app, gpointer data)
GtkWidget *window = GTK_WIDGET(gtk_builder_get_object(builder, "window"));
GtkWidget *iso_button = GTK_WIDGET(gtk_builder_get_object(builder, "iso-controls-button"));
GtkWidget *shutter_button = GTK_WIDGET(gtk_builder_get_object(builder, "shutter-controls-button"));
GtkWidget *flash_button = GTK_WIDGET(gtk_builder_get_object(builder, "flash-controls-button"));
flash_button = GTK_WIDGET(gtk_builder_get_object(builder, "flash-controls-button"));
GtkWidget *setting_dng_button = GTK_WIDGET(gtk_builder_get_object(builder, "setting-raw"));
preview = GTK_WIDGET(gtk_builder_get_object(builder, "preview"));
main_stack = GTK_WIDGET(gtk_builder_get_object(builder, "main_stack"));