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>2013-12-29 16:43:19 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-12-29 16:55:05 +0400
commit42aa19088e02e296b4cc19b7171de2840e111539 (patch)
treea93965803fdacffc75e798cd3a1f3e094d00aa30 /source/blender/editors/curve
parent1c8d1569dac3e9bc5afd8aa5f5d12a93354c8cad (diff)
Text3d: add select all operator
also add Edit menu for 3d text and move cut/copy/paste there.
Diffstat (limited to 'source/blender/editors/curve')
-rw-r--r--source/blender/editors/curve/curve_intern.h2
-rw-r--r--source/blender/editors/curve/curve_ops.c4
-rw-r--r--source/blender/editors/curve/editfont.c41
3 files changed, 47 insertions, 0 deletions
diff --git a/source/blender/editors/curve/curve_intern.h b/source/blender/editors/curve/curve_intern.h
index ecadb579fe2..878e0246ad5 100644
--- a/source/blender/editors/curve/curve_intern.h
+++ b/source/blender/editors/curve/curve_intern.h
@@ -56,6 +56,8 @@ void FONT_OT_case_set(struct wmOperatorType *ot);
void FONT_OT_style_toggle(struct wmOperatorType *ot);
void FONT_OT_style_set(struct wmOperatorType *ot);
+void FONT_OT_select_all(struct wmOperatorType *ot);
+
void FONT_OT_text_copy(struct wmOperatorType *ot);
void FONT_OT_text_cut(struct wmOperatorType *ot);
void FONT_OT_text_paste(struct wmOperatorType *ot);
diff --git a/source/blender/editors/curve/curve_ops.c b/source/blender/editors/curve/curve_ops.c
index c2fe87945bf..618644032c0 100644
--- a/source/blender/editors/curve/curve_ops.c
+++ b/source/blender/editors/curve/curve_ops.c
@@ -65,6 +65,8 @@ void ED_operatortypes_curve(void)
WM_operatortype_append(FONT_OT_style_toggle);
WM_operatortype_append(FONT_OT_style_set);
+ WM_operatortype_append(FONT_OT_select_all);
+
WM_operatortype_append(FONT_OT_text_copy);
WM_operatortype_append(FONT_OT_text_cut);
WM_operatortype_append(FONT_OT_text_paste);
@@ -208,6 +210,8 @@ void ED_keymap_curve(wmKeyConfig *keyconf)
RNA_int_set(WM_keymap_add_item(keymap, "FONT_OT_change_character", UPARROWKEY, KM_PRESS, KM_ALT, 0)->ptr, "delta", 1);
RNA_int_set(WM_keymap_add_item(keymap, "FONT_OT_change_character", DOWNARROWKEY, KM_PRESS, KM_ALT, 0)->ptr, "delta", -1);
+ WM_keymap_add_item(keymap, "FONT_OT_select_all", AKEY, KM_PRESS, KM_CTRL, 0);
+
WM_keymap_add_item(keymap, "FONT_OT_text_copy", CKEY, KM_PRESS, KM_CTRL, 0);
WM_keymap_add_item(keymap, "FONT_OT_text_cut", XKEY, KM_PRESS, KM_CTRL, 0);
WM_keymap_add_item(keymap, "FONT_OT_text_paste", VKEY, KM_PRESS, KM_CTRL, 0);
diff --git a/source/blender/editors/curve/editfont.c b/source/blender/editors/curve/editfont.c
index 1ca97da5f74..59075d44c67 100644
--- a/source/blender/editors/curve/editfont.c
+++ b/source/blender/editors/curve/editfont.c
@@ -675,6 +675,47 @@ void FONT_OT_style_toggle(wmOperatorType *ot)
RNA_def_enum(ot->srna, "style", style_items, CU_CHINFO_BOLD, "Style", "Style to set selection to");
}
+
+/* -------------------------------------------------------------------- */
+/* Select All */
+
+static int font_select_all_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Scene *scene = CTX_data_scene(C);
+ Object *obedit = CTX_data_edit_object(C);
+ Curve *cu = obedit->data;
+
+ if (cu->len) {
+ cu->selstart = 1;
+ cu->selend = cu->len;
+ cu->pos = cu->len;
+
+ text_update_edited(C, scene, obedit, true, FO_SELCHANGE);
+
+ return OPERATOR_FINISHED;
+ }
+ else {
+ return OPERATOR_CANCELLED;
+ }
+
+}
+
+void FONT_OT_select_all(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Select All";
+ ot->description = "Select all text";
+ ot->idname = "FONT_OT_select_all";
+
+ /* api callbacks */
+ ot->exec = font_select_all_exec;
+ ot->poll = ED_operator_editfont;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+}
+
+
/******************* copy text operator ********************/
static void copy_selection(Object *obedit)