Skip to content

Commit 7c16a31

Browse files
committed
Added a popup menu for entry and updated "Save as new file" shortcut
1 parent d931cbb commit 7c16a31

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

main.py

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,11 @@ def menus(self):
6363
self.fileMenu = tk.Menu(self.menuBar, tearoff=False)
6464
self.menuBar.add_cascade(label="File", menu=self.fileMenu)
6565

66-
self.fileMenu.add_command(label="Open", command = lambda: self.OnBrowseFile(True))
67-
self.fileMenu.add_command(label="Save", command=self.OnSaveFile)
68-
self.fileMenu.add_command(label="Save as new file", command = lambda: self.OnSaveFile(True))
66+
self.fileMenu.add_command(label="Open", accelerator="Ctrl+O", command = lambda: self.OnBrowseFile(True))
67+
self.fileMenu.add_command(label="Save", accelerator="Ctrl+S", command=self.OnSaveFile)
68+
self.fileMenu.add_command(label="Save as new file", accelerator="Ctrl+Shift+S", command = lambda: self.OnSaveFile(True))
69+
self.fileMenu.add_separator()
70+
self.fileMenu.add_command(label="Quit", accelerator="Esc", command=self.parent.destroy)
6971

7072
self.helpMenu = tk.Menu(self.menuBar, tearoff=False)
7173
self.menuBar.add_cascade(label="Help", menu=self.helpMenu)
@@ -223,13 +225,26 @@ def WindowBind(self):
223225
self.parent.bind('<Escape>', lambda _: self.parent.destroy())
224226
self.parent.bind('<Control-o>', lambda _: self.OnBrowseFile(True))
225227
self.parent.bind('<Control-s>', self.OnSaveFile)
228+
self.parent.bind('<Control-Shift-s>', lambda _: self.OnSaveFile(True))
229+
self.parent.bind('<Control-Shift-S>', lambda _: self.OnSaveFile(True))
226230
#Bind class
227231
self.bind_class("Message" ,"<Configure>", lambda e: e.widget.configure(width=e.width-10))
228232
self.bind_class("TButton", "<Return>", lambda e: e.widget.invoke())
229233
self.bind_class("Checkbutton", "<Return>", lambda e: e.widget.toggle())
230234
self.bind_class("Checkbutton", "<Return>", lambda e: e.widget.invoke())
231235
self.bind_class("TCombobox", "<Return>", lambda e: e.widget.event_generate('<Down>'))
236+
self.bind_class("Entry" ,"<Button-3>", self.popupmenus)
232237

238+
def popupmenus(self, event):
239+
w = event.widget
240+
self.popupMenu = tk.Menu(self, tearoff=False)
241+
self.popupMenu.add_command(label="Select all", accelerator="Ctrl+A", command=lambda: w.event_generate("<Control-a>"))
242+
self.popupMenu.add_separator()
243+
self.popupMenu.add_command(label="Cut", accelerator="Ctrl+X", command=lambda: w.event_generate("<Control-x>"))
244+
self.popupMenu.add_command(label="Copy", accelerator="Ctrl+C", command=lambda: w.event_generate("<Control-c>"))
245+
self.popupMenu.add_command(label="Paste", accelerator="Ctrl+V", command=lambda: w.event_generate("<Control-v>"))
246+
self.popupMenu.tk.call("tk_popup", self.popupMenu, event.x_root, event.y_root)
247+
233248
def OnBrowseFile(self, doOpen=False):
234249
types = [('Note Block Studio file', '*.nbs'), ('All files', '*')]
235250
filename = askopenfilename(filetypes = types)
@@ -383,7 +398,7 @@ def __init__(self, parent):
383398
logo = tk.Label(self, text="NBSTool", font=("Arial", 44))
384399
logo.pack(padx=30, pady=10)
385400

386-
description = tk.Message(self, text="A tool to work with .nbs (Note Block Studio) files.\nAuthor: IoeCmcomc\nVersion: 0,1", justify='center')
401+
description = tk.Message(self, text="A tool to work with .nbs (Note Block Studio) files.\nAuthor: IoeCmcomc\nVersion: 0,25", justify='center')
387402
description.pack(fill='both', expand=False, padx=10, pady=10)
388403

389404
githubLink = ttk.Button(self, text='GitHub', command= lambda: webbrowser.open("https://github.com/IoeCmcomc/NBSTool",new=True))

0 commit comments

Comments
 (0)