Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2018-11-18 22:14:20 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-11-18 22:27:17 +0300
commit074cd53c19311955031f88d2486ac475ba43f806 (patch)
treed83f1daaeb4e7a6aa6a6218a5d3009a6338ebaf6 /source/blender/blenkernel/intern/keyconfig.c
parent64920a8febde6df596fe7c8e62c570db2f29ab95 (diff)
Keymap: move left click select to a preference
Diffstat (limited to 'source/blender/blenkernel/intern/keyconfig.c')
-rw-r--r--source/blender/blenkernel/intern/keyconfig.c32
1 files changed, 31 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/keyconfig.c b/source/blender/blenkernel/intern/keyconfig.c
index 46b82569f47..755c9e1582d 100644
--- a/source/blender/blenkernel/intern/keyconfig.c
+++ b/source/blender/blenkernel/intern/keyconfig.c
@@ -29,15 +29,45 @@
#include "BLI_utildefines.h"
#include "BLI_ghash.h"
+#include "BLI_listbase.h"
+#include "BLI_string.h"
#include "DNA_listBase.h"
+#include "DNA_userdef_types.h"
+#include "DNA_windowmanager_types.h"
#include "BKE_keyconfig.h" /* own include */
+#include "BKE_idprop.h"
#include "MEM_guardedalloc.h"
+
+/* -------------------------------------------------------------------- */
+/** \name Key-Config Preference (UserDef) API
+ *
+ * \see #BKE_addon_pref_type_init for logic this is bases on.
+ * \{ */
+
+wmKeyConfigPref *BKE_keyconfig_pref_ensure(UserDef *userdef, const char *kc_idname)
+{
+ wmKeyConfigPref *kpt = BLI_findstring(
+ &userdef->user_keyconfig_prefs, kc_idname, offsetof(wmKeyConfigPref, idname));
+ if (kpt == NULL) {
+ kpt = MEM_callocN(sizeof(*kpt), __func__);
+ STRNCPY(kpt->idname, kc_idname);
+ BLI_addtail(&userdef->user_keyconfig_prefs, kpt);
+ }
+ if (kpt->prop == NULL) {
+ IDPropertyTemplate val = {0};
+ kpt->prop = IDP_New(IDP_GROUP, &val, kc_idname); /* name is unimportant */
+ }
+ return kpt;
+}
+
+/** \} */
+
/* -------------------------------------------------------------------- */
-/** \name Key-Config Preference API
+/** \name Key-Config Preference (RNA Type) API
*
* \see #BKE_addon_pref_type_init for logic this is bases on.
* \{ */