diff --git a/res/main.less b/res/main.less index 40fa098..01cd715 100644 --- a/res/main.less +++ b/res/main.less @@ -116,6 +116,7 @@ .translation-div { display: inline; + ._hoverable(); .translation-tags { display: inline; @@ -142,8 +143,6 @@ content: ']'; } } - - ._hoverable(); } .translation-add { @@ -158,6 +157,7 @@ .example-dot, .example-rest { float: left; + ._hoverable(); } .example-arrow, .example-dot { @@ -171,14 +171,6 @@ .example-chosen { border: 1px @gray solid; } - - .example-text { - ._hoverable(); - } - - .example-translation-list { - ._hoverable(); - } } } } diff --git a/src/message/show_messages.py b/src/message/show_messages.py index d761ad7..8d1c16c 100644 --- a/src/message/show_messages.py +++ b/src/message/show_messages.py @@ -34,6 +34,7 @@ class ShowVariantsEdit(ClickMessage): class ShowExampleEdit(KeyPlusClickMessage): def update_model_default(self, model): example = self.get_arg(0, Example) + example.make_copy() # if some are chosen, then show modal for choosing senses if len(model.chosen_examples) > 0 and example in model.chosen_examples: @@ -73,12 +74,6 @@ class ShowExampleEdit(KeyPlusClickMessage): def reset(self): # special case, when choosing messages dont reset return not (self.ctrl or self.shift) - -class ShowExampleTranslationEdit(ClickMessage): - def update_model(self, model): - example = self.get_arg(0, Example) - example.make_copy() - model.modal_set(lambda: modals.edit_example_translation(example)) class ShowEditTranslation(ClickMessage): @@ -118,3 +113,4 @@ class ShowEntryLabelsEdit(ClickMessage): def update_model(self, model): model.entry.make_copy() model.modal_set(lambda: modals.edit_entry_labels(model.entry)) + diff --git a/src/message/simple_edits.py b/src/message/simple_edits.py index 0e66820..7b87ae8 100644 --- a/src/message/simple_edits.py +++ b/src/message/simple_edits.py @@ -39,10 +39,11 @@ class AddToLabelList(NoReset): return False -class EditExampleTranslation(Message): +class EditExampleTranslation(QuestionMessage): def update_model(self, model): example = self.get_arg(0, Example) example.translations = common_accessors.generic_list_getter() + example.text = self.new_text class AddSense(Message): @@ -63,12 +64,6 @@ class EditComment(QuestionMessage): model.entry.comment = self.new_text -class EditExample(QuestionMessage): - def update_model(self, model): - example = self.get_arg(0, Example) - example.example = self.new_text - - class DoChosenExamples(Message): def update_model(self, model): chosen_examples = self.get_arg(0, list) diff --git a/src/view/modals.py b/src/view/modals.py index 088ac0c..e3c171f 100644 --- a/src/view/modals.py +++ b/src/view/modals.py @@ -29,10 +29,12 @@ def edit_sense_label(sense): return modal_template(content, "Translation", message.EditSenseLabel(sense)) -def edit_example_translation(example): +def edit_example(example): + content = question("Edit example", example.text) etl_getter = lambda: example.copy().translations - content = generic_list_editor("Edit example translations", etl_getter) - return modal_template(content, "Example Translations", message.EditExampleTranslation(example)) + content.extend(generic_list_editor("Edit example translations", etl_getter)) + + return modal_template(content, "Edit Example", message.EditExampleTranslation(example)) def edit_variants(entry): @@ -54,10 +56,6 @@ def edit_comment(comment): return modal_template(question("Edit comment", comment), "Comment", message.EditComment()) -def edit_example(example): - return modal_template(question("Edit exmample", example.example), "Example", message.EditExample(example)) - - def do_chosen_examples(example_list, entry): options = [h("p", {}, "Choose sense for examples")] for idx, sense in enumerate(entry.senses): diff --git a/src/view/view.py b/src/view/view.py index e0f4384..d022f70 100644 --- a/src/view/view.py +++ b/src/view/view.py @@ -99,9 +99,9 @@ class View: return h("div.example", {}, [ h("div.example-dot", {}, "▣"), - h(example_tag, {}, [ - h("span.example-text", {"on": {"click": msg(ShowExampleEdit(example))} }, example.text), - h("div.example-translation-list", { "on": {"click": msg(ShowExampleTranslationEdit(example))} }, [ + h(example_tag, {"on": {"click": msg(ShowExampleEdit(example))} }, [ + h("span.example-text", {}, example.text), + h("div.example-translation-list", {}, [ h("div.example-translation", {}, [ h("span.example-arrow", {}, "↪"), h("span", {}, t)])