Backport some improvements from AntiWiki 1.3

This commit is contained in:
No Time To Play 2022-11-02 08:08:49 +00:00
parent d00e0d25f8
commit 5c208c00d1
2 changed files with 30 additions and 1 deletions

13
NEWS.md
View File

@ -1,5 +1,18 @@
# Scrunch Edit news
## Version 2.1 (2 November 2022)
Backported some improvements from AntiWiki 1.3
### Added
* Format -> Join Lines command
### Fixed
* Pasting over a selection now replaces it.
* Ctrl-A now actually does Select All.
## Version 2.0.2 (27 June 2022)
### Fixed

View File

@ -44,7 +44,7 @@ else:
about_text = """
A two-pane outliner
Version 2.0.2 (27 Jun 2022)
Version 2.1 (2 November 2022)
MIT License
"""
@ -436,11 +436,15 @@ def copy_content():
top.tk.eval("tk_textCopy " + str(editor))
def paste_content():
if len(editor.tag_ranges("sel")) > 0:
editor.delete("sel.first", "sel.last")
top.tk.eval("tk_textPaste " + str(editor))
return "break"
def select_all(widget):
widget.tag_remove("sel", "1.0", "end")
widget.tag_add("sel", "1.0", "end")
return "break"
def handle_find():
global search, term
@ -505,6 +509,13 @@ def upper_case():
else:
status["text"] = "Nothing selected."
def join_lines():
text = text_selection(editor).replace("\n", " ")
if len(text) > 0:
editor.replace("sel.first", "sel.last", text)
else:
status["text"] = "Nothing selected."
def add_child():
answer = askstring("Add section", "New section title:", parent=top)
if answer == None:
@ -744,6 +755,10 @@ edit_menu.add_command(
format_menu = Menu(menubar)
menubar.add_cascade(menu=format_menu, label="Format", underline=1)
format_menu.add_command(
label="Join lines", underline=0, accelerator="Alt-J",
command=join_lines)
format_menu.add_separator()
format_menu.add_command(
label="Lower case", underline=0, accelerator="Alt-L",
command=lower_case)
@ -834,6 +849,7 @@ top.bind("<Command-q>", lambda e: handle_quit())
# Undo is already bound to Ctrl-z by default.
editor.bind("<Control-y>", lambda e: editor.edit_redo())
editor.bind("<Control-v>", lambda e: paste_content())
editor.bind("<Control-a>", lambda e: select_all(editor))
top.bind("<Control-f>", lambda e: handle_find())
top.bind("<Control-g>", lambda e: find_again())