@@ -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.\n Author: IoeCmcomc\n Version: 0,1 " , justify = 'center' )
401+ description = tk .Message (self , text = "A tool to work with .nbs (Note Block Studio) files.\n Author: IoeCmcomc\n Version: 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