Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
application.h File Reference
#include "system/dtpthread.h"
#include "common/paths.h"
#include "gui/window_manager.h"
#include "widgets/accelerators.h"
#include <gtk/gtk.h>
#include <stdint.h>
+ Include dependency graph for application.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  dt_gui_widgets_t
 
struct  dt_gui_gtk_t
 

Macros

#define dt_accels_new_global_action(a, b, c, d, e, f, g)   dt_accels_new_action_shortcut(dt_gui_get_global()->accels, a, b, dt_gui_get_global()->accels->global_accels, c, d, e, f, FALSE, g)
 get width of right, left, or bottom panel
 
#define dt_accels_new_lighttable_action(a, b, c, d, e, f, g)   dt_accels_new_action_shortcut(dt_gui_get_global()->accels, a, b, dt_gui_get_global()->accels->lighttable_accels, c, d, e, f, FALSE, g)
 
#define dt_accels_new_map_action(a, b, c, d, e, f, g)   dt_accels_new_action_shortcut(dt_gui_get_global()->accels, a, b, dt_gui_get_global()->accels->map_accels, c, d, e, f, FALSE, g)
 
#define dt_accels_new_print_action(a, b, c, d, e, f, g)   dt_accels_new_action_shortcut(dt_gui_get_global()->accels, a, b, dt_gui_get_global()->accels->print_accels, c, d, e, f, FALSE, g)
 
#define dt_accels_new_slideshow_action(a, b, c, d, e, f, g)   dt_accels_new_action_shortcut(dt_gui_get_global()->accels, a, b, dt_gui_get_global()->accels->slideshow_accels, c, d, e, f, FALSE, g)
 
#define dt_accels_new_darkroom_locked_action(a, b, c, d, e, f, g)   dt_accels_new_action_shortcut(dt_gui_get_global()->accels, a, b, dt_gui_get_global()->accels->darkroom_accels, c, d, e, f, TRUE, g)
 

Typedefs

typedef struct dt_gui_widgets_t dt_gui_widgets_t
 
typedef struct dt_gui_gtk_t dt_gui_gtk_t
 

Functions

struct dt_gui_gtk_tdt_gui_get_global (void)
 
struct dt_ui_tdt_gui_get_ui (void)
 
struct dt_accels_tdt_gui_get_accels (void)
 
GtkWidgetdt_gui_main_window (void)
 
GListdt_gui_get_themes (void)
 
void dt_gui_set_themes (GList *themes)
 
GtkWidgetdt_gui_center_widget (void)
 
int dt_gui_gtk_init (dt_gui_gtk_t *gui)
 
void dt_gui_gtk_run (dt_gui_gtk_t *gui)
 
void dt_gui_gtk_quit ()
 
void dt_gui_store_last_preset (const char *name)
 
int dt_gui_gtk_write_config ()
 
void dt_ui_container_focus_widget (dt_ui_t *ui, const dt_ui_container_t c, GtkWidget *w)
 gives a widget focus in the container
 
void dt_ui_container_foreach (dt_ui_t *ui, const dt_ui_container_t c, GtkCallback callback)
 calls a callback on all children widgets from container
 
void dt_ui_container_destroy_children (dt_ui_t *ui, const dt_ui_container_t c)
 destroy all child widgets from container
 
void dt_ui_panel_show (dt_ui_t *ui, const dt_ui_panel_t, gboolean show, gboolean write)
 shows/hide a panel
 
void dt_ui_toggle_panels_visibility (dt_ui_t *ui)
 toggle view of panels eg. collapse/expands to previous view state
 
void dt_ui_notify_user ()
 draw user's attention
 
gboolean dt_ui_panel_visible (dt_ui_t *ui, const dt_ui_panel_t)
 get visible state of panel
 
void dt_gui_add_help_link (GtkWidget *widget, char *link)
 
void dt_gui_load_theme (const char *theme)
 
void dt_configure_ppd_dpi (dt_gui_gtk_t *gui)
 
void dt_gui_update_em (void)
 
void dt_gui_set_pango_resolution (PangoLayout *layout)
 
void dt_gui_refocus_center ()
 

Macro Definition Documentation

◆ dt_accels_new_darkroom_locked_action

#define dt_accels_new_darkroom_locked_action (   a,
  b,
  c,
  d,
  e,
  f,
  g 
)    dt_accels_new_action_shortcut(dt_gui_get_global()->accels, a, b, dt_gui_get_global()->accels->darkroom_accels, c, d, e, f, TRUE, g)

Definition at line 288 of file application.h.

◆ dt_accels_new_global_action

#define dt_accels_new_global_action (   a,
  b,
  c,
  d,
  e,
  f,
  g 
)    dt_accels_new_action_shortcut(dt_gui_get_global()->accels, a, b, dt_gui_get_global()->accels->global_accels, c, d, e, f, FALSE, g)

get width of right, left, or bottom panel

is the panel ancestor of widget

get the center drawable widget

get the main window widget

get the log message widget

get the toast message widget

Definition at line 276 of file application.h.

◆ dt_accels_new_lighttable_action

#define dt_accels_new_lighttable_action (   a,
  b,
  c,
  d,
  e,
  f,
  g 
)    dt_accels_new_action_shortcut(dt_gui_get_global()->accels, a, b, dt_gui_get_global()->accels->lighttable_accels, c, d, e, f, FALSE, g)

Definition at line 280 of file application.h.

◆ dt_accels_new_map_action

#define dt_accels_new_map_action (   a,
  b,
  c,
  d,
  e,
  f,
  g 
)    dt_accels_new_action_shortcut(dt_gui_get_global()->accels, a, b, dt_gui_get_global()->accels->map_accels, c, d, e, f, FALSE, g)

Definition at line 282 of file application.h.

◆ dt_accels_new_print_action

#define dt_accels_new_print_action (   a,
  b,
  c,
  d,
  e,
  f,
  g 
)    dt_accels_new_action_shortcut(dt_gui_get_global()->accels, a, b, dt_gui_get_global()->accels->print_accels, c, d, e, f, FALSE, g)

Definition at line 284 of file application.h.

◆ dt_accels_new_slideshow_action

#define dt_accels_new_slideshow_action (   a,
  b,
  c,
  d,
  e,
  f,
  g 
)    dt_accels_new_action_shortcut(dt_gui_get_global()->accels, a, b, dt_gui_get_global()->accels->slideshow_accels, c, d, e, f, FALSE, g)

Definition at line 286 of file application.h.

Typedef Documentation

◆ dt_gui_gtk_t

◆ dt_gui_widgets_t

Function Documentation

◆ dt_configure_ppd_dpi()

◆ dt_gui_add_help_link()

◆ dt_gui_center_widget()

◆ dt_gui_get_accels()

◆ dt_gui_get_global()

struct dt_gui_gtk_t * dt_gui_get_global ( void  )

Definition at line 523 of file darktable.c.

References darktable, and darktable_t::gui.

Referenced by _accels_top_offset(), _blendif_options_callback(), _brush_profile_draw(), _build_preview_fallback_surface(), _cache_wait_cursor_progress(), _cache_wait_cursor_restore(), _close_export_popup(), _close_styles_popup(), _color_picker_draw(), _color_picker_hit_margin(), _culling_mode(), _darkroom_edge_pan_apply(), _darkroom_edge_pan_enable_check(), _darkroom_edge_pan_tick(), _darkroom_edge_pan_update_state(), _dev_translate_roi(), _draw_callback(), _draw_preview_fallback(), _dt_collection_changed_callback(), _dt_ctl_switch_mode_prepare(), _dt_dev_history_compress_internal(), _ensure_cursor_stamp_surface(), _gui_presets_popup_menu_show_internal(), _history_apply_history_end(), _hm_ask_user_constraints_choice(), _hm_show_merge_report_popup(), _hm_show_toposort_cycle_popup(), _hm_warn_missing_raster_producers(), _init_module_so(), _iop_gui_widget_gone(), _ioporder_node_show_presets(), _layer_selected(), _lib_module_expander_gone(), _lib_plugin_header_button_press(), _metadata_view_get_thumb_info(), _modulegroups_drag_begin(), _open_uri(), _presets_popup_callback(), _preview_bg_toggled(), _prompt_layer_name_dialog(), _render_surface(), _reset_edge_pan(), _show_drawlayer_modal_message(), _show_drawlayer_wait_dialog(), _styles_open_popup_callback(), _sync_params_from_gui(), _thumbtable_clone_lut(), _ui_panel_size_changed(), _update_iop_visibility(), _view_image_get_surface_internal(), _view_map_images_count(), _widget_changed(), cleanup(), dpi_scaling_changed_callback(), dt_collection_memory_update(), dt_control_expose(), dt_control_mouse_is_dragging(), dt_control_mouse_is_painting(), dt_dev_convert_roi(), dt_dev_coordinates_image_norm_to_widget(), dt_dev_coordinates_widget_delta_to_image_delta(), dt_dev_coordinates_widget_to_image_norm(), dt_dev_get_fit_scale(), dt_dev_get_image_box_in_widget(), dt_dev_get_widget_zoom_scale(), dt_dev_history_truncate(), dt_dev_pop_history_items(), dt_dev_reload_history_items(), dt_dev_render_locked_surface(), dt_dev_rescale_roi_to_input(), dt_focus_draw_clusters(), dt_gui_center_widget(), dt_gui_get_accels(), dt_gui_get_ui(), dt_gui_main_window(), dt_gui_merge_options_dialog(), dt_imageio_load_module_format(), dt_imageio_load_module_storage(), dt_imageio_load_modules_format(), dt_iop_gui_cleanup_module(), dt_iop_gui_duplicate(), dt_iop_request_focus(), dt_lib_gui_set_expanded(), dt_lib_init_module(), dt_lib_presets_popup_menu_show(), dt_lib_unload_module(), dt_masks_get_lock_mode(), dt_masks_gui_confirm_delete_form_dialog(), dt_masks_gui_confirm_permanent_delete(), dt_masks_set_lock_mode(), dt_view_manager_switch_by_view(), export_files_callback(), init(), main(), mouse_leave(), mouse_moved(), preload_auto_callback(), and presets_popup_callback().

◆ dt_gui_get_themes()

GList * dt_gui_get_themes ( void  )

The list of available GTK theme names (gchar*), rebuilt by the preferences dialog, read by gtk.c for padding decisions. dt_gui_set_themes() TAKES OWNERSHIP and frees the previous list.

Definition at line 558 of file darktable.c.

References darktable, and darktable_t::themes.

Referenced by init_tab_general(), and theme_callback().

◆ dt_gui_get_ui()

struct dt_ui_t * dt_gui_get_ui ( void  )

Definition at line 153 of file application.c.

References dt_gui_get_global(), and dt_gui_gtk_t::ui.

Referenced by _accels_top_offset(), _cache_wait_cursor_progress(), _cache_wait_cursor_restore(), _control_apply_cursor(), _culling_mode(), _dt_collection_changed_callback(), _ensure_page_widgets(), _film_strip_activated(), _focus_checked(), _focus_next_module(), _focus_previous_module(), _focus_toggle_callback(), _gui_refresh_thumbnail(), _gui_set_single_expanded(), _jpg_combobox_changed(), _metadata_view_get_thumb_info(), _open_accel_search_callback(), _open_uri(), _preview_pipe_finished(), _prompt_layer_name_dialog(), _set_columns(), _show_drawlayer_modal_message(), _show_drawlayer_wait_dialog(), _thumbtable_clone_lut(), _toggle_side_borders_accel_callback(), _view_map_button_press_callback(), _view_map_filmstrip_activate_callback(), _view_map_selection_changed(), _widget_natural_width(), _zoom_checked(), _zoom_combobox_changed(), always_hide_overlays_callback(), always_show_overlays_callback(), clear_image_cache(), configure(), dt_control_hinter_message(), dt_iop_gui_set_expander(), dt_masks_gui_confirm_delete_form_dialog(), dt_masks_gui_confirm_permanent_delete(), dt_thumbtable_key_pressed_grid(), dt_thumbtable_key_released_grid(), dt_view_image_info_update(), dt_view_manager_switch_by_view(), enter(), filmstrip_callback(), filmstrip_checked_callback(), focus_peaking_callback(), focus_peaking_checked_callback(), full_screen_callback(), group_borders_callback(), gui_cleanup(), gui_init(), hover_overlays_callback(), invert_selection_callback(), key_pressed(), leave(), panel_left_callback(), panel_left_checked_callback(), panel_right_callback(), panel_right_checked_callback(), panel_top_callback(), panel_top_checked_callback(), preload_auto_callback(), scroll_to_selection_callback(), and select_all_callback().

◆ dt_gui_gtk_init()

int dt_gui_gtk_init ( dt_gui_gtk_t gui)
Todo:
: make that an user param ?

Definition at line 1042 of file application.c.

References _accels_recent_get(), _accels_recent_set(), _accels_top_offset(), _button_pressed(), _button_released(), _center_enter(), _center_leave(), _center_realize(), _center_unrealize(), _configure(), _draw(), _get_axis_name(), _get_mode_name(), _get_source_name(), _gui_refresh_thumbnail(), _gui_startup_progress(), _init_widgets(), _key_pressed(), _mouse_moved(), _notebook_page_changed(), _notify_profile_changed(), _scrolled(), _update_display_profile(), _widget_cursor(), _widget_message(), _widget_natural_width(), _widget_root_window(), _widget_store_bool(), _widget_store_int(), _widget_stored_bool(), _widget_stored_int(), _window_configure(), dt_gui_gtk_t::accels, dt_ui_t::center, dt_gui_gtk_t::center_tooltip, dt_gui_gtk_t::culling_mode, darktable, dt_accels_dispatch(), dt_accels_init(), dt_accels_set_global(), dt_accels_set_recent_handlers(), dt_accels_set_refocus_handler(), dt_accels_set_top_offset_handler(), dt_collection_gui_register_handlers(), dt_colorspaces_set_profile_changed_handler(), dt_concat_path_file(), dt_conf_get_bool(), dt_conf_get_string_const(), dt_control_change_cursor, dt_control_get_global(), DT_DEBUG_INPUT, DT_DEBUG_MASKS, dt_film_gui_register_handlers(), dt_folder_survey_gui_register_handlers(), dt_free, dt_get_debug_flags(), dt_gui_freeze_reset(), dt_gui_load_theme(), dt_gui_presets_init(), dt_gui_refocus_center(), dt_guides_set_overlay_colors(), dt_history_merge_gui_register_handlers(), dt_l10n_get_current_lang(), dt_l10n_get_global(), dt_loc_get_datadir(), dt_loc_get_sharedir(), dt_loc_get_user_config_dir(), dt_print(), dt_pthread_mutex_init(), dt_startup_progress_set_handler(), dt_thumbnail_notify_set_handler(), dt_ui_center(), dt_ui_main_window(), DT_UI_SCALE_DEVICE, dt_widget_scroll_mask(), dt_widget_set_cursor_handler(), dt_widget_set_debug_overlays(), dt_widget_set_gui_thread(), dt_widget_set_message_handler(), dt_widget_set_mouse_radius(), dt_widget_set_natural_width_handler(), dt_widget_set_notebook_page_handler(), dt_widget_set_refocus_handler(), dt_widget_set_root_window_handler(), dt_widget_set_scroll_focus(), dt_widget_set_scroll_mask(), dt_widget_set_scroll_reversed(), dt_widget_set_storage_handlers(), dt_gui_gtk_t::export_popup, FALSE, flags, dt_gui_gtk_t::gtkrc, darktable_t::gui, i, IS_NULL_PTR, L, dt_gui_gtk_t::last_preset, dt_gui_gtk_t::mutex, PATH_MAX, dt_gui_gtk_t::presets_popup_menu, dt_gui_gtk_t::styles_popup, dt_gui_gtk_t::surface, TRUE, dt_gui_gtk_t::ui, and dt_gui_gtk_t::window.

Referenced by dt_init().

◆ dt_gui_gtk_quit()

◆ dt_gui_gtk_run()

◆ dt_gui_gtk_write_config()

◆ dt_gui_load_theme()

void dt_gui_load_theme ( const char *  theme)

Definition at line 1759 of file application.c.

References darktable, dt_conf_get_bool(), dt_conf_get_float(), dt_conf_key_exists(), dt_conf_set_bool(), dt_conf_set_string(), dt_free, DT_GUI_COLOR_BG, DT_GUI_COLOR_BRUSH_CURSOR, DT_GUI_COLOR_BRUSH_TRACE, DT_GUI_COLOR_BUTTON_FG, DT_GUI_COLOR_DARKROOM_BG, DT_GUI_COLOR_DARKROOM_PREVIEW_BG, DT_GUI_COLOR_FILMSTRIP_BG, DT_GUI_COLOR_LAST, DT_GUI_COLOR_LIGHTTABLE_BG, DT_GUI_COLOR_LIGHTTABLE_FONT, DT_GUI_COLOR_LIGHTTABLE_PREVIEW_BG, DT_GUI_COLOR_LOG_BG, DT_GUI_COLOR_LOG_FG, DT_GUI_COLOR_MAP_COUNT_BG, DT_GUI_COLOR_MAP_COUNT_DIFF_LOC, DT_GUI_COLOR_MAP_COUNT_SAME_LOC, DT_GUI_COLOR_MAP_LOC_SHAPE_DEF, DT_GUI_COLOR_MAP_LOC_SHAPE_HIGH, DT_GUI_COLOR_MAP_LOC_SHAPE_LOW, DT_GUI_COLOR_PREVIEW_HOVER_BORDER, DT_GUI_COLOR_PRINT_BG, DT_GUI_COLOR_THUMBNAIL_BG, DT_GUI_COLOR_THUMBNAIL_BORDER, DT_GUI_COLOR_THUMBNAIL_FONT, DT_GUI_COLOR_THUMBNAIL_HOVER_BG, DT_GUI_COLOR_THUMBNAIL_HOVER_FONT, DT_GUI_COLOR_THUMBNAIL_HOVER_OUTLINE, DT_GUI_COLOR_THUMBNAIL_OUTLINE, DT_GUI_COLOR_THUMBNAIL_SELECTED_BG, DT_GUI_COLOR_THUMBNAIL_SELECTED_BORDER, DT_GUI_COLOR_THUMBNAIL_SELECTED_FONT, DT_GUI_COLOR_THUMBNAIL_SELECTED_OUTLINE, DT_GUI_COLOR_WARNING, dt_gui_update_em(), dt_loc_get_datadir(), dt_loc_get_user_config_dir(), dt_ui_main_window(), dt_util_str_replace(), dt_widget_colors(), dt_widget_set_theme_loaded(), error(), darktable_t::gui, i, init(), IS_NULL_PTR, L, name, PATH_MAX, TRUE, and dt_gui_gtk_t::ui.

Referenced by dt_gui_gtk_init(), reload_ui_last_theme(), and theme_callback().

◆ dt_gui_main_window()

GtkWidget * dt_gui_main_window ( void  )

Definition at line 163 of file application.c.

References dt_gui_get_global(), and dt_ui_main_window().

Referenced by _act_folders_relocate(), _active_modules_popup(), _apply_rename_path(), _ask_and_delete(), _ask_before_delete_style(), _ask_text(), _choose_gpx_callback(), _confirm(), _confirm_delete_layer(), _confirm_pending_import(), _control_apply_cursor(), _datetime_key_pressed(), _delete_tagids(), _dt_delete_dialog_main_thread(), _edit_preset(), _enter_key_pressed(), _export_button_clicked(), _export_button_clicked(), _gui_styles_dialog_run(), _gui_styles_edit_style_response(), _gui_styles_new_style_response(), _hm_ask_user_constraints_choice(), _hm_show_merge_report_popup(), _hm_show_toposort_cycle_popup(), _hm_warn_missing_raster_producers(), _import_button_clicked(), _import_discarded_files_popup(), _ioporder_add_preset(), _ioporder_init_popup(), _ioporder_rebuild_graph(), _key_pressed(), _lib_tagging_tag_key_press(), _lib_tagging_tag_show_accel(), _main_do_event_help(), _menuitem_delete_preset(), _menuitem_preferences(), _menuitem_update_preset(), _open_uri(), _panel_handle_resize(), _pop_menu_dictionary_change_path(), _pop_menu_dictionary_create_tag(), _pop_menu_dictionary_delete_node(), _pop_menu_dictionary_edit_tag(), _preview_gpx_file(), _prompt_layer_name_dialog(), _save_clut_callback(), _save_layer_clicked(), _scope_resize_handle_resize(), _show_drawlayer_modal_message(), _show_drawlayer_wait_dialog(), _styles_open_popup_callback(), _switch_preview_cursor(), _timezone_key_pressed(), _timezone_save(), _widget_root_window(), button_clicked(), button_clicked(), button_clicked(), delete_history_callback(), dt_control_copy_images(), dt_control_crawler_show_image_list(), dt_control_delete_image(), dt_control_delete_images(), dt_control_move_images(), dt_control_remove_images(), dt_folder_survey_propose_resume(), dt_gui_hist_dialog_new(), dt_gui_merge_options_dialog(), dt_gui_preferences_show(), dt_gui_supervisor_window_show(), dt_lib_export_metadata_configuration_dialog(), dt_masks_gui_confirm_delete_form_dialog(), dt_masks_gui_confirm_permanent_delete(), dt_preview_window_spawn(), dt_view_manager_button_pressed(), dt_view_manager_switch_by_view(), edit_preset(), enter(), export_clicked(), export_files_callback(), export_image_list_callback(), full_screen_callback(), full_screen_checked_callback(), get_stamp_params(), global_progress_end(), global_progress_set(), global_progress_start(), gui_init(), gui_init(), import_clicked(), load_xmp_callback(), menuitem_delete_preset(), menuitem_update_preset(), open_chat_callback(), open_doc_callback(), open_forum_callback(), open_search_callback(), search_accels_callback(), shortcuts_callback(), and show_about_dialog().

◆ dt_gui_refocus_center()

◆ dt_gui_set_pango_resolution()

void dt_gui_set_pango_resolution ( PangoLayout layout)

◆ dt_gui_set_themes()

void dt_gui_set_themes ( GList themes)

Definition at line 563 of file darktable.c.

References darktable, dt_free_gpointer(), L, and darktable_t::themes.

Referenced by load_themes().

◆ dt_gui_store_last_preset()

void dt_gui_store_last_preset ( const char *  name)

◆ dt_gui_update_em()

◆ dt_ui_container_destroy_children()

void dt_ui_container_destroy_children ( dt_ui_t ui,
const dt_ui_container_t  c 
)

destroy all child widgets from container

Definition at line 1664 of file application.c.

References dt_ui_t::containers, dt_gui_container_destroy_children(), and L.

Referenced by dt_view_manager_switch_by_view().

◆ dt_ui_container_focus_widget()

void dt_ui_container_focus_widget ( dt_ui_t ui,
const dt_ui_container_t  c,
GtkWidget w 
)

gives a widget focus in the container

Definition at line 1648 of file application.c.

References dt_ui_t::containers, and L.

Referenced by _gui_set_single_expanded().

◆ dt_ui_container_foreach()

void dt_ui_container_foreach ( dt_ui_t ui,
const dt_ui_container_t  c,
GtkCallback  callback 
)

calls a callback on all children widgets from container

Definition at line 1658 of file application.c.

References dt_ui_t::containers, and L.

Referenced by dt_view_manager_switch_by_view().

◆ dt_ui_notify_user()

void dt_ui_notify_user ( )

draw user's attention

Definition at line 1669 of file application.c.

References darktable, dt_ui_main_window(), darktable_t::gui, L, TRUE, and dt_gui_gtk_t::ui.

Referenced by _pathlist_import_run(), dt_control_export_job_run(), and dt_film_import1_run().

◆ dt_ui_panel_show()

◆ dt_ui_panel_visible()

gboolean dt_ui_panel_visible ( dt_ui_t ui,
const dt_ui_panel_t  p 
)

◆ dt_ui_toggle_panels_visibility()

void dt_ui_toggle_panels_visibility ( dt_ui_t ui)

toggle view of panels eg. collapse/expands to previous view state

Definition at line 116 of file display.c.

References dt_conf_get_int(), dt_conf_set_int(), dt_free, dt_ui_restore_panels(), key, panels_get_view_path(), and state.

Referenced by _toggle_side_borders_accel_callback().