Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
preferences.c File Reference
#include <gdk/gdkkeysyms.h>
#include <strings.h>
#include "bauhaus/bauhaus.h"
#include "common/darktable.h"
#include "gui/gdkkeys.h"
#include "common/debug.h"
#include "common/file_location.h"
#include "common/l10n.h"
#include "common/opencl.h"
#include "common/presets.h"
#include "control/control.h"
#include "develop/imageop.h"
#include "gui/draw.h"
#include "gui/gtk.h"
#include "gui/preferences.h"
#include "gui/presets.h"
#include "libs/lib.h"
#include "preferences_gen.h"
+ Include dependency graph for preferences.c:

Go to the source code of this file.

Data Structures

struct  dt_gui_themetweak_widgets_t
 

Macros

#define ICON_SIZE   13
 

Typedefs

typedef struct dt_gui_themetweak_widgets_t dt_gui_themetweak_widgets_t
 

Enumerations

enum  {
  P_ROWID_COLUMN ,
  P_OPERATION_COLUMN ,
  P_MODULE_COLUMN ,
  P_EDITABLE_COLUMN ,
  P_NAME_COLUMN ,
  P_MODEL_COLUMN ,
  P_MAKER_COLUMN ,
  P_LENS_COLUMN ,
  P_ISO_COLUMN ,
  P_EXPOSURE_COLUMN ,
  P_APERTURE_COLUMN ,
  P_FOCAL_LENGTH_COLUMN ,
  P_AUTOAPPLY_COLUMN ,
  P_N_COLUMNS
}
 

Functions

static void _opencl_device_enabled_callback (GtkToggleButton *button, gpointer user_data)
 
static void _opencl_device_pinned_memory_callback (GtkToggleButton *button, gpointer user_data)
 
static void _opencl_device_headroom_callback (GtkSpinButton *button, gpointer user_data)
 
static void init_tab_presets (GtkWidget *stack)
 
static gint compare_rows_presets (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer data)
 
static void import_preset (GtkButton *button, gpointer data)
 
static void export_preset (GtkButton *button, gpointer data)
 
static void tree_row_activated_presets (GtkTreeView *tree, GtkTreePath *path, GtkTreeViewColumn *column, gpointer data)
 
static void tree_selection_changed (GtkTreeSelection *selection, gpointer data)
 
static gboolean tree_key_press (GtkWidget *widget, GdkEventKey *event, gpointer data)
 
static gboolean tree_key_press_presets (GtkWidget *widget, GdkEventKey *event, gpointer data)
 
static void edit_preset (GtkTreeView *tree, const gint rowid, const gchar *name, const gchar *module)
 
static void load_themes_dir (const char *basedir)
 
static void load_themes (void)
 
static void reload_ui_last_theme (void)
 
static void theme_callback (GtkWidget *widget, gpointer user_data)
 
static void usercss_callback (GtkWidget *widget, gpointer user_data)
 
static void font_size_changed_callback (GtkWidget *widget, gpointer user_data)
 
static void dpi_scaling_changed_callback (GtkWidget *widget, gpointer user_data)
 
static void use_sys_font_callback (GtkWidget *widget, gpointer user_data)
 
static void save_usercss (GtkTextBuffer *buffer)
 
static void save_usercss_callback (GtkWidget *widget, gpointer user_data)
 
static void usercss_dialog_callback (GtkDialog *dialog, gint response_id, gpointer user_data)
 
static void language_callback (GtkWidget *widget, gpointer user_data)
 
static gboolean reset_language_widget (GtkWidget *label, GdkEventButton *event, GtkWidget *widget)
 
static void init_tab_general (GtkWidget *dialog, GtkWidget *stack, dt_gui_themetweak_widgets_t *tw)
 
static void _resize_dialog (GtkWidget *widget)
 
void dt_gui_preferences_show ()
 
static void cairo_destroy_from_pixbuf (guchar *pixels, gpointer data)
 
static void tree_insert_presets (GtkTreeStore *tree_model)
 
static gboolean _search_func (GtkTreeModel *model, gint column, const gchar *key, GtkTreeIter *iter, gpointer search_data)
 
static void _import_preset_from_file (const gchar *filename)
 
static void edit_preset_response (dt_gui_presets_edit_dialog_t *g)
 
static void _gui_preferences_bool_callback (GtkWidget *widget, gpointer data)
 
void dt_gui_preferences_bool_reset (GtkWidget *widget)
 
static gboolean _gui_preferences_bool_reset (GtkWidget *label, GdkEventButton *event, GtkWidget *widget)
 
void dt_gui_preferences_bool_update (GtkWidget *widget)
 
GtkWidgetdt_gui_preferences_bool (GtkGrid *grid, const char *key, const guint col, const guint line, const gboolean swap)
 
static void _gui_preferences_int_callback (GtkWidget *widget, gpointer data)
 
void dt_gui_preferences_int_reset (GtkWidget *widget)
 
static gboolean _gui_preferences_int_reset (GtkWidget *label, GdkEventButton *event, GtkWidget *widget)
 
void dt_gui_preferences_int_update (GtkWidget *widget)
 
GtkWidgetdt_gui_preferences_int (GtkGrid *grid, const char *key, const guint col, const guint line)
 
static void _gui_preferences_enum_callback (GtkWidget *widget, gpointer data)
 
void _gui_preferences_enum_set (GtkWidget *widget, const char *str)
 
void dt_gui_preferences_enum_reset (GtkWidget *widget)
 
static gboolean _gui_preferences_enum_reset (GtkWidget *label, GdkEventButton *event, GtkWidget *widget)
 
void dt_gui_preferences_enum_update (GtkWidget *widget)
 
GtkWidgetdt_gui_preferences_enum (GtkGrid *grid, const char *key, const guint col, const guint line)
 
static void _gui_preferences_string_callback (GtkWidget *widget, gpointer data)
 
void dt_gui_preferences_string_reset (GtkWidget *widget)
 
static gboolean _gui_preferences_string_reset (GtkWidget *label, GdkEventButton *event, GtkWidget *widget)
 
void dt_gui_preferences_string_update (GtkWidget *widget)
 
GtkWidgetdt_gui_preferences_string (GtkGrid *grid, const char *key, const guint col, const guint line)
 

Variables

const int dt_gui_presets_exposure_value_cnt
 
const float dt_gui_presets_exposure_value []
 
const char * dt_gui_presets_exposure_value_str []
 
const int dt_gui_presets_aperture_value_cnt
 
const float dt_gui_presets_aperture_value []
 
const char * dt_gui_presets_aperture_value_str []
 
static GtkWidget_preferences_dialog
 

Macro Definition Documentation

◆ ICON_SIZE

#define ICON_SIZE   13

Definition at line 78 of file preferences.c.

Typedef Documentation

◆ dt_gui_themetweak_widgets_t

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
P_ROWID_COLUMN 
P_OPERATION_COLUMN 
P_MODULE_COLUMN 
P_EDITABLE_COLUMN 
P_NAME_COLUMN 
P_MODEL_COLUMN 
P_MAKER_COLUMN 
P_LENS_COLUMN 
P_ISO_COLUMN 
P_EXPOSURE_COLUMN 
P_APERTURE_COLUMN 
P_FOCAL_LENGTH_COLUMN 
P_AUTOAPPLY_COLUMN 
P_N_COLUMNS 

Definition at line 120 of file preferences.c.

Function Documentation

◆ _gui_preferences_bool_callback()

static void _gui_preferences_bool_callback ( GtkWidget widget,
gpointer  data 
)
static

Definition at line 1302 of file preferences.c.

References dt_conf_set_bool().

Referenced by dt_gui_preferences_bool().

◆ _gui_preferences_bool_reset()

static gboolean _gui_preferences_bool_reset ( GtkWidget label,
GdkEventButton *  event,
GtkWidget widget 
)
static

Definition at line 1315 of file preferences.c.

References dt_gui_preferences_bool_reset(), FALSE, and TRUE.

Referenced by dt_gui_preferences_bool().

◆ _gui_preferences_enum_callback()

static void _gui_preferences_enum_callback ( GtkWidget widget,
gpointer  data 
)
static

Definition at line 1402 of file preferences.c.

References dt_conf_set_string(), and dt_free.

Referenced by dt_gui_preferences_enum().

◆ _gui_preferences_enum_reset()

static gboolean _gui_preferences_enum_reset ( GtkWidget label,
GdkEventButton *  event,
GtkWidget widget 
)
static

Definition at line 1447 of file preferences.c.

References dt_gui_preferences_enum_reset(), FALSE, and TRUE.

Referenced by dt_gui_preferences_enum().

◆ _gui_preferences_enum_set()

void _gui_preferences_enum_set ( GtkWidget widget,
const char *  str 
)

Definition at line 1414 of file preferences.c.

References dt_free, FALSE, i, model, TRUE, and value.

Referenced by dt_gui_preferences_enum_reset(), and dt_gui_preferences_enum_update().

◆ _gui_preferences_int_callback()

static void _gui_preferences_int_callback ( GtkWidget widget,
gpointer  data 
)
static

Definition at line 1350 of file preferences.c.

References dt_conf_set_int().

Referenced by dt_gui_preferences_int().

◆ _gui_preferences_int_reset()

static gboolean _gui_preferences_int_reset ( GtkWidget label,
GdkEventButton *  event,
GtkWidget widget 
)
static

Definition at line 1363 of file preferences.c.

References dt_gui_preferences_int_reset(), FALSE, and TRUE.

Referenced by dt_gui_preferences_int().

◆ _gui_preferences_string_callback()

static void _gui_preferences_string_callback ( GtkWidget widget,
gpointer  data 
)
static

Definition at line 1516 of file preferences.c.

References dt_conf_set_string().

Referenced by dt_gui_preferences_string().

◆ _gui_preferences_string_reset()

static gboolean _gui_preferences_string_reset ( GtkWidget label,
GdkEventButton *  event,
GtkWidget widget 
)
static

Definition at line 1530 of file preferences.c.

References dt_gui_preferences_string_reset(), FALSE, and TRUE.

Referenced by dt_gui_preferences_string().

◆ _import_preset_from_file()

static void _import_preset_from_file ( const gchar *  filename)
static

Definition at line 1169 of file preferences.c.

References dt_control_log(), and dt_presets_import_from_file().

Referenced by import_preset().

◆ _opencl_device_enabled_callback()

static void _opencl_device_enabled_callback ( GtkToggleButton *  button,
gpointer  user_data 
)
static

Definition at line 94 of file preferences.c.

References dt_opencl_set_detected_device_enabled(), and TRUE.

Referenced by dt_gui_preferences_show().

◆ _opencl_device_headroom_callback()

static void _opencl_device_headroom_callback ( GtkSpinButton *  button,
gpointer  user_data 
)
static

Definition at line 110 of file preferences.c.

References dt_opencl_set_detected_device_headroom(), and TRUE.

Referenced by dt_gui_preferences_show().

◆ _opencl_device_pinned_memory_callback()

static void _opencl_device_pinned_memory_callback ( GtkToggleButton *  button,
gpointer  user_data 
)
static

Definition at line 102 of file preferences.c.

References dt_opencl_set_detected_device_pinned_memory(), and TRUE.

Referenced by dt_gui_preferences_show().

◆ _resize_dialog()

static void _resize_dialog ( GtkWidget widget)
static

Definition at line 534 of file preferences.c.

References dt_conf_set_int().

Referenced by dt_gui_preferences_show().

◆ _search_func()

static gboolean _search_func ( GtkTreeModel *  model,
gint  column,
const gchar *  key,
GtkTreeIter *  iter,
gpointer  search_data 
)
static

Definition at line 907 of file preferences.c.

References _search_func(), dt_free, FALSE, key, model, P_MODULE_COLUMN, P_NAME_COLUMN, and TRUE.

Referenced by _search_func(), and init_tab_presets().

◆ cairo_destroy_from_pixbuf()

static void cairo_destroy_from_pixbuf ( guchar *  pixels,
gpointer  data 
)
static

Definition at line 749 of file preferences.c.

Referenced by tree_insert_presets().

◆ compare_rows_presets()

static gint compare_rows_presets ( GtkTreeModel *  model,
GtkTreeIter *  a,
GtkTreeIter *  b,
gpointer  data 
)
static

Definition at line 1264 of file preferences.c.

References dt_free, model, P_MODULE_COLUMN, and P_NAME_COLUMN.

Referenced by init_tab_presets().

◆ dpi_scaling_changed_callback()

static void dpi_scaling_changed_callback ( GtkWidget widget,
gpointer  user_data 
)
static

◆ dt_gui_preferences_bool()

GtkWidget * dt_gui_preferences_bool ( GtkGrid *  grid,
const char *  key,
const guint  col,
const guint  line,
const gboolean  swap 
)

◆ dt_gui_preferences_bool_reset()

void dt_gui_preferences_bool_reset ( GtkWidget widget)

Definition at line 1307 of file preferences.c.

References dt_confgen_get_bool(), DT_DEFAULT, and key.

Referenced by _gui_preferences_bool_reset(), and gui_reset().

◆ dt_gui_preferences_bool_update()

void dt_gui_preferences_bool_update ( GtkWidget widget)

Definition at line 1325 of file preferences.c.

References dt_conf_get_bool(), and key.

◆ dt_gui_preferences_enum()

GtkWidget * dt_gui_preferences_enum ( GtkGrid *  grid,
const char *  key,
const guint  col,
const guint  line 
)

◆ dt_gui_preferences_enum_reset()

void dt_gui_preferences_enum_reset ( GtkWidget widget)

Definition at line 1439 of file preferences.c.

References _gui_preferences_enum_set(), dt_confgen_get(), DT_DEFAULT, and key.

Referenced by _gui_preferences_enum_reset(), and gui_reset().

◆ dt_gui_preferences_enum_update()

void dt_gui_preferences_enum_update ( GtkWidget widget)

update enum widget to the current preference value.

Definition at line 1457 of file preferences.c.

References _gui_preferences_enum_set(), dt_conf_get_string(), dt_free, and key.

Referenced by _thumbnail_change_accel().

◆ dt_gui_preferences_int()

GtkWidget * dt_gui_preferences_int ( GtkGrid *  grid,
const char *  key,
const guint  col,
const guint  line 
)

◆ dt_gui_preferences_int_reset()

void dt_gui_preferences_int_reset ( GtkWidget widget)

Definition at line 1355 of file preferences.c.

References dt_confgen_get_int(), DT_DEFAULT, and key.

Referenced by _gui_preferences_int_reset(), and gui_reset().

◆ dt_gui_preferences_int_update()

void dt_gui_preferences_int_update ( GtkWidget widget)

Definition at line 1373 of file preferences.c.

References dt_conf_get_int(), and key.

◆ dt_gui_preferences_show()

◆ dt_gui_preferences_string()

GtkWidget * dt_gui_preferences_string ( GtkGrid *  grid,
const char *  key,
const guint  col,
const guint  line 
)

◆ dt_gui_preferences_string_reset()

void dt_gui_preferences_string_reset ( GtkWidget widget)

Definition at line 1522 of file preferences.c.

References dt_confgen_get(), DT_DEFAULT, and key.

Referenced by _gui_preferences_string_reset().

◆ dt_gui_preferences_string_update()

void dt_gui_preferences_string_update ( GtkWidget widget)

Definition at line 1540 of file preferences.c.

References dt_conf_get_string_const(), and key.

◆ edit_preset()

static void edit_preset ( GtkTreeView *  tree,
const gint  rowid,
const gchar *  name,
const gchar *  module 
)
static

◆ edit_preset_response()

static void edit_preset_response ( dt_gui_presets_edit_dialog_t g)
static

Definition at line 1288 of file preferences.c.

References g, and tree_insert_presets().

Referenced by edit_preset().

◆ export_preset()

◆ font_size_changed_callback()

static void font_size_changed_callback ( GtkWidget widget,
gpointer  user_data 
)
static

Definition at line 211 of file preferences.c.

References dt_conf_set_float(), and reload_ui_last_theme().

Referenced by init_tab_general().

◆ import_preset()

static void import_preset ( GtkButton *  button,
gpointer  data 
)
static

◆ init_tab_general()

◆ init_tab_presets()

◆ language_callback()

static void language_callback ( GtkWidget widget,
gpointer  user_data 
)
static

◆ load_themes()

static void load_themes ( void  )
static

◆ load_themes_dir()

static void load_themes_dir ( const char *  basedir)
static

Definition at line 156 of file preferences.c.

References darktable, DT_DEBUG_DEV, dt_free, dt_print(), and darktable_t::themes.

Referenced by load_themes().

◆ reload_ui_last_theme()

◆ reset_language_widget()

static gboolean reset_language_widget ( GtkWidget label,
GdkEventButton *  event,
GtkWidget widget 
)
static

Definition at line 307 of file preferences.c.

References darktable, FALSE, darktable_t::l10n, dt_l10n_t::sys_default, and TRUE.

Referenced by init_tab_general().

◆ save_usercss()

static void save_usercss ( GtkTextBuffer *  buffer)
static

◆ save_usercss_callback()

static void save_usercss_callback ( GtkWidget widget,
gpointer  user_data 
)
static

◆ theme_callback()

static void theme_callback ( GtkWidget widget,
gpointer  user_data 
)
static

◆ tree_insert_presets()

◆ tree_key_press()

static gboolean tree_key_press ( GtkWidget widget,
GdkEventKey *  event,
gpointer  data 
)
static

◆ tree_key_press_presets()

◆ tree_row_activated_presets()

static void tree_row_activated_presets ( GtkTreeView *  tree,
GtkTreePath *  path,
GtkTreeViewColumn *  column,
gpointer  data 
)
static
Todo:
: remember which sections were collapsed/expanded and where the view was scrolled to and restore that

Definition at line 1069 of file preferences.c.

References dt_free, edit_preset(), FALSE, IS_NULL_PTR, model, name, P_EDITABLE_COLUMN, P_NAME_COLUMN, P_OPERATION_COLUMN, and P_ROWID_COLUMN.

Referenced by init_tab_presets().

◆ tree_selection_changed()

static void tree_selection_changed ( GtkTreeSelection *  selection,
gpointer  data 
)
static

◆ use_sys_font_callback()

static void use_sys_font_callback ( GtkWidget widget,
gpointer  user_data 
)
static

Definition at line 227 of file preferences.c.

References dt_conf_get_bool(), dt_conf_set_bool(), reload_ui_last_theme(), and TRUE.

Referenced by init_tab_general().

◆ usercss_callback()

static void usercss_callback ( GtkWidget widget,
gpointer  user_data 
)
static

Definition at line 205 of file preferences.c.

References dt_conf_set_bool(), and reload_ui_last_theme().

Referenced by init_tab_general().

◆ usercss_dialog_callback()

static void usercss_dialog_callback ( GtkDialog *  dialog,
gint  response_id,
gpointer  user_data 
)
static

Definition at line 280 of file preferences.c.

References dt_gui_themetweak_widgets_t::css_text_view, and save_usercss().

Referenced by init_tab_general().

Variable Documentation

◆ _preferences_dialog

GtkWidget* _preferences_dialog
static

Definition at line 152 of file preferences.c.

Referenced by dt_gui_preferences_show(), edit_preset(), and tree_key_press_presets().

◆ dt_gui_presets_aperture_value

const float dt_gui_presets_aperture_value[]
extern

◆ dt_gui_presets_aperture_value_cnt

const int dt_gui_presets_aperture_value_cnt
extern

Definition at line 87 of file gui/presets.c.

Referenced by _presets_show_edit_dialog(), and tree_insert_presets().

◆ dt_gui_presets_aperture_value_str

const char* dt_gui_presets_aperture_value_str[]
extern

Definition at line 90 of file gui/presets.c.

Referenced by _presets_show_edit_dialog(), and tree_insert_presets().

◆ dt_gui_presets_exposure_value

const float dt_gui_presets_exposure_value[]
extern

◆ dt_gui_presets_exposure_value_cnt

const int dt_gui_presets_exposure_value_cnt
extern

Definition at line 78 of file gui/presets.c.

Referenced by _presets_show_edit_dialog(), and tree_insert_presets().

◆ dt_gui_presets_exposure_value_str

const char* dt_gui_presets_exposure_value_str[]
extern

Definition at line 83 of file gui/presets.c.

Referenced by _presets_show_edit_dialog(), and tree_insert_presets().