![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "common/film.h"
#include "common/collection.h"
#include "common/darktable.h"
#include "common/debug.h"
#include "common/dtpthread.h"
#include "common/image_cache.h"
#include "common/tags.h"
#include "control/conf.h"
#include "control/control.h"
#include "control/jobs.h"
#include "views/view.h"
#include <assert.h>
#include <errno.h>
#include <limits.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
Functions | |
void | dt_film_init (dt_film_t *film) |
void | dt_film_cleanup (dt_film_t *film) |
void | dt_film_set_query (const int32_t id) |
int32_t | dt_film_get_id (const char *folder) |
int | dt_film_open (const int32_t id) |
int | dt_film_new (dt_film_t *film, const char *directory) |
int | dt_film_import (const char *dirname) |
static gboolean | ask_and_delete (gpointer user_data) |
void | dt_film_remove_empty () |
gboolean | dt_film_is_empty (const int id) |
void | dt_film_remove (const int id) |
GList * | dt_film_get_image_ids (const int filmid) |
void | dt_film_set_folder_status () |
|
static |
References darktable, dt_osx_disallow_fullscreen(), DT_PIXEL_APPLY_DPI, dt_ui_main_window(), FALSE, darktable_t::gui, store(), TRUE, and dt_gui_gtk_t::ui.
Referenced by dt_film_remove_empty().
References dt_film_t::dir, dt_pthread_mutex_destroy(), and dt_film_t::images_mutex.
Referenced by _film_import1(), dt_film_import(), dt_film_import1_cleanup(), and import_images().
int32_t dt_film_get_id | ( | const char * | folder | ) |
get id associated with filmroll
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_TEXT, and DT_DEBUG_SQLITE3_PREPARE_V2.
Referenced by _is_in_library_by_path(), and dt_film_new().
GList * dt_film_get_image_ids | ( | const int | filmid | ) |
gets all image ids in film. the returned GList has to be freed with g_list_free().
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, and DT_DEBUG_SQLITE3_PREPARE_V2.
Referenced by main().
int dt_film_import | ( | const char * | dirname | ) |
import new film and all images in this directory as a background task(non-recursive, existing films/images are respected).
References darktable_t::control, darktable, dt_film_t::dir, dt_film_t::dirname, dt_control_add_job(), dt_film_cleanup(), dt_film_import1_create(), dt_film_init(), dt_film_is_empty(), dt_film_new(), dt_film_remove(), DT_JOB_QUEUE_USER_BG, error(), dt_film_t::id, and dt_film_t::last_loaded.
Referenced by dt_load_from_string(), import_images(), and main().
References dt_film_t::dir, dt_film_t::dirname, dt_pthread_mutex_init(), dt_film_t::id, dt_film_t::images_mutex, dt_film_t::last_loaded, dt_film_t::num_images, and dt_film_t::ref.
Referenced by _film_import1(), dt_film_import(), films_new(), and import_images().
gboolean dt_film_is_empty | ( | const int | id | ) |
checks if film is empty
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_PREPARE_V2, FALSE, and TRUE.
Referenced by _film_import1(), dt_film_import(), dt_film_import1_run(), film_delete(), and import_images().
int dt_film_new | ( | dt_film_t * | film, |
const char * | directory | ||
) |
Creating a new filmroll
References darktable, darktable_t::db, dt_film_t::dirname, dt_database_get(), DT_DEBUG_IMPORT, DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_BIND_TEXT, DT_DEBUG_SQLITE3_PREPARE_V2, dt_film_get_id(), dt_print(), dt_film_t::id, and dt_film_t::last_loaded.
Referenced by _film_import1(), _generic_dt_control_fileop_images_job_run(), _import_job(), dt_control_merge_hdr_job_run(), dt_film_import(), dt_load_from_string(), films_new(), import_images(), and main().
int dt_film_open | ( | const int32_t | id | ) |
open film with given id.
References darktable, darktable_t::db, dt_control_queue_redraw_center(), dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_PREPARE_V2, dt_film_set_query(), dt_view_manager_reset(), and darktable_t::view_manager.
Referenced by dt_load_from_string().
void dt_film_remove | ( | const int | id | ) |
removes this film and all its images from db.
References darktable, darktable_t::db, dt_control_log(), dt_database_get(), DT_DEBUG_CONTROL_SIGNAL_RAISE, DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_PREPARE_V2, dt_image_cache_remove(), dt_image_local_copy_reset(), dt_image_safe_remove(), dt_mipmap_cache_remove(), DT_SIGNAL_FILMROLLS_CHANGED, FALSE, darktable_t::image_cache, darktable_t::mipmap_cache, darktable_t::signals, and TRUE.
Referenced by _film_import1(), dt_film_import(), dt_film_import1_run(), film_delete(), and import_images().
void dt_film_remove_empty | ( | ) |
removes all empty film rolls.
References ask_and_delete(), darktable, darktable_t::db, dt_conf_get_bool(), dt_database_get(), DT_DEBUG_CONTROL_SIGNAL_RAISE, DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_PREPARE_V2, DT_SIGNAL_FILMROLLS_REMOVED, dt_util_is_dir_empty(), FALSE, darktable_t::signals, and TRUE.
Referenced by _generic_dt_control_fileop_images_job_run(), dt_control_delete_images_job_run(), and dt_control_remove_images_job_run().
void dt_film_set_folder_status | ( | ) |
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, and DT_DEBUG_SQLITE3_PREPARE_V2.
Referenced by _mount_changed(), dt_init(), and view_popup_menu_onSearchFilmroll().
void dt_film_set_query | ( | const int32_t | id | ) |
constructs the lighttable/query setting for this film, respecting stars and filters.
References darktable_t::collection, darktable, darktable_t::db, DT_COLLECTION_CHANGE_NEW_QUERY, DT_COLLECTION_PROP_UNDEF, dt_collection_update_query(), dt_conf_set_int(), dt_conf_set_string(), dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, and DT_DEBUG_SQLITE3_PREPARE_V2.
Referenced by dt_film_open().