Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
application.c File Reference
#include "darktable.h"
#include "metadata/colorlabels.h"
#include "gui/screen_metrics.h"
#include "widgets/widget_settings.h"
#include "widgets/resize_handle.h"
#include "colorprofiles/colorspaces.h"
#include "common/l10n.h"
#include "common/file_location.h"
#include "common/utility.h"
#include "gui/guides.h"
#include "widgets/expander.h"
#include "gui/application.h"
#include "common/thumbnail_notify.h"
#include "gui/common/film_gui.h"
#include "gui/common/folder_survey_gui.h"
#include "gui/develop/history_merge_gui.h"
#include "gui/common/collection_gui.h"
#include "common/startup_progress.h"
#include "gui/dtgtk/thumbtable.h"
#include "gui/splash.h"
#include "common/conf.h"
#include "control/control.h"
#include "control/jobs.h"
#include "control/signal.h"
#include "gui/presets.h"
#include "views/view.h"
#include <gdk/gdkkeysyms.h>
#include <gdk/gdkwin32.h>
#include <gtk/gtk.h>
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "widgets/container.h"
#include "widgets/widget_style.h"
+ Include dependency graph for application.c:

Go to the source code of this file.

Data Structures

struct  dt_tablet_motion_state_t
 
struct  _spacing_ctx_t
 

Macros

#define DT_WIN32_CURSOR_SUBCLASS_CENTER   ((UINT_PTR)0x41534e4e)
 
#define DT_ACCEL_SEARCH_RECENT_KEY   "plugins/accel_search/recent_entries"
 

Typedefs

typedef struct dt_tablet_motion_state_t dt_tablet_motion_state_t
 
typedef struct _spacing_ctx_t _spacing_ctx_t
 

Functions

static void _update_display_profile (void)
 
static void _ui_widget_redraw_callback (gpointer instance, GtkWidget *widget)
 
static void _ui_log_redraw_callback (gpointer instance, GtkWidget *widget)
 
static void _ui_toast_redraw_callback (gpointer instance, GtkWidget *widget)
 
struct dt_ui_tdt_gui_get_ui (void)
 
struct dt_accels_tdt_gui_get_accels (void)
 
GtkWidgetdt_gui_main_window (void)
 
GtkWidgetdt_gui_center_widget (void)
 
static void _init_widgets (dt_gui_gtk_t *gui)
 
static gboolean _configure (GtkWidget *da, GdkEventConfigure *event, gpointer user_data)
 
static gboolean _draw (GtkWidget *da, cairo_t *cr, gpointer user_data)
 
static gboolean _scrolled (GtkWidget *widget, GdkEventScroll *event, gpointer user_data)
 
int dt_gui_gtk_write_config ()
 
void dt_gui_gtk_quit ()
 
gboolean dt_gui_quit_callback (GtkWidget *widget, GdkEvent *event, gpointer user_data)
 
void dt_gui_store_last_preset (const char *name)
 
static gboolean _window_configure (GtkWidget *da, GdkEvent *event, gpointer user_data)
 
static double _clamp01d (const double value)
 
static const gdouble * _event_axes (const GdkEvent *event)
 
static gboolean _get_axis_value_for_source (const GdkEvent *event, GdkDevice *source_device, const GdkAxisUse axis, double *value, gboolean *from_source_map)
 
static gboolean _sample_axis_from_device_state (GdkWindow *window, GdkDevice *device, const GdkAxisUse axis, double *value)
 
static gboolean _sample_tablet_state_from_devices (const GdkEvent *event, double *pressure, gboolean *have_pressure, double *tilt_x, double *tilt_y, gboolean *have_tilt, const char **picked_device_name)
 
static dt_control_pointer_input_t _extract_pointer_input (const GdkEvent *event, const double x, const double y, const guint32 time_ms, const gboolean reset_kinematics, const char *tag)
 
static gboolean _button_pressed (GtkWidget *w, GdkEventButton *event, gpointer user_data)
 
static gboolean _button_released (GtkWidget *w, GdkEventButton *event, gpointer user_data)
 
static gboolean _mouse_moved (GtkWidget *w, GdkEventMotion *event, gpointer user_data)
 
static LRESULT CALLBACK _center_win32_cursor_proc (HWND hwnd, UINT message, WPARAM w_param, LPARAM l_param, UINT_PTR subclass_id, DWORD_PTR ref_data)
 
static void _center_realize (GtkWidget *widget, gpointer user_data)
 
static void _center_unrealize (GtkWidget *widget, gpointer user_data)
 
static gboolean _key_pressed (GtkWidget *w, GdkEventKey *event)
 
static gboolean _center_leave (GtkWidget *widget, GdkEventCrossing *event, gpointer user_data)
 
static gboolean _center_enter (GtkWidget *widget, GdkEventCrossing *event, gpointer user_data)
 
static const char * _get_source_name (int pos)
 
static const char * _get_mode_name (int pos)
 
static const char * _get_axis_name (int pos)
 
static GtkWidget_widget_root_window (void)
 
static gint _widget_natural_width (GtkWidget *widget)
 
static gboolean _widget_stored_int (const char *key, int *value)
 
static void _widget_store_int (const char *key, int value)
 
static gboolean _widget_stored_bool (const char *key)
 
static void _widget_store_bool (const char *key, gboolean value)
 
static void _notify_profile_changed (void)
 
static void _notebook_page_changed (gpointer owner)
 
static void _widget_cursor (GdkCursorType cursor)
 
static void _widget_message (const char *message)
 
static gint _accels_top_offset (void)
 
static gchar * _accels_recent_get (int index)
 
static void _accels_recent_set (int index, const char *value)
 
static void _gui_startup_progress (const char *message)
 
static void _gui_refresh_thumbnail (int32_t imgid, gboolean refresh_filmstrip)
 
int dt_gui_gtk_init (dt_gui_gtk_t *gui)
 
void dt_gui_gtk_run (dt_gui_gtk_t *gui)
 
void dt_configure_ppd_dpi (dt_gui_gtk_t *gui)
 
static void _refresh_container_spacing (GtkWidget *w, gpointer user_data)
 
static void _refresh_all_container_spacing (void)
 
void dt_gui_update_em (void)
 
void dt_gui_set_pango_resolution (PangoLayout *layout)
 
static gboolean _focus_in_out_event (GtkWidget *widget, GdkEvent *event, gpointer user_data)
 
static gboolean _ui_log_button_press_event (GtkWidget *widget, GdkEvent *event, gpointer user_data)
 
static gboolean _ui_toast_button_press_event (GtkWidget *widget, GdkEvent *event, gpointer user_data)
 
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_notify_user ()
 draw user's attention
 
void dt_gui_add_help_link (GtkWidget *widget, char *link)
 
void dt_gui_load_theme (const char *theme)
 
void dt_gui_refocus_center ()
 

Variables

static dt_tablet_motion_state_t _tablet_motion_state = { 0 }
 
static gint _last_box_spacing = 10
 

Macro Definition Documentation

◆ DT_ACCEL_SEARCH_RECENT_KEY

#define DT_ACCEL_SEARCH_RECENT_KEY   "plugins/accel_search/recent_entries"

Definition at line 921 of file application.c.

◆ DT_WIN32_CURSOR_SUBCLASS_CENTER

#define DT_WIN32_CURSOR_SUBCLASS_CENTER   ((UINT_PTR)0x41534e4e)

Definition at line 840 of file application.c.

Typedef Documentation

◆ _spacing_ctx_t

◆ dt_tablet_motion_state_t

Function Documentation

◆ _accels_recent_get()

static gchar * _accels_recent_get ( int  index)
static

◆ _accels_recent_set()

static void _accels_recent_set ( int  index,
const char *  value 
)
static

Definition at line 1009 of file application.c.

References DT_ACCEL_SEARCH_RECENT_KEY, dt_conf_set_string(), dt_free, key, L, and value.

Referenced by dt_gui_gtk_init().

◆ _accels_top_offset()

static gint _accels_top_offset ( void  )
static

Definition at line 993 of file application.c.

References dt_gui_get_global(), dt_gui_get_ui(), DT_UI_PANEL_TOP, IS_NULL_PTR, L, and dt_ui_t::panels.

Referenced by dt_gui_gtk_init().

◆ _button_pressed()

◆ _button_released()

static gboolean _button_released ( GtkWidget w,
GdkEventButton event,
gpointer  user_data 
)
static

◆ _center_enter()

static gboolean _center_enter ( GtkWidget widget,
GdkEventCrossing event,
gpointer  user_data 
)
static

Definition at line 886 of file application.c.

References dt_control_mouse_enter(), and TRUE.

Referenced by dt_gui_gtk_init().

◆ _center_leave()

static gboolean _center_leave ( GtkWidget widget,
GdkEventCrossing event,
gpointer  user_data 
)
static

Definition at line 880 of file application.c.

References dt_control_mouse_leave(), and TRUE.

Referenced by dt_gui_gtk_init().

◆ _center_realize()

static void _center_realize ( GtkWidget widget,
gpointer  user_data 
)
static

Definition at line 856 of file application.c.

References _center_win32_cursor_proc(), DT_WIN32_CURSOR_SUBCLASS_CENTER, IS_NULL_PTR, and L.

Referenced by dt_gui_gtk_init().

◆ _center_unrealize()

static void _center_unrealize ( GtkWidget widget,
gpointer  user_data 
)
static

Definition at line 864 of file application.c.

References _center_win32_cursor_proc(), DT_WIN32_CURSOR_SUBCLASS_CENTER, IS_NULL_PTR, and L.

Referenced by dt_gui_gtk_init().

◆ _center_win32_cursor_proc()

static LRESULT CALLBACK _center_win32_cursor_proc ( HWND  hwnd,
UINT  message,
WPARAM  w_param,
LPARAM  l_param,
UINT_PTR  subclass_id,
DWORD_PTR  ref_data 
)
static

Definition at line 842 of file application.c.

References DT_WIN32_CURSOR_SUBCLASS_CENTER, L, and TRUE.

Referenced by _center_realize(), and _center_unrealize().

◆ _clamp01d()

static double _clamp01d ( const double  value)
inlinestatic

Definition at line 393 of file application.c.

References MAX, MIN, and value.

Referenced by _extract_pointer_input().

◆ _configure()

static gboolean _configure ( GtkWidget da,
GdkEventConfigure event,
gpointer  user_data 
)
static

◆ _draw()

static gboolean _draw ( GtkWidget da,
cairo_t cr,
gpointer  user_data 
)
static

Definition at line 186 of file application.c.

References darktable, dt_control_expose(), darktable_t::gui, L, dt_gui_gtk_t::surface, and TRUE.

Referenced by dt_gui_gtk_init().

◆ _event_axes()

static const gdouble * _event_axes ( const GdkEvent event)
static

Definition at line 398 of file application.c.

References IS_NULL_PTR, and L.

Referenced by _get_axis_value_for_source().

◆ _extract_pointer_input()

◆ _focus_in_out_event()

static gboolean _focus_in_out_event ( GtkWidget widget,
GdkEvent event,
gpointer  user_data 
)
static

Definition at line 1431 of file application.c.

References FALSE, and L.

Referenced by _init_widgets().

◆ _get_axis_name()

static const char * _get_axis_name ( int  pos)
static

Definition at line 909 of file application.c.

References L.

Referenced by dt_gui_gtk_init().

◆ _get_axis_value_for_source()

static gboolean _get_axis_value_for_source ( const GdkEvent event,
GdkDevice source_device,
const GdkAxisUse  axis,
double value,
gboolean *  from_source_map 
)
static

Definition at line 415 of file application.c.

References _event_axes(), FALSE, IS_NULL_PTR, L, TRUE, and value.

Referenced by _extract_pointer_input().

◆ _get_mode_name()

static const char * _get_mode_name ( int  pos)
static

Definition at line 902 of file application.c.

References L.

Referenced by dt_gui_gtk_init().

◆ _get_source_name()

static const char * _get_source_name ( int  pos)
static

Definition at line 892 of file application.c.

References L.

Referenced by dt_gui_gtk_init().

◆ _gui_refresh_thumbnail()

static void _gui_refresh_thumbnail ( int32_t  imgid,
gboolean  refresh_filmstrip 
)
static

◆ _gui_startup_progress()

static void _gui_startup_progress ( const char *  message)
static

Definition at line 1018 of file application.c.

References dt_gui_splash_init(), and dt_gui_splash_updatef().

Referenced by dt_gui_gtk_init().

◆ _init_widgets()

◆ _key_pressed()

static gboolean _key_pressed ( GtkWidget w,
GdkEventKey event 
)
static

◆ _mouse_moved()

◆ _notebook_page_changed()

static void _notebook_page_changed ( gpointer  owner)
static

◆ _notify_profile_changed()

static void _notify_profile_changed ( void  )
static

◆ _refresh_all_container_spacing()

static void _refresh_all_container_spacing ( void  )
static

Definition at line 1380 of file application.c.

References _last_box_spacing, _refresh_container_spacing(), DT_GUI_BOX_SPACING, and L.

Referenced by dt_gui_update_em().

◆ _refresh_container_spacing()

static void _refresh_container_spacing ( GtkWidget w,
gpointer  user_data 
)
static

Definition at line 1350 of file application.c.

References _refresh_container_spacing(), and L.

Referenced by _refresh_all_container_spacing(), and _refresh_container_spacing().

◆ _sample_axis_from_device_state()

static gboolean _sample_axis_from_device_state ( GdkWindow window,
GdkDevice device,
const GdkAxisUse  axis,
double value 
)
static

Definition at line 436 of file application.c.

References FALSE, IS_NULL_PTR, L, value, and window.

Referenced by _extract_pointer_input().

◆ _sample_tablet_state_from_devices()

static gboolean _sample_tablet_state_from_devices ( const GdkEvent event,
double pressure,
gboolean *  have_pressure,
double tilt_x,
double tilt_y,
gboolean *  have_tilt,
const char **  picked_device_name 
)
static

Definition at line 457 of file application.c.

References darktable, dt_ui_center(), FALSE, darktable_t::gui, i, IS_NULL_PTR, L, p, TRUE, dt_gui_gtk_t::ui, and window.

Referenced by _extract_pointer_input().

◆ _scrolled()

static gboolean _scrolled ( GtkWidget widget,
GdkEventScroll event,
gpointer  user_data 
)
static

◆ _ui_log_button_press_event()

static gboolean _ui_log_button_press_event ( GtkWidget widget,
GdkEvent event,
gpointer  user_data 
)
static

Definition at line 1437 of file application.c.

References L, and TRUE.

Referenced by _init_widgets().

◆ _ui_log_redraw_callback()

static void _ui_log_redraw_callback ( gpointer  instance,
GtkWidget widget 
)
static

◆ _ui_toast_button_press_event()

static gboolean _ui_toast_button_press_event ( GtkWidget widget,
GdkEvent event,
gpointer  user_data 
)
static

Definition at line 1443 of file application.c.

References L, and TRUE.

Referenced by _init_widgets().

◆ _ui_toast_redraw_callback()

static void _ui_toast_redraw_callback ( gpointer  instance,
GtkWidget widget 
)
static

◆ _ui_widget_redraw_callback()

static void _ui_widget_redraw_callback ( gpointer  instance,
GtkWidget widget 
)
static

Definition at line 1685 of file application.c.

References L.

Referenced by _init_widgets().

◆ _update_display_profile()

◆ _widget_cursor()

static void _widget_cursor ( GdkCursorType  cursor)
static

Definition at line 983 of file application.c.

References dt_control_change_cursor.

Referenced by dt_gui_gtk_init().

◆ _widget_message()

static void _widget_message ( const char *  message)
static

Definition at line 988 of file application.c.

References dt_toast_log().

Referenced by dt_gui_gtk_init().

◆ _widget_natural_width()

static gint _widget_natural_width ( GtkWidget widget)
static

◆ _widget_root_window()

static GtkWidget * _widget_root_window ( void  )
static

Definition at line 923 of file application.c.

References dt_gui_main_window().

Referenced by dt_gui_gtk_init().

◆ _widget_store_bool()

static void _widget_store_bool ( const char *  key,
gboolean  value 
)
static

Definition at line 958 of file application.c.

References dt_conf_set_bool(), key, and value.

Referenced by dt_gui_gtk_init().

◆ _widget_store_int()

static void _widget_store_int ( const char *  key,
int  value 
)
static

Definition at line 948 of file application.c.

References dt_conf_set_int(), key, and value.

Referenced by dt_gui_gtk_init().

◆ _widget_stored_bool()

static gboolean _widget_stored_bool ( const char *  key)
static

Definition at line 953 of file application.c.

References dt_conf_get_bool(), and key.

Referenced by dt_gui_gtk_init().

◆ _widget_stored_int()

static gboolean _widget_stored_int ( const char *  key,
int *  value 
)
static

Definition at line 941 of file application.c.

References dt_conf_get_int(), dt_conf_key_exists(), FALSE, key, TRUE, and value.

Referenced by dt_gui_gtk_init().

◆ _window_configure()

static gboolean _window_configure ( GtkWidget da,
GdkEvent event,
gpointer  user_data 
)
static

Definition at line 363 of file application.c.

References _update_display_profile(), and FALSE.

Referenced by dt_gui_gtk_init().

◆ dt_configure_ppd_dpi()

◆ dt_gui_add_help_link()

◆ dt_gui_center_widget()

◆ dt_gui_get_accels()

◆ 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_quit_callback()

gboolean dt_gui_quit_callback ( GtkWidget widget,
GdkEvent event,
gpointer  user_data 
)

Definition at line 286 of file application.c.

References dt_control_quit(), and TRUE.

Referenced by _init_widgets().

◆ dt_gui_refocus_center()

◆ dt_gui_set_pango_resolution()

void dt_gui_set_pango_resolution ( PangoLayout layout)

◆ 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().

Variable Documentation

◆ _last_box_spacing

gint _last_box_spacing = 10
static

Definition at line 1343 of file application.c.

Referenced by _refresh_all_container_spacing().

◆ _tablet_motion_state

dt_tablet_motion_state_t _tablet_motion_state = { 0 }
static

Definition at line 391 of file application.c.

Referenced by _extract_pointer_input().