void init_key_accels(dt_lib_module_t *self) { dt_accel_register_lib(self, NC_("accel", "remove from collection"), GDK_KEY_Delete, 0); dt_accel_register_lib(self, NC_("accel", "delete from disk or send to trash"), 0, 0); dt_accel_register_lib(self, NC_("accel", "rotate selected images 90 degrees CW"), 0, 0); dt_accel_register_lib(self, NC_("accel", "rotate selected images 90 degrees CCW"), 0, 0); dt_accel_register_lib(self, NC_("accel", "create HDR"), 0, 0); dt_accel_register_lib(self, NC_("accel", "duplicate"), GDK_KEY_d, GDK_CONTROL_MASK); dt_accel_register_lib(self, NC_("accel", "reset rotation"), 0, 0); // Grouping keys dt_accel_register_lib(self, NC_("accel", "group"), GDK_KEY_g, GDK_CONTROL_MASK); dt_accel_register_lib(self, NC_("accel", "ungroup"), GDK_KEY_g, GDK_CONTROL_MASK | GDK_SHIFT_MASK); }
void init_key_accels(dt_lib_module_t *self) { // view accels dt_accel_register_lib(self, NC_("accel", "zoom max"), GDK_KEY_1, GDK_MOD1_MASK); dt_accel_register_lib(self, NC_("accel", "zoom in"), GDK_KEY_2, GDK_MOD1_MASK); dt_accel_register_lib(self, NC_("accel", "zoom out"), GDK_KEY_3, GDK_MOD1_MASK); dt_accel_register_lib(self, NC_("accel", "zoom min"), GDK_KEY_4, GDK_MOD1_MASK); // selection accels dt_accel_register_lib(self, NC_("accel", "select all"), GDK_KEY_a, GDK_CONTROL_MASK); dt_accel_register_lib(self, NC_("accel", "select none"), GDK_KEY_a, GDK_CONTROL_MASK | GDK_SHIFT_MASK); dt_accel_register_lib(self, NC_("accel", "invert selection"), GDK_KEY_i, GDK_CONTROL_MASK); dt_accel_register_lib(self, NC_("accel", "select film roll"), 0, 0); dt_accel_register_lib(self, NC_("accel", "select untouched"), 0, 0); }
void init_key_accels(dt_lib_module_t *self) { dt_accel_register_lib(self, NC_("accel", "toggle live view"), GDK_v, 0); dt_accel_register_lib(self, NC_("accel", "rotate 90 degrees ccw"), 0, 0); dt_accel_register_lib(self, NC_("accel", "rotate 90 degrees cw"), 0, 0); dt_accel_register_lib(self, NC_("accel", "move focus point in (big steps)"), 0, 0); dt_accel_register_lib(self, NC_("accel", "move focus point in (small steps)"), 0, 0); dt_accel_register_lib(self, NC_("accel", "move focus point out (small steps)"), 0, 0); dt_accel_register_lib(self, NC_("accel", "move focus point out (big steps)"), 0, 0); }
void init_key_accels(dt_lib_module_t *self) { dt_accel_register_lib(self, NC_("accel", "color red"), GDK_KEY_F1, 0); dt_accel_register_lib(self, NC_("accel", "color yellow"), GDK_KEY_F2, 0); dt_accel_register_lib(self, NC_("accel", "color green"), GDK_KEY_F3, 0); dt_accel_register_lib(self, NC_("accel", "color blue"), GDK_KEY_F4, 0); dt_accel_register_lib(self, NC_("accel", "color purple"), GDK_KEY_F5, 0); dt_accel_register_lib(self, NC_("accel", "clear color labels"), 0, 0); }
void init_key_accels(dt_lib_module_t *self) { dt_accel_register_lib(self, NC_("accel", "remove from collection"), GDK_Delete, 0); dt_accel_register_lib(self, NC_("accel", "delete from disk"), 0, 0); dt_accel_register_lib(self, NC_("accel", "rotate selected images 90 degrees cw"), 0, 0); dt_accel_register_lib(self, NC_("accel", "rotate selected images 90 degrees ccw"), 0, 0); dt_accel_register_lib(self, NC_("accel", "create hdr"), 0, 0); dt_accel_register_lib(self, NC_("accel", "duplicate"), 0, 0); dt_accel_register_lib(self, NC_("accel", "reset rotation"), 0, 0); }
void dt_accel_rename_preset_lib(dt_lib_module_t *module,const gchar *path,const gchar *new_path) { dt_accel_t *accel; GSList * l = module->accel_closures; char build_path[1024]; dt_accel_path_lib(build_path, 1024, module->plugin_name, path); while(l) { accel = (dt_accel_t*)l->data; if(!strncmp(accel->path, build_path, 1024)) { GtkAccelKey tmp_key = *(gtk_accel_group_find(darktable.control->accelerators,find_accel_internal,accel->closure)); dt_accel_deregister_lib(module,path); snprintf(build_path,1024,"%s/%s",_("preset"),new_path); dt_accel_register_lib(module,build_path,tmp_key.accel_key,tmp_key.accel_mods); dt_accel_connect_preset_lib(module,new_path); l = NULL; } else { l = g_slist_next(l); } } }
void dt_lib_connect_common_accels(dt_lib_module_t *module) { if(module->reset_button) dt_accel_connect_button_lib(module, "reset module parameters", module->reset_button); if(module->presets_button) dt_accel_connect_button_lib(module, "show preset menu", module->presets_button); if(module->init_presets) { sqlite3_stmt *stmt; DT_DEBUG_SQLITE3_PREPARE_V2(dt_database_get(darktable.db), "select name from presets where operation=?1 and op_version=?2 order by writeprotect desc, rowid", -1, &stmt, NULL); DT_DEBUG_SQLITE3_BIND_TEXT(stmt, 1, module->plugin_name, -1, SQLITE_TRANSIENT); DT_DEBUG_SQLITE3_BIND_INT(stmt, 2, module->version()); while(sqlite3_step(stmt) == SQLITE_ROW) { char path[1024]; snprintf(path,1024,"%s/%s", _("preset"), (char *)sqlite3_column_text(stmt, 0)); dt_accel_register_lib(module,path,0,0); dt_accel_connect_preset_lib(module,(char *)sqlite3_column_text(stmt, 0)); } sqlite3_finalize(stmt); } }
void init_key_accels(dt_lib_module_t *self) { dt_accel_register_lib(self, NC_("accel", "jump to film roll"), GDK_KEY_j, GDK_CONTROL_MASK); }
void init_key_accels(dt_lib_module_t *self) { dt_accel_register_lib(self, NC_("accel", "export"), GDK_e, GDK_CONTROL_MASK); }
void init_key_accels(dt_lib_module_t *self) { dt_accel_register_lib(self, NC_("accel", "add sample"), 0, 0); }
void init_key_accels(dt_lib_module_t *self) { /* setup rating key accelerators */ dt_accel_register_lib(self, NC_("accel", "rate 0"), GDK_KEY_0, 0); dt_accel_register_lib(self, NC_("accel", "rate 1"), GDK_KEY_1, 0); dt_accel_register_lib(self, NC_("accel", "rate 2"), GDK_KEY_2, 0); dt_accel_register_lib(self, NC_("accel", "rate 3"), GDK_KEY_3, 0); dt_accel_register_lib(self, NC_("accel", "rate 4"), GDK_KEY_4, 0); dt_accel_register_lib(self, NC_("accel", "rate 5"), GDK_KEY_5, 0); dt_accel_register_lib(self, NC_("accel", "rate reject"), GDK_KEY_r, 0); /* setup history key accelerators */ dt_accel_register_lib(self, NC_("accel", "copy history"), GDK_KEY_c, GDK_CONTROL_MASK); dt_accel_register_lib(self, NC_("accel", "copy history parts"), GDK_KEY_c, GDK_CONTROL_MASK | GDK_SHIFT_MASK); dt_accel_register_lib(self, NC_("accel", "paste history"), GDK_KEY_v, GDK_CONTROL_MASK); dt_accel_register_lib(self, NC_("accel", "paste history parts"), GDK_KEY_v, GDK_CONTROL_MASK | GDK_SHIFT_MASK); dt_accel_register_lib(self, NC_("accel", "discard history"), 0, 0); dt_accel_register_lib(self, NC_("accel", "duplicate image"), GDK_KEY_d, GDK_CONTROL_MASK); /* setup color label accelerators */ dt_accel_register_lib(self, NC_("accel", "color red"), GDK_KEY_F1, 0); dt_accel_register_lib(self, NC_("accel", "color yellow"), GDK_KEY_F2, 0); dt_accel_register_lib(self, NC_("accel", "color green"), GDK_KEY_F3, 0); dt_accel_register_lib(self, NC_("accel", "color blue"), GDK_KEY_F4, 0); dt_accel_register_lib(self, NC_("accel", "color purple"), GDK_KEY_F5, 0); /* setup selection accelerators */ dt_accel_register_lib(self, NC_("accel", "select all"), GDK_KEY_a, GDK_CONTROL_MASK); dt_accel_register_lib(self, NC_("accel", "select none"), GDK_KEY_a, GDK_CONTROL_MASK | GDK_SHIFT_MASK); dt_accel_register_lib(self, NC_("accel", "invert selection"), GDK_KEY_i, GDK_CONTROL_MASK); dt_accel_register_lib(self, NC_("accel", "select film roll"), 0, 0); dt_accel_register_lib(self, NC_("accel", "select untouched"), 0, 0); }
static int dt_lib_load_module (dt_lib_module_t *module, const char *libname, const char *plugin_name) { // char name[1024]; module->dt = &darktable; module->widget = NULL; g_strlcpy(module->plugin_name, plugin_name, 20); module->module = g_module_open(libname, G_MODULE_BIND_LAZY); if(!module->module) goto error; int (*version)(); if(!g_module_symbol(module->module, "dt_module_dt_version", (gpointer)&(version))) goto error; if(version() != dt_version()) { fprintf(stderr, "[lib_load_module] `%s' is compiled for another version of dt (module %d (%s) != dt %d (%s)) !\n", libname, abs(version()), version() < 0 ? "debug" : "opt", abs(dt_version()), dt_version() < 0 ? "debug" : "opt"); goto error; } if(!g_module_symbol(module->module, "dt_module_mod_version", (gpointer)&(module->version))) goto error; if(!g_module_symbol(module->module, "name", (gpointer)&(module->name))) goto error; if(!g_module_symbol(module->module, "views", (gpointer)&(module->views))) goto error; if(!g_module_symbol(module->module, "container", (gpointer)&(module->container))) goto error; if(!g_module_symbol(module->module, "expandable", (gpointer)&(module->expandable))) module->expandable = _lib_default_expandable; if(!g_module_symbol(module->module, "gui_reset", (gpointer)&(module->gui_reset))) module->gui_reset = NULL; if(!g_module_symbol(module->module, "gui_init", (gpointer)&(module->gui_init))) goto error; if(!g_module_symbol(module->module, "gui_cleanup", (gpointer)&(module->gui_cleanup))) goto error; if(!g_module_symbol(module->module, "gui_post_expose", (gpointer)&(module->gui_post_expose))) module->gui_post_expose = NULL; if(!g_module_symbol(module->module, "mouse_leave", (gpointer)&(module->mouse_leave))) module->mouse_leave = NULL; if(!g_module_symbol(module->module, "mouse_moved", (gpointer)&(module->mouse_moved))) module->mouse_moved = NULL; if(!g_module_symbol(module->module, "button_released", (gpointer)&(module->button_released))) module->button_released = NULL; if(!g_module_symbol(module->module, "button_pressed", (gpointer)&(module->button_pressed))) module->button_pressed = NULL; if(!g_module_symbol(module->module, "configure", (gpointer)&(module->configure))) module->configure = NULL; if(!g_module_symbol(module->module, "scrolled", (gpointer)&(module->scrolled))) module->scrolled = NULL; if(!g_module_symbol(module->module, "position", (gpointer)&(module->position))) module->position = NULL; if((!g_module_symbol(module->module, "get_params", (gpointer)&(module->get_params))) || (!g_module_symbol(module->module, "set_params", (gpointer)&(module->set_params))) || (!g_module_symbol(module->module, "init_presets", (gpointer)&(module->init_presets)))) { // need both at the same time, or none. module->set_params = NULL; module->get_params = NULL; module->init_presets = NULL; } if(!g_module_symbol(module->module, "init_key_accels", (gpointer)&(module->init_key_accels))) module->init_key_accels = NULL; if(!g_module_symbol(module->module, "connect_key_accels", (gpointer)&(module->connect_key_accels))) module->connect_key_accels = NULL; module->accel_closures = NULL; module->reset_button = NULL; module->presets_button = NULL; if (module->gui_reset) { dt_accel_register_lib(module, NC_("accel", "reset module parameters"), 0, 0); } if(module->get_params) { dt_accel_register_lib(module, NC_("accel", "show preset menu"), 0, 0); } return 0; error: fprintf(stderr, "[lib_load_module] failed to open operation `%s': %s\n", plugin_name, g_module_error()); if(module->module) g_module_close(module->module); return 1; }
void init_key_accels(dt_lib_module_t *self) { dt_accel_register_lib(self, NC_("accel", "take snapshot"), 0, 0); }
void init_key_accels(dt_lib_module_t *self) { dt_accel_register_lib(self, NC_("accel", "create style from history"), 0, 0); // dt_accel_register_lib(self, NC_("accel", "apply style from popup menu"), 0, 0); dt_accel_register_lib(self, NC_("accel", "compress history stack"), 0, 0); }
void init_key_accels(dt_lib_module_t *self) { dt_accel_register_lib(self, NC_("accel", "clear"), 0, 0); dt_accel_register_lib(self, NC_("accel", "apply"), 0, 0); }
void init_key_accels(dt_lib_module_t *self) { dt_accel_register_lib(self, NC_("accel", "jump back to previous collection"), GDK_KEY_k, GDK_CONTROL_MASK); }
void init_key_accels(dt_lib_module_t *self) { dt_accel_register_lib(self, NC_("accel", "capture image(s)"), 0, 0); }
void init_key_accels(dt_lib_module_t *self) { dt_accel_register_lib(self, NC_("accel", "grouping"), 0, 0); dt_accel_register_lib(self, NC_("accel", "preferences"), 0, 0); dt_accel_register_lib(self, NC_("accel", "show overlays"), 0, 0); }
void init_key_accels(dt_lib_module_t *self) { /* setup rating key accelerators */ dt_accel_register_lib(self, NC_("accel", "rate desert"), GDK_0, 0); dt_accel_register_lib(self, NC_("accel", "rate 1"), GDK_1, 0); dt_accel_register_lib(self, NC_("accel", "rate 2"), GDK_2, 0); dt_accel_register_lib(self, NC_("accel", "rate 3"), GDK_3, 0); dt_accel_register_lib(self, NC_("accel", "rate 4"), GDK_4, 0); dt_accel_register_lib(self, NC_("accel", "rate 5"), GDK_5, 0); dt_accel_register_lib(self, NC_("accel", "rate reject"), GDK_r, 0); /* setup history key accelerators */ dt_accel_register_lib(self, NC_("accel", "copy history"), GDK_c, GDK_CONTROL_MASK); dt_accel_register_lib(self, NC_("accel", "paste history"), GDK_v, GDK_CONTROL_MASK); dt_accel_register_lib(self, NC_("accel", "discard history"), GDK_d, GDK_CONTROL_MASK); /* setup color label accelerators */ dt_accel_register_lib(self, NC_("accel", "color red"), GDK_F1, 0); dt_accel_register_lib(self, NC_("accel", "color yellow"), GDK_F2, 0); dt_accel_register_lib(self, NC_("accel", "color green"), GDK_F3, 0); dt_accel_register_lib(self, NC_("accel", "color blue"), GDK_F4, 0); dt_accel_register_lib(self, NC_("accel", "color purple"), GDK_F5, 0); }