![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "common/debug.h"
#include "common/file_location.h"
#include "common/image_cache.h"
#include "common/collection.h"
#include "common/selection.h"
#include "common/gpx.h"
#include "common/geo.h"
#include "common/datetime.h"
#include "control/conf.h"
#include "dtgtk/button.h"
#include "control/jobs.h"
#include "libs/lib_api.h"
#include <gdk/gdkkeysyms.h>
Data Structures | |
struct | tz_tuple_t |
struct | dt_lib_datetime_t |
struct | dt_lib_geotagging_t |
struct | dt_sel_img_t |
Macros | |
#define | DT_GEOTAG_PARTS_NB 7 |
#define | MAX_LINE_LENGTH 256 |
Typedefs | |
typedef struct tz_tuple_t | tz_tuple_t |
typedef struct dt_lib_datetime_t | dt_lib_datetime_t |
typedef struct dt_lib_geotagging_t | dt_lib_geotagging_t |
typedef struct dt_sel_img_t | dt_sel_img_t |
Functions | |
static void | _datetime_entry_changed (GtkWidget *entry, dt_lib_module_t *self) |
static void | _setup_selected_images_list (dt_lib_module_t *self) |
static void | free_tz_tuple (gpointer data) |
const char * | name (struct dt_lib_module_t *self) |
const char ** | views (dt_lib_module_t *self) |
uint32_t | container (dt_lib_module_t *self) |
int | position () |
static void | _apply_offset_callback (GtkWidget *widget, dt_lib_module_t *self) |
static void | _apply_datetime_callback (GtkWidget *widget, dt_lib_module_t *self) |
static gboolean | _lib_geotagging_filter_gpx (const GtkFileFilterInfo *filter_info, gpointer data) |
static GtkWidget * | _set_up_label (const char *name, const int align, GtkWidget *grid, const int col, const int line, const int ellipsize) |
static gchar * | _utc_timeval_to_localtime_text (GDateTime *utc_dt, GTimeZone *tz_camera, const gboolean full) |
static GDateTime * | _localtime_text_to_utc_timeval (const char *date_time, GTimeZone *tz_camera, GTimeZone *tz_utc, GTimeSpan offset) |
static int | _count_images_per_track (dt_gpx_track_segment_t *t, dt_gpx_track_segment_t *n, dt_lib_module_t *self) |
static void | _preview_gpx_file (GtkWidget *widget, dt_lib_module_t *self) |
static void | _choose_gpx_callback (GtkWidget *widget, dt_lib_module_t *self) |
static int | _sort_timezones (gconstpointer a, gconstpointer b) |
static GList * | _lib_geotagging_get_timezones (void) |
static void | _display_offset (const GTimeSpan offset_int, const gboolean valid, dt_lib_module_t *self) |
static void | _display_datetime (dt_lib_datetime_t *dtw, GDateTime *datetime, const gboolean lock, dt_lib_module_t *self) |
static GDateTime * | _read_datetime_entry (dt_lib_module_t *self) |
static void | _new_datetime (GDateTime *datetime, dt_lib_module_t *self) |
static GDateTime * | _get_image_datetime (dt_lib_module_t *self) |
static void | _refresh_image_datetime (dt_lib_module_t *self) |
static void | _image_info_changed (gpointer instance, gpointer imgs, dt_lib_module_t *self) |
static void | _mouse_over_image_callback (gpointer instance, dt_lib_module_t *self) |
static void | _selection_changed_callback (gpointer instance, dt_lib_module_t *self) |
static gboolean | _datetime_scroll_over (GtkWidget *w, GdkEventScroll *event, dt_lib_module_t *self) |
static GtkWidget * | _gui_init_datetime (dt_lib_datetime_t *dt, const int type, dt_lib_module_t *self) |
static gboolean | _datetime_key_pressed (GtkWidget *entry, GdkEventKey *event, dt_lib_module_t *self) |
static void | _timezone_save (dt_lib_module_t *self) |
static gboolean | _timezone_key_pressed (GtkWidget *entry, GdkEventKey *event, dt_lib_module_t *self) |
static gboolean | _timezone_focus_out (GtkWidget *entry, GdkEventKey *event, dt_lib_module_t *self) |
static gboolean | _completion_match_func (GtkEntryCompletion *completion, const gchar *key, GtkTreeIter *iter, gpointer user_data) |
static void | _toggle_lock_button_callback (GtkToggleButton *button, dt_lib_module_t *self) |
GtkTreeViewColumn * | _new_tree_text_column (const char *name, const gboolean expand, const float xalign, const int m_col, const int ellipsize) |
static void | _show_milliseconds (dt_lib_geotagging_t *d) |
static void | _dt_pref_change_callback (gpointer instance, dt_lib_module_t *self) |
void | gui_init (dt_lib_module_t *self) |
void | gui_cleanup (dt_lib_module_t *self) |
#define DT_GEOTAG_PARTS_NB 7 |
#define MAX_LINE_LENGTH 256 |
typedef struct dt_lib_datetime_t dt_lib_datetime_t |
typedef struct dt_lib_geotagging_t dt_lib_geotagging_t |
typedef struct dt_sel_img_t dt_sel_img_t |
typedef struct tz_tuple_t tz_tuple_t |
|
static |
References dt_lib_module_t::data, dt_lib_geotagging_t::datetime, dt_control_datetime(), dt_datetime_gdatetime_to_exif(), and DT_DATETIME_LENGTH.
Referenced by gui_init().
|
static |
References dt_lib_module_t::data, dt_control_datetime(), and dt_lib_geotagging_t::offset.
Referenced by gui_init().
|
static |
References _lib_geotagging_filter_gpx(), _preview_gpx_file(), _setup_selected_images_list(), darktable, dt_lib_module_t::data, dt_conf_get_bool(), dt_conf_get_folder_to_file_chooser(), dt_conf_get_string(), dt_conf_set_folder_from_file_chooser(), dt_control_gpx_apply(), dt_osx_disallow_fullscreen(), dt_ui_main_window(), darktable_t::gui, dt_lib_geotagging_t::imgs, dt_lib_geotagging_t::nb_imgs, and dt_gui_gtk_t::ui.
Referenced by gui_init().
|
static |
References FALSE, key, and model.
Referenced by gui_init().
|
static |
References _localtime_text_to_utc_timeval(), darktable, dt_lib_module_t::data, dt_sel_img_t::dt, dt_gpx_track_segment_t::end_dt, dt_gpx_track_segment_t::id, dt_lib_geotagging_t::imgs, dt_lib_geotagging_t::offset, dt_sel_img_t::segid, dt_gpx_track_segment_t::start_dt, dt_lib_geotagging_t::tz_camera, and darktable_t::utc_tz.
Referenced by _preview_gpx_file().
|
static |
References _new_datetime(), _read_datetime_entry(), dt_lib_module_t::data, and dt_lib_geotagging_t::editing.
Referenced by _display_datetime(), and gui_init().
|
static |
|
static |
|
static |
References _datetime_entry_changed(), dt_lib_module_t::data, dt_lib_geotagging_t::dt, DT_GEOTAG_PARTS_NB, and dt_lib_datetime_t::widget.
Referenced by _new_datetime(), _refresh_image_datetime(), and gui_init().
|
static |
References dt_lib_geotagging_t::apply_datetime, dt_lib_geotagging_t::apply_offset, dt_lib_module_t::data, dt_conf_get_bool(), DT_GEOTAG_PARTS_NB, dt_lib_geotagging_t::imgid, dt_lib_geotagging_t::lock_offset, dt_lib_geotagging_t::of, dt_lib_datetime_t::sign, and dt_lib_datetime_t::widget.
Referenced by _new_datetime(), _refresh_image_datetime(), and gui_init().
|
static |
References _show_milliseconds(), and dt_lib_module_t::data.
Referenced by gui_init().
|
static |
|
static |
References darktable, dt_accels_disconnect_on_text_input(), DT_GEOTAG_PARTS_NB, FALSE, darktable_t::gui, dt_gui_gtk_t::scroll_mask, dt_lib_datetime_t::sign, TRUE, type, and dt_lib_datetime_t::widget.
Referenced by gui_init().
|
static |
References _refresh_image_datetime(), dt_lib_module_t::data, dt_conf_get_bool(), and dt_lib_geotagging_t::imgid.
Referenced by gui_cleanup(), and gui_init().
|
static |
Referenced by _choose_gpx_callback().
|
static |
References _sort_timezones(), tz_tuple_t::display, dt_loc_get_datadir(), MAX_LINE_LENGTH, name, tz_tuple_t::name, PATH_MAX, and utc.
Referenced by gui_init().
|
static |
References dt_datetime_exif_to_gdatetime().
Referenced by _count_images_per_track().
|
static |
References _refresh_image_datetime().
Referenced by gui_cleanup(), and gui_init().
|
static |
References _display_datetime(), _display_offset(), dt_lib_module_t::data, dt_lib_geotagging_t::datetime, dt_lib_geotagging_t::datetime0, dt_lib_geotagging_t::dt, dt_conf_get_bool(), dt_lib_geotagging_t::offset, and TRUE.
Referenced by _datetime_entry_changed(), _datetime_scroll_over(), and _refresh_image_datetime().
GtkTreeViewColumn * _new_tree_text_column | ( | const char * | name, |
const gboolean | expand, | ||
const float | xalign, | ||
const int | m_col, | ||
const int | ellipsize | ||
) |
Referenced by gui_init().
|
static |
References _count_images_per_track(), _set_up_label(), _utc_timeval_to_localtime_text(), darktable, dt_lib_module_t::data, dt_gpx_destroy(), dt_gpx_get_trkseg(), dt_gpx_new(), dt_osx_disallow_fullscreen(), DT_PIXEL_APPLY_DPI, dt_ui_main_window(), dt_gpx_track_segment_t::end_dt, darktable_t::gui, dt_lib_geotagging_t::imgs, dt_gpx_track_segment_t::name, dt_lib_geotagging_t::nb_imgs, dt_gpx_track_segment_t::nb_trkpt, dt_gpx_t::segid, dt_gpx_track_segment_t::start_dt, TRUE, dt_lib_geotagging_t::tz_camera, and dt_gui_gtk_t::ui.
Referenced by _choose_gpx_callback().
|
static |
References darktable, dt_lib_module_t::data, day, dt_lib_geotagging_t::dt, darktable_t::utc_tz, and dt_lib_datetime_t::widget.
Referenced by _datetime_entry_changed().
|
static |
References _display_datetime(), _display_offset(), _get_image_datetime(), _new_datetime(), dt_lib_module_t::data, dt_lib_geotagging_t::datetime0, dt_lib_geotagging_t::dt0, FALSE, dt_lib_geotagging_t::lock_offset, and dt_lib_geotagging_t::offset.
Referenced by _datetime_key_pressed(), _image_info_changed(), _mouse_over_image_callback(), and _selection_changed_callback().
|
static |
References _refresh_image_datetime(), _setup_selected_images_list(), dt_lib_module_t::data, and dt_conf_get_bool().
Referenced by gui_cleanup(), and gui_init().
|
static |
Referenced by _preview_gpx_file().
|
static |
References darktable, dt_lib_module_t::data, darktable_t::db, dt_sel_img_t::dt, dt_conf_get_bool(), dt_database_get(), dt_datetime_img_to_exif(), DT_DATETIME_LENGTH, DT_DEBUG_SQLITE3_PREPARE_V2, dt_image_cache_get(), dt_image_cache_read_release(), darktable_t::image_cache, dt_sel_img_t::imgid, dt_lib_geotagging_t::imgs, and dt_lib_geotagging_t::nb_imgs.
Referenced by _choose_gpx_callback(), and _selection_changed_callback().
|
static |
References dt_lib_geotagging_t::dt, dt_lib_geotagging_t::dt0, dt_conf_get_bool(), dt_lib_geotagging_t::of, and dt_lib_datetime_t::widget.
Referenced by _dt_pref_change_callback(), and gui_init().
|
static |
References tz_tuple_t::display.
Referenced by _lib_geotagging_get_timezones().
|
static |
References _timezone_save(), and FALSE.
Referenced by gui_init().
|
static |
References _timezone_save(), darktable, dt_lib_module_t::data, dt_ui_main_window(), FALSE, darktable_t::gui, dt_lib_geotagging_t::timezone_changed, TRUE, and dt_gui_gtk_t::ui.
Referenced by gui_init().
|
static |
References darktable, dt_lib_module_t::data, tz_tuple_t::display, dt_conf_get_bool(), dt_conf_set_string(), dt_ui_main_window(), darktable_t::gui, name, tz_tuple_t::name, dt_lib_geotagging_t::timezone, dt_lib_geotagging_t::timezone_changed, dt_lib_geotagging_t::timezones, dt_lib_geotagging_t::tz_camera, and dt_gui_gtk_t::ui.
Referenced by _timezone_focus_out(), and _timezone_key_pressed().
|
static |
References dt_lib_geotagging_t::apply_datetime, dt_lib_module_t::data, dt_lib_geotagging_t::dt, DT_GEOTAG_PARTS_NB, dt_lib_geotagging_t::imgid, and dt_lib_datetime_t::widget.
Referenced by gui_init().
|
static |
Referenced by _preview_gpx_file().
uint32_t container | ( | dt_lib_module_t * | self | ) |
References DT_UI_CONTAINER_PANEL_LEFT_CENTER.
|
static |
References tz_tuple_t::display, and tz_tuple_t::name.
Referenced by gui_cleanup().
void gui_cleanup | ( | dt_lib_module_t * | self | ) |
References _image_info_changed(), _mouse_over_image_callback(), _selection_changed_callback(), _view_changed(), darktable, dt_lib_module_t::data, dt_lib_geotagging_t::datetime, dt_lib_geotagging_t::datetime0, dt_conf_get_bool(), DT_DEBUG_CONTROL_SIGNAL_DISCONNECT, free_tz_tuple(), dt_lib_geotagging_t::imgs, darktable_t::signals, dt_lib_geotagging_t::timezones, and dt_lib_geotagging_t::tz_camera.
void gui_init | ( | dt_lib_module_t * | self | ) |
References _apply_datetime_callback(), _apply_offset_callback(), _choose_gpx_callback(), _completion_match_func(), _datetime_entry_changed(), _datetime_key_pressed(), _datetime_scroll_over(), _display_datetime(), _display_offset(), _dt_pref_change_callback(), _get_image_datetime(), _gui_init_datetime(), _image_info_changed(), _lib_geotagging_get_timezones(), _mouse_over_image_callback(), _new_tree_text_column(), _row_tooltip_setup(), _selection_changed_callback(), _show_milliseconds(), _timezone_focus_out(), _timezone_key_pressed(), _toggle_lock_button_callback(), _update_layout(), _view_changed(), dt_lib_geotagging_t::apply_datetime, dt_lib_geotagging_t::apply_offset, CPF_NONE, darktable, dt_lib_module_t::data, dt_lib_geotagging_t::datetime, dt_lib_geotagging_t::datetime0, tz_tuple_t::display, dt_lib_geotagging_t::dt, dt_lib_geotagging_t::dt0, dt_accels_disconnect_on_text_input(), dt_action_button_new(), dt_conf_get_bool(), dt_conf_get_string(), dt_confgen_get_label(), dt_confgen_get_tooltip(), DT_DEBUG_CONTROL_SIGNAL_CONNECT, DT_GEOTAG_PARTS_NB, DT_PIXEL_APPLY_DPI, DT_SIGNAL_GEOTAG_CHANGED, DT_SIGNAL_IMAGE_INFO_CHANGED, DT_SIGNAL_MOUSE_OVER_IMAGE_CHANGE, DT_SIGNAL_PREFERENCES_CHANGE, DT_SIGNAL_SELECTION_CHANGED, DT_SIGNAL_VIEWMANAGER_VIEW_CHANGED, dt_ui_label_new(), dt_ui_scroll_wrap(), dt_ui_section_label_new(), dtgtk_button_new(), dtgtk_cairo_paint_directory(), dtgtk_cairo_paint_lock(), dtgtk_togglebutton_new(), FALSE, dt_lib_geotagging_t::gpx_button, dt_lib_geotagging_t::imgid, dt_lib_geotagging_t::lock_offset, model, tz_tuple_t::name, dt_lib_geotagging_t::of, dt_lib_geotagging_t::offset, darktable_t::signals, dt_lib_geotagging_t::timezone, dt_lib_geotagging_t::timezone_changed, dt_lib_geotagging_t::timezones, TRUE, dt_lib_geotagging_t::tz_camera, UNKNOWN_IMAGE, dt_lib_datetime_t::widget, and dt_lib_module_t::widget.
const char * name | ( | struct dt_lib_module_t * | self | ) |
int position | ( | ) |
const char ** views | ( | dt_lib_module_t * | self | ) |